Neden FPGAs Low-Latency Interactive Systems için Doğal Bir Fit

Latency oyun ve sanal gerçeklikte daldırmanın düşmanıdır. Bir kullanıcının hareketi ile paralel olarak çalışan özel donanım veripathleri arasındaki farklar varlığını kırabilir ve rahatsız edici bir şekilde ekran dizisi sunar.Bu, gerçek zamanlı sensör füzyon, görüntülenme ve diğer geç saatler için uygun bir şekilde çalışır: tutarlılık yerine, tutarlılık konusunda çok fazla şey uygular.

Tipik CPU tabanlı bir sistem, doğrudan bir donanım hattıyla geç saatlerde gecikmeyi sağlar: veri kombinasyonel ve eşdeğer bir mantıkla nanosaniye ile bilinen bir kumandan modeli ile çalışır.Bir FPGA, bir kez programlanmış, doğrudan bir donanım hattı olarak fonksiyonlar: bir sensörle giriş noktalarının kombinasyonel ve eşdeğer bir mantıktan elde edilmesi ve nanosaniyede bilinen gecikmeli bir süre içinde sabit bir süre içinde sabit bir şekilde güncellenme yeteneğidir.

FPGA'ların yeniden yapılandırılması, geliştiricilerin yeni çipler üretmeden donanım mantığına hazırlayabileceği anlamına gelir. Bu hızlı prototipleme kapasitesi özellikle iyi sinyal işleme algoritmaları, arayüz protokolleri veya görüntülenme algoritmaları için kullanışlıdır.Yüksek seviyeli sentez araçları olgun olarak, geliştirme yükü azalır, güçlü yazılım arka planlarıyla takımlara erişilebilir hale getirir.

Oyun ve VR'deki Latency Zinciri Anlayın

Etkileşimli sistemlerde, geç kalmışlık tek bir sayı değil, girişten çıkıştan çıkıştan gelen gecikmelerin kompozitleri. Hareket-toğraflı ses için geç saatler, işleme ve ekran görüntüsü içerir. VR için, bu, yüksek jitter veya çatlaklardan kaçınmak için 20 m altında kalmalıdır.

FPGAs her bağlantıya aynı anda saldırmaktadır.İşleme yolunda derin bir şekilde borular, bir özel tasarım, sensör füzyonunu, görüntü savaşını ve görüntüyü görüntülemek için bir aşamayı ortadan kaldırabilir. Örneğin, bir blok mevcut çerçevede bozulma düzeltmeyi gerçekleştirirken, bir blok bir sonraki pozlama için IMU verilerini engelleyebilir.

Ses gecikmesi genellikle bir sonraki değildir, ancak uzaysal ses, 30 ms altındaki gecikmelerle baş takip edilebilir. Bir FPGA, donanımda çalışan HRTF konvolution ve oda modelleme hatları uygulayabilir, sub-millisaniye geçliği sağlarken, görsel hareketle sıkı senkronizasyonu sürdürebilir.

FPGA-Based Low-Latency Systems için temel tasarım ilkeleri

Exploit Paralelizm ve Derin Pipelining

İlk ilke, FPGA'nın yüzlerce bağımsız işleme elementini anlık olarak kullanma yeteneğidir. A VR boru hattı, özel bir sensör füzyon modülü, bir lens bozulması doğrulayıcı, ekran zamanlama kontrolörü ve DMA motoru – tüm işletim eş zamanlı olarak Data, FIFO tamponları en az elhake ile geçer.

Derin borular birçok küçük aşamaya kadar bir hesaplamayı kırıyor, her biri bir saat döngüsü alıyor.Bir stereo derinlik tahmin algoritması için, yeniden birleşme, ayrımcılık için aşamalar ve kameranın ana hızındaki piksel filtreleme süreci pikselleri.

Özel Veri Yolları ve Doğrudan Bağlantılar Oluşturun

Ortak otobüsler ve karmaşık hafıza hiyerarşileri, tahkim gecikmelerini sunar. FPGAs, AXI4-Stream gibi protokolleri kullanarak işaret arayüzleri kullanır ve doğrudan MIPI kamera arayüzünden bir demosaicing bloğuna taşınır, sonra bir özellik çıkarmaz.Bu yaklaşım da güç azaltır: her veri elemanı, tekrarlanan ve dış DRAM'a yazılır.

Görmeye dayalı takip için, FPGA gerçek zamanlı olarak rol alabilir ve yalnızca ev sahibi işlemciye, inceleyici veri yüküne bağlanır ve tam ekran tamponlamadan kaçınır.Bu akış modeli, CPU veya GPU sistemlerinin tipik bir şekilde doğrudan bir yedektir.

Deterministic Memory Subsystem

