15 (* anyconst *) reg [9:0] test_addr;
16 reg test_data_valid = 0;
19 always @(posedge clk) begin
20 if (addr == test_addr) begin
25 if (test_data_valid) begin
26 assert(test_data == rdata);
38 reg [7:0] bank0 [0:255];
39 reg [7:0] bank1 [0:255];
40 reg [7:0] bank2 [0:255];
41 reg [7:0] bank3 [0:255];
43 wire [1:0] mem_sel = addr[9:8];
44 wire [7:0] mem_addr = addr[7:0];
46 always @(posedge clk) begin
48 0: if (wen) bank0[mem_addr] <= wdata;
49 1: if (wen) bank1[mem_addr] <= wdata;
50 2: if (wen) bank1[mem_addr] <= wdata; // BUG: Should assign to bank2
51 3: if (wen) bank3[mem_addr] <= wdata;
56 mem_sel == 0 ? bank0[mem_addr] :
57 mem_sel == 1 ? bank1[mem_addr] :
58 mem_sel == 2 ? bank2[mem_addr] :
59 mem_sel == 3 ? bank3[mem_addr] : 'bx;