首页 理论教育多时钟同步设计的约束问题优化

多时钟同步设计的约束问题优化

【摘要】:如图6.27所示,图中有多个时钟,但这些时钟都是来自同一个时钟源。分别由3GHz的时钟通过9分频、6分频、4分频和3分频得到了CLKA、CLKC、CLKD和CLKE。图6.27 多时钟同步设计CLKC在被综合的模块中有对应的端口,则其定义就与单时钟一样,即:由于CLKA、CLKD和CLKE在要综合的模块中没有输入端口,因此需要使用虚拟时钟。图6.30 多时钟同步输出约束DC会找出波形上升沿间隔的多种情况,然后按照最严格的情况进行综合约束。

如图6.27所示,图中有多个时钟,但这些时钟都是来自同一个时钟源。分别由3GHz的时钟通过9分频、6分频、4分频和3分频得到了CLKA、CLKC、CLKD和CLKE。但在被综合的模块中只有CLKC时钟驱动模块内的寄存器,其他的时钟都没有对应的端口。因此,它们不驱动被综合模块的任何寄存器,它们主要用于为输入/输出端口做约束,可能会出现一个端口有多个约束的情况。那么如何设置多时钟同步约束呢?

978-7-111-55094-5-Chapter06-87.jpg

图6.27 多时钟同步设计

CLKC在被综合的模块中有对应的端口,则其定义就与单时钟一样,即:

978-7-111-55094-5-Chapter06-88.jpg

由于CLKA、CLKD和CLKE在要综合的模块中没有输入端口,因此需要使用虚拟时钟。虚拟时钟不驱动任何寄存器,它主要用于说明相对于时钟的I/O端口延迟。DC将根据这些约束,决定设计中最严格的约束,如图6.28所示。

978-7-111-55094-5-Chapter06-89.jpg

978-7-111-55094-5-Chapter06-90.jpg

图6.28 多时钟同步输入约束

进行上述约束后,DC会找出波形上升沿间隔的多种情况,然后按照最严格的情况进行综合约束。如下图6.29所示,逻辑N必须满足:tN<2-0.55-tsetuptN<1-0.55-tsetup两个不等式中最严格的情况,即:tN<1-0.55-tsetup

978-7-111-55094-5-Chapter06-91.jpg

图6.29 多时钟同步时钟

对于输出电路,我们用同样的方法定义虚拟时钟和施加约束。如图6.30所示,其中-adddelay选项的意思是输出端口OUT1有两个约束。如果不加该选项,第二个set_output_delay将覆盖第一个set_output_delay命令。

978-7-111-55094-5-Chapter06-92.jpg

图6.30 多时钟同步输出约束

978-7-111-55094-5-Chapter06-93.jpg

978-7-111-55094-5-Chapter06-94.jpg

DC会找出波形上升沿间隔的多种情况,然后按照最严格的情况进行综合约束。如图6.31所示,逻辑S必须满足:tS<1-0.52和tS<0.67-0.15这两个不等式中最严格的情况,即:tS<0.48。

978-7-111-55094-5-Chapter06-95.jpg

图6.31 多时钟同步时钟