门电D触发器与8位计数器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字逻辑课程实验报告
实验名称门电D触发器与8位计数器的设计
实验人姓名
学号
班级
同组人姓名
实验时间
成绩
一、实验内容
1.带复位的D触发器(边沿触发);
2.8位计数器的设计;(具有异步清0和同步计数功能)
二、实验原理
带复位的D触发器(边沿触发)
1.系统输入输出确定
3个输入reset、d、clk(脉冲),2个输出q、qb
2.真值表
reset d clk q qb
0 0 上升沿0 1
1 0 上升沿0 1
1 1 上升沿 1 0
3.电路图
4.VHDL程序源代码
LIBRARY ieee;
use ieee.std_logic_1164.all;
entity DCF is
port(clk,d:in std_logic;
reset:in std_logic;
q,qb:out std_logic);
end Dcf;
architecture rtl of Dcf is begin
process(clk) begin
if(clk 'event and clk='1')then if(reset='0')then q<='0'; qb<='1'; else q<=d;
qb<=not d; end if; end if; end process; end rtl;
8位计数器的设计
1、系统输入输出确定
4个输入clk,r,s,en ,1个输出co ,q 即可作为输入也可以是输出。
2、真值表
r 1 0 0 0 s d 1 0 0 clk d 上升沿 上升沿 d en d d 1 0 q0 0 0 计数加1
保持不变
q1 0 0 q2 0 0 q3 0 0 q4 0 0 q5 0 0 q6 0 0 q7
3、电路图
4、VHDL程序源代码
LIBRARY ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity jsq is
port(clk,r,s,en:in std_logic;
co:out std_logic;
q:buffer std_logic_vector(7 downto 0)); end jsq;
architecture rtl of jsq is
begin
process(clk,r)
begin
if(r='1')then
q<=(others=>'0');
elsif(clk'event and clk='1')then
if(s='1')then
q<=(others=>'0');
elsif(en='1')then
q<=q+1;
else
q<=q;
end if;
end if;
end process;
co<='1' when q="111111111"and en='1'
else '0';
end rtl;
三、测试及分析
D触发器仿真波形
8位计数器仿真波形
3.实验分析:D触发器和8位计数器的仿真波形图中波形与真值表一致实验结果证明:D触发器和8位计数器的设计真实的实验结果与理论结果相同。
四、总结