一、前言 设计中经常会遇到一些信号,模块等被综合工具优化,而实际这些部分确是我们所需要的,针对这种情况,DONT TOUCH属性可以满足我们的需求,该属性使用频率较高。 二、DONT TOUCH 2.1 属性说明 DONT TOUCH…
DONT_TOUCH属性用于指示综合工具在设计的任何阶段(包括综合、布局和布线)都不要对指定的信号或模块进行优化。这通常用于保留特定的逻辑结构,以便进行调试、验证或满足特定的设计需求。 2. DONT_TOUCH属性在Verilog代码中的使用方法 在Verilog代码中,DONT_TOUCH属性可以通过在信号或模块声明前添加特定的属性语法来使用。例...
先说说在什么情况下会使用DONT_TOUCH。 使用DONT_TOUCH的场景 注:这些场景使用DONT_TOUCH未必合理 场景1:保留等效寄存器 最典型的场合是为降低扇出,对高扇出的寄存器进行复制,之后对复制的寄存器和原始寄存器添加DONT_TOUCH属性。因为这些寄存器是等效寄存器,这样做可以保证在综合阶段哲学等效寄存器不会被合并。 场景2:保...
如果我们加上这条综合属性呢:(在状态变量之前加上此综合属性) (*fsm_encoding = "sequential"*) reg [4:0] current_state,next_state; 可见,即使你代码里面用了独热码,但是加了这条综合属性后,最终综合工具会断定状态机的编码方式为综合属性指定的编码方式。 所以,在RTL代码中直接用十进制来设计即可,至于综合...
1)对复位信号网络设置dont_touch属性时,最好使用set_ideal_network命令,因为set_dont_touch_network不能 disable对DRC的检查。 2)如果设计中例化了library cell,也就是说想指定使用某个 library cell时,对该 library_cell使用set_dont_...
尽管在综合阶段时,compile_ultra命令会自带uniquify的功能,但如果在约束时就对网表设置了set_dont_touch属性,那么compile_ultra阶段时的uniquify功能就会失败。因此解决的方案其实也很简单,只需要在set_dont_touch属性前运行uniquify,完成多次实例化模块的定义重命名后,再设置set_dont_touch属性就可以了。
如果我们加上这条综合属性呢:(在状态变量之前加上此综合属性) (*fsm_encoding = "sequential"*) reg [4:0] current_state,next_state; 可见,即使你代码里面用了独热码,但是加了这条综合属性后,最终综合工具会断定状态机的编码方式为综合属性指定的编码方式。
set_ideal_network用来对port,pin,net来设置ideal_network属性,所谓的ideal_network属性就是0电阻0电容+所有的cell和net都dont_touch。因此就会0转换时间,0延时,综合优化的时候不会对路径的cell和net进行优化。 注意: 1.对net进行设置的时候,必须要带上no_propagate的属性,否则是加不上去的。对port和pin可以加上带...
set_dont_touch_network是一个用于设置网络不可触及属性的方法,可以在编程中帮助我们控制和管理网络访问的权限。下面将详细介绍set_dont_touch_network的使用方法: 1.设置网络不可触及属性 首先,我们需要调用set_dont_touch_network方法,并传入需要设置的网络对象或网络资源,将其属性设置为不可触及。这样可以防止其他程...
鞠婧祎《Dont touch》击中心脏的惊艳舞蹈,舞蹈功底没得说而且身材还一级棒!!还有请造型师以后就按这种风格安排上清甜小女生只是副属性,高冷御姐才是专属tag啊啊我死去又活来啊A爆了!! L追星文盲段黄派的微博视频 小窗口 û收藏 351 393 ñ2900 评论 o p 同时转发到我的微博 ...