门电D触发器与8位计数器的设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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位计数器的设计真实的实验结果与理论结果相同。

四、总结

相关文档
最新文档