67 lines
1.6 KiB
Verilog
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 |