// Автогенерация из 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