Введение в стандарт IEEE. Справочное руководство по языку VHDL (Пересмотр стандарта IEEE. 1076-1987), страница 17

время (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: