微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求教DC综合时设置input_delay与output_delay问题!

求教DC综合时设置input_delay与output_delay问题!

时间:10-02 整理:3721RD 点击:
如题,我的理解是设置模块的input_delay即是当clk信号到来后延迟要延迟input_delay个时间单位才能到达模块的输入端,在做时序分析的时候,这个路径的延迟要加上这个input_delay,同理output_delay即是该模块的输出时序要留出output_delay个时间单位来留给下游模块的输入组合逻辑,时序分析的时候,路径延迟也要加上这个delay值,那么如果一个设计的输入和输出都由reg来锁定,那么是不是就不需要设置input_delay和output_delay了?(新人自学中,望有经验的人给予解答)

input_delay要设,因为输入数据不会早于时钟沿前一个周期,这个约束要告诉工具。
除非前级模块都是寄存器输出,后级模块一进来都先用寄存器直接采,那就不用设。但这种设计太浪费延时了,一般不会出现。

  问题1: 什么叫输入数据不会早于时钟沿前一个周期?如果是reg输入,那么input_delay怎么设置?  问题2:设计不是一般都是输入端有组合逻辑,输出都是reg输出,那么这样的话我觉得input_delay就是0啊,output_delay只要不大于clock的时钟周期,多少都不影响设计啊。

   就是设成input delay 0。如果你不设,那它有可能帮你自动设成0,也有可能完全不计算input路径,看工具和变量设置了。



   不计算和设置成0不是一样的效果啊?

比如时钟周期是10ns,设0的话输入寄存器前的逻辑延时就最多10ns,否则Slack为负。不设的话,这里延时多大工具不管。



   谢谢,明白啦,总结一下就是不管什么情况,input_delay和output_delay都是要设置的喽,后级直接reg输入的时候,前级的output_delay设置为0,前级的为reg输出时,后级的input_delay设置为0.

input  delay ,约束input port 到register 路径的延时,output delay 约束register 到output port path 的延时

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

网站地图

Top