Қазақстан Республикасының Ғылым және жоғары білім министрлігі


Isim симуляторда ЛЭ өнімділігін тексеру



жүктеу 283,8 Kb.
бет3/3
Дата09.04.2023
өлшемі283,8 Kb.
#42079
түріПрограмма
1   2   3
ВНДЛ Лаб2

1.3 Isim симуляторда ЛЭ өнімділігін тексеру

Өнімділігін тексеру кодын нұсқаға сәйкес жазамыз. Нұсқа бойынша D мәндері уақыттық диаграммада келесі суретте көрсетілген:





Сур. 1.3 – D мәні 9 нұсқа бойынша




LIBRARY ieee;
USE ieee.std_logic_1164.ALL;


ENTITY D_trigger_VHDL IS
END D_trigger_VHDL;
ARCHITECTURE behavior OF D_trigger_VHDL IS


COMPONENT D_trigger
PORT( D:IN STD_LOGIC;
C:IN STD_LOGIC;
Q:OUT STD_LOGIC);
END COMPONENT;


signal D : std_logic := '0';
signal C : std_logic := '0';
signal Q : std_logic;
constant C_period : time := 100 ns;
BEGIN
uut: D_trigger_VHDL PORT MAP (
D => D,
C => C,
Q => Q
);


C_process :process
begin C <= '0';
wait for C_period/2;
C <= '1';
wait for C_period/2;
end process;


stim_proc: process
begin
D<='0';
wait for 50 ns;
D<='1';
wait for 50 ns;
D<='1';
wait for 50 ns;
D<='0';
wait for 50 ns;
D<='0';
wait for 50 ns;
D<='0';
wait for 50 ns;
D<='1';
wait for 50 ns;
D<='1';
wait for 50 ns;
D<='0';
wait for 50 ns;
D<='1';
wait for 50 ns;
wait;
end process;
END;

Симуляторда TestBench коды келесідей уақыттық диаграммасын және Q мәндерін береді:





Сур. 1.4 – Симулятордағы уақыттық диаграмма


2 JK-триггер зерттеу
2.1 Ақиқат кестесі
JK-триггер ақиқат кестесі келесідей:

Кесте 2.1



J

K

Qt

0

0

Qt-1

1

0

1

0

1

0

1

1

Q



2.2 VHDL тілінде берілген логикалық элементтің сипаттамасы
JK-триггер құру коды келесідей.


library ieee;
use ieee.std_logic_1164.all;
entity jk_trigger is
port (
Clk, Clr, Cls, J, K : in std_logic;
Q, notQ : out std_logic);
end jk_trigger;
architecture behaviour of jk_trigger is
signal Qtmp : std_logic := '0';
signal notQtmp : std_logic := '1';


begin
Q <= Qtmp;
notQ <= notQtmp;
process (Clk, Clr, Cls)
begin
if Clr = '1' then Qtmp <= '0';
notQtmp <= '1';
elsif Clk'event and Clk = '0' then
if Cls = '1' then Qtmp <= '1';
notQtmp <= '0';
elsif Clk'event and Clk = '0' then
if (J = '1') and (K = '0') then Qtmp <= '1';
notQtmp <= '0';
elsif (J = '0') and (K = '1') then Qtmp <= '0';
notQtmp <= '1';
elsif (J = '1') and (K = '1') then Qtmp <= not Qtmp;
notQtmp <= not notQtmp;
end if;
end if;
end if;
end process;
end behaviour;

Сонда кодты тексеріп, дұрыс болған кезде біз келесідей схеманы аламыз.





Сур. 2.1 – JK-триггер схемасы


2.3 Isim симуляторда ЛЭ өнімділігін тексеру
Өнімділігін тексеру кодына беретін нұсқа бойынша мәндерді келесі суреттен алуға болады:



Сур. 2.2 – 9-нұсқа бойынша берілген мәндер




LIBRARY ieee;
USE ieee.std_logic_1164.ALL;


ENTITY jk_trigger IS
END jk_trigger;
ARCHITECTURE behavior OF jk_trigger IS


COMPONENT jk_trigger
PORT( J:IN STD_LOGIC;
K:IN STD_LOGIC;
Clk:IN STD_LOGIC;
Clr:IN STD_LOGIC;
Cls:IN STD_LOGIC;
Q:OUT STD_LOGIC;
notQ:OUT STD_LOGIC);
END COMPONENT;


signal Clk : std_logic := '0';
signal J : std_logic := '0';
signal K : std_logic := '0';
signal Cls : std_logic := '0';
signal Clr : std_logic := '0';
signal Q : std_logic;
signal notQ : std_logic;
constant Clk_period : time := 100 ns;


BEGIN
uut: jk_trigger PORT MAP (
Clk => Clk,
Clr => Clr,
Cls => Cls,
J=> J,
K=> K,
Q => Q,
notQ => notQ);
Clk_process :process
begin
J<='0';
K<='0';
wait for 50 ns;
J<='0';
K<='1';
wait for 60 ns;
J<='1';
wait for 140 ns;
Clr<='1';
wait for 100 ns;
K<='0';
wait for 150 ns;
J<='0';
wait for 20 ns;
Clr<='0' ;
wait for 200 ns;
J<='1';
wait for 100 ns;
Cls<='1';
wait for 60 ns;
K<='1';
wait for 150 ns;
J<='0';
Cls<='0';
wait for 420 ns;
K<='0';
wait;
end process;
END;

Симуляторда TestBench коды келесідей уақыттық диаграммасын


береді:



Сур. 2.3 – Симулятордағы уақыттық диаграмма


ҚОРЫТЫНДЫ


Бұл зертханалық жұмыста жалпы триггерлерді қайталап, олардың нақты екі түрін VHDL тілінде сипаттамасын жазып зерттедік. Кодын жазып тексергенде олардың уақыттық диаграммаларын алып бақыладық.
Бірінші тапсырмада D-триггердің сипаттамасын модульде архитектурасын және денесін жаздық. Кейін нұсқа бойынша D мәндерін беріп шығысындағы сигналды уақыттық диаграммада симуляторда бақыладық.
Екінші тапсырмада JK-триггерін қарастырдық. J, K, R, S, C мәндерін енгізе алатындай архитектурасын жазып, денесінде if және else функциялары арқылы триггер жұмыс жасау режимін жаздық. Нұсқа бойынша мәндер беріп симуляторда сигналды алдық.
жүктеу 283,8 Kb.

Достарыңызбен бөлісу:
1   2   3




©g.engime.org 2025
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау