数字逻辑实验之利用D触发器,设计并实现三位扭环计数器

实验要求】:

采用Moore(摩尔型)电路,利用D触发器,设计并实现三位扭环计数器并用Verilog编程语言写出其代码。

实验目的】 

  1. 掌握时序逻辑电路的设计方法;
  2. 熟悉Vivado2014集成开发环境和;
  3. 实现如下图所示的三位扭环计数器。

 

实验环境

  1. FPGA虚拟仿真平台。
  2. Vivado2014 集成开发环境。
  3. Verilog编程语言。

实验原理包括:功能描述,真值表,逻辑方程,电路图,Verilog代码实现(硬件映射代码),实验结果或者仿真结果

功能描述:扭环计数器(Twisted Ring Counter),也称作反向反馈移位寄存器,是一种特殊的移位寄存器。在三位扭环计数器中,输出不仅从最后一个触发器反馈到第一个,而且是反向反馈。因此,在三位的情况下,它会产生一个3位长度的重复序列。

真值表:

现态

激励函数

次态

Y2(n)Y1(n)Y0(n)

D2

D1

D0

Y2(n+1)Y1(n+1)Y0(n+1)

0

0

0

0

0

1

0

0

1

0

0

1

0

1

1

0

1

1

0

1

0

1

0

0

1

0

0

0

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

1

0

1

0

1

0

0

1

0

1

1

0

1

0

0

1

0

0

1

1

1

1

1

0

1

1

0

电路图:

代码原理以及实现:

//三位扭环计数器Verilog编程代码

module D(

input clk,

input reset,

input d,

output reg q

);

always @(posedge clk or posedge reset)

begin

if(reset) q<=0;

else q<=d;

end

endmodule

module circle_3(

input clk,

input rst,

output [2:0] q

);

wire d2,d1,d0;

assign d0=~q[2]&&∼(q[1]&&∼q[0]);

assign d1=q[0];

assign d2=q[1];

D dt2(clk, rst,d2,q[2]);

D dt1(clk, rst,d1,q[1]);

D dt0(clk, rst,d0,q[0]);

 endmodule

仿真结果(烧写结果):

 

点赞关注 不然我会伤心的呀 

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要了解一些基础知识: - D触发器:一种电子元件,可以将输入数据存储在内部并在时钟信号到达时输出。 - 与门:一种逻辑门电路,只有所有输入都是1时,输出才是1。 - 自启动:指计数器在上电后能够自动从指定的初始值开始进行计数。 四位扭环计数器可以由4个D触发器和多个与门组成。根据计数器的特性,其中一个D触发器的输出要作为下一个D触发器的时钟输入,以此类推,形成一个环状结构。同时,每个D触发器的数据输入需要根据前面的D触发器的输出和与门的输出计算得出。具体实现步骤如下: 1. 设计4个D触发器,分别命名为A、B、C、D。 2. 设计一个初始值为0000的计数器,即四个D触发器的初始状态均为0。 3. 将A的输出接入B的时钟输入,B的输出接入C的时钟输入,C的输出接入D的时钟输入,D的输出接入A的时钟输入,形成一个扭环形结构。 4. 为了实现自启动,需要在A的数据输入上接一个与门,将B、C、D三个D触发器的输出作为输入,并将与门的输出接入A的数据输入。这样,当计数器上电时,与门的输出会被强制为0,从而将A的初始值设为0000。 5. 对于B、C、D三个D触发器,它们的数据输入分别需要接一个与门,将前一个D触发器的输出和当前计数器的状态作为输入,并将与门的输出接入该D触发器的数据输入。 6. 最后,为了实现四位计数,需要在D的输出上接一个与门,将ABC三个D触发器的输出作为输入,并将与门的输出接入D的数据输入。 以上就是使用D触发器和与门电路设计四位扭环计数器,并能自启动的具体步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值