Использование плис в современных устройствах. Небольшой проект на FPGA Примеры оформления больших проектов fpga

ИСПОЛЬЗОВАНИЕ ПЛИС В СОВРЕМЕННЫХ УСТРОЙСТВАХ

Тупиков Павел Андреевич

студент 5 курса, кафедра АРТ ОмГТУ, РФ, г. Омск

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

· Улучшаются временные характеристики изделия.

· Уменьшается цена изделия.

· Уменьшаются габариты изделия.

· Увеличивается надежность изделия (уменьшается количество дискретных микросхем)

· Повышается гибкость изделия (ПЛИС всегда можно перепрограммировать)

Архитектура ПЛИС имеет сложную структуру (Рис. 1)

Рисунок 1. Внутренняя структура ПЛИС

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

Сам процесс программирования (прошивки) ПЛИС состоит в формировании нужных связей между входами и выходами устройства.

На сегодняшний день в мире есть два мировых лидера в производстве ПЛИС. Это американские фирмы Xilinx и Altera.

Каждая фирма предлагает свой САПР для работы с ПЛИС. Фирма Xilinx предлагает Xilinx Software Development Kit (SDK). Фирма Altera предлагает Max+Plus II и Quartus II, а так же систему моделирования ModelSim.

Для создания программ прошивки обычно используются языки описания работы аппаратуры, наиболее распространенные на сегодняшний день распространены следующие языки:

· Verilog HDL.

Язык VHDL является наиболее сложным для обучения, но при этом обладает наибольшими возможностями на функциональных и поведенческих уровнях абстракции, однако имеет меньшие возможности на структурном уровне абстракции по сравнению с Verilog HDL, для расширения возможностей языка VHDL была разработана библиотека VITAL (Рис. 2) .


Рисунок 2. Уровни абстракции Verilog и VHDL

Примером работы языка Verilog HDL является программа, реализованная на ПЛИС CYCLONE III EP3C5E1444C8N стенда Mini-DiLab общий вид которого представлен на рис. 3.


Рисунок 3. Общий вид платы Mini - DiLab

Данная программа реализует последовательное переключение светодиодов led0-led7, с выбором набавления движения «огонька» при помощи кнопок pba и pbb, а так же управлением скоростью переключения при помощи переключателей sw0, sw1.

//Текст программы

module proect(output led, input clk_25mhz, input pba, input pbb,

input sw);

// Назначение внутренних соединений проекта

wire s1;

wire s2;

wire s3;

// Вызов других файлов (подпрограмм), подключаемых к проекту

Tr tr_1 (.out(s2), .set(pba), .res(pbb));

Counter counter_1 (.q(s1), .clk(clk_25mhz), .up(s2));

Mx mx_1 (.a(s3), .in(s1), .load(sw));

Dc3_8 dc3_8_1 (.out(led), .in(s3));

endmodule // конец программы

Подпрограмма tr

module tr (out, set, res); // Создание программы

// Назначение входов/выводов

output reg out;

input set;

input res;

// Инициализация

initial

begin

Out <= 1"d0;

// Основной код программы

always @(negedge set or negedge res)

begin

if (~(set))

Out <= 1"d1;

else

Out <= 1"d0;

endmodule // Конец программы

Подпрограмма counter

module counter (con, q, clk,up); // Начало программы

output reg con;

output q = con;

input up, clk;

// Основной код программы

always @(posedge clk)

begin

if (clk)

if (up)

Con <= con - 1"d1;

else

Con <= con + 1"d1;

endmodule //Конец программы

Подпрограмма mx(мультиплексор)

module mx (output reg a, input in, input load);

// Основной код программы

always @*

begin

case (load)

2"b00: a = in;

2"b01: a = in;

2"b10: a = in;

2"b11: a = in;

endcase

endmodule // Конец программы

Подпрограмма dc3_8 (мультиплексор)

module dc3_8 (out, in); // Начало программы

// Назначение входов/выходов

output reg out;

input wire in;

// Основной код программы

always @*

begin

case (in)

3"d0: out = 8"b11111110;

3"d1: out = 8"b11111101;

3"d2: out = 8"b11111011;

3"d3: out = 8"b11110111;

3"d4: out = 8"b11101111;

3"d5: out = 8"b11011111;

3"d6: out = 8"b10111111;

3"d7: out = 8"b01111111;

endcase

endmodule // Конец программы

Программа была реализована в САПР Quartus II.

После компиляции программы компилятор не выдал ошибки и замечания в программе, связанные с анализом и синтаксисом программы (рис. 4).


Рисунок 4. Окно сообщений проекта

Замечание, сделанные компилятором, говорят об отсутствии лицензии на Quartus II(была использована бесплатная версия программы, для обучения) и отсутствия файлов, необходимых для моделирования проекта.

RTL Структура данного проекта представлена на рис. 5.


Рисунок 5. Реализация проекта ( RTL структура)

Как показано на рис. 6 в данной программе испозльзуется лишь незначительная часть возможностей данной ПЛИС.

Рисунок 6. Часть ПЛИС, участвующая в работе проекта

Выводы: Программируемые логические интегральными схемы являются могут находить применение во многих устройствах. Для обучения работы с ними следует вводить в образовательную программу специальностей, связанных с проектированием и конструированием радиоэлектронной аппаратуры знакомство с языками описания аппаратуры(Verilog HDL и VHDL).

Список литературы:

1.Грушевицкий Р.И. Проектирование систем на микросхемах программной логики/ Р.И. Грушевицкий, A.X. Мурсаев, Е.П. Угрюмое. СПб.: БХВ Петербург, 2002. - 608 с.

2.Коломов Д.А. Системы автоматизированного проектирования фирмы Altra MAX+plus II и Quartus II. Краткое описание и самоучитель/ Д.А. Коломов, Р.А. Мяльк, А.А. Зобенко, А.С. Филиппов. М.: ИП РадиоСофт, 2002. - 126 с.

3.Максфилд К. Проектирование на ПЛИС. Курс молодого бойца./ К. Максфилд. М.: Издательский дом «Додэка-XXI», 2007. - 408 с. (перевод с английского).

