Смекни!
smekni.com

Проектирование цифровых устройств в САПР ISE (стр. 2 из 3)


а.

б

Рис. 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 в качестве примера показана диалоговая панель параметров синтеза.

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


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

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

MacrocellsProductTermsRegistersPinsFunctionBlock

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


Отчет о результатах временного анализа (TimingReport) позволяет оценить временные характеристики полученной схемы. Так, например, запись 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

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

Создание проекта, ввод схемы, задание ограничений для ПЛИС типа FPGA, а также моделирование производятся также, как это описано в разделах 2.3 и 2.4. На рис. 2.13 показано окно процессов для ПЛИС типа FPGA. Содержание этих процессов отличается от процессов, приведенных на рис. 2.9, для предварительного размещения Map и окончательного размещения Place&Route.

Отчет о размещении и проведении связей (Place&RouteReport) наряду с другой информацией содержит данные о задержках сигналов внутри ПЛИС. Эта информация представляет существенный интерес, так вследствие специфики структуры ПЛИС величина задержки зависит от взаимного расположения узлов и связей между ними. Пример фрагмента отчета приведен ниже:

The Average Connection Delay for this design is: 0.512 ns

The Maximum Pin Delay is: 1.102 ns

The Average Connection Delay on the Nets is: 0.138 ns

Listing Pin Delays by value: (ns)

d<1.00 <d<2.00 <d<3.00 <d<4.00 <d< 5.00 d>=5.00

21 0 0 0 0

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

Вследствие ее важности информация о задержках приводится и в других отчетах. В отчете о задержках (AsynchronousDelayReport) приводится перечень задержек всех связей:

-------------------------------

| Max Delay (ns) | Netname |

-------------------------------

1.102 D_IBUF

0.426 clk_BUFGP

0.007 clk_BUFGP/IBUFG

---------------------------------

На рис. 2.14 показан пример размещения D–триггера в ПЛИС типа FPGA. На этом рисунке показаны связи D и CLK, выходная связь Q реализована внутри буфера ввода вывода P41. Синхросигнал CLK поступает на контакт P39, а затем через специализированный буфер BUFG поступает на внутренние узлы схемы. На рисунке показаны также матрицы переключений МП.

Рис. 2.14. Размещение схемы в ПЛИС типа FPGA

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

Рассмотрим разработку четырехразрядного сдвигающего регистра, обеспечивающего преобразование последовательного кода в параллельный и имеющего информационный вход DIN, вход синхронизации CLK и выход DOUT[3/0]. Ввод проекта и описание схемы на языке VHDL производится в соответствии с правилами, описанными в разделе 2.2. Тип микросхемы - ПЛИС типа FPGAxc2s15-vq100-5. Описание интерфейса данной схемы будет выглядеть следующим образом.

Рис. 2.15. Задание интерфейса разрабатываемой схемы

В качестве шаблона можно использовать пункт SerialtoParallelShiftRegister из группы сдвигающих регистров ShiftRegisters. Окончательный вид описания регистра будет следующим:

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity rg is

Port ( DIN : in std_logic;

CLK : in std_logic;

DOUT : out std_logic_vector(3 downto 0));

end rg;

architecture Behavioral of rg is

signal REG: STD_LOGIC_VECTOR(3 downto 0);

begin

process (CLK)

begin

if CLK'event and CLK='1' then

REG(3 downto 0) <= DIN & REG(3 downto 1);

end if;

DOUT <= REG;

end process;

endBehavioral;

Внешние сигналы с помощью редактора ограничений задаются на следующие контакты: din - P40, clk - P39, dout[3/0] - P41, P43, P4, P45. Для моделирования с помощью программы TestBehcher задаются временные диаграммы сигналов dinиclk, которые показаны на рис. 2.16.

Рис. 2.16. Входные сигналы

На этих временных диаграммах заданы следующие параметры: длительности единичного и нулевого значения синхросигнала – по 10 нс, время установки входных воздействий перед фронтом тактового сигнала и время задержки выходных значений по 6 нс. Моделирование производится на основе данных сигналов с применением программы ModelSim. Результаты функционального моделирования показаны на рис. 2.17.


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

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

Number of SLICEs 2 out of 192 1%

Number of Slice Flip Flops: 4 out of 384 1%.

Для реализации внешних связей требуется 5 обычных блоков ввода-вывода и один специализированный для синхросигнала с использованием глобального буфера GCLK:

Number of External IOBs 5 out of 60 8%

Number of External GCLKIOBs 1 out of 4 25%

Number of GCLKs 1 out of 4 25%

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

Resolved that GCLKIOB <clk> must be placed at site P39.

Resolved that IOB <din> must be placed at site P40.

Resolved that IOB <dout<0>> must be placed at site P41.

Resolved that IOB <dout<1>> must be placed at site P43.

Resolved that IOB <dout<2>> must be placed at site P44.

Resolved that IOB <dout<3>> must be placed at site P45.

На рис. 2.18 приведен фрагмент ПЛИС, полученный с помощью программы FloorPlanner. Из этого рисунка видно, что для проектируемой схемы системой САПР ISE отведены 2 секции в блоках ПЛБ, расположенных по адресам R8C8 и R8C9. Данные секции выделены темным цветом.

Рис. 2.18. Размещение узлов схемы в ПЛИС

Информация о величине задержек схемы отражена в следующих строках:

The Average Connection Delay for this design is: 0.853 ns

The Maximum Pin Delay is: 1.564 ns

The Average Connection Delay on the 10 Worst Nets is:) 0.637ns

Listing Pin Delays by value: (ns)

d<1.00 <d< 2.00 <d< 3.00 <d< 4.00 <d< 5.00 d>= 5.00

8 4 0 0 0 0

Полная информация о задержках приведена в таблице:

-------------------------------

| Max Delay (ns) | Netname |

-------------------------------

1.564 reg_3_1

1.540 reg_2

1.209 reg_0

1.202 reg_1

0.853 reg_3

0.721 din_IBUF

0.469 clk_BUFGP

0.007 clk_BUFGP/IBUFG

---------------------------------

На рис. 19 показан фрагмент ПЛИС, на котором размещена проектируемая схема. Данный рисунок получен с помощью программы редактора FPGA (FPGAEditor).