verilogHDL设计中的同步时序逻辑

引用自夏宇闻教授

1、同步时序逻辑:

  是指表示状态的寄存器组的值只能在唯一确定的触发条件发生改变。

只能由时钟的正跳变沿或者负跳变沿触发的状态机就是一例,[email protected](posedge clk)。

1.1同步时序逻辑的优点:

  同步时序逻辑比异步时序逻辑稳定简单好多,由此我们有一个规定:用verilog来设计可综合的状态机必须使用同步时序逻辑。

2、异步时序逻辑:

  是指触发条件有多个控制因素组成,任何一个因素的跳变都可以引起触发。寄存器组的时钟输入端不是都连接在同一个时钟信号上。

例如用一个触发器的输出连接到另外一个触发器的时钟端去触发的就是异步时序逻辑。

2.1异步时序逻辑的缺点:

  1、因为异步时序逻辑的触发条件很随意,任何时刻都有可能发生

  2、许多综合器不支持异步时序逻辑的综合

  3、异步时序很难控制由组合逻辑和延迟产生的冒险和竞争。

3、确保时钟同步的方法:

  1)全局网络布线,如图

  2)采用平衡树,并在每一级假如缓冲器,如图

  3)后仿真时,降低时钟频率



made by qidaiYMM , your comment is appreciated.

email:[email protected]

时间: 2024-08-13 01:30:15

verilogHDL设计中的同步时序逻辑的相关文章

FPGA异步时钟设计中的同步策略

1 引言    基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统.但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免.如果对跨时钟域带来的亚稳态.采样丢失.潜在逻辑错误等等一系列问题处理不当,将导致系统无法运行.本文总结出了几种同步策略来解决跨时钟域问题. 2 异步设计中的亚稳态    触发器是FPGA设计中最常用的基本器件.触发器工作过程中存在数据的建立(setup)和保持(hold)时间.对于使用上升沿触发的触

同步时序设计时应值得注意的事项

同步时序设计时一下事项应值得注意: 异步时钟域的数据转换. 组合逻辑电路的设计方法. 同步时序电路的时钟设计. 同步时序电路的延迟.同步时序电路的延迟最常用的设计方法是用分频或者倍频的时钟或者同步计数器完成所需的延迟,对比较大的和特殊定时要求的延时,一般用高速时钟产生一个计数器,根据计数产生延迟;对于比较小的延迟,可以用D触发器打一下,这样不仅可以使信号延时了一个时钟周期,而且完成了信号与时钟的初次同步.在输入信号采样和增加时序约束余量中使用. 另外,还有用行为级方法描述延迟,如"#5 a<

FPGA数字逻辑设计中一些重要的基本概念

一.关于建立时间与保持时间 建立时间(Tsu:Setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,建立时间不够,数据将不能在这个上升沿被打入触发器:保持时间(Th:Hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器.首先:建立时间和保持时间都是器件要求的特性,其中建立时间是器件输入端在时钟信号有效沿到来前,要求输入信号稳定不变的时间,保持时间是器件输入端要求输入信号在时钟信号有效沿到来后保持稳定不变

v3学院带你学习-时序逻辑中时钟上升沿对齐数据变化时的处理技巧的FPGA实现

此文章为原创出自 V3学院 www.v3edu.org 时序逻辑中,数据都是在时钟的上升沿或者下降沿时刻进行采样的,以上升沿为例,时钟采数据时应该采的是时钟上升沿左边变量的值,运算的结果体现在时钟上升沿的右边,但是,在用modelsim等一些仿真工具进行仿真的时候,如果时钟上升沿刚好和数据变化对齐,就会出现与上述理论不一致的原因,如下仿真波形图: 上图中的例子是用时钟上升沿控制变量a和b按位或运算并且把结果赋值给c的小实验,根据前面说的理论,黄线位置处,时钟上升沿采的变量a和b的值都为0,进行或

FPGA 设计中的流量,时滞,时序

FPGA 设计中的流量,时滞,时序 流量:每个时钟周期能够传输的数据位. 时滞:数据从输入到输出需要经历的时钟周期: 时序:两个元件之间的最大延迟,他决定系统的最高时钟速度. 1 采用流水线可以提高 流量: 例如计算X^3,迭代结构 流水线: 此时 流量=8/1 时滞=3 时序=乘法器延迟 2 如果要求低时滞则可以去掉寄存器 3 降低时序,提高时钟频率的方法 FPGA 设计中的流量,时滞,时序

传统同步设计中的功耗

在传统设计风格中,系统时钟控制每个寄存器时钟端,功耗由3部分组成 1.每个时钟沿变化的组合逻辑所产生的功耗(触发器驱动这些组合逻辑): 2.触发器本身产生的功耗(即使触发器的输入和内部状态未变化,该功耗仍然存在): 3.设计中时钟树产生的功耗. 时钟树几乎消耗了整个芯片的功耗的50%,因此最好始终在根部产生或关闭时钟,以使整个时钟树都关闭: 解决方案 用门控时钟: 1.不含锁存器的门控时钟,只简单的使用单个门(与门,或门) 此要求使能信号宽度覆盖时钟高电平时时间, 不然会产生过早截断时钟 或者产

数字设计中的时钟与约束

最近做完了synopsys的DC workshop,涉及到时钟的建模/约束,这里就来聊聊数字中的时钟(与建模)吧.主要内容如下所示: ·同步电路与异步电路: ·时钟/时钟树的属性:偏移(skew)与时钟的抖动(jitter).延时(latency).转换(transition)时间: ·内部时钟: ·多路复用时钟: ·门控时钟: ·行波时钟: ·双沿时钟: ·Design Compiler中的时钟约束. 1.同步电路与异步电路 首先来谈谈同步电路与异步电路.那么首先就要知道什么是同步电路.什么是

Verilog设计中的锁存器

问题: 什么是锁存器? 什么时候出现锁存器? 锁存器对电路有什么影响? 如何在FPGA设计中避免锁存器? 在FPGA设计中应该避免锁存器.实际上,锁存器与D触发器实现的逻辑功能基本相同,都有暂存数据的功能.但如果两者都由与非门搭建的话,锁存器耗用的逻辑资源要比D触发器少(D触发器需要12个MOS管,锁存器只需6个MOS管),锁存器的集成度更高.所以在的ASIC设计中会用到锁存器.但锁存器对毛刺敏感,无异步复位端,不能让芯片在上电时处在确定的状态:另外,锁存器会使静态时序分析变得很复杂,不利于设计

影响FPGA设计中时钟因素的探讨【转】

Crazy Bingo Learn to walk first before you want to run- 影响FPGA设计中时钟因素的探讨 http://www.fpga.com.cn/advance/skill/speed.htm http://www.fpga.com.cn/advance/skill/design_skill3.htm 时钟是整个电路最重要.最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错