微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 请教综合约束create_generated_clock问题

请教综合约束create_generated_clock问题

时间:10-02 整理:3721RD 点击:
设计中有一个源时钟clk1,以及2、4、8分频时钟clk_div2,clk_div4,clk_div8,而真正使用的时钟clk是2、4、8分频时钟选出来的,选择信号则是在clk_div8时钟域的。
请问,如何用create_generated_clock约束真正使用的时钟clk呢?
bow~

是否可以直接这样约束,
create_clock [get_ports clk1] -name clk1 -p 100
create_generated_clock [get_pins clk] -name clk -source [get_ports clk1] -divide_by 2 -master_clock clk1
但是这种约束无法体现4、8分频的时钟情况。
还是需要使用-add选项分别定义2、4、8分频的时钟,例如下面?
create_clock [get_ports clk1] -name clk1 -p 100
create_generated_clock [get_pins clk] -name clkdiv2 -source [get_ports clk1] -divide_by 2 -master_clock clk1 -add
create_generated_clock [get_pins clk] -name clkdiv4 -source [get_ports clk1] -divide_by 4 -master_clock clk1 -add
create_generated_clock [get_pins clk] -name clkdiv8 -source [get_ports clk1] -divide_by 8 -master_clock clk1 -add
可是这样约束,对于同一个source上命名不一样的三个时钟clkdiv2, clkdiv4, clkdiv8再如何处理呢?直接放到一个group里就可以吗?

定义源时钟clk1和分频时钟clk_div2就可以了

麻烦一点 写3个sdc,分别用2种分频检查下时序。

小编的做法是不是有一点风险呢? 如果他的3个分频时钟有不同的路径?

那是他要保证不会发生的,不然就是他的描述不完整

多谢小编指点。附一个图,说得清楚一些。源时钟是clk1,最终使用的时钟是clk和clk2.



你的意思是我需要约束好clk1,clk2,并将clk设为2分频就可以了是吗?
create_clock [get_ports clk1] -name clk1 -p 100
create_generated_clock [get_pins clk2] -name clk2 -source [get_ports clk1] -divide_by 8 -master_clock clk1
create_generated_clock [get_pins clk] -name clk -source [get_ports clk1] -divide_by 2 -master_clock clk1

差不多是这样,读入sdc后,用check_timing看看还有什么FF没有clock的,再加上去
如果有clock,path与设定的不符,在mux的sel端加set_case_analysis

好的,多谢小编!

没明白啊,clk为什么约束为2分频啊?


is not satisfiablezero source latency will be used 蛋碎了

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

网站地图

Top