异步电路和同步时序电路区别分析

同步电路的时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。同步设计中最长的组合逻辑延迟,即关键路径(Critical Path)将影响整个系统的运行速度。

异步电路没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只在电路处于稳定状态时才发生变化。

异步电路:

电路核心逻辑有用组合电路实现

异步时序电路的最大缺点是容易产生毛刺

不利于器件移植

不利于静态时序分析(STA)、验证设计时序性能

同步时序电路:

电路核心逻辑是用各种触发器实现

电路主要信号、输出信号等都是在某个时钟沿驱动触发器产生的

同步时序电路可以很好的避免毛刺

利于器件移植

利于静态时序分析(STA)、验证设计时序性能。

同步设计中,稳定可靠的数据采样必须遵从以下两个基本原则:

1)在有效时钟沿到达前,数据输入至少已经稳定了采样寄存器的Setup时间之久,这条原则简称满足Setup时间原则;

2)在有效时钟沿到达后,数据输入至少还将稳定保持采样寄存器的Hold时钟之旧,这条原则简称满足Hold时间原则。

用verilog描述时序电路

相关知识

1.所有的时序逻辑电路都必须包含存储电路,因而记忆特性时时序逻辑电路的基本特征。

2.存储电路时通过各种存储单元来实现的,而存储单元按照触发方式可以分为锁存器和触发器。以电平触发方式触发的为锁存器,以边沿触发方式触发的为触发器。

3.在设计过程中,设计人员可以选择使用锁存器和触发器,但一般情况应尽量使用触发器,特别是在使用FPGA器件时。

4.触发器在使用时要满足两个重要的参数:建立时间(Setup time)和保持时间。

描述时序电路

1.在设计时一般将组合逻辑电路和存储电路分开描述,尽量不要写到一个always块中。

2.描述存储电路时,存储单元可以通过寄存器型变量来建模,但只能使用过程赋值(即always赋值)。对于电平触发的存储单元,应使用阻塞赋值(=);对于边沿触发方式的存储单元,应使用非阻塞赋值(<=)。

3.若将组合逻辑和存储电路写到同一个always块时,应该使用非阻塞赋值。