前提・実現したいこと
verilogでnビット加算器を作っているのですが、構文エラーの表示が出てしまします。
発生している問題・エラーメッセージ
$ iverilog -o k5 -s k5Sim k5Sim.v k5.v k5.v:10: syntax error k5.v:10: error: syntax error in continuous assignment
該当のソースコード
v
1module k5(cu, s, x, y, ci); 2 parameter n = 4; 3 4 input [n-1:0] x , y; 5 input ci; 6 output cu; 7 output [n-1:0] s; 8 wire [n-1: 0] c; 9 10 assign {cu, c[n-1:1]} = x[n-1:0] & y[n-1:0] | x[n-1:0] & c[n-1:0] | y[n-1:0] & [n-1:0]; 11 12 assign s = x ^ y ^ c; 13 14endmodule 15
v
1module k5Sim; 2 3 reg [3:0] x, y; 4 5 reg ci; 6 7 wire cu; 8 9 wire [3:0] s; 10 11 k5 k5(cu, s, x, y, ci); 12 13 14 initial 15 begin 16 $monitor(" %b %b %b %b %b", x, y, ci, cu, s, $stime); 17 18 $display(" x y ci cu s time"); 19 20 x=4'b0000; 21 y=4'b0000; 22 ci=1'b0; 23 24 #50 x=4'b0011; 25 y=4'b0011; 26 ci=1'b0; 27 28 #50 x=4'b0110; 29 y=4'b0011; 30 ci=1'b0; 31 32 #50 x=4'b0111; 33 y=4'b0111; 34 ci=1'b0; 35 36 #50 x=4'b1110; 37 y=4'b0111; 38 ci=1'b0; 39 40 #50 x=4'b1110; 41 y=4'b0111; 42 ci=1'b1; 43 44 #50 $finish; 45 46 end 47 endmodule 48
試したこと
テストベンチの書き方もこれでいいのかが分かりません。
エラー文に何が書いてあるかわかりますか?