65 нанометров - следующая цель зеленоградского завода «Ангстрем-Т», которая будет стоить 300-350 миллионов евро. Заявку на получение льготного кредита под модернизацию технологий производства предприятие уже подало во Внешэкономбанк (ВЭБ), сообщили на этой неделе «Ведомости» со ссылкой на председателя совета директоров завода Леонида Реймана. Сейчас «Ангстрем-Т» готовится запустить линию производства микросхем с топологией 90нм. Выплаты по прошлому кредиту ВЭБа, на который она приобреталась, начнутся в середине 2017 года.

Пекин обвалил Уолл-стрит

Ключевые американские индексы отметили первые дни Нового года рекордным падением, миллиардер Джордж Сорос уже предупредил о том, что мир ждет повторение кризиса 2008 года.

Первый российский потребительский процесор Baikal-T1 ценой $60 запускают в массовое производство

Компания «Байкал Электроникс» в начале 2016 года обещает запустить в промышленное производство российский процессор Baikal-T1 стоимостью около $60. Устройства будут пользоваться спросом, если этот спрос создаст государство, говорят участники рынка.

МТС и Ericsson будут вместе разрабатывать и внедрять 5G в России

ПАО "Мобильные ТелеСистемы" и компания Ericsson заключили соглашения о сотрудничестве в области разработки и внедрения технологии 5G в России. В пилотных проектах, в том числе во время ЧМ-2018, МТС намерен протестировать разработки шведского вендора. В начале следующего года оператор начнет диалог с Минкомсвязи по вопросам сформирования технических требований к пятому поколению мобильной связи.

Сергей Чемезов: Ростех уже входит в десятку крупнейших машиностроительных корпораций мира

Глава Ростеха Сергей Чемезов в интервью РБК ответил на острые вопросы: о системе «Платон», проблемах и перспективах АВТОВАЗа, интересах Госкорпорации в фармбизнесе, рассказал о международном сотрудничестве в условиях санкционного давления, импортозамещении, реорганизации, стратегии развития и новых возможностях в сложное время.

Ростех "огражданивается" и покушается на лавры Samsung и General Electric

Набсовет Ростеха утвердил "Стратегию развития до 2025 года". Основные задачи – увеличить долю высокотехнологичной гражданской продукции и догнать General Electric и Samsung по ключевым финансовым показателям.

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

Введение

Итак, какую же конструкторскую документацию следует спрашивать у разработчика, если фирма или предприятие-заказчик или другой разработчик будут использовать в дальнейшем «чужое» разработанное устройство в своих проектах? Эта статья может послужить «шпаргалкой», для того чтобы вначале правильно выдать техническое задание на разработку цифрового устройства для ПЛИС, а затем спрашивать с разработчика конструкторскую документацию для уже разработанного цифрового устройства. Исходя из предыдущего опыта работы с конструкторской документацией, обычно предприятие или фирма пользуются следующими стандартами и нормативными документами:

  • ГОСТ 2.102-68 ЕСКД. Виды и комплектность конструкторских документов.
  • ГОСТ 15.101-98. Система разработки и постановки продукции на производство. Порядок выполнения научноисследовательских работ.
  • ГОСТ Р 15.201-20-00. Система разработки и постановки продукции на производство. Продукция производственно-технического назначения. Порядок разработки и постановки продукции на производство.

Как правило, это были файл-прошивки и программа (описание цифрового устройства на VHDL/Verilog или набор цифровых схем, разработанных в схемотехническом редакторе с использованием библиотечных элементов цифровой логики, такие как триггеры, регистры, счетчики, дешифраторы и т. д.) на CD или DVD и инструкция по программированию. И все.

Автор, например, столкнулся со следующей проблемой. Один из сотрудников разработал сложное многомодульное цифровое устройство. Все модули описывал на языке VHDL, а циклограммы работы этих модулей и цифрового устройства в целом смотрел на хорошем и дорогом осциллографе. Про Test Bench файлы и про возможность проведения моделирования он не знал или не умел их писать, кстати, комментарии к проекту и к описаниям модулей также отсутствовали. Ситуация может быть еще хуже, если модули будут представленными цифровыми схемами, разработанными в схемотехническом редакторе c использованием библиотечных элементов. Здесь и заключен один из главных недостатков: кроме самого разработчика, вряд ли кто-то другой будет разбираться в этом цифровом устройстве, особенно если проект многомодульный, а описание каждого модуля составляет более 100 строк или более одного экрана монитора. А значит, при желании другого разработчика внедрить в новую разработку или проект такое, уже разработанное цифровое устройство для ПЛИС, ему снова необходимо потратить время на разработку этого цифрового устройства.

История вопроса проектирования для ПЛИС

В настоящее время рынок ПЛИС - один из наиболее динамично развивающихся. ПЛИС применяются во многих отраслях техники. На данный момент нет однозначной, удовлетворяющей всех разработчиков аппаратуры методологии получения конфигурации ПЛИС по функциональной модели устройства на системном уровне. Наиболее популярный подход по решению этой проблемы - применение технологии ІР-ядер (Intellectual Property Cores). IP-ядра - это готовые компоненты, позволяющие легко включать их в собственный проект для создания более сложной системы. У этого подхода есть один существенный недостаток - привязанность ІР-ядер к элементному базису. Каждое IP-ядро оптимизировано под конкретную серию микросхем конкретного производителя, что существенно ухудшает возможность переноса уже созданных устройств из одного элементного базиса в другой. Закрытость архитектур коммерческих САПР делает невозможным добавление собственных функциональных моделей устройств на системном уровне для получения на их основе моделей устройства на уровне регистровых передач (RTL). Разработка цифрового модуля осуществляется в виде цифровой схемы, нарисованной в схемном редакторе с помощью встроенной в САПР производителя библиотеки базовых схемных элементов, таких как триггеры, дешифраторы, счетчики, сумматоры и т. д.

Другой популярный подход, позволяющий осуществить переход от функциональной модели на системном уровне к модели устройства на уровне регистровых передач, - применение языков описания аппаратуры на системном уровне (system-level design languages, SLDLs). К таким языкам относятся SystemC, Handel-C, VHDL, Verilog, System Verilog. Основным плюсом является независимость от аппаратного базиса, в котором будет реализовано устройство.

Таким образом, с одной стороны, при применении технологии IP-ядер разработчик аппаратуры получает качественное решение, но жестко привязанное к аппаратному базису, в котором реализуется устройство. С другой стороны, при применении языков описания аппаратуры на системном уровне реализация устройства является аппаратно независимой. Из вышесказанного следует, что в настоящее время актуально совместное использование для ускорения процесса проектирования цифровых модулей на языке описания аппаратуры и ІР-ядер производителя (Xilinx, Altera, Actel и др.) и сторонних фирм-разработчиков. При использовании цифровых модулей сторонних производителей иногда возникает нехватка в информативности сопроводительной документации.

Предоставление информации о разработанном цифровом модуле для ПЛИС

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

  • Software - разработанный цифровой модуль, передаваемый потребителю в виде описания на языке описания аппаратуры (VHDL, Verilog) или/и разработанный в схемотехническом редакторе Schematic Editor для дальнейшего использования в программах автоматизированного синтеза логических схем и оптимизированный по функциональным параметрам.
  • Firmware - разработанный сторонней фирмой-разработчиком цифровой модуль, который называется IР-ядром, передаваемый потребителю в виде логической схемы (списка цепей - netlist) в базисе библиотеки логических элементов изготовителя ПЛИС и оптимизированный по функциональным и электрическим параметрам.

На этапе разработки документации, исходя из личного опыта, необходимо оформить в дополнение к обычным КД и ТУ, выполняемым в соответствии с ГОСТ 15.101, ГОСТ 15.201, ГОСТ 2.102, ГОСТ 2.114, документацию на все виды моделей (системных, логических, схемотехнических), создаваемых на этапах проектирования цифровых устройств на ПЛИС.

Другими словами, в комплект конструкторской документации цифрового устройства для ПЛИС, кроме файла-прошивки, инструкции по программированию и записанного проекта на CD/DVD, должна также входить сопроводительная документация.

Таблица. Список разделов сопроводительной документации

Название раздела Вид
Software Firmware
Общие сведения
Назначение и область применения О Р
Технические характеристики О О
Описание сигналов сброса О О
Описание сигналов синхронизации О О
Описание интерфейсов О Р
Временные диаграммы Р О
Описание регистров управления О О
Структурная (функциональная) схема Р Р
Руководство по программированию О О
Модель или семейство ПЛИС,
фирма-производитель
Р О
Представление цифрового модуля
для логического проектирования на ПЛИС
RTL-модель О Нет
Логическая модель Нет О
Проектные ограничения О О

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

  • «О» - обязательно поставляемый раздел;
  • «Р» - рекомендуемый для поставки раздел.

Рекомендуемые форматы файлов для передачи сопроводительной документации - MS Word, PDF (наилучший формат), HTML. Файлы описания на языке описания аппаратуры (VHDL, Verilog) или/и разработанные в схемотехническом редакторе Schematic Editor предоставляются в таком виде, как требует программное обеспечение САПР для разработки. Исключением может быть дополнительное предоставление в графическом формате (JPEG, BMP) файлов цифровых схем, разработанных в схемотехническом редакторе Schematic Editor.

Общие сведения

В этом разделе описываются общие сведения о разработанном цифровом модуле в виде описания:

  • функциональной схемы и ее составных блоков/частей;
  • сигналов сброса, синхронизации;
  • применяемых интерфейсов;
  • регистров управления;
  • временной диаграммы;
  • программирования.

Назначение и область применения

Определяется назначение цифрового модуля, области его применения.

Технические характеристики

Приводится описание его основных технических характеристик, таких как производительность, потребляемая мощность для конкретного кристалла ПЛИС, количество занимаемых вентилей, тип применяемого кристалла ПЛИС. Дополнительно указывается используемое при разработке цифрового модуля САПР производителя ПЛИС и программное обеспечение, используемое для моделирования и верифицирования. Для всех используемых программ указывается версия и установленные обновления. Приводится графическое представление цифрового модуля в виде «черного ящика» с обозначением внешних входов/выходов и дается краткое описание их назначения.

Описание сигналов сброса

Приводится подробная информация о сигналах сброса:

  • Перечень внешних и внутренних сигналов сброса.
  • Временные параметры и временные диаграммы сигналов сброса.
  • Схемы формирования внутренних сигналов сброса, если таковые входят в состав цифрового модуля.
  • Соотношения с другими сигналами (особенно с сигналами синхронизации).

Описание сигналов синхронизации

Приводится подробная информация о сигналах синхронизации:

  • описание внешних сигналов синхронизации;
  • временные параметры сигналов синхронизации;
  • описание внутренних сигналов синхронизации и схемы их формирования;
  • временные соотношения между сигналами синхронизации из различных источников;

Описание интерфейсов

Приводятся особенности использования всех интерфейсов, входящих в состав разработанного цифрового модуля, желательно унифицированного для организации взаимодействия с другими узлами системы на кристалле. Дополнительно приводится Internet-ссылка на полное описание стандартного интерфейса или предоставляется само описание интерфейса. На данный момент в качестве унифицированных интерфейсов цифровых модулей приняты интерфейсы к шине AMBA, PLB, Wishbone.

Временные диаграммы

Приводится необходимая информация для организации обмена данными через интерфейсы и другие входы/выходы цифрового модуля: графическое представление временных диаграмм, описание протоколов передачи данных, требования к внешним сигналам, подаваемым на цифровой модуль (длительность, периодичность и т. д.), и другая информация.

Описание регистров управления

Приводится описание всех регистров управления цифрового модуля. Типовое описание регистра управления содержит имя регистра, адрес регистра во внутреннем адресном пространстве, начальное значение после снятия сигнала сброса, тип доступа (чтение/запись), описание внутренних полей.

Структурная (функциональная) схема

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

Количество описываемых блоков и объем описания определяет разработчик цифрового модуля. Предпочтительно соответствие минимального количества описываемых модулей количеству элементов структурной (функциональной) схемы цифрового модуля.

Типовое описание внутреннего блока содержит:

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

Руководство по программированию

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

Модель или семейство ПЛИС, фирма-производитель

Для Firmware цифрового модуля указывается фирма-производитель ПЛИС, модель или семейство ПЛИС и ее скоростные характеристики. Для Software цифрового модуля приводится информация о количестве занимаемых ресурсов, требования к применяемой ПЛИС.

Представление цифрового модуля для логического проектирования

