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 |