综合时遇到门控时钟该如何处理?
set_generate_clock
1楼的问题太笼统,如果只是问基本概念,可以去看置顶的FAQ
2楼的说法不对
谢谢小编
我的意思是:在rtl中是输入两个时钟,假设为A和B,他们通过一些逻辑生成两个时钟C和D。C和D作为系统主时钟供给系统内部。
我在综合中对此时钟模块进行单独综合,就是想问下在对此时钟模块进行综合时应该如何来设置?
1)这个可以是ICG,也可能不是门控
2)如果ABCD是纯组合逻辑的关系,单独综合时就没有时钟的事了,如果有时序逻辑,你还得更加详细的说明,我才能给你建议。一次把你想问的东西描述清楚,大家都省时间
谢谢!
综合的工艺库为GSMC 180nm,.lib中没有ICG单元。
A、B两个时钟通过组合逻辑产生时钟C和D,C和D再输出给其他。
我看了小编FAQ里面的介绍,我用的脚本如下,请帮看看 :
set_clock_gating_style-sequential_cell latch:TLATX2 -positive_edge_logic {and2:AND2X1 inv:INVX2}
analyze -format verilog {}
elaborate
link
insert_clock_gating
uniquify
propagate_constraints -gate_clock
..............
语法正确。
是否能达到你希望的目标?不知道!
因为你还是没有告诉我ABCD的具体关系
clk_a和两个信号相与再反产生信号A;
clk_b取反再与一个信号取或产生信号B;
A和B相与再取反产生时钟C;
C再通过一个MAX产生时钟D。
逻辑关系非常简单,如果只是想得到简单的输入输出关系,直接用手画都可以。
但是如果想保证C和D上面有毛刺的话,需要附加足够多的条件。
如果你手头有这些条件的话,用它们来简化ABCD的关系,目标是保证输出没有毛刺
如果没有附加条件的话,做出来的应该是一个无法使用的东西
有几个地方没有理解
1.直接用手画这个是什么意思?
2.附加足够多的条件这个是指什么?(是否是在脚本中设置)。前端设计人员只是给我说了需要用门控时钟来综合,其他的啥都没有。
3.小编说没有附加条件的话,做出来的应该是一个无法使用的东西这个指的是什么呢?
谢谢!
自己顶一下
手划就是写handcode/hardcode.
如果有不对的地方,请原谅
您好我用DC做的综合要给设计中加入ICG使用了set_clock_gating_style -designs 来规定有哪些module可以加入ICG可是结果跟不加set_clock_gating_style -designs是一样的不知道是什么情况?那这样一来的话 工具是根据什么来给一些module加ICG的?