有时,前端在一些关键路径上的设计,可能会出现两个时钟周期驱动和采样一拍数据,来放松关键路径上的时序,这样的设计在STA约束过程中,如果不放松,会导致Timing违例过大,无法收敛,此时的Timing由前端逻辑实现保证,STA约束即可释放,以达到STA出口。
双Cycle驱动采样典型电路
双Cycle的驱动和采样电路,常见的为Lunch Reg和Capture Reg在D端会带有使能所存逻辑,如图3.2.1.1所示。
图3.2.1.1 典型双cycle采样电路结构
Lunch寄存器在使能信号EN为1时,时钟有效沿到来后,将数据采样到Q,当EN信号为0时,Q端锁存。Capture寄存器同理,在EN信号为1时,采样Lunch寄存器驱动的信号,EN为0时,锁存Q端信号。如果要做到双周期采样,EN信号的翻转应为时钟周期的二分频。该电路的时序如图3.2.1.2所示。
图3.2.1.2 双cycle电路设计时序图
MultiCycle的设置为对部分时钟有效沿不做setup或者hold检查,帮助清理Timing Violation,针对上述两拍出一个数据的设计,STA设置如下:
set_multicycle_path 2 -setup -from lunch_reg.clk to capture_reg.d
此时设置从lunch reg的时钟端到capture reg的数据D端为multicycle,放松setup检查一拍,如图3.2.1.3所示。
</