Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МПСиС / lab_m1_vt_vt_ampsis_230100.62_niy06

.pdf
Скачиваний:
71
Добавлен:
18.02.2017
Размер:
3.26 Mб
Скачать

Министерство образования и науки Российской Федерации Московский государственный институт электронной техники (технический университет)

__________________________________________________________

А.Л. Переверзев

Моделирование микропроцессорных систем на базе программируемых логических интегральных схем c использованием

Verilog HDL и САПР Altera Quartus

Лабораторный практикум по курсу «Микропроцессорные средства и системы»

Под редакцией доктора технических наук, профессора Ю.В. Савченко

Утверждено редакционно-издательским советом института

Москва 2010

УДК 681.32 В75

Рецензент канд. техн. наук, доц. В.В. Лосев

Переверзев А.Л.

Моделирование микропроцессорных систем на базе программируемых логических интегральных схем с использованием Verilog HDL и САПР Altera Quartus: Лабораторный практикум по курсу «Микропроцессорные средства и системы» / Под ред. Ю.В. Савченко. – М.: МИЭТ, 2010. – 60 с.: ил.

Рассмотрены основные типы и структуры ПЛИС, проанализирован маршрут проектирования системы на основе ПЛИС. Изложены основы Verilog HDL, необходимые для создания синтезируемых описаний, приведены примеры. Практикум содержит задания и методические указания для их выполнения в системе Altera Qartus и на учебном стенде.

Предназначен для студентов факультета МПиТК МИЭТ, обучающихся по специальности 220100. Может быть полезен для студентов других специальностей факультета и колледжа электроники и информатики.

© МИЭТ, 2010

Введение

Программируемые логические интегральные схемы (ПЛИС) широко применяются при построении цифровых вычислительных систем. Они используются как для замены дискретных логических элементов, так и для построения сложных систем на кристалле, включающих интерфейсную логику, процессорные ядра, элементы памяти, модули цифровой обработки сигналов, специализированные модули и т.д.

Системы, построенные на основе ПЛИС, имеют ряд важных преимуществ перед системами на микропроцессорах или дискретной логике:

решают проблему интегральной реализации специализированных узлов системы;

имеют более высокое быстродействие вследствие параллелизма

иаппаратной реализации различных функций;

обеспечивают возможность создания динамически реконфигурируемых систем;

снижают количество ошибок при проектировании;

проект ПЛИС может быть использован для создания полузаказной или заказной ИС.

При создании проектов ПЛИС используют высокоуровневые языки описания аппаратуры (Hardware Description Languages), такие как Verilog HDL и VHDL, являющиеся базовыми языками при разработке аппаратуры современных вычислительных систем.

Язык VHDL (Very High Speed Integrated Circuit Hardware Description Language) был разработан в 1983 году по заказу Министерства обороны США для формального описания логических схем. Синтаксис VHDL очень похож на синтаксис языка Ада.

Язык Verilog HDL был создан в 1984 году как средство моделирования аппаратуры и только в 1995 году было принято решение о его стандартизации. Синтаксис Verilog HDL очень похож на синтаксис языка C, что упрощает его освоение.

Языки описания аппаратуры включают множество конструкций, не все из которых поддерживаются средствами синтеза. Целью настоящего лабораторного практикума является освоение основных этапов создания, верификации и физической отладки синтезируемых Verilog-

3

описаний на примере разработки устройства с микропрограммным управлением.

Данный лабораторный практикум базируется на основах цифровой схемотехники и микропроцессорной техники и состоит из двух частей.

В первой части рассмотрены основные типы и структуры ПЛИС, проанализирован маршрут проектирования системы на основе ПЛИС. Рассмотрены основы Verilog HDL, необходимые для создания синтезируемых Verilog-описаний, приведены примеры.

Вторая часть содержит четыре лабораторные работы и методические указания для их выполнения в системе Altera Quartus и на учебном стенде.

4

Часть 1. Типы и структуры ПЛИС, маршрут проектирования. Основы создания синтезируемых описаний на Verilog HDL

1.1. Основные типы и структуры ПЛИС

Цифровые системы обработки информации, как правило, состоят из стандартных элементов, таких как процессоры, контроллеры, память, интерфейсные микросхемы и т.д. Однако практически в каждой разработке есть необходимость в реализации специализированных модулей, характерных для конкретного устройства или типа устройств. Исторически такие специализированные блоки реализовывались на основе микросхем средней и малой степени интеграции, что увеличивало количество применяемых в устройстве корпусов, усложняло монтаж, снижало надежность и быстродействие. Реализация специфических компонентов системы на основе заказной микросхемы затруднительна, поскольку это связано с большими затратами средств и времени на проектирование.

