Я запустил этот код для проверки lint (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'
Есть какие-нибудь рекомендации по исправлению этих предупреждений?