私はこのコードをlintチェッカー(スパイグラス)に実行しました:
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'
これらの警告を修正するための推奨事項はありますか?