Применение языка VHDL при проектировании специализированных СБИС. Ивченко В.Г. - 23 стр.

UptoLike

Составители: 

24
end conv;
Объявление функции содержит имя функции, входные параметры (если они есть), тип возвращаемого
значения. Описание тела функции выполняется по правилам, общим для VHDL: в области объявлений
описывается заголовок функции, объявляются, если необходимо, внутренние объекты данных, затем, после
слова begin описывается реализация функции.
Описание процедуры подобно описанию функции, за исключением возвращаемого значения и его типа.
Пример описания нескольких процедур приведен в разделе, посвященном динамическим типам данных.
1.9. Оператор блока
Оператор блока определяет внутренний блок, представляющий часть проекта. Блоки могут быть
иерархически вложенными для обеспечения декомпозиции проекта.
Если после зарезервированного слова block стоит какое-либо выражение (выражение защиты), то
предполагается, что в начале области объявлений (block_declarative_part) этого блока неявно описан сигнал с
именем GUARD предопределенного типа BOOLEAN, и это выражение определяет значение этого сигнала.
Типом выражения защиты должен быть тип BOOLEAN. Сигнал GUARD может быть использован для
управления выполнением ряда операторов внутри блока.
Неявный сигнал GUARD не должен иметь источника. Если в конце оператора блока используется метка, то
она должна повторять метку этого блока. Ниже приведен пример оператора блока:
lab_0: block
-- выражение защиты
(S1 = '1' and NCLAR = '1')
-- заголовок блока
port ( P1,P2 : inout Bit );
port map (P1 =>w25, P2 =>leng);
-- область объявлений оператора блока
-- объявление компонент :
component Full_Adder
port (X, Y, Cin: Bit; Cout, Sum: out Bit);
end component;
-- объявление сигналов :
signal A,B,C: Bit;
signal OK: Boolean;
begin
-- операторная область оператора блока
lab_1: block (Set = '1')
begin
lab_2: process (guard)
begin
if guard then
x <= '1';
else
x <= null;
end if;
end process lab_2;
end block lab_1;
lab_2: CheckTiming ( tPLH, tPHL, Clk, D, Q );
lab_3 :Name_34 <= guarded
null,null after h when des>hu
else (a+(j > h)**k) when j=l
else -l and (r or g) when s
else rith ;
...
end block lab_0;
2. ВИДЫ ПРЕДСТАВЛЕНИЯ ОПИСАНИЙ ПРОЕКТОВ В VHDL
VHDL поддерживает три различных стиля для описания аппаратных архитектур: структурное описание,
потоковое описание, поведенческое описание. Все три стиля могут самостоятельно или совместно
использоваться для проектирования архитектуры ВС.
2.1. Структурное описание
При структурном описании (structural description) объекта проекта архитектура представляется в виде
иерархии связанных компонентов.