Создание структурных и поведенческих моделей исследуемого цифрового узла в пакетах DesignLab 8, OrCad 9.1, Active-HDL 6.1, страница 6

                        ELSIF (\D1.0\'EVENT OR \D1.1\'EVENT OR \D1.2\'EVENT OR \D1.3\'EVENT) THEN NQ1 <=NPREQ1 AFTER 13NS;         --изменение данных на выходе из-за смены данных на                                                                           информационных входах

                        end if;

            end if;

              -----------------  

            IF (SE0='0' AND SE1='0') THEN NPREQ2 := NOT(\D2.0\);

            ELSIF(SE0='1' AND SE1='0') THEN NPREQ2 := NOT(\D2.1\);

            ELSIF (SE0='0' AND SE1='1') THEN NPREQ2 := NOT(\D2.2\);

            ELSIF (SE0='1' AND SE1='1') THEN NPREQ2 := NOT(\D2.3\);  

            end if;

            IF NQ2'DELAYED = '0' THEN 

                        IF (\\\\\E\\2\='1') then     NQ2<= '1' after 18NS;     

                        ELSIF (SE0'EVENT OR SE1'EVENT) THEN NQ2 <=(NPREQ2) AFTER 24NS;

                        ELSIF (\D2.0\'EVENT OR \D2.1\'EVENT OR \D2.2\'EVENT OR \D2.3\'EVENT) THEN NQ2 <=NPREQ2 AFTER 18NS;

                        end if;    

рис 38. Поведенческая VHDL-модель узла (продолжение)

            ELSE 

                        IF (\\\\\E\\2\='1') then     NQ2<= '1' after 18NS;     

                        ELSIF (\\\\\E\\2\'EVENT AND \\\\\E\\2\='0') then NQ2 <=NPREQ2 AFTER 20NS;                                                 

                        ELSIF (SE0'EVENT OR SE1'EVENT) THEN NQ2 <=NPREQ2 AFTER 21NS;  

                        ELSIF (\D2.0\'EVENT OR \D2.1\'EVENT OR \D2.2\'EVENT OR \D2.3\'EVENT) THEN NQ2 <=NPREQ2 AFTER 13NS;

                        end if;

            end if;

END PROCESS;                                        

\\\\\Q\\1\ <= NQ1;     

\\\\\Q\\2\ <= NQ2;   

END model;

рис 38. Поведенческая VHDL-модель узла (окончание)

8.6. Схема верификации узла с подключённой VHDL-моделью

рис 39. Схема верификации узла с подключенной VHDL-моделью

8.7. Результаты моделирования VHDL-модели узла

рис 40. Временные диаграммы моделирования VHDL-модели узла


9. Моделирование узла в пакете Active-HDL 6.1

9.1 Макромодель, представленная как иерархический символ

Рис 41. Внешнее описание – в виде графического изображения

Рис 42. Внутреннее описание – в виде принципиальной схемы замещения

9.2. Схема верификации иерархического блока, поддерживаемого схемой замещения

Рис 43. Схема верификации иерархического блока, поддерживаемого схемой замещения узла

9.3. Поведенческая модель на языке VHDL

LIBRARY ieee;

USE ieee.std_logic_1164.all;

ENTITY \KP1533KP19M\ IS PORT(

            NE1 : IN std_logic;

            NE2 : IN std_logic;

            D1_0 : IN std_logic;

            D1_1 : IN std_logic;

            D1_2 : IN std_logic;

            D1_3 : IN std_logic;

            D2_0 : IN std_logic;

            D2_1 : IN std_logic;

            D2_2 : IN std_logic;

            D2_3 : IN std_logic;

            SE0 : IN std_logic;

            SE1 : IN std_logic;

            NQ1 : OUT std_logic;

            NQ2 : OUT std_logic

);

END \KP1533KP19M\;

ARCHITECTURE model OF \KP1533KP19M\ IS

SIGNAL NPOQ1: std_logic;                                        

SIGNAL NPOQ2: std_logic;   

BEGIN                

PROCESS(NE1,NE2,D1_0,D1_1,D1_2,D1_3,D2_0,D2_1,D2_2,D2_3,SE0,SE1)

            variable NPREQ1: std_logic;    

            variable NPREQ2: std_logic;

            BEGIN 

            IF (SE0='0' AND SE1='0') THEN NPREQ1 := NOT(D1_0);

            ELSIF(SE0='1' AND SE1='0') THEN NPREQ1 := NOT(D1_1);

            ELSIF (SE0='0' AND SE1='1') THEN NPREQ1 := NOT(D1_2);

            ELSIF (SE0='1' AND SE1='1') THEN NPREQ1 := NOT(D1_3); 

рис 44. Поведенческая модель на языке VHDL