微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 这个问题难倒了很多人,关于时序约束

这个问题难倒了很多人,关于时序约束

时间:10-02 整理:3721RD 点击:
端口信号CLK信号送入电路内部后经过一个反相器反相产生了~CLK。因为电路的第一级寄存器是以~CLK上升沿采样的,因此时序约束时要对~CLK和输入端口的数据进行约束。请问,如何create这个~CLK信号?分频产生的时钟都很easy。但就这个反时钟难倒了无数人。
PS:有的人说用用寄存器产生~CLK(因为寄存器的输出信号可以被DC找到并约束),但我觉得有点杀鸡用宰牛刀的感觉。

感觉你弄得有点复杂了,你直接在SDC中创建一个时钟, 然后再用set_input_delay  -clock -fall 来约束端口数据和时钟的关系

不能直接在反相器的输出端create gen clock吗?~clk的source 就是clk。

直接创建CLK 时钟,
组合逻辑没有关系

最近好像满热门话题的?
FPGA 内部有专用的 clock 金属线,你强制定义后,软就按照你的设定跑线.
至于外部接脚 FPGA 也有专用 clock pin,除非你选择非 clock pin.
内部如有规划reg除频产生的 clock,使用程序约束方式.
PLL 或是 DCM DLL 编辑软体自己有定义最好的约束策略,除非那款软件是白痴.
其他约束使用程式码约束,因为这是最安全也是最可靠的约束!

我觉得这个是,组合逻辑直接就穿过了

为什么我听不懂大家说什么呢?
求分享时序约束的资料!谢谢

qiujie

请LZ把应用情况说清楚的,是ASIC还是FPGA?最好是能上电路图。

如果你的时钟经过一个反相器接到后面的寄存器的话,这个反相器将会被优化掉,综合器所综合出来的电路是寄存器下降沿触发。
所以你无须关注这个反相器,已经不存在了。只要按平常一样约束clk就可以。

如果是DC综合。这个不影响的。
直接在input IO create clock 然后定义clock 和data的关系(set_input_delay)就可以了。至于你说的在clock 路径上的inverter,DC会自己察觉的。不信的话,你可以report_timing来查查看。
个人认为:即使是FPGA(xilinx),这个inverter也是工具自动察觉的。不需要特殊处理。

LS有道理!~

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

网站地图

Top