
This project integrates three high-precision measurement tools into a single 1x1 ASIC tile, specifically optimized for the Sky130 process:
HH:MM:SS format. It uses a cascaded counter architecture to minimize area usage.ui_in[1] using a precise 1-second gate window.The entire system is managed via a UART interface operating at 115200 baud (8N1).
| Pin | Label | Direction | Description |
|---|---|---|---|
| ui[0] | RX | Input | UART Data Input. Receives ASCII commands. |
| ui[1] | Signal | Input | The external signal to be measured (Frequency/Pulses). |
| uo[0] | TX | Output | UART Data Output. Transmits telemetry frames. |
| uo[1] | Frame OK | Output | Generates a 1-clock cycle pulse when a full telemetry frame is sent. |
| uo[2] | Active | Output | HIGH when the timer is running and measurement gates are open. |
Hhh:mm:ss: Load timer value (e.g., H00:05:00 for 5 minutes).I: Initialize (Starts the countdown and measurement).R: Reset (Stops the system and clears all registers).E: Enable telemetry (Starts periodic data reporting).Y: Stop telemetry (Disables data reporting).When enabled, the chip transmits a 13-byte frame at 115200 baud:
$ [Count_H] [Count_L] / [Freq_H] [Freq_L] / [Status] / [#] / [\n] [\r]
ui_in[0] and uo_out[0].ui_in[1].H00:00:10 to set a 10-second window.E then I. You will see data frames appearing in your terminal.| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | UART RX (ASCII Commands) | UART TX (Telemetry Frame) | unused |
| 1 | External Signal Input | Frame OK (Pulse on completion) | unused |
| 2 | unused | Active (HIGH during measurement) | unused |
| 3 | unused | unused | unused |
| 4 | unused | unused | unused |
| 5 | unused | unused | unused |
| 6 | unused | unused | unused |
| 7 | unused | unused | unused |