mirror of https://github.com/openXC7/prjxray.git
70 lines
1.3 KiB
Verilog
70 lines
1.3 KiB
Verilog
|
|
`default_nettype none
|
|
|
|
// ============================================================================
|
|
|
|
module rom
|
|
(
|
|
input wire CLK,
|
|
input wire RST,
|
|
|
|
input wire RD,
|
|
output wire [7:0] O
|
|
);
|
|
|
|
// ============================================================================
|
|
|
|
reg [7:0] rom[0:31];
|
|
|
|
initial begin
|
|
rom[ 0] <= 8'd157;
|
|
rom[ 1] <= 8'd254;
|
|
rom[ 2] <= 8'd208;
|
|
rom[ 3] <= 8'd125;
|
|
rom[ 4] <= 8'd39;
|
|
rom[ 5] <= 8'd192;
|
|
rom[ 6] <= 8'd242;
|
|
rom[ 7] <= 8'd117;
|
|
rom[ 8] <= 8'd186;
|
|
rom[ 9] <= 8'd94;
|
|
rom[ 10] <= 8'd201;
|
|
rom[ 11] <= 8'd156;
|
|
rom[ 12] <= 8'd224;
|
|
rom[ 13] <= 8'd120;
|
|
rom[ 14] <= 8'd255;
|
|
rom[ 15] <= 8'd219;
|
|
rom[ 16] <= 8'd12;
|
|
rom[ 17] <= 8'd53;
|
|
rom[ 18] <= 8'd156;
|
|
rom[ 19] <= 8'd93;
|
|
rom[ 20] <= 8'd97;
|
|
rom[ 21] <= 8'd47;
|
|
rom[ 22] <= 8'd9;
|
|
rom[ 23] <= 8'd184;
|
|
rom[ 24] <= 8'd68;
|
|
rom[ 25] <= 8'd235;
|
|
rom[ 26] <= 8'd67;
|
|
rom[ 27] <= 8'd68;
|
|
rom[ 28] <= 8'd216;
|
|
rom[ 29] <= 8'd26;
|
|
rom[ 30] <= 8'd16;
|
|
rom[ 31] <= 8'd93;
|
|
end
|
|
|
|
reg [7:0] dat;
|
|
reg [4:0] adr;
|
|
|
|
always @(posedge CLK)
|
|
if (RST) adr <= 0;
|
|
else if (RD) adr <= adr + 1;
|
|
|
|
always @(posedge CLK)
|
|
if (RD) dat <= rom[adr];
|
|
|
|
assign O = dat;
|
|
|
|
// ============================================================================
|
|
|
|
endmodule
|
|
|