/* verilator lint_off STMTDLY */ module dv_driver #( parameter N = 1, // "N" packets wide parameter AW = 32, // address width parameter PW = 104, // packet width (derived) parameter IDW = 12, // id width parameter NAME = "none", // north, south etc parameter STIMS = 1, // number of stimulus parameter MAW = 16 // 64KB memory address width ) ( //control signals input clkin, input clkout, input nreset, input start, //starts test input [IDW-1:0] coreid, //everything has a coreid! //inputs for monitoring input [N-1:0] dut_access, input [N*PW-1:0] dut_packet, input [N-1:0] dut_wait, //stimulus to drive output [N-1:0] stim_access, output [N*PW-1:0] stim_packet, output [N-1:0] stim_wait, output stim_done ); //############# //LOCAL WIRES //############# reg [IDW-1:0] offset; wire [N*32-1:0] stim_count; wire [N-1:0] stim_vec_done; wire [N*IDW-1:0] coreid_array; wire [N*PW-1:0] mem_packet_out; wire [N-1:0] mem_access_out; wire [N-1:0] mem_wait_out; /*AUTOWIRE*/ //########################################### //STIMULUS //########################################### assign stim_done = &(stim_vec_done[N-1:0]); genvar i; generate for(i=0;i