테스트bench의 간단한 예와 템플릿
1357 단어 국부 방전
output reg [7:0]data;
always @(posedge clk or negedge rst_n )
if(!rst_n)
data <= 8'd0;
else if(en)
data <= data + 1'b1;
else
data <= data;
//testbench//테스트 모듈의 input 형식reg clock;시계 입력 reg rstn;//reg en;//재설정테스트 모듈에서output 형식wire[7:0]data;//데이터 입력//시계 생성 모듈 initial clock=1;always #10 clock= ~clock;//인센티브 신호로 initial begin rst 생성n = 1’b0; #20; rst_n = 1’b1; en = 1;//에너지 신호를 유효하게 하기 위해 데이터<=데이터+1;데이터 자체 #1000;en = 0;//유효 신호가 올바르지 않도록 데이터 <=data #500s t o p;/완전한 신호 모의 요구를 실현하기 위해stop;//완전한 신호 모의 요구를 실현하기 위해stop;//완전한 신호 모의 요구를 실현하기 위해 stop을 사용하여 모의 end//예화 모듈을 끝냅니다. 그 중에서 XXX는 반드시 모듈 이름과 같아야 합니까?모듈 이름은 사용자 정의할 수 있지만 XXX를 사용하는 것이 좋습니까?(//clock은 reg clock와 같아야 하며,reg clk를 정의하면.clk(clk)를 사용해야 합니다.clk(clock), .rst_n(rst_n), .en(en), .data(data), );
템플릿
timescale 1ns/1ns
define clockperiod 20//시계 정의 module XXXtb;//input 형식reg...//output 형식wire.../시계가 initial clk = 1을 생성합니다.always #( clock_period/2) clk = ~clk; // initial begin #1;//Difference clock edge rst_n = 1'b0; #(
clock_period5)//몇 주기 지연rstn = 1’b1; #( clock_period); .... .... #(
clock_period2000); $stop;//지연 주기 확보 신호 완전성 확보 end XXX XX(//모든 포트 명례화 연결, 적지 않게 주의...);endmodule 참조 링크:http://group.chinaaet.com/4000264741/4100029859