
This design elevates a standard 1Hz digital stopwatch into an interactive, bidirectional hardware peripheral. It operates on a standard 10 MHz clock and integrates mixed-signal human interface handling with asynchronous serial communication. The architecture is divided into five core silicon modules:
ui_in[0] and ui_in[1] are fed through 8-bit shift-register debouncers, ensuring a state change only triggers after 8 consecutive identical clock cycles, rendering switch-bounce physically impossible.uio_out[7:4].ui_in[7:4]."VIT Vellore\r\n" at 9600 baud out of uio_out[0].uio_in[1]. A 2-stage synchronizer protects against metastability, feeding a 16x oversampled receiver state machine. It decodes ASCII serial characters in real-time, allowing laptop control of the stopwatch (S = Start/Pause, L = Lap, R = Reset).Because this chip supports both physical and digital interfaces, testing is broken into two phases. Ensure the Tiny Tapeout board is powered and clocked at 10 MHz.
rst_n LOW) to clear all memory arrays. The 7-segment display will show 0.ui_in[0]. The display will toggle between running at 1Hz and freezing.ui_in[1]. Observe the output LEDs on uio_out[7:4] update to match the current digit on the 7-segment display.ui_in[7:4] to binary 0101 (5). When the 7-segment display hits 5, the decimal point (uo_out[7]) will illuminate solid.GND of a USB-to-TTL Serial adapter to the board's Ground.uio_out[0] (Chip TX).uio_in[1] (Chip RX).S on your keyboard. The stopwatch will start/pause.
L on your keyboard. The lap memory will trigger.R on your keyboard. The system will undergo a soft reset back to 0.ui_in[7:4] to 3. Type S to start the timer. The exact moment the timer hits 3, your serial terminal will receive the string: VIT Vellore.To fully verify the capabilities of this ASIC, you will need:
uo_out[0:7]).ui_in[0] and ui_in[1].ui_in[7:4].| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | Start / Pause Button | Segment A | UART TX Telemetry (Output) |
| 1 | Lap Button | Segment B | UART RX Commands (Input) |
| 2 | Segment C | ||
| 3 | Segment D | ||
| 4 | Alarm Target Bit 0 | Segment E | Lap Memory Bit 0 (Output) |
| 5 | Alarm Target Bit 1 | Segment F | Lap Memory Bit 1 (Output) |
| 6 | Alarm Target Bit 2 | Segment G | Lap Memory Bit 2 (Output) |
| 7 | Alarm Target Bit 3 | Alarm Match LED (Dec Point) | Lap Memory Bit 3 (Output) |