655 Tiny32 RV32IM Zephyr-target SoC

655 : Tiny32 RV32IM Zephyr-target SoC

Design render

Tiny32 RV32IM SoC

Features

  • Multicycle RV32I CPU with iterative RV32M operations
  • Zicsr, Zifencei, and Machine mode
  • 8 MiB read-only memory-mapped SPI flash at 0x2000_0000
  • 8 MiB SPI/quad-I/O PSRAM at 0x8000_0000
  • One-word instruction buffer
  • Replaceable software stage-1 loader with image bounds checks and CRC32
  • Single-hart CLINT-compatible timer/software interrupts
  • Compact 8-source, single-hart PLIC-compatible interrupt controller
  • GPIO and pin multiplexing, UART, Timer 0, CLINT and PLIC

Compile-time options

Optional peripherals are removed by synthesis when their parameter is zero. The submitted configuration in src/project.v starts with all of these options disabled:

Parameter Allowed values Submitted value
ENABLE_M 0 or 1 1
ENABLE_A 0 or 1 0
ENABLE_U 0 or 1 0
ENABLE_COUNTERS 0 or 1 0
ENABLE_SPI 0 or 1 0
ENABLE_I2C 0 or 1 0
ENABLE_TIMER1 0 or 1 0
ENABLE_WATCHDOG 0 or 1 0
PWM_CHANNELS 0 through 5 0
ICACHE_WORDS 1, 2 or 4 1

Changing these values requires a new synthesis and GDS build; software cannot enable hardware that was compiled out.

CPU architecture

The CPU is an in-order, non-pipelined, single-issue multicycle implementation. Only one memory transaction is in flight. RV32M multiplication and division are iterative to reduce area.

Item Implementation
XLEN 32 bits
Base ISA RV32I
Multiply/divide RV32M, iterative
Atomics Not implemented in the tapeout configuration
Privilege Machine mode
CSRs Machine trap/interrupt CSRs, misa, and time
Instruction coherency FENCE.I invalidates the prefetch line
Reset vector 0x2000_0000
Pipeline/MMU/PMP None

Boot and external memory

After reset, hardware initializes the PSRAM interface and then releases the CPU at the SPI-flash reset vector. A small stage-1 program executes in place from flash, validates the image header, copies the payload to PSRAM, verifies CRC32 and PSRAM readback, executes FENCE.I, and jumps to the payload entry point.

This keeps image policy in replaceable software rather than fixed boot gates. It is suitable for a Zephyr payload and leaves room for a future specialized no-MMU Linux loader without changing the RTL.

Flash layout
Flash offset Contents
0x000000 Stage-1 executable, maximum 64 KiB
0x010000 32-byte version-2 image header
0x010020 Application payload

The header contains eight little-endian 32-bit words:

Header offset Field Meaning
0x00 Magic 0x32335454 (TT32)
0x04 Version 2
0x08 Load address Address inside PSRAM
0x0C Entry point Four-byte aligned and inside the payload
0x10 Image size Nonzero payload length in bytes
0x14 CRC32 IEEE CRC32; zero disables the check
0x18 Payload offset Normally 0x00010020
0x1C Flags Reserved; zero

Stage 1 uses the final 8 KiB of PSRAM (0x807FE000..0x807FFFFF) as temporary stack space. The packager rejects payloads that overlap it. The application may reclaim that memory after stage 1 transfers control.

PSRAM wire protocol

The controller leaves APS6404L-class memory in SPI mode. It sends the 38h quad-write or EBh quad-read command serially on SD0, sends the 24-bit address over all four data pins, inserts six dummy clocks for reads, and transfers data four bits at a time. SCK idles high. Requests use a level req_valid/req_ready handshake.

Tiny Tapeout pinout

All external devices must use the Tiny Tapeout I/O voltage for the selected shuttle. Do not apply 5 V to any chip or external memory signal.

Pin Function at reset Alternate function
ui[0] Flash MISO
ui[1] GPIO input
ui[2:6] GPIO inputs
ui[7] UART RX GPIO input
uo[0] Flash CS#
uo[1] Flash MOSI
uo[2] Flash SCK
uo[3] UART TX GPIO
uo[4] GPIO
uo[5] GPIO
uo[6] GPIO
uo[7] GPIO
uio[0] PSRAM CS#
uio[1] PSRAM SCK
uio[2] PSRAM SD0
uio[3] PSRAM SD1
uio[4] PSRAM SD2
uio[5] PSRAM SD3
uio[6] GPIO
uio[7] GPIO

