`timescale 1ns / 1ps
module lab09 (
input clk, output [6:0] minuteTens, output [6:0] minuteOnes, output [6:0] hourOnes, output [6:0] hourTens
);
wire clk1Hz;
fastGenerator fastGnrtr(
.clk(clk),
.clk1Hz(clk1Hz)
);
// --
wire [3:0] minuteOnesOut;
wire minuteTensInc;
counter minuteOnesCnt (
.clk(clk1Hz),
.inc(1),
.period(4'd9),
.out(minuteOnesOut),
.reset(minuteTensInc)
);
display dispMinuteOnes (
.in(minuteOnesOut),
.enable(1),
.mode(0),
.out(minuteOnes)
);
// ---
wire [3:0] minuteTensOut;
wire hourOnesInc;
counter minuteTensCnt (
.clk(clk1Hz),
.inc(minuteTensInc),
.period(4'd5),
.out(minuteTensOut),
.reset(hourOnesInc)
);
display dispMinuteTens (
.in(minuteTensOut),
.enable(1),
.mode(0),
.out(minuteTens)
);
// --
wire [3:0] hourOnesOut;
wire hourTensInc;
counter hourOnesCnt (
.clk(clk1Hz),
.inc(hourOnesInc),
.period(4'd4),
.out(hourOnesOut),
.reset(hourTensInc)
);
display dispHourOnes (
.in(hourOnesOut),
.enable(1),
.mode(0),
.out(hourOnes)
);
// --
wire [3:0] hourTensOut;
counter hourTensCnt (
.clk(clk1Hz),
.inc(hourTensInc),
.period(4'd2),
.out(hourTensOut)
);
display dispHourTens (
.in(hourTensOut),
.enable(1),
.mode(0),
.out(hourTens)
);
endmodule