我已将此代码运行到lint checker(spyglass):
1 module test(
2 output [7:0] O_O,
3 input [7:0] I_1,
4 input [7:0] I_2
5 );
6
7 wire [14:0] result;
8
9 assign result = (I_1 + I_2) << 5;
10 assign O_O = result[7:0];
11 endmodule
我收到此警告消息:
Bit-width mismatch in signal assignment (LHS: 'O_O' width 8 should match RHS: '((I_1 + I_2) << 5)' width 14). [Hierarchy:test]
为了避免这种警告,我改变了我的代码:
1 module test(
2 output [7:0] O_O,
3 input [7:0] I_1,
4 input [7:0] I_2
5 );
6 wire [15:0] result;
7
8 assign result = (I_1 + I_2) << 5;
9 assign O_O = result[7:0];
10 endmodule
然后收到此警告信息
Port 'O_O[4:0]' is 'tied-low'
修复这些警告的任何建议?
答案 0 :(得分:1)
这有用吗?
1 module test(
2 output [7:0] O_O,
3 input [7:0] I_1,
4 input [7:0] I_2
5 );
6
7 wire [14:0] result = (I_1 + I_2) << 5;
8
9 assign O_O = result[7:0];
10 endmodule
答案 1 :(得分:0)
您可以创建一个弃权文件以免除spyglass中的所有此类警告。
答案 2 :(得分:0)
在警告窗口中,可以选择将此警告转移到弃权文件,即,
.awl
.swl
将显示故意添加的内容并需要忽略,不再反映在警告窗口中。