异步电路主要是组合逻辑电路,用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,但它同时也用在时序电路中,此时它没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只在电路处于稳定状态时才发生变化。也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争冒险。电路的稳定需要有可靠的建立时间和持时间,待下面介绍。
同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。比如D触发器,当上升延到来时,寄存器把D端的电平传到Q输出端。
下面介绍一下建立保持时间的问题。建立时间(tsu)是指在触发器的时钟上升沿到来以前,数据稳定不变的时间。如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(th)是指在触发器的时钟上升沿到来以后,数据稳定不变的时间。如果保持时间不够,数据同样不能被打入触发器。数据稳定传输必须满足建立时间和保持时间的要求,否则电路就会出现逻辑错误。
在同步电路设计中一般采用D触发器,异步电路设计中一般采用Latch。
另:
9.异步电路和同步时序电路的区别
异步电路:
电路核心逻辑有用组合电路实现
异步时序电路的最大缺点是容易产生毛刺。
不利于器件移植
不利于静态时序分析(STA)、验证设计时序性能。
同步时序电路:
电路核心逻辑是用各种触发器实现
电路主要信号、输出信号等都是在某个时钟沿驱动触发器产生的
同步时序电路可以很好的避免毛刺
利于器件移植
利于静态时序分析(STA)、验证设计时序性能。
本文来自:我爱研发网(52RD.com) - R&D大本营
详细出处:
http://www.52rd.com/Blog/Detail_RD.Blog_imjacob_7403.html