脉动进位计数器

本文通过Verilog编程介绍了脉动进位计数器的设计,包括数据流建模和行为建模的方式。首先,展示了如何设计带复位端的下降沿D触发器,然后利用这些触发器构建了T触发器和脉动计数器。同时,还提到了使用UDP(通用数据包)编写电平敏感和边沿敏感的D触发器,以及脉动计数器的实现。最后,给出了仿真图形。
摘要由CSDN通过智能技术生成

1,今天学习的是采用数据流建模的方式编程

(数据流建模,采用连续赋值语句的方式,根据数据流在寄存器之间的流动及处理过程对电路进行描述。其中,连续赋值语句有些类似于门级建模)

(1)采用数据流一个带复位端的下降沿D触发器的设计:

module edge_off(q,qbar,d,clk,clear);
  input d,clk,clear;
  output q,qbar;
 
  wire s,sbar,r,rbar,cbar;
 

//(连续赋值语句,有点类似于门结构)
  assign cbar=~clear;

// and (nsbar,rbar,s); not (sbar,nsbar);

//上面这两个门器件语句 等同于下面这个连续赋值语句; 由此可以类推将数据流建模转换成门级建模
  assign sbar=~(rbar&s);
  assign s=~(sbar&cbar&~clk);
  assign r=~(rbar&s&~clk);
  assign rbar=~(r&cbar&d);
         
  assign q=~(s&qbar);
  assign qbar=~(cbar&q&r);
         
endmodule


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值