The external flash requires CS#, MOSI, MISO, SCK, power, ground, local bypass capacitance, and inactive WP#/HOLD# pins. The PSRAM requires CS#, SCK, SD0–SD3, power, ground, and local bypass capacitance. Keep serial-memory wiring short.

Clock and reset

clk is configured for 25 MHz. rst_n is active-low at the module boundary. ena is guaranteed high while the design is selected and is not used functionally. Every Tiny Tapeout output is driven by the SoC wrapper. The CPU remains reset until PSRAM initialization completes.

Address map

Address range Function
0x0200_0000..0x0200_FFFF CLINT-compatible block
0x0C00_0000..0x0C3F_FFFF PLIC-compatible block
0x1000_0000..0x1000_0FFF System information
0x1000_1000..0x1000_1FFF GPIO and pin mux
0x1000_2000..0x1000_2FFF UART
0x1000_3000..0x1000_3FFF Optional SPI master; zero when disabled
0x1000_4000..0x1000_4FFF Optional I2C master; zero when disabled
0x1000_5000..0x1000_5FFF Optional PWM; zero when disabled
0x1000_6000..0x1000_60FF Timer 0
0x1000_6100..0x1000_61FF Optional Timer 1; zero when disabled
0x1000_7000..0x1000_7FFF Optional watchdog; zero when disabled
0x2000_0000..0x207F_FFFF 8 MiB read-only SPI flash window
0x8000_0000..0x807F_FFFF 8 MiB read/write PSRAM

Registers are 32-bit little-endian. Use aligned accesses unless stated.

Register reference

System information — 0x1000_0000
Offset Name Description
0x00 ID 0x53323354
0x04 CLOCK_HZ Implemented clock frequency
0x08 FEATURES 0x00000011: M enabled and one cache word
0x0C BOOT_STATUS Low byte writable by stage 1
0x10 RESET_VECTOR Normally 0x20000000
0x14 RAM_BYTES 0x00800000
0x18 FLASH_BYTES 0x00800000

Boot status values: 01 initializing PSRAM, 02 executing stage 1, 10 copying, 20 checking source CRC, 30 checking PSRAM readback, 80 success, and E1..EF error.

CLINT — 0x0200_0000
Offset Register
0x0000 MSIP hart 0
0x4000 MTIMECMP low
0x4004 MTIMECMP high
0xBFF8 MTIME low
0xBFFC MTIME high
PLIC — 0x0C00_0000

The block implements 8 priorities, pending bits, Machine-mode enables, threshold, and claim/complete registers at standard PLIC offsets. Interrupt IDs are: 1 UART, 2 optional SPI, 3 optional I2C, 4 GPIO, 5 Timer 0, 6 optional Timer 1 and 7 optional watchdog; ID 8 is reserved. Disabled sources remain inactive. Claimed level sources are held in service until completion.

GPIO and pin mux — 0x1000_1000
Offset Register
0x00 UI_IN
0x04 UO_GPIO_OUT
0x08 UIO_IN
0x0C UIO_GPIO_OUT
0x10 UIO_GPIO_OE
0x14 PINMUX_UO, two bits per uo[3]..uo[7]
0x18 PINMUX_UIO, I2C select for uio[6:7]
0x20 IRQ_RISE, [7:0]=ui, [15:8]=uio
0x24 IRQ_FALL
0x28 IRQ_PENDING, write one to clear

Pin-mux value 0 selects GPIO. Value 1 selects UART on uo[3]. Optional SPI and PWM selections only operate when those blocks are enabled before synthesis. UART TX is selected on uo[3] after reset for an early console.

UART — 0x1000_2000
Offset Register Description
0x00 DATA Write TX; read RX and clear valid
0x04 STATUS bit 0 TX-ready, bit 1 RX-valid, bit 2 overrun
0x08 CTRL bit 0 RX IRQ, bit 1 TX-ready IRQ, write bit 2 to clear overrun
0x0C DIV System clocks per serial bit

