
实验目的
1.用逻辑图和VHDL语言设计D锁存器,并进行仿真与分析;
2.参看Maxplus中器件7474(边沿D触发器)的逻辑功能,用VHDL语言设计边沿触发式D触发器,并进行仿真与分析。
3.参看Maxplus中器件7476(边沿JK触发器)的逻辑功能,用VHDL语言设计边沿触发式JK触发器,并进行仿真与分析。
1.D锁存器(D Latch)
实验设计思想
使能端EN输入为1时,输出Q与输入D值相同;使能端EN输入为0时,输出Q保持不变。
实验原理图
实验VHDL源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_11.ALL;
ENTITY ex71 IS
PORT( C,D:IN STD_LOGIC;
Q,QN:BUFFER STD_LOGIC);
END ex71;
architecture bhv OF ex71 IS
BEGIN
PROCESS(C,D,Q)
BEGIN
IF (C='1') THEN Q<=D;ELSE Q<=Q;END IF;
QN<=NOT Q;
END PROCESS;
END bhv;
实验波形仿真
2.边沿式D触发器(Positive-Edge-Triggered D Flip-Flops with Preset , Clear and Complementary Outputs)
实验设计思想
| INPUTs | OUTPUTs | |||
| PR | CLR | CLK | D | Q QN |
| 0 | 1 | × | × | 1 0 |
| 1 | 0 | × | × | 0 1 |
| 0 | 0 | × | × | 1(失效) 1(失效) |
| 1 | 1 | ↑ | 1 | 1 0 |
| 1 | 1 | ↑ | 0 | 0 1 |
| 1 | 1 | 0 | × | 保持Q 保持QN |
实验VHDL源程序
library ieee;
use ieee.std_logic_11.all;
entity ex72 is
port(
D,CLK,PR_L,CLR_L:IN std_logic;
Q,QN:out std_logic);
end ex72;
architecture vhb of ex72 is
signal PR,CLR:STD_LOGIC;
BEGIN
process(CLR_L,CLR,PR_L,PR,CLK)
begin
PR<=not PR_L;CLR<=not CLR_L;
if(CLR AND PR)='1'then Q<='1';QN<='1';
elsif CLR='1' then Q<='0';QN<='1';
elsif PR='1'then Q<='1';QN<='0';
elsif (CLK'event and CLK='1')then Q<=D;QN<=not D;
end if;
end process;
end vhb;
实验波形仿真
3.边沿式JK触发器
实验设计思想
| INPUTs | OUTPUTs | ||||
| PR | CLR | CLK | J | K | Q QN |
| 0 | 1 | × | × | × | 1 0 |
| 1 | 0 | × | × | × | 0 1 |
| 0 | 0 | × | × | × | 1(失效) 1(失效) |
| 1 | 1 | ↓ | 0 | 0 | 保持Q 保持QN |
| 1 | 1 | ↓ | 1 | 0 | 1 0 |
实验波形仿真
