2 Punkte von GN⁺ 2025-12-21 | Noch keine Kommentare. | Auf WhatsApp teilen
  • 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.

Noch keine Kommentare.