Ana Sayfa

Saf Silikon Demoları: CPU'suz, Belleksiz, Sadece 4k Kapı

1 dk okuma

Makale, yazarın Tiny Tapeout 8 demo yarışmasına katılımını anlatıyor. Bu yarışmada katılımcılar, yaklaşık 4000 mantık kapısıyla sınırlı, 2-bit RGB VGA çıkışı ve 1-bit ses çıkışı sağlayan "küçük" ASIC tasarımları sunuyorlar. Yazar, eski tarz C64/Amiga benzeri bir intro ("TT08") ve bir Nyan Cat demosu olmak üzere iki çalışma göndermiş. "TT08" introyu, yıldız alanı, renkli karolarla hareketli bir 3D dama tahtası ve gölge düşüren dalgalı kayan metin gibi öğelerle zenginleştirmiş, yanına küçük bir camgöbeği osiloskop da eklemiş.

Bu "saf silikon demo kodlama" yaklaşımı oldukça kısıtlı bir ortam sunuyor: CPU veya RAM yok, her durum biti bir flip-flop olarak önemli yer kaplıyor. Geleneksel boyutlandırma (sizecoding) hileleri, ROM olmadığı için veri sıkıştırma gibi yöntemler burada işe yaramıyor ve bir çerçeve arabelleği (frame buffer) bulunmadığından her saat döngüsünde bir piksel üretilmesi gerekiyor. Prototipleme aşamasında, sonradan pişmanlık duyulan özel bir 1220x480 VGA modu kullanılmış; bu mod dijital yakalamalarda kötü görünse de gerçek bir CRT monitörde harika sonuçlar vermiş. Verilog kodunu C++'a derleyen bir Verilator simülasyonu, döngü bazında test ve video üretimi için kullanılmış. Tasarım ayrıca bir OrangeCrab FPGA üzerinde de sentezlenmiş.

Ses için yazar, yaygın PWM yaklaşımı yerine tek bir pinde sigma-delta dönüşümü uygulamış. RGB222 çıkışı için renk doğruluğunu artırmak amacıyla siparişli titreşim (ordered dithering) kodu kullanılmış. Nihai tasarımlar, Tiny Tapeout'un GitHub eylemi iş akışının yanı sıra yerel bir sertleştirme aracı kullanılarak Skywater 130nm teknolojisi için optimize edilmiş ve üretilmiştir. Bu proje, aşırı donanım kısıtlamaları altında bile yaratıcı ve karmaşık görsel-işitsel demolar geliştirmenin mümkün olduğunu gösteriyor.

İçgörü

Bu çalışma, aşırı donanım kısıtlamaları altında bile yaratıcı ve karmaşık görsel-işitsel demolar geliştirmenin mümkün olduğunu gösteriyor.

Kaynak