微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 求助下图分频电路定义方法

求助下图分频电路定义方法

时间:10-02 整理:3721RD 点击:




上图的电路中,如何定义分频时钟clk32和clk8?
在代码中,流向其他寄存器CK端的时钟为clk32和clk8_inv.

先说说我的看法,
clk32的定义没有任何问题,divide_by 32,定一点在clk32_reg/Q就可以了;
clk8定义比较费解:
1.如果将clk8定义在clk8_reg/Q端,那么工具在分析时序的时候,会自动在INV之后设置一个clk8_div',并且分析clk8_div和clk8_div'之间的时序关系,因此会错误的检查到一个建立时间违例。
2.如果将clk8定义在INV之后,那么clk32和clk8之间的时序分析就会因为少了一个INV的延时,导致跨域信号之间的时序分析与真实情况存在偏差。

是不是这个?
set_false_path -through [get_pins "clk32_reg/*" -filter "direction == in && is_data_pin == true"] -to [get_clocks clk8_div']

谢谢解答,你的意思是将clk8_div和clk8_div'之间定义成false path么?
虽然这样的方法可以行,但是我的本意是希望能够只通过定义时钟的方式处理这样的问题
因为clk8_div'这个时钟其实不存在的,即是工具自己加进去的一个,设计人员不太容易意识到会有这样的问题,我希望能够找到通用的解决办法,比如稍微的改进verilog代码,或者定义时钟时加上什么因素等。

用create_clock创建 clk8_div,用create_generated_clock 创建 clk8_div',不行么?

那工具就会分析clk8和clk8'之间的关系。但是clk8是完全没必要的,而且两者的时序根本不用查吧?

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

网站地图

Top