5 // $dumpfile("testbench.vcd");
6 // $dumpvars(0, testbench);
26 always @(posedge clk) begin
28 data_a <= data_a + 17;
34 always @(posedge addr_a) begin
40 always @(posedge clk) begin
45 reg [7:0] mem [(1<<8)-1:0];
47 always @(posedge clk) // Write memory.
50 mem[addr_a] <= data_a; // Using write address bus.
52 always @(posedge clk) // Read memory.
54 pq_a <= mem[addr_b]; // Using read address bus.
67 uut_mem_checker port_a_test(.clk(clk), .init(mem_init), .en(!we_a), .A(q_a), .B(pq_a));
71 module uut_mem_checker(input clk, input init, input en, input [7:0] A, input [7:0] B);
75 if (en == 1 & init == 1 & A !== B)
77 $display("ERROR: ASSERTION FAILED in %m:",$time," ",A," ",B);