| module top(input clk, output [7:0] led, output [13:0] disp); |
| |
| |
| localparam div_n = 25; |
| reg clk_div; |
| reg [div_n-1:0] div_ctr; |
| |
| always @(posedge clk) begin |
| div_ctr <= div_ctr + 1'b1; |
| clk_div <= (div_ctr == 0); |
| end |
| |
| `include "pattern.vh" |
| |
| reg [$clog2(pat_len):0] pat_ctr; |
| always @ ( posedge clk ) begin |
| if (clk_div) begin |
| if (pat_ctr == 2*pat_len - 1) |
| pat_ctr <= 0; |
| else |
| pat_ctr <= pat_ctr + 1'b1; |
| end |
| end |
| |
| assign led = {clk, ~pat_ctr}; |
| assign disp = pat_ctr[0] ? 14'h3FFF : ~(display_pat[pat_ctr[$clog2(pat_len):1]]); |
| |
| |
| endmodule |
| |