微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 门控时钟需要修改RTL代码吗?

门控时钟需要修改RTL代码吗?

时间:10-02 整理:3721RD 点击:
以前写代码的时候没有使能信号,如果要做门控始终的话,是不是要修改VERILOG代码,给寄存器加上一个使能信号?不修改的话就不能用DC做门控时钟的插入了吗?

综合工具会自动认出来enable的function, 不用改RTL

那请问,如果我没有加enable的话,是不是就不能插入ICG了?除非去改RTL?

RTL代码里没有用到使能信号,工具那里会去识别,开什么玩笑?

有时不是刻意去加一个enable,但是工具会自动分析逻辑,如何可以找到隐含的enable,它也会插入ICG

如果这个flipflop的数据端本身能够infer出一个enable信号,那当然可以insert clock gating. 如果本身就没有enable这样的function,那当然也不会insert ICG

一般来说,形如
always @ (posedge clk or negedge rst_n)
begin
if (rst_n == 1'b0)
.....
else if (en)
......
end
这类的DFF,在满足约束条件的情况下都可以自动综合门控,本质上就是存在一个条件,使DFF值不改变,即Q端连到D端。

问题疑惑:如果代码风格没有明显的en信号,DC工具会自己识别吗?
一般情况下,DC中需要设置set_clock_gating_style来识别和添加ICG,
之后输出ungated report 来分析代码,对不能gating的rtl进行修改
常见不能insert ICG有两种,min bit width和常数位

时不是刻意去加一个enable,但是工具会自动分析逻辑,如何可以找到隐含的enable,它也会插入ICG

问一下大家 这个使能端是怎么设计出来的呀?好像改动很大的样子。

早些时候要工程师自己写,现在都是工具来帮我们完成。

工具会自动分析,当然也可以在约束中给某个reg插上clock gate

门控时钟必须要有一定代码风格才行啊,要不然工具想插都插不进去,写脚本也插不进去。
要插入门控时钟两个条件必须满足:1、有使能信号;2、在默认状态下数据保持

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

网站地图

Top