
The design implements an 8-channel programmable clock router.
A 16-bit internal counter runs on the system clock and generates multiple divided clock signals. Each output channel is connected to a configuration register that selects one of the counter bits, effectively choosing a clock division ratio.
The user programs each output by:
Each output then continuously generates the selected divided clock signal independently.
Repeat for different channels with different division values and verify that each output runs at a different frequency.
No external hardware is required. Outputs can be observed directly using a logic analyzer, oscilloscope, or FPGA/Vivado waveform simulation.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | Address bit 0 | Clock output 0 | |
| 1 | Address bit 1 | Clock output 1 | |
| 2 | Address bit 2 | Clock output 2 | |
| 3 | Data bit 0 (LSB) | Clock output 3 | |
| 4 | Data bit 1 | Clock output 4 | |
| 5 | Data bit 2 | Clock output 5 | |
| 6 | Data bit 3 (MSB) | Clock output 6 | |
| 7 | Write strobe | Clock output 7 |