Курсовая работа: Проектирование цифровых устройств в САПР ISE
process (CLK)
begin
if CLK'event and CLK='1' then --CLK rising edge
DOUT <= DIN;
end if;
end process;
Для задания номеров контактов ПЛИС, на которые выводятся выходные сигналы, можно использовать редактор ограничений (ConstraintsEdior). Для его запуска в окне процессов для выбранного исходного модуля проекта (Processes for Current Source) надо последовательно раскрыть пиктограммы утилит ввода проекта (Design Entry Utilities) и ограничений пользователя (User Constraints). После этого надо запустить программу редактора ограничений (строка EditImplementation Constraints - ConstraintsEdior), окно которой приведено на рис. 2.5, и заполнить столбец Location.
Рис. 2.5. Установка номеров контактов
В этом же редакторе вводятся и временные ограничения, такие, как, максимальное значение периода, время распространения сигналов в логических схемах от контакта к контакту, предельное время между синхросигналом и связанными с ним управляющими сигналами и другие ограничения.
2. Моделирование
Одним из основных этапов при разработке схем на ПЛИС является моделирование разработанных устройств. После ввода описания схемы обычно проводится функциональное моделирование, оно позволяет провести предварительную проверку проекта. В системе ISE для моделирования используется программа ModelSim. Для задания сигналов системы моделирования в САПР ISE используются возможности программы TestBehcher. Вызов этой программы производится из основного меню последовательным выбором следующих пунктов: ProjectÞNewSourceÞTestBenchWaveform (см. рис. 2.5 а). Выбор пункта TestBenchWaveform позволяет задавать входные сигналы в виде временных диаграмм. При выборе пункта VHDLTestBench входные воздействия описываются средствами языка VHDL.
После запуска программы TestBehcher последовательно открываются несколько окон, в которых надо нажать клавиши Next и Finish. В результате в окне исходных модулей добавляется новый модуль (на рис. 2.6 а показано задание модуля с именем d1_tb). Перед началом работы в окне инициализации, приведенном на рис. 2.6 б, задаются временные характеристики синхросигнала и положение фронтов управляющих воздействий относительно фронтов тактового сигнала. Сущность вводимых значений поясняется на рисунке, приведенном в верхней части окна, показанного на рис. 2.6.
а.
б
Рис. 2.6. Задание параметров синхросигнала с помощью программы TestBehcher
В примере, приведенном на рис. 2.6 б, задаются длительности единичного (Clockhightime: 5 ns) и нулевого (Clocklowtime: 5 ns) значения синхросигнала, время установки входных воздействий перед фронтом тактового сигнала (Inputsetuptime: 4 ns) и время задержки выходных значений (Outputvaliddelay: 4 ns). Затем в окне программы TestBehcher вводятся временные диаграммы входных воздействий (см. рис. 2.7).
Рис. 2.7. Задание входных сигналов
Программа TestBehcher позволяет также задавать выходные воздействия, но в данном примере они не используются.
Для моделирования в окне исходных модулей необходимо выбрать файл входных воздействий, созданный в программе TestBehcher, а в окне процессов - «Behavioural VHDL Model». В результате запуска программы моделирования открывается несколько окон, в том числе окно просмотра результатов, показанное на рис. 2.8.
Рис. 2.8. Результаты моделирования
3. Синтез и реализация проекта на ПЛИС типа CPLD
Этапы синтеза и реализации проекта выполняются в САПР ISE автоматически. Процессы реализации на ПЛИС типа CPLD и ПЛИС типа FPGA отличаются друг от друга. На рис. 2.9 показано окно процессов для ПЛИС типа CPLD.
Рис. 2.9. Окно процессов для ПЛИС типа CPLD
Для запуска этих процессов достаточно выбрать исходный файл в окне исходных модулей и дважды нажать левой клавишей мыши на нужном процессе в окне процессов, например, на пункте ImplementDesign. При необходимости проектировщик может проконтролировать и задать параметры синтеза и реализации. На рис. 2.10 в качестве примера показана диалоговая панель параметров синтеза.