В статье были рассмотрены трудности в использовании «чужого» проекта на VHDL - нехватка подходящих указаний по именованию и правилам написания программ. Также были даны общие указания по именам, правилам «хорошего тона» для написания программ и руководства для синтеза. Эти вопросы как можно более подробно стоит оговаривать с разработчиком, если в дальнейшем вы планируете продолжить разработку или модернизацию своими силами, прежде чем он приступит к разработке RTL-модели цифрового модуля на ПЛИС. Особенно это относится к виду Software цифрового модуля на ПЛИС. В этой же части статьи описываются общие требования ко всему проекту разработанного цифрового модуля на ПЛИС. Здесь приведены вопросы, на которые следует обратить внимание при составлении технического задания на разработку цифрового модуля на ПЛИС, и особенно это касается передачи результатов работы.

RTL-модель

Цифровой модуль, описанный на синтезируемом подмножестве языка Verilog или VHDL или/и разработанный в схемотехническом редакторе Schematic Editor, предназначен для использования на этапе логического синтеза ПЛИС. Поставляется для Software в виде собранного проекта цифрового модуля в САПР производителя ПЛИС. Для цифрового модуля Firmware RTL-модель предоставляется по отдельному соглашению.

Помимо файлов RTL-модели, передаются:

  • Инструкция по использованию модели.
  • Описание блоков памяти, входящих в состав модели, включающее тип памяти, размер, число блоков памяти, иерархическое имя блока памяти.
  • Описание процесса создания готовых ядер при использовании программ для их создания (например, CoreGenerator для Xilinx ISE). При отсутствии описаний могут возникнуть ограничения для повторного проектирования и применения из-за зависимости от технологии и производителя.
  • В случае использования микропроцессора от производителя (например, от фирмы Altera - процессор Nios; от фирмы Xilinx - микропроцессоры Microblaze, PowerPC) требуется описание процесса конфигурирования ядра процессора и его периферии.
  • Набор тестов (Test Bench файлов) для проведения верификации и моделирования цифрового модуля, написанных на языке Verilog или/и на VHDL, или/и на System Verilog.
  • Любая другая дополнительная информация.

Логическая модель

Модель является списком цепей, описанным с помощью языков Verilog или VHDL в базисе библиотеки изготовителя ПЛИС, и поставляется для Firmware цифрового модуля.

Помимо файлов логической модели, передаются:

  • Инструкция по использованию этой модели.
  • Набор тестов (Test Bench файлов) для проведения верификации и моделирования цифрового модуля, написанных на языке Verilog или/и на VHDL, или/и на System Verilog.
  • Руководство по работе с набором тестов для проведения моделирования и верификации цифрового модуля.
  • Любая другая дополнительная информация.

Проектные ограничения

Проектные ограничения предоставляются в виде файла с описанием набора ограничений, накладываемых на цифровой модуль при его включении в логическую модель системы на кристалле. В этот набор входят ограничения для сигналов синхронизации (clock constrains), временные ограничения (timing constrains), ограничения на взаимодействие цифрового модуля с другими модулями и условия работы цифрового модуля. Предпочтителен формат описания проектных ограничений Synopsis Design Constraints (SDC) или формат для САПР производителя ПЛИС.

Примерный список ограничений для сигналов синхронизации:

  • временная диаграмма (Clock waveform);
  • нестабильность тактовой частоты (Jitter);
  • изменение фазы тактовой частоты;
  • длительность времен переключения (Transition times);
  • временные диаграммы производных синхросигналов (Generated clock waveforms);
  • любая другая дополнительная информация.

Набор ограничений для сигналов синхронизации обязателен для Software и Firmware цифровых модулей.

Примерный список временных ограничений:

  • время появления сигналов на входах (Arrival times at inputs);
  • время появления сигналов на выходах (Required times at outputs);
  • многотактовые пути (Multi-cycle paths);
  • ложные пути (False paths);
  • длительность времен переключения сигналов данных (Data signal transition times);
  • любая другая дополнительная информация.

Заключение

Приведенный состав сопроводительной документации на разработанные цифровые модули для ПЛИС предоставляется по договоренности между потребителем и разработчиком. Чаще всего разработчик предоставляет просто цифровой модуль, описанный на языке VHDL, Verilog, System Verilog и/или разработанный в схемотехническом редакторе. По поводу дополнительной документации ответ у разработчика чаще всего бывает следующим: «Цифровой модуль работает, так берите и пользуйтесь. В описании схемы на языке аппаратуры ничего сложного нет: разберетесь сами».

На взгляд автора, разобраться можно в чем угодно, все зависит от желания и потраченного времени, а время, потраченное на то, чтобы разобраться в «чужом» проекте на уже разработанный цифровой модуль, прямо пропорционально опыту описания аппаратуры на языках VHDL, Verilog и знаниям цифровой и микропроцессорной схемотехники. Этого можно избежать, если изначально договориться с разработчиком о составе сопроводительной документации, тогда использование цифрового модуля в своем проекте становится проще, и быстрее произойдет его внедрение.

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

Литература

  1. Денисов А. Несколько советов по проектированию цифровых устройств на VHDL для ПЛИС // Компоненты и технологии. 2009. № 12.
  2. ГОСТ 2.102-68 ЕСКД. Виды и комплектность конструкторских документов.
  3. ГОСТ 2.114-95 ЕСКД. Технические условия.
  4. ГОСТ 15.101-98. Система разработки и постановки продукции на производство. Порядок выполнения научно-исследова-тельских работ.
  5. ГОСТ Р 15.201-20-00. Система разработки и постановки продукции на производство. Продукция производственно-технического назначения. Порядок разработки и постановки продукции на производство.

Введение

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

В последнее время весьма успешно разрабатываются и системы синтеза схем по спецификациям на этом языке. Например, используя САПР Xilinx Foundation Series 2.1i, можно провести моделирование исходного описания схемы на языке VHDL, а затем синтезировать схему и получить файл настройки (конфигурации) микросхемы типа FPGA фирмы Xilinx. Использование САПР MAX+PLUSII позволяет решать аналогичные задачи для программируемых микросхем, выпускаемых фирмой Altera.

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

3 4
Язык VHDL развивается, ему посвящаются международные конференции, выходят научные журналы, в которых изучаются проблемы использования VHDL. Он стал языком разработки международных проектов, в том числе осуществляемых с помощью всемирной компьютерной сети Internet. Знакомство с этим языком необходимо для эффективной работы по созданию самой разнообразной электронной аппаратуры на современной элементной базе сверхбольших интегральных схем.

Лабораторная работа № 1

ОТЛАДЧИК FPGA EXPRESS

1. Общее описание работы

1.1. Цель работы – получение навыков для работы с отладчиком FPGA EXPRESS.