On-çip blok RAM (BRAM) ve UltraRAM en hızlı depolama sağlar. Video hattı tamponlar, göz ardı masaları ve filtre katları, önceden belirlenmiş olmayan dış DRAM gecikmeli trafikten kaçınmak için kumaş içinde yaşamalıdır. daha büyük tamponlar zorunlu olduğunda, yüksek bant genişliği (HBM) FPGA paketi, FPGA paketine entegre edilmiş yüksek yoğunluklu erişimli yüksek kaliteli bant genişliğine sahip yüksek kaliteli erişimli erişim kontrol cihazlarının geleneksel hafıza kontrollerinden daha geç kalmasına öncelik verebilir.

Lens bozulması düzeltmesi için, bir savaş motoru genellikle her çıktı piksel etrafında bir daire gerektirir. Bu, maksimum savaş dengelemesini en çok eşleşen birkaç BRAM tabanlı çizgi tamponlarla etkili bir şekilde uygulanır. Çünkü erişim modeli derleme zamanında bilinir, hafıza zamanlaması tamamen deterministiktir.

Donanımda Eccelerate critical Algorithms in Hardware

Grafik, fizik ve AI, tüm özel donanım bloklarından yararlanmaktadır. Örneğin, oyun sırasında bir el-parçalı model uygulayabilir ve menüler sırasındaki her konfigürasyon yüklerini veya hafif bir nöral ağ hızlandırıcısı oluşturabilir.Partal rekonurasyon, bu hızlandırıcıların zaman içinde takas edilmesine izin verir -örneğin, oyun sırasında bir el-çaklı model ve menüler sırasındaki her konfigürasyon yükleri.

FPGA Mimarileri ve Low-Latency Development için Araçlar

Modern FPGAs from dFLT:0)AMD (Xilinx) Versal)Intel Çevik) Aileler sıkılaştırılmış IP blokları entegre eder: ARM motorları, yüksek hızlı transceivers ve hafıza kontrolleri.Bu cihazlar hemen I/O bankalarına programlanabilir mantık sağlar, PCB izlerini azaltır.

Vitis HLS, Quartus Prime gibi geliştirme araçları ve Synopsys Synplify, tasarımcıların C/C++'da yazmalarına ve donanıma sentezlenmesine izin verir. Düşük gecikmeli, açık ve bellek bölmesi için pragmas, tek kod için, CPU'da, kullanışlı RTL'ye izin verir, ancak HLS birçok algoritma için boşluğu kapatır.

Simülasyon ve sistem bütünleşik mantık analizörleri ile doludur (Xilinx ILA, Intel Signal Tap) takımların döngüyü doğrulayabilmelerine ve geç bütçeleri doğrudan ölçmelerine izin verir.

Oyun ve VR'de Paralel İşleme için Stratejiler

Pratik bir mimarlık, sahne yönetiminden sorumlu bir uygulama işlemcisi (ARM veya x86), AI karar verme ve ağ I/O, FPGA gerçek zamanlı algılamayı ele alırken, post-işlemleri oluşturma ve görüntüleyin. Data flows from sensörler to FPGA, which processes and passed information to the CPU, then receive final warp and display.

Pozisyonel olarak VR'yi takip etmek için, FPGA, ikinci başına binlerce güncellemede IMU'yu gerçekleştirebilir, başın görüntülenmeden önce mikrosaniyeler ortaya çıkar.Bu iş yükü tükenebilir mantık kaynakları ve sadece birkaç saat döngüsünde kullanılabilir. FPGA, kullanıcının alanının merkezine ulaşma süresini belirlemek için ekran zamanlama kontrolörünü de entegre edebilir.

El kontrolörleri gibi giriş cihazları için, bir FPGA, düşük çözünürlükte bir bağlantıdan veri toplar ve algılayıcı ölçümler, algılama eşiğinin altında giriş yapan sensör füzyonunu gerçekleştirir.Bu işlem öncesi veriler, düşük çözünürlükte bir bağlantı üzerinden ana işlemciye gönderilir ve giriş gecikmeli eşiği tutar.

Harekete Geçen -Fotoğraf Latency with FPGA-Accelerated Rendering

Asynchronous timewarp güçlü bir tekniktir: GPU bir sahneyi açtıktan sonra, ekran görüntüsünde piksel verilerini bir lineerden uzaklaştıran ve bir hesaplı dönüştürme işlemi uygular.]

Savaş motoru süreçleri pikselleri tarama hattında, hiçbir zaman tüm bir çerçeveyi depolamaz.Sağdan birkaç satır mevcut olduğu gibi, savaşlama başlar, çakışma iletisi ve düzeltme.Bu teknik boru hattından birkaç milisaniye bağlanabilir. motor, yükleme noktalarına bir göz atmak için bir görünüm masası haritalama çıktı piksellerini kullanır, donanımda yapılan göz önüne alındığında, sadece birkaç satır tamponunu ekleyin.

Başka bir teknik göz izleme ile doludur. Bir FPGA göz ardı eden kamera verilerini yakalar, alt saniye geç kalmış pozisyon hesaplar ve GPU veya ekran kontrol parametreleri ile iletişim kurar.Bu kapalı-loop sistemi, yüksek sadakatli kısıtlamalara izin vermeden kaliteli dinamik olarak ayarlanır.

Sensör Fusion ve Sanal Gerçeklikte Takip

