两路时钟信号MUX的一个问题
时间:10-02
整理:3721RD
点击:
内部有一部分寄存器和一个SRAM的时钟是从两个时钟信号MUX过来的,我查了一下ICC的手册,这种时钟结构在CTS的时候需要首先对MUX后的时钟进行CTS,然后我就只在这个mux的输出端定义了时钟,但是CTS却始终无法成功,没有buffer插入到时钟树上,ICC总说can't insert buffer。我想请问一下,通常出现这种情况都有哪些原因呢?谢谢了。
以下是今天的新进展:
单独做了一个小模块进行综合和版图,只有一个时钟,不存在任何的门控,直接驱动几十个寄存器和这个SRAM,仍然不能插入buffer。用命令查看确认ICC把这个SRAM的CLK端当做了stop pin,但是就是不能正常CTS,无比纠结。
今天还确认了一个东西,MUX后的时钟并不需要先进行CTS操作,可以和主时钟同时进行。
是不是你定义MUX的输出端经过综合以后,被替换成了别的器件,如果是这样的话,原来的时钟的root就找不到了。
这时候,你需要在时钟树文件里更改成能找到的root
为什么两个时钟过mux,要先对mux后进行cts?
有详细的log吗 是不是工具认为mux后面的path已经被synthesis了 或者有dont_touch之类的attribute?