- •Аннотация
- •1.2. Программные модули
- •2.1. Способы описания проектов бис.
- •Техническое задание
- •2.2. Подготовка описания тестовых воздействий для моделирования работы бис.
- •2.3. Этапы отладки проекта плис
- •3.1. Графический ввод и редактирование схемы
- •3.2 Ввод и редактирование тестов
- •3.3. Программа моделирование
- •3.4 Программатор плис.
- •4. Проектирование плис в базисе примитивов.
- •4.1. Мультиплексор Мультиплексор представляют собой логическую схему,имеющуюnсигнальных входов,mвходов адреса и один выходQ.
- •4.2. Шифратор Шифратор представляют собой логическую схему, имеющую nвходов иmвыходов
- •4.3. Демультиплексор Демультиплексор представляют собой логическую схему, имеющую один информационный вход, mвходов адреса иnвыходов.
- •Обычно выполняется соотношение
- •4.5. Сумматоры
- •Выходами одноразрядного сумматора являются выход суммы текущего разряда (s) и выход переноса в следующий разряд (p).
- •4.6. Вычитатели
- •Выходами одноразрядного вычитателя являются выход разности текущего разряда (r) и выход заёма в старшем разряде (z).
- •4.7. Асинхронные счетчики.
- •4.8. Синхронные счетчики
- •4.9. Последовательные сумматоры и вычитатели.
- •4.10. Дешифратор Дешифратор представляют собой логическую схему, имеющую nвходов иmвыходов
- •5. Проектирование плис с использованием lpm модулей
- •5.1 Lpm модуль счетчика
- •5.2 Lpm модуль сдвигового регистра.
- •5.3 Lpm модуль пзу.
- •6. Описание работы схем на поведенческом языке ahdl.
- •6.1. Введение в язык ahdl
- •В языке ahdl допускается числа следующих типов.
- •Выражения
- •6.2. Структура текстового описания бис на языке ahdl
- •6.3. Основные элементы языка.
- •6.3.1 Булевы уравнения, группы.
- •In0, in21, in3 : input;
- •In_f, in_s, in_t : input;
- •If in_f then
- •In[2..0] : input;
- •6.3.3 Проектирование на языке ahdl с помощью таблиц истинности.
- •In[2..0] : input;
- •6.3.4 Операторы If Generate, For Generate
- •Else generate
- •Variable
- •6.3.5. Проектирование на языке ahdl с использованием примитивов.
- •Оператор непосредственного обращения к примитиву имеет следующий вид:
- •Variable
- •7.5. Сумматоры
- •Subdesign suma
- •Variable
- •7.6. Вычитатели
- •Variable
- •7.7. Шинные формирователи
- •Subdesign shina
- •Variable
- •7.8. Счетчики
- •Variable
- •7.9. Дешифраторы
- •7.10. Компараторы
Оператор непосредственного обращения к примитиву имеет следующий вид:
<имя вывода>=<имя примитива>(список выводов);
Список выводов может быть организован либо по именам, либо позиционно.
Ниже приведен пример позиционного обращения к примитиву:
SUBDESIGN Prim1
( D_in, Ena : INPUT;
D_tri : OUTPUT;
)
BEGIN
D_tri=TRI(D_in,Ena);
END;
Неиспользуемые выводы примитивов получают значения определенные по умолчанию.
Пример организации обращения к примитиву в случае задания выводов по именам.
SUBDESIGN Prim2
( D_in, Ena, CLK : INPUT;
D_out : OUTPUT;
)
BEGIN
D_tri=DFFE(.CLK=CLK, .D=D_in, .ENA=Ena);
END;
Обращение к примитиву как к переменной.
В этом случае необходимо в разделе переменных (Variable) символическому имени или группе символических имён сопоставить примитив. Объявленная таким образом переменная, а также каждая переменная из объявленной группы переменных будет иметь тот же набор выводов, что и примитив.
Ниже приведен пример обращения к примитиву, как к переменной.
SUBDESIGN Prim3
( En_BUSA, En_BUSB, LoadA, LoadB, CLK : INPUT;
BUS_A, BUS_B : OUTPUT;
)
Variable
RG_BUSA, RG_BUSB : DFFE;
BUF_A, BUF_B: Tri;
BEGIN
(RG_BUSA, RG_BUSB).CLK = CLK;
RG_BUSA.(D,ENA)=(BUS_A, LoadB);
RG_BUSB.(D,ENA)=(BUS_B, LoadA);
BUF_A.(IN.OE) =(RG_BUSA,0,En_BUSA);
BUF_B.(IN.OE) =(RG_BUSB,0,En_BUSB);
BUS_A=BUF_A.OUT;
BUS_B=BUF_B.OUT;
END;
7. Проектирование типовых схем на языке AHDL
7.1. Простые комбинационные схемы
Работу простых комбинационных схем на языке AHDL обычно описывают набором логических выражений. Рассмотрим простую схему, представленную на рис. 7.1.1.
Рис. 7.1.1. Простая комбинационная схема.
Эквивалентное описание этой схемы на языке AHDL выглядит следующим образом.
SUBDESIGN BOOL
(
A0,A1,B : INPUT;
OUT2 : OUTPUT; )
VARIABLE
T1:NODE;
BEGIN
T1=A1 & !A0;
OUT2=T1 # B;
END;
Для упрощения записи логических выражений в схему введена внутренняя переменная T1.
Временная диаграмма работы схемы представлена на рис. 7.1.2.
Рис. 7.1.2. Временная диаграмма работы комбинационной схемы.
7.2. Мультиплексоры
Рассмотрим схему мультиплексора 41, описанную на языке AHDL. Мультиплексор имеет четыре информационных входа In[4..1], два входа адреса Adr[2..1], вход разрешения работы ENA и один выход OUT. Мультиплексор реализован на базе оператора CASE. Описание мультиплексора имеет следующий вид.
SUBDESIGN MUX
( In[4..1], Adr[2..1] :INPUT;
ENA :INPUT;
OUT :OUTPUT; )
BEGIN
IF ENA THEN
CASE ADR[] IS
WHEN 0 => OUT = In[1];
WHEN 1 => OUT = In[2];
WHEN 2 => OUT = In[3];
WHEN 3 => OUT = In[4];
END CASE;
END IF;
END;
Временная диаграмма мультиплексора представлена на рис. 7.2.1
Рис 7.2.1. Временная диаграмма работы мультиплексора.
7.3. Шифраторы
Рассмотрим схему шифратора 84, описанную на языке AHDL. Шифратор имеет восемь информационных входов D[7..0] и четыре выхода Q[3..0]. Шифратор реализован на базе оператора TABLE. Описание шифратора имеет следующий вид.
SUBDESIGN SHIFRAT
( D[7..0] : INPUT;
Q[3..0]: OUTPUT;)
BEGIN
TABLE
D[]=>Q[];
B"00000000" => B"0000";
B"00000001" => B"0001";
B"00000010" => B"0010";
B"00000100" => B"0011";
B"00001000" => B"0100";
B"00010000" => B"0101";
B"00100000" => B"0110";
B"01000000" => B"0111";
B"10000000" => B"1000";
END TABLE;
END;
Ниже, на рис 7.3 приведена временная диаграмма работы шифратора.
Рис. 7.3. Временная диаграмма работы шифратора.
7.4. Демультиплексоры
Рассмотрим схему демультиплексора 18, описанную на языке AHDL. Демультиплексор имеет один информационных вход данных D, три входа, задающие адрес ADR[3..1] и восемь выходов OUT[7..0]. Демультиплексор реализован на базе оператора CASE. Описание шифратора имеет следующий вид.
SUBDESIGN DMUX
( IN, ADR[3..1] :INPUT;
OUT[7..0] :OUTPUT; )
BEGIN
CASE ADR[] IS
WHEN 0 => OUT[0]=IN;
WHEN 1 => OUT[1]=IN;
WHEN 2 => OUT[2]=IN;
WHEN 3 => OUT[3]=IN;
WHEN 4 => OUT[4]=IN;
WHEN 5 => OUT[5]=IN;
WHEN 6 => OUT[6]=IN;
WHEN 7 => OUT[7]=IN;
END CASE;
END;
Ниже, на рис 7.4 приведена временная диаграмма работы демультиплексора.
Рис. 7.4. Временная диаграмма работы демультиплексора.