Данная проблема нашла решение в середине 70-х годов XX века с появлением БИС и СБИС с реконфигурируемой структурой. Первыми представителями таких ИС стали программируемые логические матри-

цы (ПЛМ; Programmable Logic Array - PLA), программируемая матричная логика (ПМЛ; Programmable Array Logic - PAL) и базовые матрич-

ные кристаллы (БМК). Последние также называют вентильными матри-

цами (ВМ; Gate Array - GA).

Позже ИС PLA- и PAL-типов объединили термином Сomplex Programmable Logic Device (CPLD), а ИС GA-типа получили продолжение в виде Field Programmable Gate Array (FPGA). История развития ИС с реконфигурируемой структурой проиллюстрирована на рис.1.1.

Программируемость ПЛИС реализуется благодаря наличию множества ключевых элементов, состояние которых задается разработчиком. Различают однократно программируемые и репрограммируемые ПЛИС.

ПЛИС CPLD-типа бывают как однократно программируемыми, так и репрограммируемыми.

5

Рис.1.1. Типы ПЛИС

Для современных ПЛИС типа FPGA характерна репрограммируемая структура на основе триггерной памяти конфигурации (SRAMbased). В этом случае в проектируемой системе необходимо иметь ПЗУ для хранения конфигурационной информации. Существуют и другие решения, например, фирма Xilinx выпускает семейство ПЛИС Spartan3AN со встроенной флеш-памятью. Фирма Actel выпускает ПЛИС на основе так называемой Flash-технологии. При этом ключевой элемент и ячейка ПЗУ интегрированы между собой, т.е. конфигурационная память распределена по всему кристаллу.

Рассмотрим обобщенные структуры двух основных типов современных ПЛИС, т.е. CPLD и FPGA.

Обобщенная структура ПЛИС типа CPLD (рис.1.2) состоит из коммутационной матрицы, массива функциональных блоков (ФБ) и блоков ввода/вывода на периферии кристалла.

Каждый ФБ содержит конфигурируемую многовходовую матрицу элементов И, формирующую конъюнктивные термы от входных переменных, и группу элементов ИЛИ, между которыми распределяются выработанные термы. Помимо этого, ФБ может содержать и другие элементы, расширяющие его функциональные возможности, например мультиплексоры, триггеры и т.п.

Типовая коммутационная матрица позволяет соединять выход любого ФБ с любым входом любого другого ФБ или входом блока ввода/вывода. Коммутационная матрица CPLD имеет регулярную и непре-

6

Блоки ввода/вывода

Коммутационная

матрица

Массив

функциональных

блоков

Рис.1.2. Обобщенная структура ПЛИС CPLD-типа

Рис.1.3. Фрагмент схемы коммутации ФБ

рывную структуру, что гарантирует предсказуемое время задержек распространения сигналов по линиям связей (рис.1.3).

Лидерами по производству ПЛИС с CPLD-структурой являются фирмы Altera и Xilinx, которые выпускают широкий спектр ПЛИС типа CPLD с различными возможностями по быстродействию и количеству логических вентилей. Типичными их представителями являются семей-

ства FLEX, MAX (Altera) и XC9500, CoolRunner (Xilinx). Быстродей-

ствие современных CPLD достигает 250 МГц, а емкость – десятков тысяч вентилей.

7

Обобщенная структура ПЛИС типа FPGA (рис.1.4) состоит из блоков ввода/вывода, расположенных по периферии кристалла, схем управления тактовыми сигналами, блочной памяти, массива конфигурируемых логических блоков (КЛБ) и трассировочных ресурсов.

 

 

 

 

 

 

 

 

 

 

 

 

 

Блоки ввода/вывода

 

 

 

 

 

 

 

 

 

 

 

Блоки ввода/вывода

 

Блочная

память

 

 

 

 

 

Блочная

память

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.1.4. Обобщенная структура ПЛИС FPGA-типа

Как правило, блоки ввода/вывода содержат буферы с тремя состояниями, мультиплексоры, линии задержки, регистры. Все эти элементы обеспечивают гибкую организацию взаимодействия проекта ПЛИС с внешними устройствами.

Схемы управления тактовыми сигналами могут включать модули фазовой автоподстройки и синтезаторы частот.

Блочная память представляет собой конфигурируемые по ширине и глубине модули статической памяти. Общий объем этого внутреннего ОЗУ может достигать нескольких мегабит. Помимо этого, часть КЛБ может быть использована в качестве так называемой распределенной памяти.

Основу КЛБ составляет один или несколько табличных функциональных логических преобразователей. В англоязычной литературе такие преобразователи называют Lookup Table (LUT). LUT представляют собой ППЗУ, которые адресуются аргументами реализуемых логических функций. Параметры LUT зависят от конкретного семейства

8

Соседние файлы в папке МПСиС