Главная страница
Навигация по странице:

  • базе программируемых логических интегральных схем c использованием Verilog HDL и САПР Quartus II

  • Беклемишев Д.Н., Орлов А.Н., Попов М.Г., Кудров А.А., Переверзев А.Л.

  • Беклемишев

  • Переверзев

  • ISBN 978-5-7256-0760-4 © МИЭТ, 2014 3Введение

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

  • 1.2. Маршрут проектирования систем на основе ПЛИС

  • 1.3. Основы разработки синтезируемых описаний на языке Verilog

  • Уровни абстракции при проектировании.

  • Основные синтаксические правила.

  • МПСиС_Лабораторный практикум. Учебное пособие по курсу Микропроцессорные средства и системы Под редакцией доктора технических наук, доцента


    Скачать 15.57 Mb.
    НазваниеУчебное пособие по курсу Микропроцессорные средства и системы Под редакцией доктора технических наук, доцента
    АнкорМПСиС_Лабораторный практикум.pdf
    Дата27.12.2017
    Размер15.57 Mb.
    Формат файлаpdf
    Имя файлаМПСиС_Лабораторный практикум.pdf
    ТипУчебное пособие
    #13173
    страница1 из 4
      1   2   3   4

    Министерство образования и науки Российской Федерации
    Национальный исследовательский университет «МИЭТ»
    __________________________________________________________
    Д
    .Н. Беклемишев, А.Н. Орлов, М.Г. Попов,
    А
    .А. Кудров, А.Л. Переверзев
    Моделирование
    микропроцессорных систем
    на
    базе программируемых логических
    интегральных
    схем c использованием
    Verilog HDL и САПР Quartus II
    Учебное пособие по курсу
    «Микропроцессорные средства и системы»
    Под редакцией доктора технических наук, доцента А.Л. Переверзева
    Утверждено редакционно-издательским советом университета
    Москва 2014

    УДК 004.31(075.8)
    М74
    Рецензенты: докт. техн. наук, проф. С.В. Гаврилов
    докт. техн. наук, проф. А.Н. Соловьев
    Беклемишев
    Д.Н., Орлов А.Н., Попов М.Г., Кудров А.А.,
    Переверзев
    А.Л.
    М74 Моделирование микропроцессорных систем на базе программируемых логических интегральных схем с использованием Verilog HDL и САПР
    Quartus II: учеб. пособие по курсу «Микропроцессорные средства и систе- мы» / Под ред. А.Л. Переверзева. - М.: МИЭТ, 2014. - 100 с.: ил.
    ISBN 978-5-7256-0760-4
    Рассмотрены типы и структуры ПЛИС, проанализирован маршрут проектирования систем на базе ПЛИС. Изложены основы Verilog HDL, не- обходимые для создания как синтезируемых описаний, так и тестовых воз- действий, приведены примеры. Содержатся задания и методические указа- ния для их выполнения в САПР Quartus II и на учебном стенде.
    Для студентов факультета МП и ТК МИЭТ, обучающихся по спе- циальностям 230100 «Информатика и вычислительная техника», 210100
    «Биотехнические системы и технологии», 211000 «Конструкция и тех- нология электронных средств», 231000 «Программная инженерия»,
    231300 «Прикладная математика». Может быть полезно студентам дру- гих специальностей факультета, а также колледжа электроники и ин- форматики.
    Учебное издание
    Беклемишев
    Дмитрий Николаевич
    Орлов
    Александр Николаевич
    Попов
    Михаил Геннадиевич
    Кудров
    Артур Александрович
    Переверзев
    Алексей Леонидович
    Моделирование
    микропроцессорных систем на базе программируемых логических
    интегральных
    схем с использованием Verilog HDL и САПР Quartus II
    Редактор Е.Г. Кузнецова. Технический редактор Л.Г. Лосякова. Корректор Л.Г. Лосякова.
    Подписано в печать с оригинал-макета 30.06.2014. Формат 60
    ×
    84 1/16. Печать офсетная. Бумага офсетная. Гарнитура Times New Roman. Усл. печ. л. 5,80.
    Уч.-изд. л. 5,0. Тираж 350 экз. Заказ 36.
    Отпечатано в типографии ИПК МИЭТ.
    124498, Москва, Зеленоград, проезд 4806, д. 5, МИЭТ.
    ISBN 978-5-7256-0760-4
    © МИЭТ, 2014

    3
    Введение
    Программируемые логические интегральные схемы (ПЛИС) широ- ко применяются при построении цифровых вычислительных систем.
    Они используются как для замены дискретных логических элементов, так и для построения сложных систем на кристалле, включающих ин- терфейсную логику, процессорные ядра, элементы памяти, модули циф- ровой обработки сигналов, специализированные модули и т.д.
    Системы, построенные на основе ПЛИС, имеют ряд важных преиму- ществ перед системами на микропроцессорах или дискретной логике:
    • решают проблему интегральной реализации специализированных узлов системы;
    • имеют более высокое быстродействие вследствие параллелизма и аппаратной реализации различных функций;
    • обеспечивают возможность создания динамически реконфигури- руемых систем;
    • снижают количество ошибок при проектировании;
    • проект ПЛИС может быть использован для разработки полуза- казной или заказной ИС.
    При создании проектов ПЛИС применяют высокоуровневые языки описания аппаратуры (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-описаний на примере разработки устройства с микропрограммным управлением.

    4
    Данное учебное пособие базируется на основах цифровой схемо- техники и микропроцессорной техники и состоит из трех частей.
    В первой части представлены типы и структуры ПЛИС, проанали- зирован маршрут проектирования систем на основе ПЛИС. Рассмотре- ны основы Verilog HDL, необходимые для создания как синтезируемых описаний, так и тестовых воздействий, приведены примеры.
    Вторая часть посвящена базовой справочной информации по
    САПР Quartus II.
    Третья часть содержит четыре лабораторные работы и методиче- ские указания для их выполнения в системе Quartus II и на учебном стенде.

    5
    Часть
    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-типа бывают как однократно программируемыми, так и репрограммируемыми.

    6
    Рис.1.1. Типы ПЛИС
    Для современных ПЛИС типа FPGA характерна репрограммируемая структура на основе триггерной памяти конфигурации (SRAM-based).
    В этом случае в проектируемой системе необходимо иметь постоянное за- поминающее устройство (ПЗУ) для хранения конфигурационной информа- ции. Существуют и другие решения, например, фирма Xilinx выпускает се- мейство ПЛИС Spartan3AN со встроенной флеш-памятью. Фирма Actel производит ПЛИС на основе так называемой Flash-технологии. При этом ключевой элемент и ячейка ПЗУ интегрированы между собой, т.е. конфи- гурационная память распределена по всему кристаллу.
    Рассмотрим обобщенные структуры двух основных типов совре- менных ПЛИС, т.е. CPLD и FPGA.
    Обобщенная структура ПЛИС типа CPLD (рис.1.2) состоит из коммутационной матрицы, массива функциональных блоков (ФБ) и блоков ввода/вывода на периферии кристалла.
    Каждый ФБ содержит конфигурируемую многовходовую матрицу элементов И, формирующую конъюнктивные термы от входных пере- менных, и группу элементов ИЛИ, между которыми распределяются выработанные термы. Помимо этого, ФБ может содержать и другие элементы, расширяющие его функциональные возможности, например мультиплексоры, триггеры и т.п.
    Типовая коммутационная матрица позволяет соединять выход лю- бого ФБ с любым входом любого другого ФБ или входом блока вво- да/вывода. Коммутационная матрица CPLD имеет регулярную и непре- рывную структуру, что гарантирует предсказуемое время задержек распространения сигналов по линиям связей (рис.1.3).

    7
    Рис.1.2. Обобщенная структура ПЛИС CPLD-типа
    Рис.1.3. Фрагмент схемы коммутации ФБ
    Лидерами по производству ПЛИС являются фирмы Altera и Xilinx, которые выпускают широкий спектр ПЛИС типа CPLD с различными возможностями по быстродействию и количеству логических вентилей.
    Типичными их представителями являются семейства FLEX, MAX
    (Altera) и XC9500, CoolRunner (Xilinx). Быстродействие современных
    CPLD достигает 250 МГц, а емкость - десятков тысяч вентилей.
    Обобщенная структура ПЛИС типа FPGA (рис.1.4) состоит из бло- ков ввода/вывода, расположенных по периферии кристалла, схем управления тактовыми сигналами, блочной памяти, массива конфигу- рируемых логических блоков (КЛБ) и трассировочных ресурсов.

    8
    Рис.1.4. Обобщенная структура ПЛИС FPGA-типа
    Как правило, блоки ввода/вывода содержат буферы с тремя состо- яниями, мультиплексоры, линии задержки, регистры. Все эти элементы обеспечивают гибкую организацию взаимодействия проекта ПЛИС с внешними устройствами.
    Схемы управления тактовыми сигналами могут включать модули фазовой автоподстройки и синтезаторы частот.
    Блочная память представляет собой конфигурируемые по ширине и глубине модули статической памяти. Общий объем этого внутреннего
    ОЗУ может достигать нескольких мегабит. Помимо этого, часть КЛБ может быть использована в качестве так называемой распределенной памяти.
    Основу КЛБ составляет один или несколько табличных функцио- нальных логических преобразователей. В англоязычной литературе та- кие преобразователи называют Lookup Table (LUT). LUT представляют собой программируемые ПЗУ, которые адресуются аргументами реали- зуемых логических функций. Параметры LUT зависят от конкретного семейства ПЛИС, например, в ПЛИС семейства Spartan3 фирмы Xilinx используют 4-входовые преобразователи.
    Помимо функциональных преобразователей, реализующих логиче- ские функции, КЛБ содержат мультиплексоры, позволяющие гибко коммутировать между собой преобразователи, входы и выходы. Кроме

    9
    того, в КЛБ содержатся регистры с программируемой полярностью так- тового сигнала.
    Трассировочные ресурсы FPGA, как правило, сегментированы и имеют иерархическую структуру, т.е. состоят из проводящих участков разных длин, соединенных ключевыми элементами. Сложная структура трассировочных ресурсов FPGA приводит к усложнению контроля над задержками распространения сигналов по цепям межсоединений по сравнению с ПЛИС CPLD-типа.
    Типичными представителями ПЛИС FPGA-типа являются семей- ства Stratix, Cyclone (Altera) и Virtex, Spartan (Xilinx). Быстродействие современных FPGA достигает 500 МГц, а емкость - нескольких милли- онов вентилей.
    ПЛИС FPGA-типа отличаются от ПЛИС CPLD-типа в первую оче- редь структурой и функциональностью ФБ и КЛБ. Считается, что FPGA имеет большую зернистость по сравнению с CPLD. Это значит, что КЛБ имеют более сложную структуру, чем ФБ, что позволяет реализовывать на основе КЛБ более сложные функции и приводит к упрощению про- граммируемой части соединений. При этом сложнее оптимально ис- пользовать возможности каждого КЛБ, что приводит к потерям быстро- действия и площади кристалла.
    Другим отличием ПЛИС FPGA от ПЛИС CPLD является большее максимальное количество логических вентилей. Если современные
    CPLD имеют до нескольких тысяч логических вентилей на кристалл, то
    FPGA содержат от 50 тысяч до нескольких миллионов вентилей.
    1.2. Маршрут проектирования систем на основе ПЛИС
    Рассмотрим обобщенный маршрут проектирования систем на ос- нове ПЛИС (рис.1.5).
    Этап получения и/или анализа технического задания включает мо- делирование устройства на поведенческом и функциональном уровне.
    На основе результатов моделирования формируются иерархия проекта, требования, предъявляемые к проекту в целом и к его отдельным моду- лям, различные ограничения и т.д.

    10
    Рис.1.5. Маршрут проектирования систем на ПЛИС
    На этапе создания проекта выполняется выбор типа, семейства, модели ПЛИС с учетом предъявляемых к устройству требований.
    После формирования спецификаций для отдельных модулей и вы- бора семейства ПЛИС разрабатывается синтезируемое описание про-

    11
    ектируемого устройства, которое часто называют RTL-описанием
    (Register Transfer Level). Это описание может быть представлено полно- стью на HDL (Verilog, VHDL) либо в графическом виде (схема, граф и т.п.). На практике часто применяют следующий подход: модуль верхне- го уровня представляют в графическом виде, а входящие в него модули описывают на HDL. Такая организация проекта упрощает понимание взаимосвязей модулей всей иерархической структуры проекта, а также алгоритмов функционирования устройства в целом.
    На этапе функционального моделирования разрабатываются тесто- вые воздействия для созданного HDL-описания, проверяется соответ- ствие результатов работы устройства идеальным результатам, получен- ным при моделировании или расчетах. Тестовые воздействия могут быть представлены в графическом (временные диаграммы) либо в тек- стовом (testbench) виде. Как правило, файл тестовых воздействий созда- ется с помощью того же языка, на котором написан проект.
    Этап синтеза выполняется в автоматическом режиме. Входными данными для синтезатора являются RTL-описание, технологическая библиотека, определяемая семейством и моделью ПЛИС, ограничения на проект. В результате получают описание в определенном технологи- ческом базисе.
    Этап верификации после синтеза и последующие верификации могут быть выполнены с использованием тестовых воздействий, разра- ботанных при функциональном моделировании. На данном этапе про- водят статический временной анализ по критическим путям, т.е. по пу- тям прохождения сигнала от входа до выхода схемы, имеющим наибольшую задержку.
    Этап размещения и трассировки может быть выполнен как в автома- тическом, так и в полуавтоматическом режимах. Результатом данного этапа является топология проекта с учетом выбранного кристалла ПЛИС.
    После получения топологии проекта выполняют верификацию с
    учетом топологических задержек. Верификация после каждого этапа проектирования может выявить ошибки в проекте, что приводит к по- вторению этапа трассировки и размещения с иными ограничениями или к коррекции RTL-описания и спецификаций на модули устройства. По- этому процесс разработки проекта для ПЛИС является итерационным.
    После верификации с учетом топологических задержек выполняют
    физическую отладку, т.е. программируют ПЛИС конфигурационным файлом разрабатываемого проекта и анализируют работу реального устройства.

    12
    1.3. Основы разработки синтезируемых описаний
    на
    языке Verilog
    Verilog HDL - это язык описания аппаратуры, который позволяет осуществить проектирование, верификацию и реализацию аналоговых, цифровых и смешанных электронных систем на различных уровнях аб- стракции.
    Первый стандарт языка Verilog HDL был принят в 1995 году
    (IEEE Std.1364-1995), в 2001 и 2005 годах были утверждены его очеред- ные версии (IEEE Std.1364-2001 и -2005). Стандарт Verilog HDL опре- деляет синтаксис, все возможные конструкции, объекты и расширения языка. При этом не все конструкции и операторы поддерживаются сред- ствами разработки.
    Настоящий раздел посвящен краткому изложению основ разработ- ки и применения синтезируемых конструкций Verilog HDL, т.е. тех кон- струкций, которые поддерживаются большинством средств синтеза.
    Уровни
    абстракции при проектировании. Verilog HDL поддер- живает четыре уровня абстракции:
    1) поведенческий уровень (Behavioral Level). Это самый высокий уровень абстракции, он представляет собой описание алгоритма функ- ционирования устройства без привязки к аппаратной реализации. Про- ектирование на этом уровне подобно обычному программированию на других языках высокого уровня;
    2) уровень потока данных (Dataflow Level). На этом уровне описы- ваются обмен данными между регистрами и операции, выполняемые с этими данными. Данный уровень иногда называют уровнем регистро- вых пересылок (Register Transfer Level - RTL). При этом в описании ис- пользуются только синтезируемые конструкции;
    3) вентильный уровень (Gate Level). Описание на этом уровне по- добно графическому представлению проекта, т.е. состоит из описания логических вентилей и соединений между ними;
    4) транзисторный, или ключевой уровень (Switch Level). На этом самом низшем уровне абстракции описываются ключевые транзисторы и соединения между ними.
    Основные
    синтаксические правила. Исходный текстовый файл
    Verilog имеет расширение .v и содержит последовательность символов, к которым относятся пробелы, комментарии, операторы числа, строки, идентификаторы и ключевые слова. В Verilog-описании различаются прописные и строчные буквы. Пробельные символы (пробел, табуляция,

    13
    переход на новую строку) используются для разделения других кон- струкций языка и игнорируются синтезатором.
    В Verilog приняты две формы для ввода комментариев. Одно- строчные комментарии начинаются с символов // и заканчиваются кон- цом строки. Блочные комментарии начинаются с символов
      1   2   3   4


    написать администратору сайта