Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Синтез и реализация проекта на ПЛИС типа CPLD

Кафедра

"Вычислительная техника"

Курсовая работа

 

 

На тему: Проектирование цифровых устройств в САПР ISE

 

Москва, 2009


Содержание

Введение

1. Ввод проекта

2. Моделирование

3. Синтез и реализация проекта на ПЛИС типа CPLD

4. Синтез и реализация проекта на ПЛИС типа FPGA

5. Разработка регистровой схемы

6. Разработка умножителя

7. Использование структурного описания

Литература

 


Введение

 

Для проектирования цифровых устройств на ПЛИС фирмы Xilinx с применением языка VHDL могут использоваться различные системы, в том числе широко известная система Leonardo Spectrum, Foundation Express и Integrated Synthesis Environment (ISE). В настоящей главе рассматривается работа системы ISE. Характерной особенностью САПР фирмы Xilinx является привлечение для синтеза на языке VHDL синтезаторов третьих фирм. Исключением из этого правила является технология XST, используемая в САПР ISE. Использование этой технологии и рассматривается в данной главе.

Работой САПР управляет Навигатор проекта (Project Navigator), который предоставляет пользователю удобный интерфейс для работы с проектом. Основное окно Навигатора проекта (см. рис. 2.1) содержит четыре встроенных окна: окно исходных модулей (файлов) проекта (Sources in Project), окно процессов для выбранного исходного модуля проекта (Processes for Current Source), окно консольных сообщений программных модулей (Console) и окно текстового редактора HDL-описаний.

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


Рис. 2.1. Основное окно Навигатора проекта

 

В процессе создания цифровых устройств с использованием САПР ISE можно выделить следующие этапы: создание нового проекта, ввод описания проектируемого устройства, этап синтеза схемы, моделирование устройства, реализация проекта в ПЛИС и ее программирование.

При создании проекта задается тип проекта, его местоположение на диске, тип ПЛИС и другая информация. Ввод схемы или описания проектируемого устройства может осуществляться различными методами, в том числе схемотехническими; в настоящей главе рассматривается только проектирование с использованием языка VHDL. Процесс синтеза осуществляется автоматически средствами САПР. На этапе реализации проекта в ПЛИС выполняется размещение элементов в программируемые логические блоки ПЛБ и трассировка связей с учетом типа используемой ПЛИС. В процессе трассировки также определяются реальные значения задержек распространения сигналов, которые могут использоваться для временного моделирования схемы. Завершающим этапом является загрузка конфигурационных данных в ПЛИС с помощью соответствующих программ и загрузочного кабеля.

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


Ввод проекта

 

Основные методы и приемы работы с САПР ISE рассмотрим на примере простейшей схемы D –триггера. Использование простейшей схемы позволяет отвлечься от особенностей самой схемы и сосредоточиться только на самом процессе проектирования.

Создание нового проекта инициируется последовательным выбором пунктов меню File Þ New Project (эта последовательность показана на рис. 2.2). При этом открывается диалоговая панель, в которой разработчик должен указать имя и расположение проекта на жестком диске, а также выбрать семейство ПЛИС, тип кристалла и средства синтеза устройства. На рис. 2.2 выбрана ПЛИС XC9536-PC44, метод проектирования – использование языка VHDL с использованием технологии XST.

 

Рис. 2.2. Создание нового проекта

 

После ввода указанных данных в окне исходных модулей проекта появится пиктограмма основного модуля с указанием типа кристалла и инструментов синтеза. Для ввода описания следует выбрать пункты меню Project Þ New Source, после чего открывается список возможных типов исходных модулей (см. рис. 2.3): схемотехническое представление, описание модулей, библиотек и тестовых воздействий на языке HDL, диаграмма состояний, модули документации. В этом списке следует выбрать тип нового исходного модуля (в данном случае - пункт VHDL module) и указать имя файла.

 

Рис. 2.3. Список типов исходных модулей

 

Если нажать клавишу Next, то активизируется окно задания внешних сигналов (Define VHDL Source). Для D –триггера надо задать входные сигналы информационного входа D, синхросигнала CLK и выходной сигнал Q (см. рис. 2.4). После этого по нажатию клавиши Next открывается окно New Source Information, в котором приводится информация о новом модуле. В случае успешного завершения создания исходного модуля он автоматически добавляется к проекту и отображается в окне исходных модулей в виде соответствующей пиктограммы.

Рис. 2.4. Задание внешних сигналов


В окне текстового редактора будут введены следующие строки

 

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

 

entity dtg_1 is

Port (D: in std_logic;

CLK: in std_logic;

Q: out std_logic);

end dtg_1;

 

architecture Behavioral of dtg_1 is

 

begin

 

end Behavioral;

 

Для разработки описания разрабатываемой схемы на языке VHDL целесообразно использовать шаблоны языка («Language Template»). В списке шаблонов имеются описания счетчиков, мультиплексоров, дешифраторов и других узлов. Шаблоны языка могут быть скопированы и вставлены в проект, а затем изменены так, как удобно разработчику. Список шаблонов открывается при выборе пунктов меню Edit Þ Language Template. В открывшемся окне Templates необходимо выбрать пункт VHDL, а затем - Synthesis Templates. В списке шаблонов выбирается Flip Flop, а затем шаблон D –триггера, который содержит следующие строки:

-- D Flip Flop

-- CLK: in STD_LOGIC;

-- DIN: in STD_LOGIC;

-- DOUT: out STD_LOGIC;

 

