插入门控时钟问题
最好用集成ICG 吧, 离散的容易产生glitch,对时序不利,
是在compile_ultra -gate_clock的, elaborate 时候一般不用gate_clock ,
set_clock_gating_style 的时候可以指定icg 类型的啊,
这样insert_clock_gating 就只插入这种类型的icg 单元
用insert_clock_gating或者compile_ultra -gate_clock都行的,
只要set_clock_gating_style 设好就行
请问set_clock_gating_style一般是什么沿触发比较好呢?我采用set_clock_gating_style -sequential_cell latch,生成了latch和and等组成的模块,这样是不是不好呢?是不是生成一个集成的latch(例如一个CKLNQD1BWP7T)比较好呢?感谢指教
man set_clock_gating_style
set_clock_gating_style
Setstheclock-gatingstylefor the clock-gate insertion and
replacement.
SYNTAX
status set_clock_gating_style
[-sequential_cell none | latch]
[-minimum_bitwidth minsize_value]
[-setup setup_value]
[-hold hold_value]
[-positive_edge_logic {cell_list | integrated [active_low_enable] [invert_gclk]}
[-negative_edge_logic {cell_list | integrated [active_low_enable] [invert_gclk]}
[-control_point none | before | after]
[-control_signal scan_enable | test_mode]
[-observation_point true | false]
[-observation_logic_depth depth_value]
[-max_fanout max_fanout_count]
[-num_stages num_stages_count]
[-no_sharing]
-pos / -neg 是可以指定icg cell的,如果指定了集成ICG ,那就不会综合成
latch +AND了,
集成的肯定好啊,可以防止glitch,
谢谢前辈指点!
还是TSMC的high density的工艺啊,不错不错,相对来说还是ICG cell比较好,即使在做PR的时候。要注意的就要比latch+and gate的药少,不然做PR对这些latch+and gate的处理会比较烦的。
请教前辈,我们以前的脚本,是在elaborate -gate_clock,而且脚本其他的地方都没有对门控时钟进行描述,综合出来的就是一个集成icg。但是我在脚本中加了set_clock_gating_style -sequential_cell latch,生成的就是latch+and。
如果我想生成一个集成的门控,在set_clock_gating_style 中需要怎样写呢?-pos后面应该加一个库中有的门控型号(人为的选择)?
不好意思,我是个菜鸟,谢谢指教!
没错 , -pos/-neg 后面写CKLH/CKLNQD1BWP 这种东西就行了
你可以man下 set_clock_gating_style , 讲的很清楚的
平时我都是自己手动例化门控单元,请问insert_clock_gating是在哪里插入门控单元呀,自动插入门控信号是什么呀?谢谢了
平时我都是自己手动例化门控单元,请问insert_clock_gating是在哪里插入门控单元呀,自动插入门控信号是什么呀?谢谢了
综合的时候插入icg,
自己例化+ insert_clock_gating ( orcompile_ultra -gated_clock ) 都行的,
前面可以定义set_clock_gating_style , 控制一些选项
多谢帮助
请问您,这个 num_stage 选项是指ICG模块端口E的逻辑深度吗