Accumulator 소스코드를 가지고 테스트벤치 만들어 봤는데,,,,시뮬레이션 돌리니까, 값이 이상하게 나오더라구요~ㅜ.ㅜ
verilog에 대해 배운것이 넘 없어서, 엉터리로 하다보니, 밤까지 새버렸네요~~~허걱~ @.@
테스트 벤치 보시고, 조언 좀 부탁 드리겠습니다.
도데체 어떻게 작성해야 되는지 모르겠네요...ㅜ.ㅜ
<code 작성>
module acc1 (out,clk,rst,load,num); //모듈 선언 size 변수를 만나면 8로 바꾸시오//
input clk,rst,load; //input 선언//
input [7:0] num; //8비트 입력 선언//
output out; //output 선언//
reg [31:0] out; //32비트 out 지정//
always @(posedge clk) //clk이 posedge일때 아래를 실행하라//
begin
if(rst|~load) //rst가 1이거나 load가 0이면 out은 0을 출력하라//
out<=0;
else if(load) //load가 0이 아니면, out+num 값을 out값으로 출력하라//
out<=out+num;
end
endmodule //모듈 끝//
<testbench 작성>
module tb_acc; //테스트 벤치 모듈//
reg[7:0] num;
reg clk=0;
reg rst=0;
always #100 clk =~clk;
initial
begin
#10 rst = 1;
#20 rst = 0;
num = 10;
#30 num = 20;
#40 num = 5;
#50 rst = 1;
end
acc1 acc(,num,clk,rst,load);
endmodule // 모듈 끝//