Создание проекта с помощью графического редактора BlockDiagramEditor. Проектирование логических элементов и триггеров в САПР Active-HDL 7.1, страница 2

2.10. Закончив редактирование схемы, откомпилируйте её и промоделируйте свой проект на том же самом наборе внешних воздействий, что и в первом задании. Результаты моделирования сохраните в волновом файле, например count5_BDE_my.awf.

2.11. Добавьте в модель триггера dff_my небольшую задержку, например 5 или 10 ns. Выполните новую компиляцию. Повторите моделирование для той же схемы с обновлённой моделью триггера.

Измерьте задержку, с которой входные сигналы передаются на выход, и сравните её с заданной. Нарисуйте измеренную задержку на временных диаграммах с помощью инструмента MeasurementMode(пиктограмма ).

Рис.5. Схема двоичного суммирующего счётчика по модулю 5 на собственных элементах

Факультативная (рекомендуемая) часть программы

ЗАДАНИЕ 3. Проектирование цифровых узлов с помощью программы IPCOREGenerator. Изучение способов описания внешних воздействий.

Ориентировочное время выполнения задания – 45 мин. (1 балл).

3.1. Нарисуйте в графическом редакторе BlockDiagramEditor цифровую схему с шинной структурой, которую вам предложит преподаватель. На рис.6 показан пример такой схемы. Сохраните её в файле Adder4.bde.

Исследуемый в схеме узел (в примере это adder - сумматор) создайте с помощью инструмента IPCOREGenerator. Его можно вызвать из меню Tools, исполнив команду с тем же названием.

Рис.6. Пример задания на проектирование шинной структуры
(четырёхразрядный полный сумматор)

В файловой структуре вашего проекта (закладка Files в окне просмотра проекта DesignBrowser) должна появиться папка со стандартным именем IP_CORE. Откомпилируйте автоматически сгенерированный файл с VHDL – моделью сумматора и исполните макрофайл adder.do (команда Execute из контекстного меню). В результате будет получено нестандартное графическое изображение сумматора (см. рис.6).

3.2. Исследуйте различные способы описания входных сигналов с помощью стимуляторов Value, HotkeyиFormula. Сигнал CI опишите как Value, шинный сигнал A задайте с помощью стимулятора Hotkey, определив для него несколько значений в шестнадцатеричной системе, например 16#2,16#7,16#E.

Шинный сигнал B опишите стимулятором Formula, задав для него несколько различных значений в десятичной и двоичной системах счисления. Выполните моделирование в интерактивном режиме с шагом 100ns, изменяя значения на входах CI и A. Сохраните результаты в волновом файле.

3.3. Замените для сигнала CI тип стимулятора на Clock, а для сигнала A – на Counter. Запрограммируйте их значения подходящим образом и повторите моделирование. Сохраните полученные результаты.

3.4. Создайте предопределённые стимуляторы для сигналов CI и A, с временными диаграммами, полученными в предыдущем эксперименте. Задайте названным сигналам тип стимулятора как Predefined и укажите для них только что созданные временные диаграммы. Повторите моделирование и сохраните результаты.

3.5. Назначьте порту CI стимулятор типа Hotkey и установите для него четыре допустимых значения (Toggledvalues: 0,1,X,Z). Сформируйте с его помощью временную диаграмму, показанную на рис.7.

Рис.7. Программирование сигнала CI стимулятором Hotkey