Лабораторная работа состоит из домашнего и лабораторного заданий. Домашнее задание заключается в самостоятельном освоении наиболее простых возможностей отладчика и ознакомлении с его назначением. Лабораторное задание включает ввод вашего варианта примера программы, написанной на VHDL, и освоение на ее примере принципов работы с отладчиком FPGA EXPRESS .

По методическому руководству ознакомиться с назначением и возможностями отладчика моделей цифровых устройств на языке VHDL.

3. Теоретическая часть

FPGA Express транслирует и оптимизирует описания VHDL во внутренний формат, эквивалентный уровню примитивных логических элементов. Этот формат затем компилируется в технологию FPGA.

Для работы с VHDL необходимо ознакомиться со следующими понятиями:

Языки аппаратного описания.

Использование FPGA Express.

Модель процесса проектирования.

Министерство обороны США в 1982 году разработало VHSIC HDL (VHDL) как часть программы развития сверхвысокоскоростных ИС (VHSIC). VHDL описывает поведение, функции, входы и выходы цифровой схемы. VHDL по стилю и синтаксису аналогичен современным языкам программирования, однако, он включает много специфических аппаратных конструкций. FPGA Express читает и анализирует поддерживаемый синтаксис VHDL..

Языки аппаратного описания

Языки аппаратного описания (HDL) используются для описания архитектуры и поведения дискретных электронных систем. Эти языки разработаны для построения сложных проектов. Часто проводят историческую аналогию на предмет того, как могут называться программные языки описания, от машинных кодов (транзисторы и пайка) к ассемблерным языкам (списки цепей) и далее к языкам высокого уровня (HDL).

HDL-ориентированные системы полезны при разработке больших проектов, когда несколько разработчиков или даже несколько команд работают совместно. HDL обеспечивают структурное программирование. После того, как приняты основные архитектурные решения, а основные компоненты и связи между ними идентифицированы, работа над подпроектами может происходить совершенно независимо.

Типичные применения HDL

5 6
HDL обычно поддерживают смешанные описания, в которых структурные конструкции или списки цепей могут соединяться с алгоритмическими описаниями и описаниями поведения. При наличии таких смешанно-уровневых описаний возможно отображать архитектуру системы на высшем уровне абстракции; затем проект детализируется по нарастающей для частного компонентно-уровневого выполнения. В качестве альтернативы используют описание проекта HDL в FPGA Express, а затем заставляют компилятор автоматически синтезировать выполнение на уровне логических примитивов.

Преимущества HDL

Методология проекта, использующего HDL, имеет несколько фундаментальных преимуществ перед традиционной компонентно-уровневой методологией проектирования. Среди этих преимуществ необходимо отметить следующие:

Вы можете очень рано проверить функциональные возможности проекта и немедленно промоделировать его. Моделирование проекта на таком высшем уровне до трансляции в элементарное исполнение позволяет протестировать многие архитектурные и проектные решения.

FPGA Express обеспечивает логический синтез и оптимизацию, так что возможно автоматически преобразовать описание VHDL в исполнение элементарного уровня для выбранной технологии. Такая методология устраняет узкие места компонентного уровня и уменьшает время проектирования, а также количество ошибок, вносимых при ручной трансляции программы VHDL в конкретные элементы. С помощью логической оптимизации FPGA Express возможно автоматически преобразовать синтезированный проект в наименьшую и наискорейшую схему. Кроме того, допускается назначить информацию, полученную при синтезе и оптимизации схем, вновь к существующему описанию VHDL, что приводит к более точной подстройке архитектурных решений.

Описания HDL обеспечивают технологически независимую документацию проекта и его функциональных возможностей. Эти программы читаются и понимаются гораздо легче, чем списки цепей или схемы. Вследствие того, что начальное HDL описание проекта является технологически независимым, допускается использовать его для генерации проектов с различной технологией, не затрагивая при этом оригинальную.

VHDL, как и большинство языков высокого уровня, производит жесткую проверку типов . Компоненты, тип которых объявлен четырехбитовым сигналом, не могут соединяться с трех- или пятибитовым сигналом; такое несогласование приведет к ошибке при компиляции. Если диапазон переменных определен от 1 до 15, то ошибка возникнет при назначении им значения 0. Некорректное использование типов является основным источником ошибок при составлении описаний. Проверка типов обнаруживает такие ошибки даже перед генерацией проекта.

Отладка в FPGA Express

Для отладки необходимо осуществить следующие действия:

7 8
Создать описание проектируемого устройства (компонента) на языке VHDL в любом текстовом редакторе. При этом необходимым условием является то, что расширение данного файла должно быть: *.vhd. (Например, для создания файла можно использовать встроенный редактор Norton Commander с помощью сочетания клавиш SHIFT - F4.)

2. Подключить созданный файл к проекту в FPGA Express.

Для подключения файла к проекту необходимо создать сам проект:

Выбрать меню File / New.

Ввести название проекта.

При запросе файлов проекта необходимо найти файл(ы), созданный в 1 пункте с уже готовым описанием устройства (компонента).

При корректном подключении файла(ов) проекта появляется окно, разделенное на две части: Design Sources и Chips (рис. 1). Где Design Sources - окно для работы с файлами проекта, Chips - окно для работы с синтезированными устройствами.


Рис.1. Окно проекта

Для удобства работы с файлом(ами) проекта в окне Design Sources выводятся название(ия), расположение(ия) файла(ов), а также наличие синтаксических и лексических ошибок или неточностей.

При наведении курсор и одновременном нажатии правой кнопки мыши на любое из названий в данном окне появляется следующее контекстное меню (рис. 2):

Update Project - анализ проекта на наличие неточностей или ошибок.

Force Update Project - полный анализ всех фалов проекта на наличие ошибок или неточностей.

Create Implementation - создание модели устройства.

Edit File - редактирование файла.

Identify Sources - подключение файла к проекту.

New library - подключение собственной библиотеки к проекту.

Project Report - отчет проекта (краткое описание в виде внешнего текстового файла).

Remove - удаление файла или библиотеки из проекта.


Как и во всех приложениях с дружественным интерфейсом, каждый пункт контекстного меню дублируется простым меню и кнопками на панели.
Рис.3. Часть файла с ошибкой

Редактирование файла происходит аналогично текстовым редакторам, а единственным отличием является то, что удаление символов или строк можно производить только с помощью клавиши Back Space .

