samerand/memtest/memtest.v

67 lines
1.6 KiB
Verilog

module memtest (
output led_r,
output led_g,
output led_b,
output pmod_1,
output pmod_2,
output pmod_3,
output pmod_4,
input user_5,
input user_6,
input clki
);
reg [31:0] mem[0:2047];
reg [10:0] memadr;
assign random_rom_dat_r = mem[memadr];
wire clkosc;
SB_GB clk_gb (
.USER_SIGNAL_TO_GLOBAL_BUFFER(clki),
.GLOBAL_BUFFER_OUTPUT(clkosc)
);
assign clk = clkosc;
initial begin
$readmemh("mem.init", mem);
end
always @(posedge clk) begin
memadr <= memadr + 1;
led_r <=
mem[memadr][0] ^
mem[memadr][1] ^
mem[memadr][2] ^
mem[memadr][3] ^
mem[memadr][4] ^
mem[memadr][5] ^
mem[memadr][6] ^
mem[memadr][7] ^
mem[memadr][8] ^
mem[memadr][9] ^
mem[memadr][10] ^
mem[memadr][11] ^
mem[memadr][12] ^
mem[memadr][13] ^
mem[memadr][14] ^
mem[memadr][15] ^
mem[memadr][16] ^
mem[memadr][17] ^
mem[memadr][18] ^
mem[memadr][19] ^
mem[memadr][20] ^
mem[memadr][21] ^
mem[memadr][22] ^
mem[memadr][23] ^
mem[memadr][24] ^
mem[memadr][25] ^
mem[memadr][26] ^
mem[memadr][27] ^
mem[memadr][28] ^
mem[memadr][29] ^
mem[memadr][30] ^
mem[memadr][31];
end
endmodule