Doğru takip, kameralardan yüksek bant genişliği verilere dayanıyor, IMU'lar ve magnetometreler, bunların hepsi zaman ve uzayda korelasyon olmalıdır.Ingzersiz bir sensör merkezi zamanları her örnekte alt-mikrosan hassaslar ile her örnek, arayüzler arasında senkronize edilen bir donanım sayacı alır.

İç kamera izleme için, DSP dilimlerinde uygulanan hafif bir convolutional sinir ağı, ev sahibine ham video göndermeden kaynak kullanımını azaltır. Boru hattı süreçleri bir görüntü satırını saat başına yazdırır, anahtar nokta koordinatlarını sadece birkaç yüz saat geç saatler döngüsü ile gerçekleştirir.

Dış baz istasyonu da faydaları: nabız zamanlaması donanımda kodlanır, hesaplama açısal kararla eşdeğerdir. Multi-users paralel olarak işlenir ve optik ve sabit verilerinfüzyonu tamamen FPGA kumaşında gerçekleşir, aİLFLT:06-DOF pozu).

Deterministic Memory Hierarchy

Bir işlemcide, önbellek otomatik ve öngörülemeyenler. FPGAs, açık bir şekilde kontrol edilen bir bellek hiyerarşisine izin veriyor. LUT RAM'ı dağıtan veri masalarına sahip olarak, BRAM'ı, öngörülebilir bir hit ile gerçek iki-port anılarını kullanarak ve yazmanın mümkün olduğu gibi. Access patternleri tasarım zamanında biliniyor.

Dış DRAM gerekli olduğunda, özel bir bellek kontrolörü arka plan üzerinde geciken trafiği önceliklendirir. Modern FPGAs with HBM yığınları çoklu bağımsız kanallar sağlar, her biri içerikliliği önlemek için farklı bir alt sisteme adanmıştır.

FPGA bellekte ping-pong tamponlarla çift-buffering: GPU diğerinden gelen bir tampona yazar. Buffer takaslar, görüntünün dikey boş aralığıyla birlikte diğer bir donanım state makinesi ile senkronize edilir.

Latency Budgeting ve Performans Analizi

Düşük çözünürlükli bir FPGA sistemi ayrıntılı bir bütçe ile başlar: sensör yakalama, ön işleme, mantıka ulaşım, algoritma yürütme, boru hattını oluşturmak için transfer, ekran oluşturma, işlem işleme ve görüntü için 3 ms. Her aşama saat döngüsünde en fazla izin verilen bir jitter toleransı alır ve 1 mssinthesis, bütçeyi tüm koşullar altında doğrulamayı rapor eder.

Sistem ölçümü önemlidir. Yüksek hızlı bir fotodiode, bir hareket olayı tarafından tetiklenen, mikrosaniyeler içinde son gecikme gecikmeli gecikmeler için her döngüyü beklenmedik tezgahları veya hafıza içeriklerini yakalamak için izler.Bu ölçümler gelecekteki tasarımları için geç bütçeyi kapatır.

Etkileşimli Sistemler için FPGA Design'daki zorluklar

FPGA tasarımları için geliştirme çabası CPU veya GPU kodu için daha yüksektir. Donanım açıklaması dilleri farklı bir zihniyet gerektirir ve sentez yeri ve yüksek uçlu simülasyon için, FPGA esnekliği bu dezavantajlar için endişelenir; Sabit işlev ASICs yüksek hacimli ürünler için daha verimli kalır.

Maliyet tarihsel olarak başka bir engel olmuştur, ancak Xilinx Artix ve Intel Cyclone gibi maliyet optimize edilmiş aileler ekosistemi genişletir ve tek bir FPGA, bir CPU, GPU ve birden ASIC'ler, BOM aslında donanım tasarımı ve oyun motoru programlaması ile birlikte mühendisler bulur.

Future: Hybrid Compute and Edge VR

Endüstri, GPU ve CPU çekirdeği ile birlikte ilk sınıf bir hızlandırıcı olduğunu gösteren bir API inisiyatifi sinyalini düşük çözünürlükte bulunan bellekleri paylaşmalarına izin verir.

En zorlu VR uygulamaları için - profesyonel uçuş simülatörü, cerrahi eğitim, konum tabanlı eğlence -FPGA'lar, geç dönem gereksinimleri yazılımının karşılanması için sadece geç çözüm olarak kalacaktır. onor bloklar ve vektör işlemciler FPGA kumaşları arasındaki hattı bulanıklaştırır ve sinir ağının geç saatlerde izleme ve sahne anlayışına doğrudan izin verir.

Önümüzdeki 6G ağ ve kenar hesaplaması, bulut VR için daha sıkı bütçe talep edecektir. FPGA'daki FPGA, ağ paketi işleme, video kodlaması ve FPGA'ların tek bir cihazda tahmin etmek, onları uzaktan kumandan ve ince bir ayarlı sistemler arasındaki gecikmeyi azaltmak, ancak gerçek zamanlı olarak ağ koşullarına uygun bir şekilde adapte edecektir.