После исправления для поиска других существующих ошибок в данном окне необходимо нажать правую клавишу мыши и в активном контекстном меню выбрать пункт Analyze File (поиск неточностей или ошибок). Далее после успешного редактирования желательным является сохранение текущих изменений.

Если ошибки отсутствуют, то соответствующий файл будет иметь свой синтезированный вариант (т.е. модель устройства, описанную во внутреннем формате FPGA Express, как показано на рис. 4).

Рис.4. Знак синтезированного варианта устройства CODER

Синтезированный вариант является промежуточным звеном для успешного создания модели цифрового устройства.

4. Ход работы

4.1 С помощью любого текстового редактора набрать описание цифрового устройства в соответствии с вашим вариантом. Для предупреждения ошибок необходимо, чтобы файл имел расширение *.vhd.

4.2 Создать проект в отладчике FPGA Express и подключить к нему набранный файл.

4.3 После корректного подключения файла описания, создать с помощью FPGA Express отчет по вашему проекту.

Наименование;

Цель работы;

Используемое оборудование;

Теоретическую часть;

Описание последовательности действий при отладке вашего варианта;

Распечатку отчета по проекту;

1. Что собой представляет приложение FPGA Express и каковы его основные функции?

2. Каковы на ваш взгляд достоинства и недостатки языка HDL как языка аппаратного описания?

3. Какова последовательность действий при отладке VHDL описания вашего устройства?

11 12

Лабораторная работа № 2

ОСНОВНЫЕ ВОЗМОЖНОСТИ ОТЛАДЧИКА FPGA EXPRESS

1. Общее описание работы

1.1. Цель работы – изучение возможностей синтеза и оптимизации отладчика FPGA EXPRESS.

Лабораторная работа состоит из домашнего и лабораторного заданий. Домашнее задание заключается в повторении принципов отладки VHDL описаний. Лабораторное задание включает ввод вашего варианта примера программы, написанной на VHDL, и изучение принципов синтеза и оптимизации проектируемого устройства с помощью отладчика FPGA EXPRESS.

1.3. Используемое оборудование

Для выполнения лабораторной работы используется ПЭВМ типа IBM PC, цветной монитор с графическим адаптером VGA и выше, принтер.

2. Домашнее задание и методические указания по его выполнению

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

3. Теоретическая часть

Методология проектирования

На рис. 5 приведена типичная процедура проектирования, которая использует FPGA Express и симулятор VHDL. Каждый шаг такой модели проектирования описан подробно.



Рис. 5. Структурная -схема этапов проектирования

13 14
1. Запись описания проекта на языке VHDL. Это описание может являться комбинацией структурных и функциональных элементов. Данное описание используется симуляторами FPGA Express и Synopsys VHDL.

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

3. Моделирование проекта с помощью симулятора VHDL. Проверка правильности описания проекта.

4. Использование FPGA Express для синтеза и оптимизации описания проекта VHDL в элементарный список цепей. FPGA Express генерирует оптимизированные списки цепей, удовлетворяющие временным ограничениям выбранной архитектуры FPGA.

5. Использование системы проектирования FPGA (Design Manager) для связи определенной технологической версии FPGA с симулятором VHDL. Система проектирования включает в себя модели симуляции и интерфейсы, необходимые для сквозного проектирования.

6. Моделирование определенной технологической версии проекта с помощью симулятора VHDL. Допускается использовать оригинальные драйверы моделирования VHDL из пункта 2, поскольку определения модулей и портов сохраняются в процессе трансляции и оптимизации.

7. Сравнение выхода моделирования на элементном уровне (п. 6) с выходом моделирования оригинального описания VHDL (п. 3) для проверки того, что исполнение является корректным.

Иерархия проекта

FPGA Express поддерживает иерархические границы, определяемые при использовании структурных конструкций VHDL. Эти границы приводят к двум основным результатам:

1. Каждый проектный объект, определяемый в описании VHDL, синтезируется отдельно и поддерживается в виде независимого проекта. При этом учитываются проектные ограничения, и каждый объект может быть оптимизирован отдельно в FPGA Express.

2. Компонентные реализации внутри описаний VHDL поддерживаются в течение ввода. Имя реализации, которое присваивается каждому пользовательскому объекту, сохраняется вплоть до выполнения на элементном уровне.

Примечание. FPGA Express не поддерживает и не создает автоматически иерархию других неструктурных конструкций VHDL, таких, как блоки, процессы, циклы, функции и процедуры. Эти элементы описания VHDL транслируются в контексте своих проектов. После чтения проекта VHDL вы можете сгруппировать вместе логику процесса, функции или процедуры внутри окна выполнения FPGA Express (Implementation Window).

Выбор иерархических границ оказывает значительное воздействие на качество синтезируемого проекта. С помощью FPGA Express вы можете оптимизировать проект, сохраняя его иерархические границы. FPGA Express только частично оптимизирует логику поперек иерархических модулей. Полная оптимизация возможна в тех частях иерархии проекта, которые сжаты в FPGA Express.

Пример иерархической структуры сложного устройства показан на рис. 6

Рис. 6. Иерархическая структура

Типы данных

В VHDL необходимо назначать тип всем портам, сигналам и переменным. Тип данных объекта определяется операцией, которая может быть ему назначена. Например, оператор AND определяется для объектов типа BIT, но не для объектов типа INTEGER . Типы данных важны и при синтезе проекта. Тип данных объекта определяет его размер (ширину в битах) и битовую организацию. Правильный выбор типов данных значительно улучшает качество проекта и помогает минимизировать количество ошибок.

Проектные ограничения

Необходимо описать качественные ограничения модуля проекта внутри FPGA Express Implementation Window.

Выбор регистра

Размещение регистров и тактирующих схем является очень важным архитектурным решение. Существует два способа определения регистров в вашем описании VHDL. У каждого из этих методов существуют определенные преимущества:

1. Реализовать регистры непосредственно в описании VHDL, выбрав любой нужный элемент из библиотеки FPGA. Тактирующие схемы могут быть произвольной сложности. Выбирается архитектура, базирующаяся на триггерах или защелках. Основными недостатками такого подхода являются:

Описание VHDL теперь привязано к определенной технологии, поскольку вы выбрали структурные элементы из технологической библиотеки. Однако возможно изолировать этот раздел проекта в виде отдельного объекта, который затем будет связан с остальной частью проекта.

Программа пишется более сложно.

