테스트 벤치 작성을 어떻게 하면 될까요?

조회수 816회

please.v

module please(in, out, clk, reset);
    input wire [1:0]in;
    input clk;
    input reset;
    output [1:0]out;
    reg [1:0]out;
    reg [1:0]state;
    parameter s0 = 2'b00, s1 = 2'b01, s2 = 2'b10, s3 = 2'b11;

    initial state = 2'b00;
    initial out = 2'b00;

always @ (posedge clk) begin
   if (reset) begin
      out <= 2'b00;
      state <= s0;
   end
   else begin
   case (state)
      s0:
      if (in == 2'b01) begin
         out <= 2'b01;
         state <= s1;
      end
      else if (in == 2'b10) begin
         out <= 2'b10;
         state <= s2;
      end
      else if (in == 2'b11) begin
         out <= 2'b11;
         state <= s3;
      end
      else   begin
         out <= 2'b00;
         state <= s0;
      end
      s1: 
      if (in == 2'b01) begin
         out <= 2'b00;
         state <= s0;
      end
      else if (in == 2'b10) begin
         out <= 2'b01;
         state <= s1;
      end
      else if (in == 2'b11) begin
         out <= 2'b01;
         state <= s1;
      end
      else   begin
         out <= 2'b01;
         state <= s1;
      end
      s2: 
      if (in == 2'b01) begin
         out <= 2'b10;
         state <= s2;
      end
      else if (in == 2'b10) begin
         out <= 2'b00;
         state <= s0;
      end
      else if (in == 2'b11) begin
         out <= 2'b10;
         state <= s2;
      end
      else   begin
         out <= 2'b10;
         state <= s2;
      end
      s3:
      if (in == 2'b01) begin
         out <= 2'b11;
         state <= s3;
      end
      else if (in == 2'b10) begin
         out <= 2'b11;
         state <= s3;
      end
      else if (in == 2'b11) begin
         out <= 2'b00;
         state <= s0;
      end
      else   begin
         out <= 2'b11;
         state <= s3;
      end
endcase
end
end
endmodule

please_tb.v

module please_tb();

reg [1:0] in,clk,reset;
wire [1:0]out;

please u_please(in,clk,reset,out);

initial begin
forever begin
clk=0;
#10 clk=~clk;
end
end
always
begin
in=2'b00;#10;
in=2'b01;#10;
in=2'b10;#10;
in=2'b11;#10; 
reset=1'b1;#10;
reset=1'b0;#10;
end
endmodule

verilog를 통해서 위에는 코드 아래는 테스트 벤치 코드입니다. RTL 시뮬레이션을 돌려본 결과

Error loading design

Error: Error loading design

Pausing macro execution

이런 오류가 계속 뜹니다. 제 생각에는 테스트벤치 코드가 잘못된거 같은데 테스트 벤치를 어떻게 수정하면 될까요? 테스트 벤치 경로도 설정해 놓은 상태입니다. 도와주세요

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)