process (CLK)

begin

if CLK'event and CLK='1' then --CLK rising edge

DOUT <= DIN;

end if;

end process;

end Behavioral;

Эти строки надо вставить между строками begin и end Behavioral, окончательный вид исходного модуля будет иметь следующий вид:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

 

entity dtg_1 is

Port (D: in std_logic;

CLK: in std_logic;

Q: out std_logic);

end dtg_1;

 

architecture Behavioral of dtg_1 is

 

begin

-- D Flip Flop

-- CLK: in STD_LOGIC;

-- DIN: in STD_LOGIC;

-- DOUT: out STD_LOGIC;

 

process (CLK)

begin

if CLK'event and CLK='1' then --CLK rising edge

DOUT <= DIN;

end if;

end process;

Для задания номеров контактов ПЛИС, на которые выводятся выходные сигналы, можно использовать редактор ограничений (Constraints Edior). Для его запуска в окне процессов для выбранного исходного модуля проекта (Processes for Current Source) надо последовательно раскрыть пиктограммы утилит ввода проекта (Design Entry Utilities) и ограничений пользователя (User Constraints). После этого надо запустить программу редактора ограничений (строка Edit Implementation Constraints - Constraints Edior), окно которой приведено на рис. 2.5, и заполнить столбец Location.

 

Рис. 2.5. Установка номеров контактов

 

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

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

 

Одним из основных этапов при разработке схем на ПЛИС является моделирование разработанных устройств. После ввода описания схемы обычно проводится функциональное моделирование, оно позволяет провести предварительную проверку проекта. В системе ISE для моделирования используется программа ModelSim. Для задания сигналов системы моделирования в САПР ISE используются возможности программы Test Behcher. Вызов этой программы производится из основного меню последовательным выбором следующих пунктов: Project Þ New Source Þ Test Bench Waveform (см. рис. 2.5 а). Выбор пункта Test Bench Waveform позволяет задавать входные сигналы в виде временных диаграмм. При выборе пункта VHDL Test Bench входные воздействия описываются средствами языка VHDL.

После запуска программы Test Behcher последовательно открываются несколько окон, в которых надо нажать клавиши Next и Finish. В результате в окне исходных модулей добавляется новый модуль (на рис. 2.6 а показано задание модуля с именем d1_tb). Перед началом работы в окне инициализации, приведенном на рис. 2.6 б, задаются временные характеристики синхросигнала и положение фронтов управляющих воздействий относительно фронтов тактового сигнала. Сущность вводимых значений поясняется на рисунке, приведенном в верхней части окна, показанного на рис. 2.6.


а.

б

Рис. 2.6. Задание параметров синхросигнала с помощью программы Test Behcher

 

В примере, приведенном на рис. 2.6 б, задаются длительности единичного (Clock high time: 5 ns) и нулевого (Clock low time: 5 ns) значения синхросигнала, время установки входных воздействий перед фронтом тактового сигнала (Input setup time: 4 ns) и время задержки выходных значений (Output valid delay: 4 ns). Затем в окне программы Test Behcher вводятся временные диаграммы входных воздействий (см. рис. 2.7).


Рис. 2.7. Задание входных сигналов

 

Программа Test Behcher позволяет также задавать выходные воздействия, но в данном примере они не используются.

Для моделирования в окне исходных модулей необходимо выбрать файл входных воздействий, созданный в программе Test Behcher, а в окне процессов - «Behavioural VHDL Model». В результате запуска программы моделирования открывается несколько окон, в том числе окно просмотра результатов, показанное на рис. 2.8.

 

Рис. 2.8. Результаты моделирования

Синтез и реализация проекта на ПЛИС типа CPLD

 

Этапы синтеза и реализации проекта выполняются в САПР ISE автоматически. Процессы реализации на ПЛИС типа CPLD и ПЛИС типа FPGA отличаются друг от друга. На рис. 2.9 показано окно процессов для ПЛИС типа CPLD.

Рис. 2.9. Окно процессов для ПЛИС типа CPLD

 

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

 

Рис. 2.10. Диалоговая панель параметров синтеза.


Эта панель вызывается нажатием правой клавиши мыши на строке Synthesise в окне процессов. Здесь можно изменить такие параметры, как критерий оптимизации (Optimization Goal), уровень оптимизации (Optimization Effort) и другие.

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

Macrocells Product Terms Registers Pins Function Block

Used Used Used Used Inputs Used

1/36(2%) 1/180(0%) 1/36(2%) 3/34(8%) 1/72(1%)

Стилизованное изображение микросхемы с распределением внешних сигналов по контактам показано на рис. 2.11.

 

Рис. 2.11. Вид микросхемы XC9536-5-PC44


Отчет о результатах временного анализа (Timing Report) позволяет оценить временные характеристики полученной схемы. Так, например, запись Clock Pad to Output Pad (tCO): 4.0ns (1 macrocell levels) характеризует время задержки срабатывания схемы после синхросигнала. Запись Minimum Clock Period: 8.0ns. свидетельствует о том, минимальный период синхросигнала составляет 8 нс, что соответствует максимальной частоте 125 МГц (Maximum Internal Clock Speed: 125.0Mhz).

Программа ChipViewer позволяет просмотреть распределение схемы по ресурсам микросхемы. На рис. 2.12 показан фрагмент схемы, из которой видно, какой функциональный блок используется, и на какие контакты выводятся внешние сигналы.

 

Рис. 2.12. Просмотр результатов размещения программой ChipViewer

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...