概述
Verilog时序逻辑硬件建模设计(五)异步计数器&总结
-Asynchronous Counter Design
没有任何寄存器逻辑,RTL设计是不完整的。RTL是寄存器传输级或逻辑,用于描述依赖于当前输入和过去输出的数字逻辑。
在异步计数器中,时钟信号不由公共时钟源驱动。如果LSB触发器的输出作为后续触发器的输入,则设计是异步的。异步设计的主要问题是由于级联,触发器的累积时钟到q延迟。由于存在小故障或尖峰问题,ASIC/FPGA设计中不建议使用异步计数器,甚至此类设计的时序分析也非常复杂。
所以接下来只介绍一种计数器
波纹计数器Ripple Counters
纹波计数器是一个异步计数器,如图5.33所示。如逻辑图所示,所有触发器均为正边缘触发,LSB寄存器从主时钟源接收时钟。LSB触发器的输出作为下一级的时钟输入。
图5.33三位纹波计数器逻辑图四位纹波递增计数器的Verilog RTL如例5.18所示。综合逻辑如图5.34所示。
示例5.18四位纹波递增计数器的Verilog RTL 图5.34四位纹波递增计数器的综合逻辑内存模块设计
在大多数ASIC/FPGA设计和基于SoC的设计中,存储器用于存储二进制数据。存储器可以是ROM、RAM、单端口或双端口类型。本节的目的是描述基本的单端口读写存储器。时序如图5.35所示。
如时序所示,读写操作由“rd_wr”控制,如果“cs”为高电平,则在时钟信号“clk”的正边缘对数据进行采样。地址输入由总线“address”描述。
单端口读写存储器的Verilog RTL如例5.19所示。
图5.35存储器的时序 示例5.19读写存储器的Verilog RTL时序逻辑设计简单总结
下面是总结时序逻辑设计的要点。
锁存器对电平敏感,在设计中不推荐使用。
触发器是边缘触发的,建议在设计中使用。
触发器使用程序块“‘always”进行描述,并由“posedge clk”或“negedge clk”触发。
二进制计数器可以使用同步设计概念或异步设计概念进行设计。
格雷码计数器可以通过使用二进制计数器和附加组合逻辑来设计。
设计中推荐使用同步计数器,因为STA分析很容易,而且不容易出现故障。
异步计数器容易出现小故障或尖峰,因此不建议在ASIC/FPGA设计中使用。
使用移位寄存器可以设计特殊计数器,如ring和Johnson。
可通过使用Verilog RTL执行读写操作来描述存储器。
数字硬件建模综述
数字硬件建模-从另一方面理解Verilog(一)
数字硬件建模-重新从另一方面理解Verilog(二)
组合逻辑硬件建模设计(一)逻辑门
组合逻辑硬件建模设计(二)算术电路
Verilog/SV代码检查器-Lint 建模规则检查器与 Verilator
Verilog组合逻辑设计指南
Verilog时序逻辑硬件建模设计(一)锁存器D-latch和触发器Flip-Flop
Verilog时序逻辑硬件建模设计(二)同步和异步复位
Verilog时序逻辑硬件建模设计(三)同步计数器
最后
以上就是天真斑马为你收集整理的Verilog时序逻辑硬件建模设计(五)异步计数器&总结Verilog时序逻辑硬件建模设计(五)异步计数器&总结-Asynchronous Counter Design时序逻辑设计简单总结的全部内容,希望文章能够帮你解决Verilog时序逻辑硬件建模设计(五)异步计数器&总结Verilog时序逻辑硬件建模设计(五)异步计数器&总结-Asynchronous Counter Design时序逻辑设计简单总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复