The UART is 8-N-1 and has one byte of RX storage.

SPI — 0x1000_3000

This block is disabled in the submitted configuration. Enable ENABLE_SPI before synthesis to include it.

Offset Register Description
0x00 DATA Start transfer / read received byte
0x04 STATUS bit 0 ready, bit 1 done
0x08 CTRL CPOL, CPHA, LSB-first, IRQ enable; bit 7 clears done
0x0C DIV SCK half-period in clocks
0x10 CS bit 0 controls CS# assertion
I2C — 0x1000_4000

This block is disabled in the submitted configuration. Enable ENABLE_I2C before synthesis to include it.

Offset Register Description
0x00 PRESCALE SCL timing
0x04 CTRL enable and IRQ enable
0x08 TXRX transmit / receive byte
0x0C CMD_STATUS START, STOP, READ, WRITE, ACK and status bits

SCL and SDA are open-drain and require external pull-ups. Clock stretching is observed on SCL.

PWM — 0x1000_5000

This block is disabled in the submitted configuration. Set PWM_CHANNELS from 1 through 5 before synthesis to include the requested number of channels.

Offset Register
0x00 Common 16-bit PERIOD
0x04 Global enable bit 0 and channel enables bits 5:1
0x10..0x20 DUTY0..DUTY4
Timers — 0x1000_6000, 0x1000_6100

Timer 0 is always included. Timer 1 is disabled in the submitted configuration and is controlled by ENABLE_TIMER1.

Offset Register Description
0x00 LOAD Reload value
0x04 VALUE Current counter
0x08 CTRL enable, periodic, IRQ enable
0x0C STATUS pending; write one to clear
Watchdog — 0x1000_7000

This block is disabled in the submitted configuration. Enable ENABLE_WATCHDOG before synthesis to include it.

Offset Register Description
0x00 RELOAD Reload value
0x04 VALUE Current counter
0x08 CTRL enable, IRQ enable, reset enable
0x0C FEED Write 0x51F15EED
0x10 STATUS expired

IO

#InputOutputBidirectional
0flash_misoflash_cs_nram_cs_n
1gpio_in1flash_mosiram_sck
2gpio_in2flash_sckram_sd0
3gpio_in3gpio_out3 / uart_txram_sd1
4gpio_in4gpio_out4ram_sd2
5gpio_in5gpio_out5ram_sd3
6gpio_in6gpio_out6gpio_io6
7gpio_in7 / uart_rxgpio_out7gpio_io7

Chip location