15 16
2. Использовать структуры if и wait , чтобы вывести триггера и защелки из описания. Преимущества такого подхода прямо противоположны недостаткам предыдущего. При использовании логического описания регистра программа VHDL становится технологически независимой и более легкой для написания. Этот метод позволяет FPGA Express выбирать тип описываемого компонента в зависимости от ограничений. Таким образом, если необходим специфический компонент, должна использоваться его реализация. Тем не менее, некоторые типы регистров и защелок не могут быть описаны логически.

Асинхронные проекты

Возможно использовать FPGA Express для конструирования асинхронных проектов с кратными и управляемыми синхроимпульсами. Однако, хотя эти проекты являются логически (статистически) корректными, они могут неправильно моделироваться или работать в связи с условиями состязания.

Языковые конструкции

Другим компонентом политики синтеза VHDL является набор конструкций, которые описывают проект, они определяют его архитектуру и дают последовательно хорошие результаты. Регистры реализуются с помощью компонентных конструкций.

Лабораторная работа № 3

СИМУЛЯТОР VHDL МОДЕЛЕЙ MODELSIM

1. Общее описание работы

1.1. Цель работы – знакомство с симулятором VHDL моделей ModelSim.

Лабораторная работа состоит из домашнего и лабораторного заданий. Домашнее задание заключается в повторении принципов отладки, синтеза и оптимизации VHDL описаний с помощью отладчика FPGA Express. Лабораторное задание включает ввод варианта примера программы написанной на VHDL и осуществить моделирование и анализ вашего устройства с помощью симулятора ModelSim.

1.3. Используемое оборудование

Для выполнения лабораторной работы используется ПЭВМ типа IBM PC, цветной монитор с графическим адаптером VGA и выше, принтер.

2. Домашнее задание и методические указания по его выполнению

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

3. Теоретическая часть

21 22
ModelSim – это система моделирования, которая позволяет провести моделирование описаний, представленных на языках VHDL и HDL. При этом необходимым условием для простого моделирования является наличие описания активной модели устройства, т.е. в течение определенного периода времени на входе и соответственно на выходе данной модели должны происходить изменения логических состояний. Например: существует описание элементарного элемента Шеффера (рис. 10).

Рис. 10. Схема активного цифрового устройства

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

Моделирования в ModelSim

При отсутствии ошибок на этапах подключения файла с исходным активным устройством для моделирования можно начать сам процесс моделирования.

В зависимости от целей моделирования в системе ModelSim предусмотрены: коноль за временной дискретизацией моделирования, а также возможность непосредственного наблюдения практически за всеми ключевыми процессами, происходящими устройстве (последнее будет рассмотрено в следующей лабораторной работе).

Рассмотрим средства контроля за моделированием. В этом смысле для полноценного контроля за процессом моделирования необходимы: главное меню Run и Options. В меню Run для контроля предназначены все пункты, а в меню Options - пункт Simulate Options (установка частных параметров моделирования).

При активизации пункта Simulate Options появляется панель ввода параметров моделирования(рисунок 14).

В данной панели содержится три вкладки:

VSIM - непосредственно параметры моделирования. Здесь устанавливаются следующие параметры:

Default Run length - установка минимальной временной дискретизации процесса моделирования.

27 28
Iteration Limit - максимальная длительность итерации.

Suppress Warnings - отключение/включение реакции системы на предупреждения, связанные с различного рода неточностями.

Default Force Kind - установка возможности управления процесса моделирования (Freeze (отсутствие контроля)/ Drive (управление)/ Deposit (полностью под контролем)).

Default Radix - вид сигнала по умолчанию (Symbolic (символьный) /binary (двоичный) / octal (восьмеричный) /decimal(десятичный)/hex(шестнадцатеричный)).

Рисунок 14 - панель Simulate Options

Ase ащитный действия системы на различного рода ошибки (рис. 15):

rtion - Break On моделирования. (Note (комментарий) /warning (ошибка)).

Ignore Assertions for - установка границ пренебрежения системой защиты. (Note (комментарий)/ warning (неточность)/ error(- установки параметров вывода исходного файла в окне Source ошибка)/ failure ("провал")).

действий системы


4. Ход работы

5. Указания

Теоретическую часть;

Описание последовательности действий при установкие описания устройства для моделирования;

Выводы по проделанной работе.

5.2. Контрольные вопросы к лабораторной работе

1. В чём заключается необходимость использования систем моделирования подобных ModelSim.

2. Каковы недостатки системы, если таковые присутствуют?

3. Какова на ваш взгляд область применения системы ModelSim?

29 30

Лабораторная работа № 4

СИМУЛЯТОР MODELSIM

1. Общее описание работы

1.1. Цель работы – получение навыков для моделирования проектируемых устройств в системе ModelSim.

Лабораторная работа состоит из домашнего и лабораторного заданий. Домашнее задание заключается в повторении принципов работы с симулятором ModelSim, освоенных в предыдущей лабораторной работе. Лабораторное задание состоит в подключении вашего варианта примера программы, написанной на VHDL, и в проведении полноценного моделирования и анализа проектируемого устройства с помощью ModelSim.

1.3. Используемое оборудование

Для выполнения лабораторной работы используется ПЭВМ типа IBM PC, цветной монитор с графическим адаптером VGA и выше, принтер.

2. Домашнее задание и методические указания по его выполнению

Повторить материал, освоенный на предыдущих занятиях.

3. Теоретическая часть


и вывода) / Internal Signals (внутренние сигналы)).

Для этого в ModelSim была создана система информационных и функционально-информационных окон (главное меню View). Главным условием работы всех окон является корректно подключенный исходный файл с VHDL описанием моделируемого устройства.

Рассмотрим принципы работы с ним:

1. Source - окно с содержанием исходного VHDL - файла (рис. 16). Позволяет устанавливать точки останова (для этого необходимо двойное нажатие левой кнопкой мыши на номере строки). Для изменения содержимого окна нужно активизировать пункт Select Source File... главного меню File (поменять исходный файл можно только на файл, подключенный к проекту), либо двойное нажатие левой кнопкой мыши в окне по оформлению отчета и Контрольные вопросы

5.1. Отчет по лабораторной работе должен содержать:

Наименование;

Цель работы;

используемое оборудование;Structure на названии необходимого файла. Замечание: окно не позволяет редактировать исходные файлы.


Рис.16. Окно Source

