652 CORA-16

652 : CORA-16

Design render

Couch's One-Register Accumulator machine, 16-bit width.

How it works

One register should be enough for anybody. Well, there's also the program counter, status flags, stack pointer, data pointer, but who's counting?

External SPI memory is used for a simple instruction fetch/execute cycle. High-bandwidth I/O is provided through a full byte-width input and output bus. The machine allows single-stepping through execution to aid debugging.

Pin | Function ----+--------- step | Set high for a clock cycle to step, hold high to run. busy | When high, the machine is currently working on an instruction. halt | When high, the machine has halted execution. trap | When halt is low and trap is high, the machine has trapped. Step once to attempt recovery (success depends significantly on context). | Note: when both halt and trap are high, the machine has experienced an irrecoverable fault, please reset. in[7:0] | General-purpose byte input. Use as data source IN for any one-argument instruction. out[7:0] | General-purpose byte output. Set with the OUT instruction.

How to test

  1. Load the program to run into the external SPI RAM.
  2. Reset the CPU.
  3. Raise step high for a clock for each instruction to step.
  4. Hold step high to run free (you are advised to handle trap).
  5. Observe busy, halt and trap for the module status.

External hardware

The module expects an SPI RAM attached to the relevant SPI pins. The onboard Raspberry Pi emulation should work just fine.

Instruction set

Status byte | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 ------------+---+---+---+---+---+---+---+-- | x | x | Else | x | x | Carry | Neg | Zero

Impact on the status flags is documented as:

  • -: No effect
  • 0: The flag is cleared to zero
  • 1: The flag is set to one
  • #: The flag is affected by the operation

One-byte instructions

Name | Bit Pattern | Description | Status -----+-------------+-------------+------- Nop | 0000 0000 | No operation | ---- ---- Halt | 0000 0001 | Halt machine | ---- ---- Trap | 0000 0010 | Trap execution | ---- ---- Drop | 0000 0011 | Drop a word from the stack | ---- ---- Push | 0000 0100 | Push a word to the stack | ---- ---- Pop | 0000 0101 | Pop a word from the stack to the accumulator | ---- ---- Return | 0000 0110 | Return to the address on top of the stack | ---- ---- Not | 0000 0111 | One's complement of the accumulator | ---- -1## Out Lo | 0000 1000 | Output the low byte of the accumulator | ---- ---- Out Hi | 0000 1001 | Output the high byte of the accumulator | ---- ---- Set DP | 0000 1010 | Set the data pointer value to the accumulator value | ---- ---- Test | 0000 1011 | Set the status flags based on the accumulator value | ---- --## Branch Indirect | 0000 1100 | Add the accumulator to the program counter | ---- ---- Call Indirect | 0000 1101 | Call the subroutine address in the accumulator | ---- ---- Status | 0001 0000 | Load the status flags into the accumulator | ---- ---- Load Indirect | 0100 01mm | Load a word from the address in the accumulator, using addressing mode m (bug: modes not supported) | ---- ----

Two-byte instructions

Name | Bit Pattern | Description | Status -----+-------------+-------------+------- Load | 1000 0sss vvvv vvvv | Load a value into the accumulator | ---- ---- Store | 1001 0sss vvvv vvvv | Store a value to memory | ---- ---- Add | 1000 1sss vvvv vvvv | Add a value to the accumulator | ---- -### Sub | 1001 1sss vvvv vvvv | Subtract a value from the accumulator | ---- -### And | 1010 0sss vvvv vvvv | Bitwise and a value with the accumulator | ---- --## Or | 1010 1sss vvvv vvvv | Bitwise or a value with the accumulator | ---- --## Xor | 1011 0sss vvvv vvvv | Bitwise exclusive or a value with the accumulator | ---- --## Shift | 1011 1sss vvvv vvvv | Shift the accumulator (see note below on direction) | ---- -### Branch | 1100 0pp pppp pppp | Add the offset p to the program counter | ---- ---- Call | 1101 0pp pppp pppp | Call the subroutine at address p | ---- ---- If | 1111 000 0000 cccc | Skip the following instruction if the condition doesn't hold | ---- ----