Controller Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Analog Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Analog Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux tt_um_chip_rom (Chip ROM) tt_um_factory_test (Tiny Tapeout Factory Test) tt_um_teuscher_eml_fabric (EML Fabric — analog exp/ln compute cells) tt_um_wokwi_465656663515438081 (Convert binary to hex on 7 segments) tt_um_nikita_face_detect (FPGA Face Detection) tt_um_obstacle_avoider (Obstacle Avoider State Machine) tt_um_poket_animal (Poket Animal) tt_um_drewbabel_uart (Configurable FIFO-buffered UART with APB CSR) tt_um_wokwi_469163916296039425 (TT Workshop Test) tt_um_jonahsaunders_slsvga (tt_um_jonahsaunders_slsvga) tt_um_fatigue_monitor (Fatigue Monitor (PPG Pulse-Interval Variability)) tt_um_vedam_dual_port_ram (Dual Port RAM) tt_um_wokwi_469739097665887233 (Tiny Tapeout Template Copy) tt_um_spdif_to_i2s_kilpelaj (S/PDIF to I2S receiver) tt_um_morse_converter (ASCII to Morse Code Converter) tt_um_wokwi_469806914724000769 (Spin, Text and VGA) tt_um_wokwi_469701770572338177 (TinyTapeout) tt_um_garnetkoebel_communotron (Communotron) tt_um_wokwi_469449970323169281 (full adder) tt_um_duzabf_2026_ow (A WIP Online Workshop 2026 project) tt_um_wokwi_469807513638180865 (Tiny Tapeout NAK) tt_um_ttsky26c_oguz (ttsky26c-202607-mehmetoguzderin by Oguz) tt_um_kashif_fp4_sparse_tpu (FP4 Sparse Mini-TPU) tt_um_moein_maleki_arm16 (arm16) tt_um_wokwi_469453454643027969 (ON Check System) tt_um_felixcheng_neural_core (Neural Compute Core (V0.15)) tt_um_wokwi_469788774011248641 (Spin Display - select-reset-reverse) tt_um_wokwi_469449443070765057 (Samuel's first chip) tt_um_wokwi_469449007236383745 (testinttrsv01) tt_um_vga_ca (VGA cellular Automaton) tt_um_dosci_500hz (Digital Oscillator 500 Hz) tt_um_wokwi_469747443569078273 (XOR test project - Tiny Tapeout workshop) tt_um_wokwi_469585758593419265 (spinner) tt_um_fp16_mac (FP32 Math Unit) tt_um_1DC_vga_dyoa (VGA Design Your Own ASIC) tt_um_haydenevans_top (Systolic Processing Element) tt_um_wokwi_469806252715961345 (TT_Proj_SA) tt_um_wokwi_469448996577604609 (Tiny Tapeout - Reto) tt_um_ehofmannbr_pmodvga_06 (VGA Color Tiles) tt_um_lfglabs_lsc1u (leanSilicon LSC-1 Micro arithmetic kernel) tt_um_wokwi_469804280240495617 (Zetterling SRAM) tt_um_wokwi_469806066852696065 (TileTestchase) tt_um_wokwi_469449118072978433 (binary_add_v1) tt_um_voltage_amplifier_neuron (Voltage Amplfier Neuron) tt_um_wokwi_469449686545956865 (Tiny Tapeout Template Copy_JinoShiono) tt_um_wokwi_469448887171240961 (Tiny Tapeout - Mini CORDIC) tt_um_wokwi_469809033878555649 (Tiny Tapeout Yummy Chip - bgianfo) tt_um_sirajmuhammad_bpsk_mod (BPSK Baseband Modulator) tt_um_K_coder_9 (TENs device frequency controller) tt_um_wokwi_469758119198926849 (LL_6BitShiftRegister_ToggleEnabledFeedback) tt_um_Asaadkhex_6x6u (6x6 UART Bussbar Switch) tt_um_wokwi_469809198944364545 (tt8-8bit-cpu Copy) tt_um_wokwi_469710279607305217 (Tiny Tapeout Submission KL - SiliDize) tt_um_wokwi_469629799092815873 (2:1 Mux with differential outputs) tt_um_poundbrad_reciprocal_counter (Two-Channel Reciprocal Counter) tt_um_joonatanalanampa_cordic (CORDIC-1) tt_um_x4ntha_nova (Data General Nova 1200 CPU) tt_um_quick_bus (quick_bus) tt_um_wokwi_470058539448408065 (Nigel's Tiny Tapeout Project) tt_um_wokwi_470058244557293569 (Tiny Tapeout Kabisan) tt_um_wokwi_470058241869790209 (Abdi's desgin) tt_um_wokwi_470060107756808193 (Sukhraj Deol's Chip) tt_um_wokwi_470058578588614657 (The Chip of Master George Stead) tt_um_wokwi_470069286344622081 (Tiny Tapeout ISHA) tt_um_ucl_display (Flashing... lights) tt_um_wokwi_470058746279043073 (Arihant's first Wokwi design) tt_um_wokwi_470060103260512257 (Tiny Tapeout Jabriel Copy) tt_um_wokwi_470069460157662209 (haadi's tiny tapeout) tt_um_wokwi_470058418706939905 (Kitty) tt_um_wokwi_470058490118136833 (Iris) tt_um_wokwi_470060098828179457 (Temz_ tiny tapeout) tt_um_wokwi_470058023187099649 (Osman WOKWI project 1) tt_um_wokwi_470057988621827073 (Viraj Tiny Template Full Adder TEST) tt_um_wokwi_470069802034377729 (Tiny Tapeout Template Copy) tt_um_wokwi_470070136685362177 (full adder) tt_um_wokwi_470070449402211329 (Anastasia Copy (2)) tt_um_wokwi_470059864883484673 (Keyaan’s first Wokwi design) tt_um_wokwi_470071200164912129 (full adder tiny tapeout Copy) tt_um_wokwi_470060671178857473 (SBUSixth First Chip Design Mentored by Tiny Tapeout) tt_um_wokwi_470099562753182721 (Isaac Tiny Tapeout) tt_um_wokwi_470120538476737537 (efwz8voices) tt_um_lelo_gr01_analogicus (LELO-GR01) tt_um_lelo_gr04_analogicus (LELO-GR04) tt_um_lelo_gr02_analogicus (LELO-GR02) tt_um_pump_out (60 Hz RMS Pump-Out Controller) tt_um_urish_simon (Simon Says memory game) tt_um_lelo_gr03_analogicus (LELO-GR03) tt_um_wokwi_470299374901578753 (Shrimp) tt_um_vga_clock (VGA clock) tt_um_frequency_counter (Frequency counter) tt_um_z2a_rgb_mixer (RGB Mixer demo) tt_um_mattvenn_r2r_dac_3v3 (Analog 8 bit 3.3v R2R DAC) tt_um_rebeccargb_universal_decoder (Universal Binary to Segment Decoder) tt_um_rebeccargb_hardware_utf8 (Hardware UTF Encoder/Decoder) tt_um_rebeccargb_intercal_alu (INTERCAL ALU) tt_um_rebeccargb_vga_pride (VGA Pride) tt_um_ogggggish_ota_ldo (SSF Capless LDO) tt_um_hariri4534_audioplayback (audioplayback) tt_um_wokwi_470637150792846337 (Joni - Tiny Tapeout Teardown2026 Workshop) tt_um_wokwi_470635013242210305 (Tom's first Wokwi design) tt_um_wokwi_470635780983408641 (Tiny Tapeout-AyeshaTeardown26) tt_um_wokwi_470639152626282497 (KeKoaM Tiny Tapeout) tt_um_wokwi_470637073520124929 (Tiny Tapeout workshop) tt_um_toby43479_iox (IO Expander with PWM) tt_um_wokwi_470635764113915905 (Divider Demo) tt_um_wokwi_470635580461052929 (Mann-teardown-project) tt_um_wokwi_470639672984256513 (KCs 001 TinyTapeout Design) tt_um_wokwi_470635507665754113 (Tiny Tapeout Template Copy) tt_um_wokwi_470637047364443137 (Pixel-Curio-Chip) tt_um_terihear_tinytearout (TinyTearout) tt_um_wokwi_470643025042834433 (TT 2026) tt_um_wokwi_470637360757626881 (Tiny Tapeout Template Copy) tt_um_wokwi_470635627278929921 (Tiny Tapeout Workshop) tt_um_wokwi_474471160110403585 (Cylon-Scanner) tt_um_wokwi_470646659230201857 (bloopbloop) tt_um_pthomas_sigma_delta (Continuous-Time Sigma-Delta ADC (1st order)) tt_um_sky_tpu_3x3 (Sky TPU 3x3) tt_um_tpcannon7_fir (tinyfir) tt_um_bruniliomuy_top (Fir_Filter) tt_um_semiqa_diff_opamp (Diff-In-Diff-Out-OpAmp) tt_um_TinyProcessor_naiyar_ (TinyProcessor) tt_um_CCDmos3D (ADC for CCDmos3D pixel) tt_um_snn_lif_neuron (snn_lif_neurons) tt_um_galaguna_NanoSys_fit (Nano-120_CPU@ler.uam.mx) tt_um_rowles_regime (Single-Bit Macro Regime Classifier) tt_um_rowles_fedmodel (The Fed Model (F1/F2)) tt_um_sky26c (tt_sky26c) tt_um_aka_regfile_ecc (regfile_ecc) tt_um_fwilson12_mac (int8 MAC) tt_um_davidbroughsmyth_ecg_sar12 (heart_monitor_adc_art) tt_um_foxworks_picorv32 (TCD Foxworks PicoRV32) tt_um_saltworks_ndf_c32 (Neural dataflow fabric — bit-serial MAC cells on a self-routing switch) tt_um_yjeum11 (DTMF (Touch-Tone) decoder) tt_um_vedic_mult (4-bit Vedic Multiplier) tt_um_atx_phased_interferometer (Acoustic Interferometer) tt_um_tilesos_dual_adc (Dual-Path Noise-Shaping ADC) tt_um_darga_cirom (Darga CiROM digital read + ternary MAC) tt_um_azara_cirom (Azara CiROM ternary read) tt_um_spi_reg_bank (8-bit Modified RISC-V) tt_um_aialaqili_updown_counter (4-bit Up/Down Counter) tt_um_noahzperez29_riscv_core (Noah RISC-V Core) tt_um_fp8_fpu (FP8 (E4M3) Floating-Point Unit) tt_um_costinemanuelv_gps_daily_trigger (GPS Daily Trigger) tt_um_ja_achtung_1x1 (JA Achtung Compact) tt_um_ja_achtung_1x2 (JA Achtung Full) tt_um_pwm_spice (spice-pwm-tapeout) tt_um_wecallemjazzyfact_bgr_ldo (BGR + LDO 3.3V/1.8V Integrated IP) tt_um_lelo_temp_wulffern (LELO-TEMP) tt_um_wokwi_472389622799861761 (3-Bit 101 Pattern Detector) tt_um_LnL_SoC (Lab and Lectures SoC) tt_um_dash_lucas_risc (risc_processor) tt_um_serdes_ephotonics (UCIe-style SERDES with analog TX driver & RX slicer) tt_um_joram200 (Kalman Filter Hardware Accelerator) tt_um_colbywonn_poly_synth (Poly Synth v1.0) tt_um_nobleg30_uart_vga_scroller (UART VGA Text Scroller) tt_um_multi_precision_mult (Multi-Precision Multiplier) tt_um_pratibha_munnangi_qkt_mac (QKT MAC Accelerator) tt_um_akankaan_bf16_fma (BF16 Fused Multiply-Add (FMA)) tt_um_rtfce (RTFCE - Reconfigurable Temporal Fault/Constraint Engine) tt_um_hdc_classifier (HDC Classifier) tt_um_preethi8a_adaptive_lfsr_prng (Self-Seeding Adaptive 16-bit Galois LFSR PRNG) tt_um_dilip951_cpu_systolic_array (Reconfigurable mixed-precision 2x2 systolic MAC array) tt_um_pqc_ntt_bfly (Crypto-Agile NTT Butterfly (ML-KEM / ML-DSA / FN-DSA)) tt_um_mlkem_coefficient_integrity (Fault-Aware Constant-Time FO Backend for ML-KEM) tt_um_vital_ap (VITAL-AP: Adaptive Pixel Register) tt_um_olaf8 (OLAF-8: Bounded-Memory Online Adaptive Fuzzy Inference) tt_um_Median_MAD (Streaming Median-MAD Estimator) tt_um_tnt_mosbius (tnt's variant of SKY130 mini-MOSbius) tt_um_undip_ann_q610 (UNDIP ANN Accelerator (SPI + bring-up self-test)) tt_um_cpu8 (CPU8) tt_um_vaishnavipatil5_configurable_cam (Configurable CAM with Masked Pattern Matching and Priority Resolution) tt_um_gina_env_monitor (Environmental Mapping Processor) tt_um_manasvibhat_bloom_filter (Bloom Filter Membership Tester) tt_um_amazing_sage_snn (LIF Neuron SNN) tt_um_nkanderson_lut_snn (LUT Spiking Network Classifier) tt_um_bigmanraffa_clm (Clementine: 4-lane int8 SIMT GPU) tt_um_adityarprasad_fft (Adaptive-Precision FFT) tt_um_oscillating_bones (Oscillating Bones) tt_um_silicon_edge_ns_sar_adc (NS SAR ADC) tt_um_sishi888_tinymind (TinyMind SoC) tt_um_afra_123_ecc_memory (Runtime-Reconfigurable ECC Memory) tt_um_kenchangh_mnist (MNIST Digit Recognition) tt_um_ece298a_8_bit_cpu_top (8-Bit CPU) tt_um_libormiller_SIMON_V2 (SIMON V2) tt_um_WaiMingLee888_nanov_1tile (NanoV RV32E one-tile RISC-V processor) tt_um_four_bit_nn_accel (4-bit Neural Network Accelerator) tt_um_rsa_simple (RSA Simple Encryptor) tt_um_synapticrw_lif_neuron (LIF Neuron (SynapticRW Teardown 2026)) tt_um_smunigan_ipv4_filter (IPv4 Header Filter) tt_um_jjy_spi_watchdog (SPI-Configurable Watchdog Timer) tt_um_osian_beam_controller (Programmable Metasurface Beam Controller) tt_um_namramazhar_popcnt_shiftreg (17-bit Wallace-tree POPCNT with shift-register input) tt_um_obookstay_puf (An arbiter PUF) tt_um_arminkardovic_montenegro_securekey (Montenegro SecureKey) tt_um_rcyaon_droop (All-Digital Supply Droop Detector) tt_um_ctw_spms (CTW-SPMS — Programmable Smart Power Management & Supervisor) tt_um_taiwoopesade_tempo_detector_sky26c (Hardware Audio Tempo Detector) tt_um_wokwi_470059878406973441 (Ehan's first TinyTapeout Project) tt_um_wokwi_470637170309995521 (My First Wokwi Thing!) tt_um_wokwi_470637401137246209 (Teardown Tiny Tapeout) tt_um_wokwi_469443433165025281 (Tiny Tapeout First Design Beth Plummer) tt_um_wokwi_472423526521678849 (4-bit to 5x7 Matrix Decoder for Tiny Tapeout) tt_um_wokwi_470057961258181633 (Tiny Tapeout Template Kavana) tt_um_wokwi_470057993933917185 (ivane- Tiny Tapeout (full adder)) tt_um_wokwi_470088776251343873 (training_project_kaylem) tt_um_neuropong (NeuroPong) tt_um_tamagotchi (TamaGotThis) tt_um_group02_seethebeat (SeeTheBeat) tt_um_kul_chromechain (Chrome Chain) tt_um_baked_weights (Baked-Weights Shakespeare GPT) tt_um_gilangfajrul_sar_adc (sar-adc) tt_um_Logy_FMAC (FMAC) tt_um_porkfreezer_rrio_opamp (RRIO Op-amp) tt_um_diff_engine (DSLX finite_difference) tt_um_dragonochi (WISH) tt_um_siliconsonics (ultrasonic sonar: range and bearing) tt_um_kul_conway (Interactive Conway's Game of Life) tt_um_algofoogle_ttsky26c_analog (Assorted analog in 1 tile) tt_um_mariavictoriaalm_qubit_sim ( tt-2qubit-sim) tt_um_andre_dpe (Dot product engine) tt_um_rmranjitkarNULL_pong_top (last_minute_Pong) tt_um_SAR_ADC (CTW LDO and Dynamic Comparator) tt_um_fabulous_sky_26c (Tiny FABulous FPGA) tt_um_tomvdsch_tiny32_soc (Tiny32 RV32IMA Zephyr-target SoC) tt_um_np523_pong (Pong) tt_um_usfq_adc_procmon (USFQ 8-bit Tracking ADC and Process Variation Monitor) tt_um_rangfuu_alu (Tiny ALU PD) tt_um_wokwi_473800139156677633 (Tiny Snake with PRISM 8) tt_um_mini_nn (Four-MAC Core Neural Network Inference Engine) tt_um_kianv_rv32_regfile (KianV uLinux RISC-V regfile edition) tt_um_2048_vga_game (2048 sliding tile puzzle game (VGA)) tt_um_urish_rings (VGA Rings) tt_um_silicon_art_vga_screensaver (VGA Screensaver with Silicon Art ROM) tt_um_rom_vga_screensaver (VGA Screensaver with embedded bitmap ROM) tt_um_krisjdev_manchester_baby (Manchester Baby) tt_um_urish_sic1 (SIC-1 8-bit SUBLEQ Single Instruction Computer) tt_um_ThomasCowieEngineering_LMC (Little Man Computer CPU) tt_um_pranavUl_ascon_aead128 (Ascon bit-serial permutation engine) tt_um_orca (ORCA — Online Reconfigurable Circuit with Adaptation) tt_um_krisjdev_artwork (Silicon Artwork) tt_um_htfab_caterpillar (Simon's Caterpillar) tt_um_htfab_vga_tester (Video mode tester) Available Available Available Available Available Available Available Available Available Available