在做fomality的时候,如果出现寄存器unmatch问题,通常是由于常值推导不一致,导致寄存器被优化。
几个基本定位方法如下:
1.verify r:wrok/top/xyz_reg[0] -constant0
此命令可查看ref中的寄存器是否是常值。
2.guide
guide_reg_constant \
-design { IDT } \
{ GLB_ID_PROC[*].U_DATA_PROC/mem_rd_length_reg[1] } \
{ 1 } \
-replaced { svfTrue }
当dc在综合过程中存在推导处常值时,通常会用该语句记录在svf文件中。可以配置该命令让formality对单独点进行常值推导。
3.set_constant 该命令用于对顶层input信号进行常值约束,通常用于约束scan相关配置。