脉动进位计数器Verilog表述

1.D触发器

带清零端的负跳变沿D触发器

                                带清零端的负跳变沿D触发器

Verilog表述

//边沿触发的D触发器
module edge_dff(q, qbar, d, clk, clear);

output q, qbar;
input d, clk, clear;

//内部变量
wire s, sbar, r, rbar, cbar;

//生成clear的反向信号
assign cbar = ~clear;

//输入锁存;锁存器是电平敏感的、边沿触发的寄存器由三个SR锁存器组成
assign sbar = ~(rbar & s),
	   s = ~(sbar & cbar & ~clk),
	   r = ~(rbar & ~clk & s),
	   rbar = ~(r & cbar & d);
//输出锁存
assign q = ~(s & qbar),
	   qbar = ~(q & r & cbar);
endmodule

2.T触发器

在这里插入图片描述Verilog表述

//边沿触发的T触发器。每个时钟周期翻转一次
module T_FF(q, clk, clear);

output q;
input clk, clear;

//调用(实例引用)边沿触发的D触发器
//输出q取反后反馈到输入
//注意D触发器的qbar端口不需要,让它悬空
edge_dff ff1(q, , ~q, clk, clear);

endmodule

3.四位脉动计数器

在这里插入图片描述Verilog表述

module counter(Q , clock, clear);

output [3:0] Q;
input clock, clear;

T_FF tff0(Q[0], clock, clear);
T_FF tff1(Q[1], Q[0], clear);
T_FF tff2(Q[2], Q[1], clear);
T_FF tff3(Q[3], Q[2], claer);

endmodule
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值