blob: 74c15a2aae4dea112d8384e675dd2dc1e12dbf6c [file] [log] [blame]
module msaghir_top_level (io_in, io_out);
input [7:0] io_in;
output [7:0] io_out;
wire w_clk = io_in[0];
wire w_rst = io_in[1];
wire [1:0] w_sel = io_in[3:2];
wire w_clk_2hz;
wire [2:0] w_count;
wire [6:0] w_segment;
wire [6:0] w_bus0;
wire [6:0] w_bus1;
wire [6:0] w_bus2;
wire [6:0] w_bus3;
assign io_out[6:0] = w_segment;
clk_div u0 (.i_clk(w_clk), .i_rst(w_rst), .o_clk(w_clk_2hz));
mod8_counter u1 (.i_clk(w_clk_2hz), .i_rst(w_rst), .o_count(w_count));
rand_pattern u2 (.i_count(w_count), .o_segment(w_bus0));
cw8_pattern u3 (.i_count(w_count), .o_segment(w_bus1));
scan_pattern u4 (.i_count(w_count[1:0]), .o_segment(w_bus2));
warning_pattern u5 (.i_count(w_count[0]), .o_segment(w_bus3));
mux4 u6 (.i_in0(w_bus0), .i_in1(w_bus1), .i_in2(w_bus2), .i_in3(w_bus3), .i_sel(w_sel), .o_out(w_segment));
endmodule