产生宽度随机脉冲序列的测试信号源

`timescale 1 ns/ 1 ps
module cy4_vlg_tst(dout);
output[9:0] dout;
reg [9:0] dout;

integer delay1,delay2,k;
  initial 
    begin
      #10 dout = 0;
      for(k=0;k<100;k=k+1)
        begin
         delay1 = 20 * ({$random}%6);
         //delay1在0~100ns之间变化
         delay2 = 20 * (1+{$random}%3);
         //delay2在20~60ns之间变化
         #delay1 dout = 1 << ({$random}%10);
         //dout的0-9位中随机出现1,并出现的时间在0~100ns之间变化
         #delay2 dout = 0;
         //脉冲的宽度在20~60ns之间变化
         end
    end
endmodule

猜你喜欢

转载自blog.csdn.net/qq_41982581/article/details/82683280