Рис.36. Задержка распространения сигнала от информационного входа к выходу при переключении выхода из низкого уровня сигнала в высокий. |
Рис. 37. Задержка распространения сигнала от информационного входа к выходу при переключении выхода из высокого уровня сигнала в низкий. |
Рис. 38. Задержка распространения сигнала от адресного входа к выходу при переключении выхода из низкого уровня сигнала в высокий. |
Рис. 39. Задержка распространения сигнала от адресного входа к выходу при переключении выхода из высокого уровня сигнала в низкий. |
Рис. 40 Задержка переключения выхода из высокоомного состояния в высокий уровень сигнала (или задержка от входа разрешения к выходу). |
Рис. 41. Задержка переключения выхода из высокоомного состояния в низкий уровень сигнала (или задержка от входа разрешения к выходу). |
Рис. 42. Задержка переключения выхода из высокого уровня сигнала в состояние высокого импеданса (или задержка от входа разрешения к выходу). |
Рис. 43. Задержка переключения выхода из низкого уровня сигнала в состояние высокого импеданса (или задержка от входа разрешения к выходу). |
Временные диаграммы показывают идентичные временные задержки для элемента со схемой замещения и для элемента с VHDL-моделью. Отмечу, что для одновременного измерения задержек один дельта-маркер использовался на сигналах элемента со схемой замещения, а другой – на сигналах узла с VHDL-моделью.
LIBRARY ieee; USE ieee.std_logic_1164.all; USE work.orcad_prims.all; ENTITY K555KP17_V IS --описание интерфейса модели generic ( TPLHD : time := 11 ns ; --блок настраиваемых параметров TPHLD : time := 13 ns ;--(различных задержек для проектируемого узла) TPLHS : time := 20 ns ; TPHLS : time := 21 ns ; TPZH : time := 11 ns ; TPZL : time := 15 ns ; TPHZ : time := 27 ns ; TPLZ : time := 12 ns ); port(--перечисление входных и выходных портов узла E00 : IN std_logic;--девятизначная логика сигнала \00\ : IN std_logic; \01\ : IN std_logic; \02\ : IN std_logic; \03\ : IN std_logic; A1 : IN std_logic; A2 : IN std_logic; \10\ : IN std_logic; \11\ : IN std_logic; \12\ : IN std_logic; \13\ : IN std_logic; E01 : IN std_logic; \0\ : OUT std_logic; \1\ : OUT std_logic); END K555KP17_V;--конец описанияинтерфейса ARCHITECTURE model OF K555KP17_V IS--началоописания архитектуры элемента signal out_0: std_logic;--вспомогательныесигналы (играют рольсигналов на выходе) signal out_1: std_logic; BEGIN process(E00,E01,\00\,\01\,\02\,\03\,\10\,\11\,\12\,\13\,A1,A2)--началооператора процесса variable multipl_0: std_logic; --вспомогательные переменные variable multipl_1: std_logic; begin multipl_0 := not((not(A2)and not(A1) and \00\)or(not(A2)and A1 and \01\)or(A2 and not(A1) and \02\)or(A2 and A1 and \03\));--операция мультиплексирования if out_0'DELAYED = '0' then --если предыдущее значение сигнала на выходе было "0" if (E00='1') then out_0<= 'Z' after TPLZ; --описание перехода в Z-состояние из низкого уровня сигнала elsif (A1'event or A2'event) then out_0 <=(multipl_0) after TPLHS; -- описание переключения выхода из низкого уровня в высокий при изменении сигнала на селекторном входе elsif (\00\'event or \01\'event or \02\'event or \03\'event) then out_0 <=(multipl_0) after TPLHD;--описание переключенияпо информационному входу end if; else --иначе, если значение сигнала на выходе было не ноль if (E00='1') then out_0<= 'Z' after TPHZ; --описание перехода в Z-состояние из высокого уровня сигнала elsif (E00'event AND E00='0') then --описание выхода из Z-состояния... if (multipl_0 = '0') then out_0<= '0' after TPZL;--в ноль elsif (multipl_0 = '1') then out_0<= '1' after TPZH;--в единичку end if; elsif (A1'event or A2'event) then out_0 <=multipl_0 after TPHLS;-- описание переключенияпри изменении сигнала наадресном входе elsif (\00\'event or \01\'event or \02\'event or \03\'event) then out_0 <=multipl_0 after TPHLD;--описание переключения поинформационному входу из высокогоуровня сигнала в низкий end if; end if; ------------------------------------------------------------------------------ multipl_1 := not((not(A2)and not(A1) and \10\)or(not(A2)and A1 and \11\)or(A2 and not(A1) and \12\)or(A2 and A1 and \13\));--тоже самое, чтои выше, толькодля второго "подмультиплексора" if out_1'DELAYED = '0' then if (E01='1') then out_1<= 'Z' after TPLZ; elsif (A1'event or A2'event) then out_1 <=(multipl_1) after TPLHS; elsif (\10\'event or \11\'event or \12\'event or \13\'event) then out_1 <=(multipl_1) after TPLHD; end if; else if (E01='1') then out_1<= 'Z' after TPHZ; elsif (E01'event AND E01='0') then if (multipl_1 = '0') then out_1<= '0' after TPZL; elsif (multipl_1 = '1') then out_1<= '1' after TPZH; end if; elsif (A1'event or A2'event) then out_1 <=multipl_1 after TPHLS; elsif (\10\'event or \11\'event or \12\'event or \13\'event) then out_1 <=multipl_1 after TPHLD; end if; end if; end process; --конец операторапроцесса \0\ <= out_0; --присвоить значения выходным сигналам \1\ <= out_1; END model; --конец описания архитектуры |
Рис. 44. VHDL-модель узла К555КП17. |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.