
This project implements a synchronous 4 bit counter. There are 3 control signals described below.
The counter will enumerate all values between 0 and F (15) before looping back to 0 and starting again. The counter will clear back to 0 whenever the chip is reset.
| Signal | TinyTapeout I/O |
|---|---|
| Cp | ui_in[1] |
| Ep | ui_in[2] |
| Lp | ui_in[0] |
| Load Input | ui_in[7:4] |
| Counter Output | uo_out[3:0] |
Note: All control signals (Cp, Ep, and Lp) are active high.
Connect any probe that allows you to read 4 bits from the hardware to uo_out. Now generate a sequence of operations that tests all of the following operations:
Some example test waveforms are attached:
No external hardware is required to run the counter. It may be helpful to have tools that allow you to easily view the output of the counter.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | in_0 | out_0 | bidir_0 |
| 1 | in_1 | out_1 | bidir_1 |
| 2 | in_2 | out_2 | bidir_2 |
| 3 | in_3 | out_3 | bidir_3 |
| 4 | in_4 | out_4 | bidir_4 |
| 5 | in_5 | out_5 | bidir_5 |
| 6 | in_6 | out_6 | bidir_6 |
| 7 | in_7 | out_7 | bidir_7 |