Table of Contents

Donanım-Accurate Game P Protection'a geçiş

Alan programlanabilir kapı dizileri (FPGA) sessizce retro oyun ve donanım tasarımının manzarasını değiştirdi. bellek veya yüzlerce çekirdekle birlikte gölge programları kullanan bir GPU'dan farklı olarak, bir FPGA, mühendislere otomatik dijital mantık devreleri doğrudan çipleri kurmasını sağlar. Bu, klasik bir konsolun merkezi işlemcinin mükemmel bir kopyasının, video ekran kontrolörü ve sesin - tüm donanımda döngü-ekizleyici hassaslığı sağlar.

Oyun dünyası ilk olarak, projelerini aritmeler gibi anladığında fark etti:0)Analog Nt Mini), FPGA'nın modern ekranlarda gerçek bir şekilde orijinal 408 kartuşları oynayabileceğini, o zamandan beri, teknoloji el eleman hızlanmış hızlar (TAS) ve hatta deneysel modern konsolları ortaya koyduğunu ve bu sistemlerin arkasındaki mühendislik çabasını ortaya koydu; FPGA hızlandırmanın neden sadece bir notu sunmadığını gösteriyor.

Kapı Seviyesinde Nasıl Çalışır?

Bir FPGA, herhangi bir küçük Boolean fonksiyonunu uygulamaktadır ve yeni bir bitek yüklemesi için birden fazlaxer olabilir - her CLB bu blokların karmaşık dijital devreleri oluşturmak için nasıl bir araya geldiğini tanımlar. Aynı FPGA daha sonra tamamen farklı bir sistem haline gelmek için yeniden programlanabilir.

Verilog veya VHDL gibi donanım açıklama dilleri, istenen devre davranışını tanımlamak için kullanılır. Örneğin, 6502 işlemci oluşturmak için, talimat decode, ALU operasyonlarının katmanlarını içeren RTL kodu yazabilirsiniz ve kayıt dosyası.Bu sentez aracı haritaları bu kodu FPGA'nın LUTs ve turn-flops. Timing analizi her sinyali hedef saati frekansıyla karşılamaktadır.

Modernite:0)FPGA'dan gelen LÜSÜSÜSÜSÜSÜSÜSTÜSİAD ve Intel[DÜT:1) ayrıca, DSP dilimleri hızlı bir şekilde çoğaltılmadan, RAM (BRAM) tek bir FPGA'da (PLL) tek bir devrede, DSP48E2'ler için sabit bir şekilde sabitlenmiş bir şekilde video elemanına dönüşmeden hızlanabilir.

Oyun Donanımı için Teknik Avantajlar

Bir FPGA etrafında bir konsol inşa etmek, nostaljinin ötesine geçen somut avantajlar getiriyor. Bu avantajlar, hem ticari ürünlerin hem de açık kaynak topluluklarının platformu bu kadar coşkulu bir şekilde kucakladığını açıklıyor.

Lisans-Accurate Authenticity

Yazılım emülatörleri, her bir FPGA çekirdeğinin ev sahibi CPU talimatlarına çevrilmesi gerekir, genellikle öğretim başına aynı saat döngüleri kullanarak, aynı ses örnek sınırlarına dayanan oyunlar tanıtabilir.For protection purposes, this is the only known method to guarantee that each game behavior. An FPGA çekirdeği tam olarak orijinal mantığı çalışır: Super Nintendo, Super FX otobüs içeriği ve aynı ses işleme sınırları olmadan aynı zamanda yazılımlar tarafından yönlendirilebilir.

Deterministic Low Latency

Giriş gecikme USB anketiyle bir araya gelir, buffer queuing ve işletim sistemi zamanlama. FPGA tabanlı konsollar bu tamamen şarj cihazı girişi, donanım çekirdeği ve video pikselleri, tam piksel saatindeki ekranlara kadar sabit bir boru hattı ile oluşturulur. Örneğin, bir milisaniye altında yanıt verme zamanlarını elde etmek için yerel analog videodan yararlanabilir.Bu, gerçek zamanlı etkileşimin önemli olduğu modern uygulamalar için kritiktir.

