微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > set_false_path在两个时钟电路中的使用

set_false_path在两个时钟电路中的使用

时间:10-02 整理:3721RD 点击:
我的一个programmable filter电路里有两个子模块 SPI和FILTER,分别各有一个时钟,一个时钟叫SCK用于SPI给参数COEF[19..0]赋值,赋值完以后enable信号SDE变为高电平,filter从COEF[19..0]中取出付好的值,开始正常工作,filter采样的时钟叫div。由于两个时钟SCK和div是两个asynchronous毫不相关的信号,其实一旦值赋好以后参数COEF[19..0]就不再变,SPI instance里的所有信号包括COEF[19..0], SCK, SDE对filter来说应该是静态的,不应该有timing constraint,而实际上eda会话很大的力气去优化,结果还是有violation,那么在sdc文件里应该怎么表示才能不让eda考虑这些呢,我是这样写的,没有报错,但是好像没有效果,slack依然很大
create_clock [get_pins IDCO/div] -name div -period 3 -waveform {0 1.5}
create_clock [get_ports RESNODE] -name reset_ideal -period 3 -waveform {0 1.5}
create_clock [get_ports SDE] -name en_node_ideal -period 1000 -waveform {0 500}
create_clock [get_ports SCK] -name sck_ideal -period 100 -waveform {0 50}
set_false_path -from [get_clock div
] -to [get_clock sck_ideal]
set_false_path -from [get_clock sck_ideal] -to [get_clock div ]
set_false_path -from [get_pins ISPI/COEF] -to [get_nets IFILTER/*]

大家有什么想法吗?

有沒有TIMING REPORT可以丟上來看看

看你描述情況應該是想把 div clock 與其他 clock domain 有關的paths 都 false path 不去看.
那你可以把 set_false_path -from [get_clock sck_ideal] -to [get_clock div ] 換成如下:
set_clock_groups -asynchronous -group {div} -group {reset_ideal en_node_ideal sck_ideal}
試試看.不保證對.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top