IC Compiler write verilog问题
时间:10-02
整理:3721RD
点击:
IC Compiler做完布线,导出routed verilog文件中的子模块的名字被自动更改了,如:
原RTL描述中,子模块module decoder_3x8 (...)有两个例化:u_col_dec, u_row_dec;
ICC write verilog却输出这样两个模块: module decoder_3x8_0(...), module decoder_3x8_1(...),两个例化的名字还是u_col_dec, u_row_dec。
ICC自动修改了module name。
有什么办法可以keep模块的名字不被更改吗?
原RTL描述中,子模块module decoder_3x8 (...)有两个例化:u_col_dec, u_row_dec;
ICC write verilog却输出这样两个模块: module decoder_3x8_0(...), module decoder_3x8_1(...),两个例化的名字还是u_col_dec, u_row_dec。
ICC自动修改了module name。
有什么办法可以keep模块的名字不被更改吗?
你为什么要保持模块名字不被改动呢?
ICC不支持同一个模块被多次例化的情况,所以没办法了。
不行的, ICC必須Uniquify,
所以會被rename掉,
而且rename這個步驟應該是發生在DC write_netlist,
否則ICC應該是根本無法繼續.
以前是做前端的,一个模块可以N个例化,ICC的这种处理有点不同于以前的习惯,ICC将模块名当成了例化名。
是的,DC的write_netlist的时候名字就已经变了。
DC和ICC的write_verilog之前都可以有change_name的操作,
DC不会改变blackboxes的模块名,ICC把blackboxes的模块名也给改了,我就是预期不要改blackboxes的模块名,改了以后,blackboxes不能reference to timing library了。