Программируемые логические интегральные схемы фирмы Altera
Учебное пособие по дисциплине «Технология и схемотехника средств управления в технических системах»
Покупка
Новинка
Тематика:
Программирование и алгоритмизация
Автор:
Глазков Виталий Владимирович
Год издания: 2014
Кол-во страниц: 136
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7038-3839-6
Артикул: 837802.01.99
Рассмотрены особенности программируемых логических интегральных схем фирмы Altera, основы языка описания аппаратуры VHDL, использование пакета проектирования Aldec-HDL. Приведены примеры описания цифровых устройств на языке VHDL и их функциональная верификация. Для студентов, обучающихся по специальности «Управление в технических системах».
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Московский государственный технический университет имени Н.Э. Баумана В.В. Глазков Программируемые логические интегральные схемы фирмы Altera Рекомендовано Научно-методическим советом МГТУ им Н.Э. Баумана в качестве учебного пособия по дисциплине «Технология и схемотехника средств управления в технических системах» Москва 2014
УДК 621.382 (075.8) ББК 32.844 Г52 Издание доступно в электронном виде на портале ebooks.bmstu.ru по адресу: http://ebooks.bmstu.ru/catalog/173/book93.html Факультет «Специальное машиностроение» Кафедра «Автономные информационные и управляющие системы» Рекомендовано Научно-методическим советом МГТУ им. Н.Э. Баумана в качестве учебного пособия по дисциплине «Технология и схемотехника средств управления в технических системах» Рецензенты: д-р техн. наук. доцент Р.Н. Акиншин, канд. техн. наук. доцент В.В. Вельтищев Глазков В. В. Г52 Программируемые логические интегральные схемы фирмы Altera : учеб. пособие по дисциплине «Технология и схемотехника средств управления в технических системах» / В. В. Глазков. — М. : Изд-во МГТУ им. Н. Э. Баумана, 2014. — 133, [3] с. : ил. ISBN 978-5-7038-3839-6 Рассмотрены особенности программируемых логических интегральных схем фирмы Altera, основы языка описания аппаратуры VHDL, использование пакета проектирования AldecHDL. Приведены примеры описания цифровых устройств на языке VHDL и их функциональная верификация. Для студентов, обучающихся по специальности «Управление в технических системах». УДК 621.382 (075.8) ББК 32.844 МГТУ им. Н.Э. Баумана, 2014 Оформление. Издательство ISBN 978-5-7038-3839-6 МГТУ им. Н.Э. Баумана, 2014 2
ОГЛАВЛЕНИЕ Список сокращений ......................................................................................... 4 Введение .......................................................................................................... 5 Глава 1. Обзор программируемых логических интегральных схем фирмы Altera .................................................. 8 1.1. Обзор CPLD семейства МАХ3000А ................................................... 8 1.2. Архитектура семейства МАХ3000А .................................................. 9 1.3. Обзор FPGA семейства Cyclone II ................................................... 18 1.4. Архитектура семейства Cyclone II ................................................... 18 Глава 2. Основы языка VHDL .................................................................... 29 2.1. Исторический экскурс ...................................................................... 29 2.2. Интерфейс и архитектура объекта ................................................... 30 2.3. Библиотеки и пакеты ........................................................................ 32 2.4. Идентификаторы в языке VHDL ..................................................... 33 2.5. Объекты языка VHDL ...................................................................... 34 2.6. Типы данных ..................................................................................... 38 2.7. Атрибуты ........................................................................................... 40 2.8. Операции языка VHDL ..................................................................... 41 2.9. Последовательные операторы .......................................................... 43 2.10. Параллельные операторы .............................................................. 48 2.11. Структурное и поведенческое описание цифровой системы ..... 52 2.12. Особенности моделирования описаний и синтеза схем по описаниям на языке VHDL .............................................. 56 Глава 3. Использование пакета Active-HDL для создания описаний устройств на языке VHDL и моделирования их работы ............ 60 3.1. Знакомство с пакетом Active-HDL .................................................. 60 3.2. Задание внешних воздействий с помощью стимуляторов ............ 80 3.3. Альтернативные способы задания внешних воздействий ............. 90 3.4. Инструменты, повышающие эффективность создания HDL-моделей .................................................................................... 94 Глава 4. Примеры VHDL-проектов цифровых устройств ...................... 103 4.1. Комбинационные схемы ................................................................ 103 4.2. Элементы с памятью ....................................................................... 119 Литература .................................................................................................... 135 3
СПИСОК СОКРАЩЕНИЙ БИС — большая интегральная схема КМОП — логика на основе комплиментарной пары полевых транзисторов «металл–оксид–полупроводник» ПМС — программируемая матрица соединений ПЛИС — программируемая логическая интегральная схема САПР — система автоматизированного проектирования СБИС — сверхбольшая интегральная схема ТТЛ — транзисторно-транзисторная логика CPLD — Complex Programmable Logic Device (сложные программируемые логические устройства) EEPROM — Electrically Erasable Programmable Read-Only Memory (электрически стираемое перепрограммируемое постоянное запоминающее устройство) FPGA — Field-Programmable Gate Array (программируемая пользователем вентильная матрица) ISP — In System Programmability (внутрисистемное программирование) LABs — Logic Array Blocks (блоки логических массивов) LE — Logic Element (логический элемент) LUT — Look Up Table (таблица истинности) PIA — Programmable Interconnect Array (матрица внутренних соединений) SRAM — Static Random Access Memory (статическая оперативная память с произвольным доступом) VHDL — VHSIC Hardware Description Language (язык описания аппаратуры интегральных схем) VHSIC — Very High Speed Integrated Circuits (сверхбольшая высокоскоростная интегральная схема) 4
ВВЕДЕНИЕ За последние десятилетия в схемотехническом проектировании сложилась тенденция перехода от интегральных микросхем малой и средней степени интеграции к большим и сверхбольшим интегральным микросхемам. Одним из наиболее революционных результатов развития микроэлектроники явилось создание в начале 1970-х годов первых микропроцессоров, давших мощный толчок внедрению цифровых технологий обработки информации во всех сферах человеческой деятельности. Однако для цифровой схемотехники одних микропроцессоров оказалось недостаточно. Дело в том, что решение микропроцессором любой задачи всегда состоит из последовательности шагов конечной длительности, в то время как для многих задач (в том числе и связанных с обеспечением работы самих микропроцессоров) требуются устройства с минимальной задержкой выполнения логических функций: а) наборы стандартной дискретной цифровой логики общего применения, например, наборы логических микросхем 74-й серии (ТТЛ, КМОП) и типовые периферийные БИС; б) заказные СБИС; в) программируемые логические интегральные схемы (ПЛИС). Наборы дискретной цифровой логики разных серий довольно длительное время были основной элементной базой для разработки цифровых устройств. Главный недостаток дискретной логики — необходимость большого числа микросхем, а следовательно, и внешних соединений для разработки конечных изделий. Соответственно возрастают сложность конструкции и габариты печатных плат, снижается надежность. При этом трудно создать устройства с высокой тактовой частотой. Наиболее кардинально проблемы габаритов, быстродействия, упрощения конструкций печатных плат и их надежности решаются с помощью заказных СБИС. Классический пример — чипсеты 5
материнских плат и карт расширения персональных компьютеров. К сожалению, этот путь экономически оправдан только при крупносерийном производстве однотипных конечных изделий. Это связано с высокой себестоимостью заказных СБИС и большими сроками подготовки их производства. Кроме того, в случае модификации изделий требуются существенные дополнительные материальные и временные затраты. На практике часто бывают необходимы оригинальные цифровые устройства, не рассчитанные на крупносерийное производство. В течение длительного времени единственным способом решения таких задач являлось использование интегральных микросхем дискретной логики и периферийных БИС. Хотя ПЛИС уже существовали, возможности их первых поколений были весьма ограничены, а цена — очень высокой. Кроме того, проектирование цифровых устройств на их основе оказалось довольно трудоемким. В последние десятилетия произошел резкий прорыв как в технологии изготовления ПЛИС, так и в разработке инструментальных средств для проектирования и выпуска цифровых устройств на их основе. Технологический прорыв характеризуется резким увеличением числа эквивалентных логических вентилей, размещаемых на одном кристалле (до 10 млн вентилей в ближайшей перспективе), повышением рабочей частоты (до 400 МГц) с резким одновременным снижением как удельной, так и абсолютной стоимости. Основными фирмами — производителями ПЛИС в настоящее время являются такие, как Altera, Atmel, Csypres, Lattice, Lucent, Xilinx. Немалую роль в расширении областей применения, сокращении времени и снижении трудозатрат на проектирование сыграли значительные успехи в создании инструментальных средств для разработки и выпуска конечных изделий на ПЛИС. Основу подобных средств составляют специальные пакеты программ, обеспечивающие весь производственный цикл по созданию цифровых устройств на ПЛИС: от разработки схем до выпуска готовых изделий. Большинство пакетов интегрированной среды разработки цифровых устройств на ПЛИС имеют развитые и удобные в пользовании средства разработки проектов, в состав которых входят: • редактор схем (Graphic Editor), несколько похожий на редакторы САПР печатных плат (ORCAD, PCAD); 6
• редактор временных диаграмм (Waveform Editor); • текстовый редактор проектов на языках описания аппаратуры (Text Editor). Цель пособия заключается в рассмотрении особенностей проектирования цифровых устройств на основе ПЛИС. При этом упор делается на использование языков описания аппаратуры. Такой выбор обусловлен тем, что проекты, выполненные в редакторах схем, плохо поддаются переносу на другую аппаратную платформу и зачастую являются проектами «в себе». В отличие от них проекты, выполненные с использованием языков описания аппаратуры, самодокументируемы и легко переносятся на новую аппаратную платформу. Пособие состоит из четырех глав. В первой дано описание архитектуры ПЛИС. Рассмотрены два семейства: CPLD MAX3000A и FPGA Cyclone II фирмы Altera, особенности их архитектуры и краткие характеристики важнейших элементов. Во второй главе приведены основы языка VHDL, состав и синтаксис, понятия поведенческого и структурного описания устройства. Использование каждого элемента языка иллюстрируется примерами. Третья глава посвящена возможностям инструментальной среды для разработки цифровых устройств (пакета Active-HDL фирмы Aldec). Показано использование этого пакета для описания цифровых устройств и их функциональной верификации. В четвертой главе рассмотрены практические примеры описания комбинационных цифровых устройств, элементов с памятью, программных автоматов. Проведено имитационное моделирование их работы посредством тестовых воздействий. 7
Глава 1 ОБЗОР ПРОГРАММИРУЕМЫХ ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ СХЕМ ФИРМЫ ALTERA 1.1. CPLD семейства МАХ3000А Данное семейство ПЛИС было выпущено в 2004 г. В настоящее время существуют более производительные семейства CPLD. Однако для рассмотрения основ архитектуры данного типа ПЛИС удобнее работать именно с этим семейством. Кроме того, указанные микросхемы продолжают выпускаться и поддерживаться производителем. Семейство MAX3000A имеет следующие характеристики: • логическую емкость от 600 до 5000 эквивалентных логических вентилей (gates); • программируемые элементы, выполненные по технологии EEPROM; • программируемую матрицу внутренних соединений PIA, обеспечивающую высокое быстродействие и предсказуемые задержки сигналов; • комбинационную задержку между выводами 4,5 нс, обеспечивающую тактовую частоту до 227,3 МГц; • возможность программирования микросхем в системе ISP через встроенный интерфейс JTAG; • смешанное питание микросхем и мультивольтовый интерфейс ввода/вывода (I/O): напряжение питания логического ядра 3,3 В; элементов ввода/вывода 5,0; 3,3 и 2,5 В; • количество выводов от 44 до 208 в зависимости от используемого корпуса. В микросхемах MAX3000A для выполнения логических функций используются ячейки КМОП, выполненные по технологии EEPROM. При разработке и отладке проекта микросхемы могут многократно перепрограммироваться. 8
MAX3000A содержат 32…256 макроячеек, объединенных в группы по 16 макроячеек, называемых блоками логических массивов LABs. Каждая макроячейка может рассматриваться как программируемая матрица И и фиксированная матрица ИЛИ. На выходе матрицы ИЛИ включен регистр с конфигурируемой схемой управления. Схема управления регистром обеспечивает независимо программируемые сигналы синхронизации (clock), разрешения синхронизации (clock enable), сброса (clear) и предустановки (preset). Для выполнения сложных логических функций макроячейки могут использовать общие разделяемые логические расширители и высокоскоростные параллельные расширители термов. Логические расширители обеспечивают реализацию до 32 термов на макроячейку. Микросхемы MAX3000A имеют возможность оптимизации энергопотребления и быстродействия. Эта возможность обеспечивается смешанным режимом работы: высокоскоростные узлы работают с высоким быстродействием при полном энергопотреблении, остальные — в режиме пониженного быстродействия и энергопотребления. Микросхемы MAX3000A обеспечивают возможность уменьшения скорости нарастания напряжения выходных буферов. Это позволяет уменьшить помехи и переходные процессы в цепях сигнала при включении опции non-speed-critical signals. Выходные каскады всех микросхем MAX3000A могут программироваться для работы с уровнями 2,5- или 3,3-вольтового питания. Входы микросхем совместимы с напряжениями 2,5; 3,3 и 5 В. Перечисленные возможности позволяют использовать микросхемы MAX3000A в системах со смешанным питанием. Как правило, микросхемы типа CPLD применяют для реализации сложных нестандартных комбинационных устройств. 1.2. Архитектура семейства МАХ3000А Архитектура описываемых микросхем включает следующие элементы: • блоки логических массивов (LABs); • макроячейки (makrocells); • разделяемые (shareable) и параллельные (parallel) расширители; 9
• программируемую матрицу соединений (PIA); • управляемые блоки ввода/вывода (I/O control blocks). Микросхемы MAX3000A имеют четыре специализированных выделенных вывода (dedicated pin), которые могут использоваться как входы общего назначения или входы высокоскоростных глобальных управляющих сигналов (синхронизации — clock, сброса — clear и двух сигналов разрешения выхода — enable), для каждой макроячейки и контакта ввода/вывода I/O. Укрупненная структурная схема внутренней архитектуры микросхем MAX3000A приведена на рис. 1.1. Рис. 1.1. Внутренняя архитектура микросхемы МАХ3000А Блоки макроячеек. Основу архитектуры микросхем MAX3000A составляют высокопроизводительные блоки LAB. Каждый LABблок образован матрицей из 16 макроячеек (см. рис. 1.1). Несколько LAB-блоков соединены между собой через программируемую матрицу внутренних соединений PIA. Матрица PIA — это общая шина, соединяющая все I/O-выводы, выделенные специализированные выводы и макроячейки. 10
На каждый LAB-блок поступают следующие сигналы: • 36 сигналов матрицы соединений, используемых для логических входов общего назначения; • глобальные сигналы управления регистрами. Макроячейки. В каждой макроячейке (macrocell) микросхем MAX3000A может конфигурироваться любая комбинационная или последовательная логика. Макроячейки состоят из следующих функциональных элементов (рис. 1.2): • логической матрицы И; • матрицы выбора термов (Product-Term Select Matrix); • программируемого выходного регистра. Рис. 1.2. Макроячейка микросхемы МАХ 3000А Комбинаторная логика реализуется в макроячейке с помощью логической матрицы И, формирующей пять конъюнктивных термов. Матрица выбора термов распределяет термы на входы элементов ИЛИ и Исключающее ИЛИ, выполняющих логическую функцию входных переменных. Матрица выбора термов (Product Term Select Matrix) обеспечивает распределение термов на входы управления выходным регистром макроячейки: сигналы синхронизации (clock), разрешения записи (clock enable), сброса (clear) и предустановки (preset). 11