Inherent Paralel Execution

Bir FPGA, her bir alt sistem için fiziksel çipleri doğal olarak uygular, ev sahibi CPU zamanlıdır ve bu görevleri önceliklendirir, aynı anda özel silikon kaynakları üzerinde çalışır. Bu, karmaşık iş sistemleri için de analog olarak karmaşık bir şekilde iletişim kurmak için bir teller.Bir yazılım emülatörü ekleyerek iletişim kurmak için, ev sahibi CPU zaman bazlı Sega Genesis bu görevlerin sadece bir parçası haline getirir.

Enerji-Efficient Performans

Bir masaüstü PC'de 16 bit konsolu atmak 200 watt çekebilir. Aynı sistemi uygulamak 10 watt veya daha az çalıştırabilir. Nedeni basit: FPGA sadece video açma veya AI gibi bazı hızlarda görevler için bile, FPGA, hedefli iş amaçlı iş amaçlı iş amaçlılarından daha yüksek operasyonlar sunamaz.

Field-Upgradable Hardware

Çünkü FPGA yapılandırması dış flaşta depolanır, konsolu yeni bir bitek yüklemesi kadar kolaydır. Bu, geliştiricilerin donanım hatalarını düzeltmesine, yeni özellikleri eklemesine veya hatta bir Game Boy klonu olarak başlayan aygıtlar, şimdi bir dizi sistemi taklit etmeden yeni bir konsol sistemleri destekler.Analog Pocket) Bu yeteneği üçüncü taraf geliştiricilerinin sonsuza dek sabit bir şekilde oluşturabileceği ve dağıtmasına olanak sağlar.

Niche'den Mainstream'e Evrim

FPGA oyun hobileri ile başladı. Mühendis Kevin “Kevtris” Horton, tüm FPGA konsollarını yerine getirebilecek tek bir FPGA cihazını tasarladı, 1080p videoyu geri döndüremezdi, bu meraklıların Nt Mini. Analog ile konseptini ticarileştirmiş olduğunu gösteriyor.

Aynı zamanda, açık kaynaklanmış işletmeler: 0,0)MiSTer projesi[Döneticileri) bir topluluk odaklı alternatif olarak ortaya çıktı.Bir Teraslı DE10-Nano yönetim kurulu (Cyclone V FPGA), gönüllüler klasik bilgisayarlar için temelleri geliştirdiler (Amiga, C64, MSX), oyun tahtaları ve konsolları EFL’nin artık 150 farklı sistemden faydalanmasına yol açtılar.

Modern bir FPGA Konsolu Tasarlamak: Konseptden Silikona

Tam bir FPGA tabanlı konsol oluşturmak dijital tasarım, PCB düzeni ve sistem entegrasyonunda uzmanlık gerektirir. Süreç, her biri kendi zorluklarıyla ayrı aşamalara ayrılabilir.

Doğru FPGA ve Board'ı seçin

FPGA cihazının seçimi, 8bit ve 16-bit konsolları için, 50.000-100,000 mantık elementleri yeterli.In erken 3D sistemleri gibi, Xilinx Kintex veya Versal gerçek zamanlı ağlayıcıları için kaynakları sağlar.

Core in Datalog veya VHDL

Konsolun kalbi her bileşeni tanımlayan donanım açıklamasıdır. Geliştiriciler genellikle ters-mühendislik için başlangıç noktası ile başlar: CPU çekirdeği, video işlemcisi, ses jeneratörü, bellek kontrolörü ve her modül, testlerle, mevcut açık kaynak parçaları ile uyumludur.InTelevizyonlar için kullanılabilir.InTelevizyonlar için kullanılan ve sabitlemeler için kullanılabilir.[değiştir | kaynağı değiştir]

Verification and Debugging

