- Beim Tiny Tapeout 8-Demo-Wettbewerb wurden zwei ASIC-Demos erstellt, die mit nur rund 4.000 Logik-Gates VGA-Grafik und 1-Bit-Audio ausgeben
- Das erste Werk ist ein Intro im traditionellen Demoscene-Stil mit 3D-Schachbrett, Sternenhintergrund, Scrolltext und Musik, umgesetzt als reine Zustandsmaschine ohne CPU und RAM
- Das zweite ist eine Nyan-Cat-Animation, die 640x480 VGA und videosynchrones Audio nutzt und nahezu die gesamte Schaltung in einem Tile integriert
- Alle visuellen und akustischen Effekte werden direkt durch Verilog-basierte Logikschaltungen erzeugt; Musik wird mit minimalen Ressourcen durch Dreieckwellen- und Pulswellensynthese, LFSR-Rauschen, Sigma-Delta-DAC usw. reproduziert
- Die Fertigung wurde durch die Insolvenz von Efabless gestoppt, später wurden die Chips jedoch gerettet und liefen nachweislich auf echter Hardware perfekt
TT08-Intro-Demo
- Grafischer Aufbau mit Sternenfeld im Hintergrund, 3D-Schachbrett, wellenförmigem Scrolltext und Schatteneffekten
- VGA-Auflösung 1220x480, 48-MHz-Takt
- Videoerzeugung durch Verilator-Simulation, Umwandlung nach C++ und Rendering in ein SDL-Fenster
- Mit 293 Flip-Flops und insgesamt 3374 Zellen nahe an der Flächengrenze
- Da die Font-Kodierung viel Gate-Fläche belegte, wurden Farbwerte aufgegeben und durch ein diagonales Streifenmuster ersetzt
- Für Datenkodierung ohne ROM wurden Muster direkt mit Logik-Gates beschrieben
- Die Yosys-Synthese-Pipeline wandelt truth tables in Standardzellen um
- Für die Flächeneinsparung war algorithmische Einfachheit abhängig von der Adresse günstiger als Datenkomplexität
- Der Sinus-Scroller wurde ohne Tabelle über Vektorrotation umgesetzt
- Erzeugung einer Kreisbahn mit Minskys symplectic integrator
- Die Projektionsberechnung der Schachbrett-Ebene wurde mit Festkommaarithmetik umgesetzt
- Das Modul
recip16 berechnet den Kehrwert der y-Koordinate und führt damit die Perspektivtransformation aus
- Farbmuster werden per XOR erzeugt, die Ebenenhöhe verändert sich passend zum Drumbeat
Grafische Details
- Der Schatteneffekt projiziert den Scrolltext in das Koordinatensystem der Ebene und verschiebt dabei Farbbits
- Der Sternenhintergrund (Starfield) erzeugt mit einem LFSR Zufallswerte für jede Scanline
- In Kombination mit dem Frame-Zähler werden Position und Geschwindigkeit der Sterne bestimmt; passend zum Snare-Timing verändert sich die Länge der Schweife
Musiksynthese
- Eine ABACABAD-Struktur aus Wiederholmustern minimiert doppelte Logik-Gates
- Aufbau aus drei Kanälen
- Rauschen + exponentielle Dämpfung (Snare)
- Rechteckwellen-Arpeggio (Melodie/Akkorde)
- Dreieckwelle + exponentielle Dämpfung (Kick/Bass)
- Audioausgabe über Sigma-Delta-DAC
- Statt PWM wird zur einfachen Umsetzung das Carry-Bit eines Akkumulators ausgegeben
- Verwendet die Akkordfolge aus Crooner (C64 SID)
- Basierend auf einer 8-Ton-Skala, über zwei Oktaven, mit bitweisem Arpeggio
- Swing-Rhythmus durch abwechselndes Tempo von 15 und 25 Ticks
Rückblick
- Durch ein Design mit getrennten Audio- und Video-Takten kam es zu Asynchronität zwischen Musik und Bild
- Die Wahl der nicht standardkonformen Auflösung 1220x480 führte zu schlechterer Darstellungsqualität auf LCDs
- Auf CRTs ergibt sich ein natürlicher Dithering-Effekt, bei digitaler Aufnahme treten jedoch Verzerrungen auf
Nyan-Cat-Demo
- Kurz vor dem Tiny-Tapeout-8-Deadline erstellt, mit 640x480 VGA und 60-Hz-synchronem Audio
- Frames und Palette wurden aus dem Original-GIF extrahiert und per Dithering nach RGB222 konvertiert
- Der LFSR-basierte Sternenhintergrund wurde wiederverwendet
- Die Musikdaten wurden durch Parsen einer MIDI-Datei auf eine 8-Ton-Skala remappt
- Verwendet werden nur ein Bass/Kick-Kanal und zwei Melodiekanäle
- Zu Beginn jedes Frames (60 Hz) wird eine exponentiell abklingende Envelope angewendet
- Die Melodie wird mit einer Pulswelle mit 25 % Duty Cycle erzeugt
- Frequenzanpassung durch Auswahl höherer Bits je Oktave
- Zusätzlicher Tiefpassfilter zur Klangformung
Fertigung und Ergebnis
- Bei Tiny Tapeout 8 begann die Fertigung im September 2024, wurde aber durch die Insolvenz von Efabless gestoppt
- In der zweiten Jahreshälfte 2025 holte ein neues Betriebsteam die Chips zurück und verteilte sie
- Tests mit echten Chips zeigten, dass alle Designs ordnungsgemäß funktionierten
- Nur bei der Donut-Demo musste der Takt für Stabilität auf 45 MHz gesenkt werden
- Die Nyan-Cat-Demo lief auf LCD und CRT gleichermaßen perfekt
- Vorgeführt im YouTube-Livestream von Bitluni
Abschluss
- Nach mehr als einem Jahr Wartezeit wurde bestätigt, dass die Demo auf echtem Silizium perfekt läuft
- Ein Beispiel dafür, wie sich im Tiny-Tapeout-Umfeld visuelle und akustische Effekte ohne CPU und RAM allein mit reiner Logikschaltung umsetzen lassen
- Erwähnt werden Pläne, künftig weiterentwickelte Low-Level-Hardware-Demo-Techniken zu entwickeln
Noch keine Kommentare.