同步设计,顾名思义,就是设计要“步调保持一致”的处理数据,在数字电路的设计当中,这个所谓的“步调一致”就是指同一时钟的上升沿或者下降沿,即就是说,所有的电路在同一时钟沿的触发下同步的处理数据。
然后,在大多数系统的设计当中,往往存在于多个时钟域的情况,这个时候同步设计不再单单的指整个设计同一时钟,而是一个时钟域里保持同一时钟即可。
一、同步设计的优点
1、同步设计能有效避免毛刺的影响,使得设计更加可靠。
毛刺是逻辑设计的天敌,毛刺使得数据变得混乱,可能引起电路功能的误判断。当毛刺引入于时钟端或者异步复位端,就极有可能引起触发器的误翻转或者出现不正常的复位。但是毛刺是与生俱来的,也就是说毛刺是不可避免的,一般来讲凡是有组合逻辑的地方肯定就有毛刺。同步设计是避免毛刺的最简单有效的方法。
如下图,由于X1信号和x2信号到达与门的时延是不同的,导致与门输出Y产生了毛刺,由于设计是同步的。在下一级的时钟信号到来之前数据已经稳定,在经过下一级触发器的输出dout也是稳定的,所以同步设计可以有效的避免毛刺的产生。
2、同步设计可以减少环境对芯片的影响
由于芯片的实际工作环境比我们在测试的实验室环境恶劣的多,加之长时间运行,随着芯片的温度的升高,电压的不稳定,将会使得器件内部时延发送变化,如果不使用同步设计的话,对于时序要求比较苛刻的电路将无法正常工作。因为只有满足芯片的Static timing 的要求,才能保证芯片在预知的过程中工作。
3、 同步设计可借助与STA工具进行时序分析,有助于提高设计的可靠性。