同步设计技术
在同步设计中,由单个主时钟和单个主置位/复位信号驱动设计中所有的时序器件。
设计中易于忽略的组合延迟
在进行RTL代码编写的过程中,往往只注重逻辑的verilog实现而忽略了其映射到实际的硬件实现。为了写出结构良好的和可综合的RTL代码,我们也应该注意到代码当中会潜在的涉及组合逻辑延迟。
1. 避免使用行波计数器
用触发器的输出驱动其他触发器的时钟输入端时,由于第一个触发器时钟到Q的延迟而使第二个触发器的时钟输入产生偏移。当连接2个以上的触发器时,会使延迟累加。(实际上对于简单的四分频电路,我们便采用了这种结构,由两个二分频电路级联而成。更加好的办法是计数器的方式或者序列发生器的方式)
2. 门控时钟
时钟线上的门控单元会导致时钟偏移,并会引入尖峰脉冲作用于触发器以产生不必要的跳转。对于门控时钟的硬件实现有专门的电路架构在后面会介绍。简单的在时钟线上门控会产生下图所示的尖峰脉冲和时钟偏移。
3. 用触发器驱动另一个触发器的异步复位端
图2.4中第二级触发器的输出不仅仅只受时钟边沿的影响。实际上第二级触发器时钟和复位之间存在潜在竞争 (竞争&#