1 Ставьте соответствие между сигналами в вашем модуле с сигналами из тестбенча.
2 в блоке initial begin задаются только начальные значения сигналов. блокам always @ там совершенно не место.
3 если тебе необходимо чередовать значения wr, wrdata предлагаю завести регистр, который по положительному фронту сигнала clk будет инкреметироваться. Получится, что данный регистр будет равен либо 1 либо 0. В зависимости от этого ставите условия чему должны быть равны wr, wdata.
Простите писать не очень удобно...
`timescale 1ns / 1ps
module test_counter;
// Inputs
reg reset;
reg clk;
reg [7:0] wdata;
reg wr;
// Outputs
wire [7:0] data;
// Instantiate the Unit Under Test (UUT)
counter_cxem_net uut (
.reset(reset),
.clk(clk),
.wdata(wdata),
.wr(wr),
.data(data)
);
initial begin
// Initialize Inputs
reset = 0;
clk = 0;
wdata = 0;
wr = 0;
//через временной интервал "50" подаем сигнал сброса
#50 reset = 1;
//еще через время "4" снимаем сигнал сброса
#4 reset = 0;
//пауза длительностью "50"
end // initial begin
always @(posedge clk)
begin
wdata = 8'h55;
wr = 1'b1;
end
always
begin
#5 clk=!clk;
end
endmodule