请教ThroughPin的问题
请教一个关于ThroughPin的问题:举例说明,sdc中有6条create_generated_clock,相应的在产生ctstch时会生成相应的6条throughpin。
假设我一共有a、b、c、d、e五条时钟,生成的ctstch文件中,为何这五条时钟下都有相同的6条throughpin的内容?而且随便删掉其中一条时钟树下的6条throughpin,都无法进行时钟树分析,只有都保留,才可以正常进行时钟树分析。
我很疑惑的是:实际上我这6条throughpin,其中1条属于时钟a,另外5条属于时钟e,那么应该说在ctstch文件中直接把1条定义到时钟a下面,另外5条定义到时钟e下面即可,其他不相干的时钟树下都可以不用定义。但我按照我的理解改动了ctstch文件之后,就无法进行时钟树分析,会报错无法进行下去。这是为什么?
初学者,请高人耐心指点!多谢!
cadence CTS的特点,throughPin可以多写,不能缺少
多谢小编解答!
不过还有有点不明白:如果本来那些throughpin只属于其中两条树,生成的ctstch文件中每条树下都有,岂不是会在每条树下都定义了这些throughpin?如果我某一条树下,其实不希望这些throughpin作为throughpin,那该怎么处理和解决呢?
不同的root下,可以一个定义throughPin,另一个不是。
我的理解也是这样,但我这里生成的ctstch文件,会把与create_generated_clock相对应产生的throughPin定义到每个root下面,删掉其中一个root下面的throughPin,都会导致时钟树分析时报错,无法进行下去。所以我很困惑。不知道原因何在?也不知道如何解决!
请问陈大大,我用 encounter在ctstch中怎样定义throughpin?我直接在throughpin下一行写入一个i_top/i_rtl/U18/H02,然后再specifyClocktree这个ctstch文件,结果出现错误,说unrecognize 这个pin,这是什么原因?
encounter的UG裡面有例子
我看了例子“throughpin
+ df/mod000446/ck Y"
想问陈大大,前面的那个“+”必须有么?怎么知道这条时序路径被忽略了?如果同一时钟下有两条,
“throughpin
+ df/.......
+ f/.....” 这样写,可以么?
+ 必須要有
假設一條路徑 clk1 -> U1/C Y -> U2/B Y -> clk_gating
寫法是
+ top/U1/C Y
+ top/U2/B Y
這樣的寫法就是說through U1的C pin到Y 再through過U2的B pin到Y
要怎樣知道你有沒有成功忽略過去,就打開Clock內的Clock Tree Tracer
找出你下的那條clock root看看裡面有沒有經過你through的路徑
以上,是我剛剛測試的結果,如果有高手發現不是這樣做的話,麻煩請再給予教導
謝謝