Bir FPGA çekirdeğinin kaldırılması, JTAG'nin iç sinyalleri ve yayınlayabilmelerinden önemli ölçüde daha zor. Formal doğrulama araçları da yol katıyor; FPGA uygulamaları, tümleşik mantık analizörleri (ILAs) Vivado veya Quartus için, gerçek oyun ROM'ları simülasyon vektörü kullanarak çalıştırmak, bu test vektörü kullanarak, standart bir şekilde test etmek için milyonlarca saat boyunca standart kullanımları zorlayan bir proje.

PCB Tasarım ve Signal Integrity

Fiziksel panel, Gale bellek için yüksek hızlı sinyalleri ele almalıdır, HDMI (en fazla 1.65 Gbps veya daha fazla), ve USB 2.0/3.0. Kontrollü yönlendirme izlerini (tipik olarak 50 ohms tek uçlu, 90 ohms için USB, 100 ohms for HDMI), her güç pimine yakın ısıtıcılar gerektirir.In retrospektifler için, birçok tasarımcı 5V mantıkla orijinal kontrol noktalarına sahip olmalıdır.

Software Integration and User Experience

Donanım çekirdeği kanıtlandığında, basit bir işletim sistemi veya bootloader gereklidir. retro sistemler için, bu genellikle FPGA bitstream ve ROMS gibi bir menü sunar. kullanıcı arayüzü dosya sistemlerini (FAT32, ext4), ölçeklendirmek ve kontrol etmek için bir dizi konsolları destekler ve ekran filtreleri kullanır.In original game, developers can use a soft-core işlemci like RISC-V running bare-metal code, offloading graphics and audio to custom FPGA hızlandırıcıları için.

Gerçek Dünya Uygulamaları ve Geleceği Potansiyel

Retro oyun koruma katili uygulama olarak kalır.Dörtücü Pocket[Döneticileri) gibi cihazlar, dağıtım noktalarının veya girişin altında geçiş yapan yazılımların tüm oyun kurullarının, fiziksel bozulmaların korunması için mümkün kılar.

retro'lerin ötesinde, FPGA'lar modern oyun gelişimine bakmaya başlıyorlar.Politikada (BJ) veya DLSS gibi esnek prototipleme platformu olarak, FPGA'lar, FSR veya DLSS gibi) Konsolosluk gecikmeli bir zamanlayıcı ile deneyerek, hareketsiz donanım birimlerini veya özel silikonlar için esnek bir prototyping platformu olarak kullanabilir.

Önümüzdeki sefere, çip mimarisi, özel kodlar, güvenlik hızlandırıcıları veya hatta retro uyumluluk yamaları gibi özellikleri yeniden yapılandırabilir.Bu, geliştiricilere aynı ara sıra ücretsiz oyun alanı sağlar) Daha fazla bilgi için kullanılabilir hale getirmek için konsolun donanımını yapılandırır. Örneğin, Lattice ECP5 ailesi artık mükemmel bir şekilde ücretsiz olarak destekleyebilir.

Bağlanmaları,

Avantajlarına rağmen, FPGA gelişimi zorlu HDL'ye devam ediyor. kodlama, yazılım programlamasından farklı bir zihniyet gerektirir; yarış koşulları ve zamanlama sorunları Vivado ve Quartus gibi önemli araçlar, yüksek uç cihazlar için pahalı lisanslar gerektirir. Açık kaynaklı alternatifler hala maturing ve tüm FPGA ailelerini destekleyebilir.

Ancak, topluluk büyük stridesler yaptı. Eğitim kaynakları, FATDLAND) gibi yüksek performanslı araçlar (PNR, yeni kripto sistemleri için erişilebilir öğreticiler sunmak için yeterince olgunlaşmıştır.Instematik tasarımlar:2). MiSTer) Daha fazla geliştirici ve önceden inşa edilmiş temeller sunar.Bir sonraki birkaç yıl boyunca, sadece yeni geometriler gibi karmaşık tasarımları yürütmek için yeterince olgunlaşmış olabilir, satıcılar kilitlemeden geliştiriciler.Daha fazla geliştirici tanıdıktır.