70 lines
2.4 KiB
Verilog
70 lines
2.4 KiB
Verilog
// Автогенерация из CSV: Logic2_D7.csv
|
|
// F_CLK_HZ = 48000000
|
|
// Количество сегментов (DEPTH) = 50
|
|
|
|
module pattern_rom #(
|
|
parameter TICKS_WIDTH = 32,
|
|
parameter DEPTH = 50
|
|
) (
|
|
input wire [$clog2(DEPTH)-1:0] addr,
|
|
output reg [TICKS_WIDTH:0] data // {level[MSB], ticks[LSB:0]}
|
|
);
|
|
|
|
// Простейший ROM на case по адресу
|
|
always @* begin
|
|
case (addr)
|
|
0: data = {1'b0, 32'd1};
|
|
1: data = {1'b1, 32'd1};
|
|
2: data = {1'b0, 32'd1};
|
|
3: data = {1'b1, 32'd1};
|
|
4: data = {1'b0, 32'd1};
|
|
5: data = {1'b1, 32'd1};
|
|
6: data = {1'b0, 32'd1};
|
|
7: data = {1'b1, 32'd1};
|
|
8: data = {1'b0, 32'd1};
|
|
9: data = {1'b1, 32'd1};
|
|
10: data = {1'b0, 32'd1};
|
|
11: data = {1'b1, 32'd1};
|
|
12: data = {1'b0, 32'd1};
|
|
13: data = {1'b1, 32'd1};
|
|
14: data = {1'b0, 32'd1};
|
|
15: data = {1'b1, 32'd1};
|
|
16: data = {1'b0, 32'd1};
|
|
17: data = {1'b1, 32'd1};
|
|
18: data = {1'b0, 32'd1};
|
|
19: data = {1'b1, 32'd1};
|
|
20: data = {1'b0, 32'd1};
|
|
21: data = {1'b1, 32'd1};
|
|
22: data = {1'b0, 32'd1};
|
|
23: data = {1'b1, 32'd1};
|
|
24: data = {1'b0, 32'd1};
|
|
25: data = {1'b1, 32'd1};
|
|
26: data = {1'b0, 32'd1};
|
|
27: data = {1'b1, 32'd1};
|
|
28: data = {1'b0, 32'd1};
|
|
29: data = {1'b1, 32'd1};
|
|
30: data = {1'b0, 32'd1};
|
|
31: data = {1'b1, 32'd1};
|
|
32: data = {1'b0, 32'd1};
|
|
33: data = {1'b1, 32'd1};
|
|
34: data = {1'b0, 32'd1};
|
|
35: data = {1'b1, 32'd1};
|
|
36: data = {1'b0, 32'd1};
|
|
37: data = {1'b1, 32'd1};
|
|
38: data = {1'b0, 32'd1};
|
|
39: data = {1'b1, 32'd1};
|
|
40: data = {1'b0, 32'd1};
|
|
41: data = {1'b1, 32'd1};
|
|
42: data = {1'b0, 32'd1};
|
|
43: data = {1'b1, 32'd1};
|
|
44: data = {1'b0, 32'd1};
|
|
45: data = {1'b1, 32'd1};
|
|
46: data = {1'b0, 32'd1};
|
|
47: data = {1'b1, 32'd1};
|
|
48: data = {1'b0, 32'd1};
|
|
49: data = {1'b1, 32'd1};
|
|
default: data = {1'b0, {TICKS_WIDTH{1'b0}}};
|
|
endcase
|
|
end
|
|
endmodule
|