dc综合过程中non-unate clock即非单调时钟及set_clock_sense

non-unate clock即非单调时钟_renzao_ai的博客-CSDN博客理论上来说,时钟电路只能经过寄存器时钟端、buffer(正相关、inverter(负相关),clock 经过or ,xor等除了与门和非门外的其他逻辑,就会被叫做non_unate。(1)一种可能是,作为时钟使用时,并不会走导致non-unate的路径。这时候,可以设置clock source 到 non-unate,数据路径的false path;或者对此warning不处理。(2)第二种可...https://blog.csdn.net/zt5169/article/details/89355933

了解了 unate clock 这种warning如果不处理,那么timing检查时,时钟之间的相位可能是不正确的,比较悲观的是工具可能要进行半周期检查。它会认为上升沿和下降沿同时驱动时序器件,从而导致strict timing check

当然如果工具能优化下来 就不用处理。如果不行:

可以分析之后设置set_clock_sense或set_clock_groups -physically_exclusive

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DC综合,set_ideal_network函数用于指定理想时钟、复位和其他信号。其用法如下: ``` set_ideal_network ( ideal_clock => clock_signal_name, ideal_reset => reset_signal_name, ... // 其他信号 ); ``` 其,ideal_clock和ideal_reset参数是必需的,其他信号是可选的,可以根据设计需要进行设置。这些参数分别表示理想时钟和复位信号的信号名。 在使用set_ideal_network函数之前,需要先将时钟和复位信号定义为全局信号,例如: ``` library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity my_design is port ( clock : in std_logic; reset : in std_logic; ... ); end my_design; architecture Behavioral of my_design is signal internal_clk : std_logic; signal internal_reset : std_logic; ... begin ... end Behavioral; ``` 上述代码时钟和复位信号被定义为输入端口,而内部信号internal_clk和internal_reset被定义为全局信号。 然后,可以在DC综合的脚本使用set_ideal_network函数指定时钟和复位信号,例如: ``` set_ideal_network ( ideal_clock => internal_clk, ideal_reset => internal_reset ); ``` 这里,ideal_clock和ideal_reset参数分别使用了定义的内部信号internal_clk和internal_reset作为理想时钟和复位信号。此后,在设计就可以使用这些内部信号进行时钟和复位同步等操作。 需要注意的是,set_ideal_network函数只是一种设置时钟、复位和其他信号的方式,具体的用法和实现可能会因设计的不同而有所变化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值