Many of these instructions specify a source type s and value v. These are the options:

Source Type | Bit Pattern | Interpretation ------------+-------------+--------------- Const Lo | 000 | Take the value v as the low byte of a constant Const Hi | 001 | Take the value v as the high byte of a constant Input Lo | 010 | Input the low byte, ignore the value v Input Hi | 011 | Input the high byte, ignore the value v Data Direct | 100 | Read a value from the address v (relative to the data pointer) Data Indirect | 101 | Read a pointer from the address v (relative to the data pointer), and load a value from that address Stack Direct | 110 | Read a value from the address v (relative to the stack pointer) Stack Indirect | 111 | Read a pointer from the address v (relative to the stack pointer), and load a value from that address

Note: the SHIFT instruction stashes the shift direction within this source field.

Source Type | Shift Bit | Source Limitation ------------+-----------+------------------ Constant | Lo/Hi | Only 8-bit constants supported Input | Lo/Hi | Only 8-bit inputs supported Memory | Addr[0] | Only aligned addresses supported (TODO: maybe require that everywhere??)

The following table lists the condition codes for the IF instruction.

Condition | Bit Pattern | Description ----------+-------------+------------ Zero | 0000 | Skip the next instruction if the Z bit is cleared Not Zero | 0001 | Skip the next instruction if the Z bit is set Else | 0010 | Skip the next instruction if the E bit is cleared Not Else | 0011 | Skip the next instruction if the E bit is set Neg | 0100 | Skip the next instruction if the N bit is cleared Not Neg | 0101 | Skip the next instruction if the N bit is set Carry | 0110 | Skip the next instruction if the C bit is cleared Not Carry | 0111 | Skip the next instruction if the C bit is set

Three-byte instructions

Name | Bit Pattern | Description | Status -----+-------------+-------------+------- Call Word | 0011 1110 wwww wwww wwww wwww | Call the subroutine at address w | ---- ---- Load Immediate Word | 0011 1111 wwww wwww wwww wwww | Set the accumulator to w | ---- ----

IO

#InputOutputBidirectional
0Data In 0Data Out 0SPI MOSI
1Data In 1Data Out 1SPI CS
2Data In 2Data Out 2SPI CLK
3Data In 3Data Out 3SPI MISO
4Data In 4Data Out 4Step
5Data In 5Data Out 5Busy
6Data In 6Data Out 6Halt
7Data In 7Data Out 7Trap

Chip location

