Шаг 5
Так как в предыдущей лабораторной работе мы синтезировали двухвходовые логические элементы, то для синтезирования КС мы будем использовать только их. Схема будет иметь следующий вид:
Для ее реализации необходимо 3 элемента 2И, 2 элемента 2ИЛИ, 1 элемент 2ИЛИ-НЕ, 3 внутренних проводика. Теперь необходимо в секции architecture объявить эти элементы слудующим образом:
architecture task1 of task1 is
component
and2 is
port
(in1:in STD_LOGIC;in2:in
STD_LOGIC;out1:out STD_LOGIC);
end
component;
component
or2
is
port
(in1:in STD_LOGIC;in2:in
STD_LOGIC;out1:out STD_LOGIC);
end
component;
component
nor2 is
port
(in1:in STD_LOGIC;in2:in
STD_LOGIC;out1:out STD_LOGIC);
end
component;
signal s1,s2,s3:STD_LOGIC;
Данные структуры являются своего рода объявлениями прототипов функций в языке С++, а объявление внутренних сигнальных линий очень схожо с объявлениями переменных в языке Паскаль.
Теперь необходимо выполнить связывание всех элементов. Для этого необходимо в тело раздела Begin --- end, секции architecture добавить следующий текст:
begin
D1:nor2 port
map(X1,X2,S1);
D2:and2 port
map(X1,X3,S2);
D3:and2 port
map(X2,X3,S3);
D4:or2 port
map(S1,S2,Y1);
D5:or2 port
map(S2,S3,Y2);
end
task1;
Это означает, что D1 -
логический элемент 2ИЛИ-НЕ, у которого вывод in1 связан сX1 на схеме, in2
с X2, out1 с проводником S1. Аналогично и для других элеменетов. Тепер
можно компилировать данный файл.