
Architecture: ARCHITECTURE.md ·
Component datasheet: DATASHEET.md ·
User manual (demoboard / HIL): USER_MANUAL.md ·
Companion ADC manual: ADC USER_MANUAL
(heart_monitor_adc_art_ttsky26c — fabrication companion)
This design is a compact spiking neural network (SNN) heart-beat classifier for Tiny Tapeout.
ui_in[7:0] + uio_in[3:0].uio_in[4] (sample_en) feeds the sample into:
alarm only after 3 consecutive anomaly classifications (classes 1, 2, or 4). Classes 0 (Normal) and 3 (Fusion) clear the streak.| Class | Meaning | Typical stimulus |
|---|---|---|
| 0 | Normal | Gentle rising slope |
| 1 | Supra-ventricular | Gentle falling slope |
| 2 | Ventricular | Steep rising slope |
| 3 | Fusion | Steep falling slope |
| 4 | Unknown / noise | Zigzag / alternating edges |
From the test/ directory:
pip install -r requirements.txt
make -B
The cocotb suite checks:
test/data/mitbih_100_excerpt.csv into the ADC pins,
requires several diag_valid detections, and logs a class histogram plus optional
annotation agreement (informational; not a hard accuracy gate)See test/data/README.md for PhysioNet citation and scaling.
On hardware / FPGA:
sample_en pulses.uo_out[2:0] when uo_out[3] (diag_valid) pulses.uo_out[4] (alarm) after three consecutive anomaly beats.uio[4]. Setup and test: USER_MANUAL.md §4.heart_monitor_adc_art_ttsky26c (12-bit ~500 SPS + decorative met4 art; electrically same as the pristine ADC); wire per its docs/INTEGRATION.md.uo[4] for the anomaly alarm.| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | adc[0] | class[0] | adc[8] |
| 1 | adc[1] | class[1] | adc[9] |
| 2 | adc[2] | class[2] | adc[10] |
| 3 | adc[3] | diag_valid | adc[11] |
| 4 | adc[4] | alarm | sample_en |
| 5 | adc[5] | ||
| 6 | adc[6] | ||
| 7 | adc[7] |