время (ns) |
ldst |
s |
d |
q |
0 |
0 |
0 |
00000000 |
00000000 |
27 |
1 |
1 |
11110000 |
00000000 |
35 |
1 |
1 |
11110000 |
11110000 |
40 |
0 |
1 |
11110000 |
11110000 |
45 |
0 |
1 |
11110000 |
01111000 |
55 |
0 |
1 |
11110000 |
00111100 |
65 |
0 |
1 |
11110000 |
00011110 |
75 |
0 |
1 |
11110000 |
00001111 |
85 |
0 |
1 |
11110000 |
00000111 |
95 |
0 |
1 |
11110000 |
00000011 |
97 |
1 |
2 |
11110000 |
00000011 |
105 |
1 |
2 |
11110000 |
11110000 |
110 |
0 |
2 |
11110000 |
11110000 |
115 |
0 |
2 |
11110000 |
00111100 |
125 |
0 |
2 |
11110000 |
00001111 |
135 |
0 |
2 |
11110000 |
00000011 |
145 |
0 |
2 |
11110000 |
00000000 |
Использование готовых приложений при проектировании.
В некоторых проектных ситуациях, проще включить библиотечную макрокоманду продавца программируемого логического устройства чем вывести эквивалентную функцию. Большинство продавцов снабжают свою программируемую логику библиотеками логических макрокоманд, для классических цифровых логических функций и специальных аппаратных блоков типа оперативной памяти, буферных ячеек ввода - вывода, или формирователей тактовых импульсов.
Код ниже демонстрирует, как макрокоманды логики продавца программируемого логического устройства включены в исходный текст. Логическая макрокоманда упомянутая в VHDL следует за частью традиционного схемного решения. VHDL компонент и конструкции образца используются, чтобы разместить определенную логическую макрокоманду.
Фрагмент кода приведенного далее использует простую модель триггера D-типа, представленную в разделе Регистров, плюс специфические часы, которые буферизуют компонент от Actel. В этой модели помещен дополнительный компонент и сигнал используется, чтобы подсоединить новую часть к процессу триггера.
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity h_design is
port (d, in_ck : in std_logic;
q : out std_logic);
end;
architecture structure of h_design is
-- VHDL компонент Actel FPGA clkbuf
-- вход для выделенной направленной сети часов
component clkbuf
port (pad : in std_logic;
y : out std_logic);
end component;
begin
-- VHDL образец clkbuf
u1 : clkbuf port map (pad => in_ck, y => ck);
-- процесс D-триггера
process (d, ck)
begin
if ck = '1' and ck'event then
q <= d;
end if;
end process;
end structure;
Проектирование атрибутов для готовых программируемых устройств.
При помощи компилятора, вы можете связывать любой атрибут проекта продавца логического устройства с VHDL образцами или сигналами в исходном тексте также как в схематическом редакторе страниц, где вы можете объявлять определяемые пользователем свойства на проводах, шинах, или частях. Атрибуты проекта обычно это чип, штырек, или логические назначения ячейки, или другое средство управления инструментами проекта, которые используется инструментальными средствами продавца логического устройства.
Конструкция attribute в VHDL используется для того, чтобы объявить свойства проекта.
Синтаксис для объявления типичного атрибута проекта программируемого логического устройства для обоих сигналов или составляющих образцов в VHDL:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.