488 pio-ram-emulator example: Julia fractal

488 : pio-ram-emulator example: Julia fractal

Design render
  • Author: Toivo Henningsson
  • Description: Example of using pio-ram-emulator to draw a Julia fractal
  • GitHub repository
  • Clock: 50400000 Hz

How it works

This is an example of the using the https://github.com/toivoh/pio-ram-emulator RAM emulator for Tiny Tapeout. The RAM is used to store a frame buffer, 320x480 at 2 bits/pixel. The frame buffer is continuously read to output a 640x480 @60 Hz VGA signal. At the same time, the logic computes a Julia fractal, writing 16 bits to the frame buffer for every 8 pixels computed. After about a second, the whole frame buffer is filled in.

For more info about the RAM emulator, see https://github.com/toivoh/pio-ram-emulator/blob/main/docs/pio-ram-emulator.md.

The project contains some helper code for working with with the RAM emulator:

  • pio_ram_emulator.v and pio_ram_emulator.vh (sb_io.v is also need) contain the modules pio_ram_emu_transmitter and pio_ram_emu_receiver
    • These are used to transmit and receive messages using the RAM emulator's message format
    • The design still has to follow the rules in https://github.com/toivoh/pio-ram-emulator/blob/main/docs/pio-ram-emulator.md about which messages can be sent when
    • See julia_top.v for an example of how to use these modules
  • test/pio_ram_emulator_model.v contains a simulation model of the RAM emulator
    • See test/tb.v for an example of how to use the simulation model in a test
    • See verilator/vtop.v for an example of how to use the simulation model in a verilator setup
    • The model will try to detect behavior that violates the rules in https://github.com/toivoh/pio-ram-emulator/blob/main/docs/pio-ram-emulator.md, in which case it will set an error flag and stop responding (see the ERROR_RESPONSE parameter)
    • The simulation model is helpful, but might not capture the ful behavior of the RAM emulator. Please try to run your design on an FPGA against the actual RAM emulator as well.

How to test

Plug in a TinyVGA VGA Pmod to the output Pmod. The https://github.com/toivoh/pio-ram-emulator RAM emulator must be running on the RP2040. TODO: Instructions for how to set up. Start the project.

Controls

The appearance of the Julia fractal is controlled by the C parameter, which can be seen as a complex value or 2d vector. The C paramter can be changed using the ui_in port:

  • button_up / button_down / button_left / button_right move the C value.
  • button_incstep doubles the step length.
  • button_decstep halves the step length.

A new ui_in[5:0] value must be stable for 2^19 cycles, or approximately 10 ms (at a 50.4 MHz clock rate), before it is accepted. The use_both_button_dirs input changes how the input is interpreted:

  • When use_both_button_dirs = 0, an input is triggered when one of the button_ signals goes from high to low (and is stable for 10 ms). Recommended if the inputs are connected to buttons.
  • When use_both_button_dirs = 1, an input is triggered when one of the button_ signals goes from high to low or low to high (and is stable for 10 ms). Recommended if the inputs are connected to toggle switches.

External hardware

This project needs a TinyVGA VGA Pmod.

IO

#InputOutputBidirectional
0button_upR1
1button_downG1
2button_rightB1
3button_leftvsync
4button_incstepR0tx_out[0]
5button_decstepG0tx_out[1]
6B0rx_in[0]
7use_both_button_dirshsyncrx_in[1]

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