
The Hey FlexCompute-130 is a hybrid computational accelerator designed for the Tiny Tapeout 1x1 tile. It combines two powerful mathematical engines in a single design: a resource-optimized INT8 Neural Processing Unit (NPU) and a 12-bit CORDIC Processor.
To fit within the strict ~1,000 gate limit, the NPU uses a Folded MAC Architecture.
A bit-iterative hardware engine that computes complex functions using only shifts and additions.
Q2.10 fixed-point format (1 sign, 1 integer, 10 fractional bits).atan_lut for rotation angles.The chip's behavior is controlled by the Mode Pins (uio[7:6]).
| Pin | Function | Mode dependency |
|---|---|---|
uio[7:6] |
Mode Select | 00=NPU, 01=Circular, 10=Hyperbolic, 11=Atan |
uio[4] |
Byte Select | 0=Output Low Byte [7:0], 1=Output High Byte [15:8] |
uio[3] |
Selector / Reset | NPU: Clear Acc. CORDIC: 0=X (Cos), 1=Y (Sin) |
uio[5] |
Done Pulse | Pulses high when a calculation is finished |
uio[3] high to reset the accumulator.ui_in.uio[0]=SCLK, uio[1]=MOSI, uio[2]=CS).uio[4] to read the 16-bit result from uo_out.uio[7:6] to 01 (Sin/Cos) or 10 (Sinh/Cosh).ui_in (Scale: $1.0 \text{ rad} \approx 128$ in decimal).uio[5] pulse (approx 12-15 cycles).uio[3] = 0 for Cosine / Cosh.uio[3] = 1 for Sine / Sinh.uio[4] to read the 16-bit result in two bytes.| Port | Pin | Name | Description |
|---|---|---|---|
| Input | ui[7:0] |
data_in |
8-bit Data/Angle Input |
| Output | uo[7:0] |
acc_out |
8-bit Multiplexed Output |
| Bidirectional | uio[0] |
sclk |
SPI Clock |
uio[1] |
mosi |
SPI Data | |
uio[2] |
cs |
SPI Chip Select | |
uio[3] |
ctrl |
Reset Acc / Function Select | |
uio[4] |
sel |
Byte Selector (Low/High) | |
uio[5] |
done |
Done Flag | |
uio[7:6] |
mode |
Mode Selection |
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | data_in[0] | acc_out[0] | spi_sclk |
| 1 | data_in[1] | acc_out[1] | spi_mosi |
| 2 | data_in[2] | acc_out[2] | spi_cs |
| 3 | data_in[3] | acc_out[3] | reset_acc |
| 4 | data_in[4] | acc_out[4] | byte_sel |
| 5 | data_in[5] | acc_out[5] | layer_done |
| 6 | data_in[6] | acc_out[6] | Active Mode[0] |
| 7 | data_in[7] | acc_out[7] | Active Mode[1] |