Verilog HDL test bench 문법에 관한
16bit ripple carry adder test bench
`timescale 1ns/1ns
module testbench2;
reg [15:0] a, [15:0] b, c_in;
wire [15:0] sum, c_out;
fulla16 adder(.[15:0] a([15:0] a), .[15:0] b([15:0] b), .c_in(c_in), .[15:0] sum([15:0] sum), .c_out(c_out));
initial begin
a[0] = 0; b[0] = 1; c_in = 0; #100;
a[1] = 0; b[1] = 1; #100;
a[2] = 0; b[2] = 1; #100;
a[3] = 0; b[3] = 1; #100;
a[4] = 0; b[4] = 0; #100;
a[5] = 0; b[5] = 1; #100;
a[6] = 0; b[6] = 1; #100;
a[7] = 0; b[7] = 1; #100;
a[8] = 0; b[8] = 1; #100;
a[9] = 0; b[9] = 0; #100;
a[10] = 0; b[10] = 1; #100;
a[11] = 0; b[11] = 1; #100;
a[12] = 0; b[12] = 1; #100;
a[13] = 0; b[13] = 1; #100;
a[14] = 0; b[14] = 1; #100;
a[15] = 0; b[15] = 0; #200; $stop;
end
endmodule
Answers:
위 test bench를 보면 입출력 선언과 테스트 module 불러오는 문법이 전혀 틀려있다.
기본적인 것을 더 숙지하여야 한다!