Controller Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Mux Analog Mux 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 (TinyTapeout Factory Test) tt_um_led_matrix_ayla_lin (32x8 LED Matrix Animation) tt_um_urish_charge_pump (Dickson Charge Pump) tt_um_rebeccargb_tt09ball_screensaver (TT09Ball VGA Screensaver) tt_um_urish_simon (Simon Says memory game) tt_um_rebeccargb_tt09ball_gdsart (TT09Ball GDS Art) tt_um_rebeccargb_vga_pride (VGA Pride) tt_um_levenshtein (Fuzzy Search Engine) tt_um_rebeccargb_colorbars (Color Bars) tt_um_jamesrosssharp_1bitam (1bit_am_sdr) tt_um_mattvenn_double_inverter (Analog double inverter) tt_um_htfab_hybrid (Telephone hybrid) tt_um_mattvenn_analog_ring_osc (Ring Oscillators) tt_um_brandonramos_opamp_ladder (2-bit Flash ADC) tt_um_wokwi_411783629732984833 (BINCounterAndGates) tt_um_rebeccargb_hardware_utf8 (Hardware UTF Encoder/Decoder) tt_um_patdeegan_anamux (Analog MUX module) tt_um_MichaelBell_hs_mul (8b10b decoder and multiplier) tt_um_rebeccargb_styler (Styler) tt_um_rebeccargb_vga_timing_experiments (VGA Timing Experiments) tt_um_rebeccargb_universal_decoder (Universal Binary to Segment Decoder) tt_um_rebeccargb_intercal_alu (INTERCAL ALU) tt_um_toivoh_pio_ram_emu_example (pio-ram-emulator example: Julia fractal) tt_um_2048_vga_game (2048 sliding tile puzzle game (VGA)) tt_um_tobimckellar_top (Simple PWM Module) tt_um_JesusMinguillon_freqSweep (freqSweep) tt_um_led_cipher (LED Bitserial Cipher) tt_um_wokwi_412367067047460865 (achasen workshop validation) tt_um_wokwi_412635532198550529 (tt09-pettit-wokproc-trainer) tt_um_my_elevator (Elevator Design) tt_um_wokwi_413387014781302785 (L display) tt_um_wokwi_413387348132056065 (S-R latch) tt_um_wokwi_413387032609197057 (Gabe's Big AND) tt_um_wokwi_413387015959903233 (Secret Code) tt_um_wokwi_413387076188030977 (joes-first-tiny-tapeout) tt_um_wokwi_413387481972305921 (Abey's 1st Chip Design) tt_um_wokwi_413391266378724353 (patrick's project) tt_um_wokwi_413387120998931457 (Shadoff Test) tt_um_wokwi_413387462882977793 (Tiny Tapeout Take 2) tt_um_wokwi_413387224567846913 (Speller) tt_um_wokwi_413387065339458561 (APA102 to WS2812 Translator) tt_um_wokwi_413387064715554817 (RAYS FIRST TAPEOUT rev 2) tt_um_wokwi_413387352465821697 (6 Bit shift register) tt_um_wokwi_413385294512575489 (Duffy) tt_um_wokwi_413387190167208961 (Will It NAND?) tt_um_wokwi_413386988538584065 (Bad Logic) tt_um_wokwi_413387186248679425 (Drew's First Wokwi Design) tt_um_wokwi_413387152803294209 (Pseudo Random Generator Using 2 Ring Oscillators) tt_um_wokwi_413387214966034433 (JonsFirstTapeout) tt_um_wokwi_413386991502909441 (SPI Logic Analyzer with Charlieplexed Display) tt_um_wokwi_413387122850717697 (And Gates that don't do much) tt_um_wokwi_413387009513254913 (SimplePattern) tt_um_wokwi_413387093939376129 (sphereinabox hello) tt_um_wokwi_413386973689694209 (Input Counter) tt_um_rburt16_opamp_3stage (OpAmp 3stage) tt_um_alf19185_ALU (4 bit ALU ) tt_um_rtfb_collatz (Collatz conjecture brute-forcer) tt_um_senolgulgonul (Senol Gulgonul tt09) tt_um_tnt_rom_test (TT09 SKU130 ROM Test) tt_um_tnt_rom_nolvt_test (TT09 SKY130 ROM Test (no LVT variant)) tt_um_Esteban_Oman_Mendoza_maze_2024_top (Space Detective Maze Explorer) tt_um_sebastienparadis_hamming_top (Hamming Code (7,4)) tt_um_couchand_analog_switch (Analog Switch) tt_um_prefix8 (tiny-tapeout-8bit-GPTPrefixCircuit) tt_um_lif_tk (LIF on a Ring Topology) tt_um_asheldon44_dsm_decimation_filter (Delta-Sigma ADC Decimation Filter) tt_um_juarez_jimenez (an lfsr with synaptic neurons (excitatory or inhibitatory)) tt_um_lif_clarencechan28 (Perceptron) tt_um_uart_mvm (Matmul System) tt_um_lif_sfiguerr (Adaptive Leaky Integrate and Fire Neuron) tt_um_algofoogle_tt09_ring_osc (Verilog ring oscillator) tt_um_pid_controller (PID Controller) tt_um_frequency_counter (Frequency Counter SSD1306 OLED) tt_um_delta_liafn (Delta RNN and Leaky Integrate-and-Fire Nueron Circuit) tt_um_devinatkin_basys3_uart (Basys 3 Over UART Link) tt_um_array_mult_structural_GnahsLliw (Array Multiplier) tt_um_array_mult_structural_sarahherrera (Array Multiplier) tt_um_a3_array_multiplier (Array multiplier) tt_um_a_4_array_multiplier (Array Multiplier) tt_um_secA_group5_array_multiplier (ECE-2204 4x4 Array Multiplier) tt_um_A_6_array_multiplier (ECE2204 4x4 Array Multiplier) tt_um_a_0_array_multiplier (Array Multiplier) tt_um_array_mult_structural (ece2204 project for tapeout) tt_um_m4rthaswur1d (4x4 array multiplier) tt_um_arry_mult_structural (4-bit-array-multiplier) tt_um_LabA_Group11 (Array_Multiplier) tt_um_pwm_top (Generador PWM multiproposito con frecuencia y ciclo de trabajo modulable) tt_um_lfsr_stevej (Linear Feedback Shift Register) tt_um_jamesrosssharp_tiny1bitam (Tiny 1-bit AM Radio) tt_um_instrumented_ring_oscillator (instrumented_ring_oscillator) tt_um_lif1 (STDP Circuit) tt_um_wokwi_413871526879619073 (4-1 mux) tt_um_wokwi_413872016164217857 (2bit adder) tt_um_alif (3 Neuron ALIF) tt_um_tiny_ternary_tapeout (T3 (Tiny Ternary Tapeout)) tt_um_snn_with_delays_paolaunisa (ChatGPT-generated Spiking Neural Network with Delays) tt_um_kmakise_sram (OpenRAM SRAM macro) tt_um_secA_11_nyancar_alanz23 (ece2204_4x4_mult) tt_um_arandomdev_fir_engine_top (FIREngine) tt_um_b_0_array_multiplier (Lab B Group 1 Array Multiplier) tt_um_b_2_array_multiplier (Array Multiplier) tt_um_b_6_array_multiplier (4x4 Array Multiplier) tt_um_multiplier (4x4 Array Multiplier) tt_um_b_12_array_multiplier (ECE2204 4x4 Array Multiplier) tt_um_wokwi_413686101237123073 (comparator) tt_um_B_14_array_multiplier (4x4 Array Multiplier) tt_um_secB_15_array_multiplier (Array Multiplier) tt_um_array_mult_joe_leighthardt (4 bit array multiplier) tt_um_carryskip_adder8 (8-bit carry-skip) tt_um_riscv_mini (RISC-V Mini) tt_um_CLA8 (8-bit Carry Look-Ahead Adder) tt_um_hybrid_adder (Hybrid_Adder_8bit) tt_um_C_1_4bit_multiplier (my_4bit_multiplier) tt_um_c_2_array_mult (4-bit-multiplier) tt_um_c7_array_mult (4-bit Multiplier) tt_um_4x4multiplier (4x4multiplier) tt_um_c13_array_mult (4-bit Multiplier) tt_um_arrayMultFajrSahana (4x4 Multiplier) tt_um_wokwi_413916532008126465 (tt09 kathyhtt ) tt_um_wokwi_413919522908184577 (TINY TAPE OUT) tt_um_wokwi_413923260134423553 (TinyTapeout1) tt_um_wokwi_413919531169918977 (FB GDS) tt_um_wokwi_413919794360480769 (Metastable Chip) tt_um_four_bit_multiplier_nasan016_npham2003 (4-bit Multiplier) tt_um_wokwi_413919484652961793 (halfadder+not) tt_um_wokwi_413918279810604033 (MuxLED) tt_um_wokwi_413919458626244609 (Jacks First Project) tt_um_wokwi_413919492911554561 (Half adder) tt_um_wokwi_413919972072132609 (Andrew Vo - Repository) tt_um_wokwi_413919970097662977 (Dipankar's first Wowki design) tt_um_wokwi_413923245817165825 (Hamad's design) tt_um_wokwi_413919502227108865 (Encoder) tt_um_wokwi_413923188546028545 (GDS) tt_um_wokwi_413920370058172417 (2 Bit Times 2 Bit Plus 4 Bit MAD and 5 Bit Binary to 7 Segment Display) tt_um_wokwi_413918244906651649 (Not Good BCD Decoder) tt_um_wokwi_413919507057902593 (tinytapeoutkr) tt_um_wokwi_413920096493033473 (My First ASIC) tt_um_wokwi_413921849611724801 (Yared Fente's Tiny Tapeout) tt_um_wokwi_413918243645213697 (Yohan Tiny Tapeout Project) tt_um_wokwi_413919889872144385 (Tiny Tapeout) tt_um_4x4_array_multiplier_NuKoP (4 x 4 array multiplier NuKoP) tt_um_wokwi_413920489444856833 (Samson's Tiny Tapout Project) tt_um_wokwi_413923702485727233 (tinytapeout) tt_um_wokwi_413919752282163201 (Trubick - Tiny Tapeout Logic Gate) tt_um_wokwi_413925554587918337 (D_flipflop_hold_test) tt_um_wokwi_413919500942601217 (Bit Counter) tt_um_wokwi_413919666547418113 (Full bit adder) tt_um_wokwi_413920825278643201 (Encoder) tt_um_wokwi_413919543420439553 (Big J's Big Circuit) tt_um_wokwi_413919927206703105 (AndLogicPass) tt_um_wokwi_413920640800531457 (Half Adder) tt_um_wokwi_413917903548951553 (Jordan) tt_um_wokwi_413919465666386945 (OR gate) tt_um_wokwi_413920442846133249 (TinyTapeOut) tt_um_wokwi_413920033033205761 (Tiny Tapeout-Huerta) tt_um_wokwi_413923202390383617 (Light LED) tt_um_wokwi_413923150973445121 (Zero to Nine Display Count) tt_um_wokwi_413919565287453697 (APTT) tt_um_wokwi_413919777312727041 (Tahiti) tt_um_wokwi_413920089540972545 (Secret Initial) tt_um_wokwi_413919675346023425 (GJAA Design) tt_um_wokwi_413919847886104577 (Logic Gates) tt_um_wokwi_413921288682183681 (My First TinyTapeout) tt_um_wokwi_413919524873217025 (1st) tt_um_wokwi_413919454053401601 (JCB First WOKWI Design) tt_um_wokwi_413923045171059713 (Logic Gates 7-Segment Display) tt_um_wokwi_413919767806333953 (BadeTP) tt_um_wokwi_413919428470231041 (Lynn's TinyTapeout Design) tt_um_wokwi_413929752291913729 (project) tt_um_wokwi_413923521595851777 (Nathan's chip) tt_um_wokwi_413920340558577665 (Light) tt_um_uart_mvm_sys (Matmul System) tt_um_wokwi_413407859783959553 (Redco) tt_um_wokwi_413849515516143617 (Two PFD) tt_um_wokwi_413919454138338305 (Letter H) tt_um_wokwi_413960876763056129 (Binary to 7 Segment Display Decoder) tt_um_MichaelBell_hd_8b10b (8b10b decoder and multiplier) tt_um_program_counter_top_level (Test Design 1) tt_um_murmann_group (Decimation Filter for Incremental and Regular Delta-Sigma Modulators) tt_um_adder_accumulator_sathworld (adder-accumulator) tt_um_control_block (8-Bit CPU) tt_um_LFSR_Encrypt (LFSR Encrypter) tt_um_cdc_test (SkyKing Demo) tt_um_two_lif_stdp (Two LIF Neurons with STDP Learning) tt_um_underserved (ITS-RISCV) tt_um_mbkmicdec_ringosc (Time_Domain_Comparator_ITS) tt_um_znah_vga_ca (znah_vga_ca) tt_um_tim2305_adc_dac (tt_um_tim2305_adc_dac) tt_um_mikegoelzer_7segmentbyte (7-Segment Byte Display) tt_um_idann (Forward Pass Network for Simple ANN) tt_um_micro_tiles_container (Micro tile container) tt_um__kwr_lfsr__top (Multi-LFSR) tt_um_wokwi_413923639862662145 (xor gate with registered output ) tt_um_carryskip_adder9 (carry skip adder) tt_um_mroblesh (Frequency Encoder and Decoder) tt_um_wokwi_411379488132926465 (Semana UCU Verilog) tt_um_rejunity_atari2600 (Atari 2600) tt_um_rejunity_z80 (Zilog Z80) tt_um_b_8_array_multiplier (4 by 4 Array Multiplier) tt_um_C8_array_mult (4-bit multiplier) tt_um_tt09_array_multiplier (Array Multiplier) tt_um_array_mult_structural_sectionD_group3 (4-bit Array Multiplier) tt_um_d_4_array_multiplier (ECE-UY 2204 4x4 Array Multiplier) tt_um_couchand_cora16 (CORA-16) tt_um_secd_8_array_mult (array_multiplier) tt_um_kashmaster_carryskip (8-bit-CARRY_SKIP) tt_um_tiny_ternary_tapeout_csa (T3 (Tiny Ternary Tapeout) CSA ) tt_um_array_secD7 (Tiny Tapeout Group 7 Lab D) tt_um_chip4lyfe (Leaky Integrate Fire Neuron) tt_um_ronikant_jeremykam_tinyregisters (Tiny Registers) tt_um_c_4_4b_mult (4bit multiplier) tt_um_section_d_group_fifteen_array_mult_structural (ECE2204MultiplierProject) tt_um_VanceWiberg_top (Team 17's 8 bit DAC) tt_um_claudiotalarico_counter (4-bit up/down binary counter) tt_um_wokwi_413471588783557633 (TT Test) tt_um_gmejiamtz (Configurable Logic Block) tt_um_I2C (I2C and SPI) tt_um_perceptron_mtchun (Perceptron Neuron) tt_um_histogramming (Histogramming) tt_um_SarpHS_array_mult (4-bit Multiplier) tt_um_gfcwfzkm_scope_bfh_mht1_3 (Basic Oszilloscope and Signal Generator) tt_um_MichaelBell_rle_vga (RLE Video Player) tt_um_ece298a_8_bit_cpu_top (8-Bit CPU) tt_um_Coline3003_top (15 channels emission counter) tt_um_wokwi_414107691971107841 (Steven's Wokwi Test) tt_um_dlmiles_dffram32x8_2r1w (Tiny RAM DFF 2r1w) tt_um_urish_sic1 (SIC-1 8-bit SUBLEQ Single Instruction Computer) tt_um_Coline3003_spect_top (Spectrogram extractor, 2 channels) tt_um_c1_array_mult_structural (Lab C 4x4 Mult-Array) tt_um_CarrySelect8bit (carry_select) tt_um_koggestone_adder8 (test_friday2) tt_um_Rapoport (Perceptron) tt_um_cellular_alchemist (Hopfield Network with Izhikevich-type RS and FS Neurons) tt_um_wokwi_414120207283716097 (fulladder) tt_um_wokwi_414120357164073985 (2-Bit-Adder) tt_um_wokwi_414121442515858433 (Mini-Adder and Clock Divider) tt_um_wokwi_414121715329142785 (Sigma-Delta ADC) tt_um_wokwi_414120407679244289 (3bitFullAdder) tt_um_wokwi_414121532514097153 (TinyTapeout workshop - Wokwi 8 Bit LFSR) tt_um_wokwi_414120518107969537 (4 bit adder) tt_um_wokwi_414120696731857921 (Broken Two Bit Adder) tt_um_wokwi_414120263584922625 (8 bit LFSR) tt_um_wokwi_414121421011660801 (2_bit_7seg) tt_um_wokwi_414120404427608065 (7-seg display checker) tt_um_wokwi_414120472316644353 (tt09-4bit-adder-dhags) tt_um_wokwi_414120591467404289 (XorTree) tt_um_wokwi_414124872671308801 (Morse Code for J and R) tt_um_wokwi_414125777368065025 (Tiny_Tapeout_Adder!) tt_um_wokwi_414120492890759169 (Manchester Encoder) tt_um_wokwi_414120201832165377 (Odd or even) tt_um_wokwi_414125058137148417 (Adbe_Project) tt_um_wokwi_414120372939908097 (Full Adder) tt_um_wokwi_414120379026893825 (TT-Farhad) tt_um_wokwi_414120157271867393 (Four Bit Adder) tt_um_wokwi_414124843472659457 (2 bit adder) tt_um_wokwi_414120239772801025 (AND and NOT gate testing) tt_um_wokwi_414124597390729217 (Kanoa's first Wokwi deseign Tinytapeout 2024 Nonsense) tt_um_wokwi_414120415300298753 (add it) tt_um_wokwi_414117926152578049 (one) tt_um_wokwi_414120459831246849 (Full Adder) tt_um_wokwi_414117854728812545 (four flip flops) tt_um_wokwi_414120320168203265 (Tiny Tapeout 9 Template) tt_um_wokwi_414120583702696961 (half adder) tt_um_tinysynth (Tinysynth) tt_um_wokwi_414120349028170753 (LCA’s first Wokwi design) tt_um_wokwi_414120435997105153 (7-bit arbiter) tt_um_wokwi_414120378768943105 (Counter) tt_um_wokwi_414120800422397953 (Full adder Design) tt_um_wokwi_414118423095874561 (Vincent's First Design) tt_um_wokwi_414120248222232577 (A Tale of Two NCOs) tt_um_a1k0n_nyancat (VGA Nyan Cat) tt_um_tommythorn_workshop (Workshop demo) tt_um_lrc_stevej (LRC - Longitudinal Redundancy Check generator) tt_um_wokwi_414120202583995393 (print) tt_um_wokwi_414120500233937921 (hello) tt_um_wokwi_414120569974735873 (Full Adder) tt_um_wokwi_414120295047458817 (NAND-Equ) tt_um_wokwi_414120388391730177 (adder-tt09) tt_um_wokwi_414120414884012033 (Ripple counter) tt_um_wokwi_414120509472942081 (rand) tt_um_wokwi_414121555407659009 (rhTinyTapeout) tt_um_wokwi_414120432405727233 (chip) tt_um_wokwi_414122362169493505 (NAND Flip-Flop) tt_um_shifter (Shifter) tt_um_wokwi_414124428088683521 (seven) tt_um_wokwi_414120513895838721 (gatesoup) tt_um_wokwi_414120303651028993 (Tiny Tapeout 9 Template Version 1 Tata Luka) tt_um_wokwi_414122607025630209 (UART TX) tt_um_wokwi_414120368966850561 (my First WokWi Design) tt_um_wokwi_414120299211357185 (Tiny Tapeout 9) tt_um_schoeberl_test (tinydsp-lol) tt_um_anislam (Leaky integrate and fire spiking neural network) tt_um_wokwi_414126546375915521 (2-bit Full Adder) tt_um_wokwi_414174625969437697 (Name Speller) tt_um_wokwi_414127944900611073 (gta6) tt_um_ericsmi_mips (mips.sv) tt_um_systolicLif (Basic model for Systollic array implementation of LIF) tt_um_algofoogle_tt09_ring_osc2 (Verilog ring oscillator V2) tt_um_dff_mem (dff_mem) tt_um_nomuwill (16 Bit Izhikevich Neuron) tt_um_digital_clock_example (7-Segment Digital Desk Clock) tt_um_udxs (Basic Perceptron + ReLU) tt_um_matrix_mult (Basic Matrix-Vector Multiplication) tt_um_db_MAC (8 bit MAC Unit) tt_um_anas_7193 (Programmable PWM Generator) tt_um_flyingfish800 (Verilog test project) tt_um_project (Basic LIF Neuron) tt_um_lifn (Integrate-and-Fire Neuron Circuit) tt_um_wokwi_413921836641882113 (ovl abc chip) tt_um_mickey_pll (pll) tt_um_rejunity_e2m0_x_i8_matmul (E2M0 x INT8 Systolic Array) tt_um_michaelmcculloch_alu (Michaels Tiny Tapeout ALU) tt_um_dog_BILBO (8-bit CBILBO) tt_um_stochastic_integrator_tt9_CL123abc (Stochastic Integrator) tt_um_vga_clock (VGA clock) tt_um_z2a_rgb_mixer (RGB Mixer demo) tt_um_samkho_two_channel_square_wave_generator (TwoChannelSquareWaveGenerator) tt_um_mattvenn_r2r_dac_3v3 (Analog 8 bit 3.3v R2R DAC) tt_um_b_10_array_multiplier (Lab B Group 10 Array Multiplier) tt_um_urish_giant_ringosc (Giant Ring Oscillator (3853 inverters)) tt_um_htfab_caterpillar (Simon's Caterpillar) tt_um_anders_tt_6502 (tt6502) tt_um_wokwi_414123795172381697 (TinySnake) tt_um_oscillating_bones (Oscillating Bones) tt_um_r2r_dac (4-bit R2R DAC) tt_um_tinytinfoil_saradc_dac (Noise test for a CDAC capacitor chain) tt_um_purdue_socet_uart (SoCET UART) tt_um_rejunity_sn76489 (Classic 8-bit era Programmable Sound Generator SN76489) tt_um_rejunity_ay8913 (Classic 8-bit era Programmable Sound Generator AY-3-8913) tt_um_tommythorn_cgates (Cgates) tt_um_09eksdee (eksdee) tt_um_13hihi31_tdc (Time to Digital Converter) tt_um_rejunity_decoder (ternary, E1M0, E2M0 decoders) tt_um_analog_example (Digital OTA) tt_um_kailinsley (Dynamic Threshold Leaky Integrate-and-Fire) tt_um_C6_array_multiplier (tt09-C6-array-multiplier) tt_um_rejunity_vga_test01 (VGA Drop (audio/visual demo)) tt_um_wallento_4bit_toycpu (4-Bit Toy CPU) tt_um_warp (Warp) tt_um_algofoogle_tt09_ring_osc3 (Verilog ring oscillator V3) tt_um_kev_ma_matmult222 (2-bit 2x2 Matrix Multiplier) tt_um_wokwi_414041465275103233 (SK Test Workshop) tt_um_rejunity_vga_logo (VGA Tiny Logo (1 tile)) tt_um_toivoh_demo (Sequential Shadows [TT08 demo competition]) tt_um_liaf (A simple leaky integrate and fire neuron) tt_um_wokwi_413879612498222081 (Clocked Display) tt_um_wokwi_413919625901452289 (Encoder) tt_um_wokwi_413919442353385473 (Encoder) tt_um_wokwi_413919540668975105 (First Tapeout Chip - OCR) tt_um_wokwi_413918022277139457 (Half Adder) tt_um_wokwi_414120435095328769 (Kai's Death Adder) tt_um_wokwi_413919775044656129 (Kevin Project) tt_um_lif_network_MR (Leaky Neuron Network) tt_um_lsnn_hschweig (Neuromorphic Hardware for SNN LSTM) tt_um_wokwi_413387065963362305 (Project) tt_um_Nishanth_RISCV (RISCV Processor Design) tt_um_wokwi_413883347321632769 (Test_project) tt_um_KoushikCSN_RISCV (RISCV Processor Design) tt_um_wokwi_414120868401584129 (Tian TT9) tt_um_wokwi_414120391864616961 (Tiniest of tapeouts) tt_um_wokwi_414120458938907649 (Who knows what's happening Tiny Tapeout) tt_um_wokwi_413919833599252481 (YoshiTP) tt_um_wokwi_414118269335820289 (chip_fab) tt_um_wokwi_414121281003682817 (dummy) tt_um_wokwi_414124471705253889 (sarah's first chip) tt_um_ccu_goatgate (tiny cipher 4 bit key) tt_um_wokwi_414120526876163073 (2 input multiplexor) tt_um_lif_ZB (Tutorial: Simple LIF Neuron) Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available Available