ЦУМ / lbm1_19
.pdfwhen 1 => result := +1; when 2 => result := +1; when 3 => result := –1;
end case;
if (count = 3) then
push := '0'; -- обеспечение готовности к реакции -- на новый сигнал START
end if; end if;
outg <= result; end process;
end example;
7.3. Порядок выполнения задания и дополнительные сведения о системе Quartus II
7.3.1. Начало работы над проектом
Работа в системе Quartus II начинается с действий, которые называют созданием проекта. В данной лабораторной работе такие действия будут осуществляться неоднократно: во-первых, задание предполагает выполнение двух проектов генератора; во-вторых, указанные действия потребуется осуществить для каждого из компонентов (с названиями COUNTER2 и KCC ) первого проекта. Для хранения файлов каждого проекта необходимо создать свою папку (папка должна быть индивидуальной для каждого рабочего места в лаборатории и может иметь в своем названии только цифры и латинские буквы). Причем все файлы каждого проекта должны находиться в одной папке (не допускается размещение компонентов проекта в различных папках). Затем следует двигаться по меню следующим образом: File – New Project Wizard…. В появившемся диалоговом окне нужно открыть созданную для проекта папку и задать имя проекта (рекомендуемые имена: generator2 для первого проекта, generator3 для второго проекта, counter2 для компонента COUNTER2 , kcc для компонента KCC ). После этого можно приступить к непосредственному проектированию. Если процесс проектирования окажется вынужденно прерванным (с сохранением полученных результатов), то для возобновления работы над проектом его необходимо открыть движением по тому же меню File – Open Project…, после чего потребуется выбрать папку с файлами требуемого проекта и указать его имя.
7.3.2. Работа с текстовым редактором
Для создания файла, который будет содержать описание устройства на языке VHDL (после создания проекта согласно 7.3.1), следует выполнить команду New… меню File. В появившемся диалоговом окне на вкладке Device Design File следует выбрать тип файла VHDL File и нажать OK. Эти действия
31
приведут к открытию окна текстового редактора с загруженным в него файлом с расширением .vhd, который теперь необходимо включить в проект следующим образом: File – Save As… В появившемся диалоговом окне сохранения файла следует задать его имя и установить флажок Add file to current project.
В окне текстового редактора вводится VHDL-описание проектируемого устройства. Причем идентификатор интерфейса должен совпадать с именем данного VHDL-файла, а идентификатор архитектуры может быть любым.
7.3.3. Компиляция проекта
После того, как будет введено VHDL-описание генератора или его компонента, необходимо осуществить компиляцию введенного описания.
До осуществления компиляции нужно выбрать семейство ПЛИС для реализации спроектированного устройства: Assigments – Device…, выбор требуемого семейства (рекомендуется FLEX10K) в поле Family.
Если к моменту компиляции не оказался открытым нужный проект (generator2 или generator3), то его необходимо открыть. Для этого требуется действовать согласно 7.3.1. После этого запускается компилятор: Processing –
Start Compilation.
7.3.4. Верификация проекта
Следующим этапом после компиляции является верификация проекта, т. е. моделирование и проверка правильности функционирования спроектированного устройства. С этой целью создается файл временных диаграмм. Для его создания (после открытия проекта согласно 7.3.1) необходимо двигаться по меню
File – New – Other Files – Vector Waveform File. При этом запустится сигналь-
ный редактор с загруженным файлом с расширением .vwf. Созданный файл необходимо включить в проект (File – Save As…). Проверка правильности функционирования устройства осуществляется с использованием контрольного примера, составленного согласно [2]. Длительность одного периода импульсов (меандра) CLK рекомендуется выбирать не менее 40 нс, а длительность сигнала START – равной двум периодам CLK .
После того, как будут заданы все необходимые сигналы, можно запустить симуляцию работы устройства. Для этого в меню Processing выбирается пункт
Start Simulation.
При выполнении лабораторной работы требуется измерить задержку появления сигнала (после переходных процессов) относительно соответствующего фронта импульсов CLK для проектов generator2 и generator3.
8.Требования к отчету по работе
Вкачестве отчета по данной работе представляются в электронном виде и сопровождаются устными пояснениями следующие результаты: составленные VHDL-описания генераторов; временные диаграммы, полученные при модели-
32
ровании; результаты измерения временной задержки для двух проектов; символы двух спроектированных устройств, созданные в соответствии с [2].
9.Вопросы для самопроверки
1.Привести поведенческое описание D -триггера с прямым динамическим управлением в форме диаграммы состояний, табличной и аналитической формах, в форме временных диаграмм.
2.Изобразить схему использования D -триггера с прямым динамическим управлением в качестве асинхронного T -триггера.
3.Изобразить схему использования синхронного T -триггера в качестве асинхронного T -триггера. Рассмотреть различные варианты и обоснованно выбрать лучший.
4.Изобразить схему 4-разрядного параллельного регистра, построенного с использованием D -триггеров.
5.Изобразить схему 4-разрядного последовательного регистра со сдвигом
влево.
6.Изобразить схемы двоичных 4-разрядных вычитающих счетчиков с последовательным и с параллельным переносом.
7.Какие требования предъявляются к пользовательским ключевым словам языка VHDL?
8.Какие типы и как можно использовать для VHDL-описания данных, передаваемых в параллельном двоичном коде по шине? Привести примеры.
9.Каковы особенности записи значений данных различных типов в языке
VHDL?
10.Что означает термин "локальная переменная"?
11.С какой целью в языке VHDL используется оператор процесса?
12.Как составляется список чувствительностей в операторе процесса?
13.Где из трех частей оператора процесса (список чувствительностей, декларативная часть, последовательные операторы) могут записываться сигналы? Как можно указать тип или значение для сигнала в той части оператора процесса, где сигналы записываться не могут? Как это следует учесть в других частях оператора процесса?
14.Каковы особенности записи имени компонента и его портов при составлении оператора "компонент"?
15.К чему приведет замена числа
на число
в VHDL-текстах, приведенных в 7.2? К чему приведет аналогичная замена числа
на число
?
10.Список рекомендуемой литературы
1.Угрюмов, Е.П. Цифровая схемотехника / Е.П.Угрюмов.– СПб.: БХВ, 2001.– 528 с.
2.Проектирование комбинационных цепей с использованием графического редактора САПР Quartus II: Метод. указания к лабораторной работе № 18 по
33
дисциплинам "Цифровые устройства и микропроцессоры" (часть 1), "Вычислительная техника и информационные технологии" для студентов специальностей
071900, 200700, 200800, 200900, 201100 всех форм обучения / НГТУ; Сост.:
А.Д.Плужников, Н.Н.Потапов, А.А.Цветков. Н.Новгород, 2002. 22 с.
3.Стешенко, В.Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов / В.Б.Стешенко.– М.: ДОДЭКА, 2000.– 128 с.
4.Бибило, П.Н. Основы языка VHDL / П.Н.Бибило.– М.: Солон-Р, 2000.–
200 с.
34