2. Structure - окно содержащее структуру и подчиненность файлов проекта (рис. 17). Несет вспомогательную функцию для окна Source.

Рис. 17. Окно Structure


3. Variables - окно содержит все внутренние переменный конструкции языка VHDL используемые для описания текущей подключенной модели (рис. 18). Несет только информационную функцию.

4. Signals – окно, содержащее список и значения всех портов ввода/вывода и сигналов (рис. 19). Окно фиксирует любые изменения содержимого всех портов ввода/вывода и сигналов. Существует возможность удаления, добавления или установки ограниченного числа сигналов или портов в данном окне в зависимости

Value - текущее значение сигнала.

Рис. 21. Окно Force Signal

Delay - время задержки текущего значения сигнала (масштаб значения указывается справа от поля ввода).

Second Value значение - следующего состояния данного сигнала или порта ввода/вывода.

: для вводить именно тот тип задержки перед изменением текущкомендуется значения, который Примечание предупреждения ошибок, связанных с моделированием устройства, реDelay for second Value - значение предусмотрен для проектируемого устройства.

его состояния на последующее (Second Value). Примечание: значение данного поля должно быть обязательно обоех задержек сигналов.


Repeat Every - данное поле является необязательным параметром для проведения моделирования, т.к. подразумевает период повторений изменений состояния порта ввода/вывода или значения сигнала. Поле является включенным в основные параметры изменений при активизированном напротив него флажке.

Примечание: значение данного поля должно быть обязательно больше значения в поле Delay for second Value, поскольку начальная точка временного отсчета процесса моделирования является общей для всех задержек сигналов.

Kind - установка степени автономности производимых изменений. (Freeze (система автономно управляет изменениями) / Drive (возможность управления) / Deposit (бесконтрольное управление проектировщиком)).

Для подтверждения введенных параметров изменений сигнала или порта ввода/вывода следует нажать кнопку Apply.

Для установки параметров изменений другого сигнала, его предварительно необходимо выбрать в окне Signals.

Есть возможность установки ограниченного списка сигналов с помощью окна Signal, где можно выделить самые необходимые из них, и пункта Add to List (подпункт Selected Signals (осуществляет добавление выделенной группы в окно List)). Кроме этого в список могут быть внесены все сигналы текущего проекта (с помощью подпункта Signals in Design), все активные сигналы в данный момент моделирования (с помощью подпункта Signals in Region) или сигналы, участвующие в каком-либо информационном потоке (с помощью окна Dataflow (выделение необходимого потока) и подпункта Signals from DataFlow...).

Примечание.

Mинимальный шаг регистрации изменений значений сигналов устанавливается в параметрах процесса моделирования (Options.../ Simulate Options...). В окне предусмотрены различные опции связанные с фиксированием изменений сигналов и сохранения полученной таблицы в отдельном файле.

6. Process – окно, содержащее название и состояние VHDL -процессов текущего моделируемого устройства (рис. 23). Имеется возможность ограниченного вывода процессов при использовании пункта Processes в главном меню Options (возможно вывести все активные процессы (View Active Processes) или активные процессы на текущем шаге (итерации) моделирования).

Рис. 23. Окно Process

7. Wave – окно, необходимое для вывода временных диаграмм определенного набора сигналов или портов ввода/вывода (рис. 24).

Рис. 24. Окно Wave

Окно обладает всеми свойствами гибкого средства наблюдения за изменениями сигналов во временных рамках самого процесса моделирования. В совокупности с окном Signals и пунктом Add to Waveform главного меню Signals данное окно имеет возможность определения ограниченного списка сигналов подпункт Selected Signals (установка в рабочий список сигналов, выделенных в окне Signals), подпункт Signals in Region (наблюдение за активными сигналами на текущей итерации моделирования), подпункт Signals in Design (установка всех сигналов проекта), подпункт Signals from DataFlow (установка сигналов, участвующих в выбранном информационном потоке, из окна DataFlow)). Как и все функциональные окна, это окно имеет возможности для работы со списком выводимых сигналов (меню окна Cursor и Edit), позволяет управлять выводом временных диаграмм (меню окна Zoom и Options). Дополнительным вспомогательным средством является бегунок (устанавливается в любой точке на диаграмме с помощью мыши), фиксирующий время моделирования в текущем положении. Кроме этого при изменении положения бегунка, если в следующем положении меняются значения какого-либо из сигналов, соответствующие изменения регистрируются в списке изображаемых сигналов (слева от диаграмм, как это показано на рис. 24).

8. DataFlow – окно, выводящее организацию всех информационных потоков, присутствующих в моделируемом устройстве (рис. 25).

Рис. 25. Окно DataFlow

Как и большинство функциональных окон, это окно работает в совокупности с другими окнами:

Signals (данное окно позволяет выбрать рассматриваемый(ые) сигнал(ы) для дальнейшей визуализации связанных с ним(ними) информационных потоков в окне DataFlow).

Process (с помощью этого окна можно выбрать процесс для дальнейшей демонстрации его информационных потоков).

4. Ход работы

4.1. С помощью любого текстового редактора набрать описание цифрового устройства в соответствии с вашим вариантом. Для предупреждения ошибок необходимо, чтобы файл имел расширение *.vhd.

4.2. Создать проект в системе моделирования ModelSim и подключить к нему набранный и отлаженный в FPGA Express файл.

4.3. После корректного подключения файла описания осуществить установку системы для тестирования вашего устройства.

4.4. Провести тестирование и полный анализ вашего цифрового устройства в соответствии с вашим вариантом.

5. Указания по оформлению отчета и Контрольные вопросы

5.1. Отчет по лабораторной работе должен содержать:

Наименование;

Цель работы;

Используемое оборудование;

Теоретическую часть;

Описание последовательности действий при процессе анализа и моделирования вашего варианта;

Распечатку всех состояний, всех сигналов;

Распечатку вашего исходного файла;

Распечатку временных диаграмм и процессов;

Выводы по проделанной работе.

5.2. Контрольные вопросы к лабораторной работе

1. Каковы основные функции окон Signals и Wave ?

2. Насколько важна визуализация структуры информационных потоков в устройстве при проектировании?

37 38
3. Устройства с какими типами сигналов, на ваш взгляд, могут быть протестированы в симуляторе ModelSim ?

Лабораторная работа № 5

ЗНАКОМСТВО С ЯЗЫКОМ VHDL

1. Общее описание работы