Yüksek seviyeli Synthesis Etkisi (hls) Dsp'te Araçlar Süreçor Tasarım
Table of Contents
Yüksek seviyeli Synthesis (HLS) araçları, dijital Signal Processing (DSP) işlemciler için tasarım iş akışını temel olarak değiştirdi. Tasarımcıların C, C++ veya SystemC, HLS köprüleri arasındaki boşlukları temel olarak değiştirdikten sonra, HLS, HLS'nin uygulama ile ilgili ayrıntılı bir algoritmanın hazırlanması ve tasarım çözümlerinin nasıl işlediğine dair bilgilendirilmesine izin veriyor.
Yüksek Lisans Anestasyonu (HLS) Anlamak
Yüksek çözünürlükte bir algoritmalı açıklamayı yüksek seviyeli bir dilde yorumlayan ve RTL seviyesinde bir donanım uygulamaları üreten otomatik tasarım sürecidir - VHDL veya Datalog. giriş kodu, hedef zaman, boru hattı veya kaynak tahsis etmeden planlanan hesaplamayı açıklar. HLS aracı daha sonra saat döngüleri boyunca işlemleri planlar, tüm modüller (adders, çoklu-pliers, bellek blokları) ve hafızaları kaydetmek için değişkenleri bağlar.
DSP işlemciler için, algoritmalar açıklamalar genellikle nested döngüler, matris işlemleri, filtre yapıları (FIR, IIR), FFT tereyağı ve Adaptive eşitizasyon. HLS araçlar otomatik olarak boru hattı döngüleri, kayıt dışı bölümler (multiply-accumulate birimleri) modern FPGA ve ASIC'lerde bulunur.
Geleneksel RTL Design Workflow vs. HLS Workflow
Geleneksel RTL iş akışında, DSP mühendisi bir sistem spesifikasyonu ile başlar, yüksek seviyeli bir model yazar (örneğin MATLAB veya Python’da), ve sonra bu modeli RTL'ye çevirerek manuel olarak tercüme eder. Bu çeviri, özellikle çok karmaşık veya uyarlanabilir sistemler için çalışır.
HLS ile aynı mühendis doğrudan yüksek seviyeli modeli işlevsel doğrulamadan sonra uygulayabilir. HLS aracı çeviriyi halleder ve performans, alan ve güç sağlar. Bu değişim, tasarım döngüsünü hızlandırır ve yüksek seviyeli bariyerleri geliştirirse, DSP-merkezli ürünlerin DSP-yeterli yazılımlar, tam paralel vs. kaynağı ile tam olarak paralel olarak işlenmesini sağlar.
DSP Design'da HLS'yi Kullanımının Anahtar Faydaları
DSP işlemci tasarımında HLS kabul, basit verimlilik kazanımlarının ötesine uzatan birkaç değişken avantaj tarafından yönlendirilir.Her fayda doğrudan geleneksel donanım geliştirmede bir ağrı noktası ele alır.
Hızlandırılmış Geliştirme ve Kısa Zaman-Pazarlama
RTL'yi büyük bir DSP algoritması için yazmak ve doğrulamak hafta veya ay sürebilir. HLS, sentezlenebilir RTL'nin yaratılmasını otomatikleştirmek için bu hızı otomatik olarak pazarlanmaktadır. Örneğin, 1024-point FFT birkaç düzine C kodunda belirtilebilir; HLS aracı otomatik olarak hesaplama ve haritalar otomatik olarak hedef mimarisine bağlanır.
Algoritma Optimizasyonuna İyileştirilmiş Verimlilik ve Odaklık
Tasarımcılar, donanım zamanlamasını yönetmek yerine sinyal işleme algoritmaları daha fazla zaman ayırabiliyorlar. Çünkü HLS, uygulamadan farklı davranışları test edebilir ve algoritmaları yüksek düzeyde optimize edebilir, sonra bu ayrımı daha iyi bir şekilde geliştirmesine izin verir: iyi yazılmış bir C/C++ modeli hem yazılım hem de donanım sentezine hizmet edebilir, çabanın çoğaltılması.
Tasarım Uzay Keşifleri
HLS araçları tasarım alanının hızlı bir şekilde araştırmasını sağlar.S.S.S., boru hattı, kayıt dışı faktör, dizi bölme) Tasarımcının performanslarını ve gücünü karşılaştırmasına izin verir. Örneğin, bir FIR filtresi, güç ve gerçek zamanlı bir MAC motoru olarak uygulanabilir. HLS aracı her biri için kaynak kullanımı ve zaman sınırlamaları ve zaman sınırlamaları ile birlikte en iyi ticaretini seçmesine izin verir.
Daha İyi Reusability ve Portability
Yüksek seviyeli DSP açıklaması, güncel kısıtlamalarla aynı C/C++ koduna yeniden entegre edilmesi gerektiğinde, yeniden kullanılabilir DSP işlevleri (örneğin, filtre jeneratörleri, FFT kütüphaneleri, modüller) yüksek düzeyde kullanılabilir ve projelerde paylaşılan C/C++ koduna sahiptir.
Manuald Hataları azaltın ve Geliştirilmiş Doğrulama
Manual RTL kodlaması, üretilen RTL'yi orijinal C testbench'e karşı kontrol eden bir hataya eğilimlidir. HLS, RTL'yi doğrulanmış bir algoritmalı modelden geliştirir, bu tür hataları önemli ölçüde azaltır. HLS aracı, RTL-co-simulations'ı orijinal Cbench'e karşı kontrol eder.
DSP Processor Design Workflow üzerinde etkisi
HLS araçlarının entegrasyonu, DSP işlemci gelişiminin her aşamasını yeniden şekillendirmiştir - nihai doğrulama için spesifikasyonlardan. Aşağıdaki alt bölümler en önemli iş akış değişiklikleri detayı.
Erken Prototipleme ve Donanım-Software Co-Design
HLS ile, donanım prototipleri algoritma stabil olduğu kadar yakında inşa edilebilir. Oluşturulan RTL, FPGA değerlendirme kurulu için sentezlenebilir, gerçek zamanlı sinyal işleme zincirleri testlerine izin verir, bu erken prototipleme, donanım-yukanware co-design sağlar: sistem yazılımı gerçek donanım hızlandırıcısı ile entegre edilebilir, arayüz sorunları veya geç yanlış yanlışları erkenden ortaya çıkarabilir.
Yüksek Lisans Modifikasyonları Kullanımı
Yüksek seviye kod kaynağı olarak hizmet eder, iteratif optimizasyon basittir. Geçim süresini azaltmak için, tasarımcı boru hatları yönergeleri ekliyor ve yeniden bant işlemcileri diğer bir alandan indirmeye veya işlevsel olmayan birimlerin tümünü azaltır.Her bir hızlı geri bildirim birkaç dakika sürer (günde) RTL'de yasaklanabilir agresif optimizasyon teşvik eder. Örneğin, bir iletişim üssü bant işlemcisi bir geçiş için optimize edilebilir.
Yazılım ve Donanım Takımları arasındaki Collaborative Development Between Software and Hardware Teams
HLS, ortak bir dil kullanarak işbirliğini teşvik eder (C/C++). DSP algoritmaları anlamakta olan yazılım mühendisleri, simülasyon modelini yazabilir; donanım mühendisleri, HLS'yi aynı kod tabanından RTL'yi üretmek için kullanır.Bu paylaşılan anlayış yanlış iletişim kurma ve son donanımın gerçekten algoritma niyetini almasını sağlar.In practice, takımlar genellikle bir “dual-track” yaklaşımı kullanır: yazılımlar simülasyon modelini korurken, donanım mühendisleri HLS'yi aynı kodbase'den RTL'yi üretir.
Otomatik Pipelining ve Resource Paylaşımı
DSP algoritmaları genellikle, bir hedef başlangıç aralığıyla elde etmek için döngüler içerir. Benzer şekilde, kaynak paylaşımı - gerekli verileri korumak için bu döngüleri otomatik olarak boru hattı. Örneğin, bir FIR filtresinde, araç, bir hedef başlangıç aralığı ile tekrarlamak için çoğaltma işlemleri planlayabilir. Benzer şekilde, kaynak paylaşımı - birden fazla işlem paylaşımı, gerekli verileri korumak için alan otomatik olarak, gerekli verileri azaltılırken alan.
DSP için HLS'nin Zorlukları ve Sınırları
Avantajlarına rağmen, HLS bir panacea değildir. Tasarımcılar, DSP tasarımlarında pitfalls önlemek için sınırlamalarını anlamalıdır.
Performans Tahmin edilebilirliği ve Sonuçlar Kalitesi
HLS'den elde edilen sonuçların kalitesi - saat frekansı, alan ve güç tarafından sigortalandı - araçta ağırlığa ve yönergelere bağlı olarak, bazı düzensiz kontrol yapıları veya yönergeler için, bu boşluklar için sistemsel olarak, RTL, manuel tasarımları ile daha az verimli olabilir.
Öğrenme Curve ve Tool Maturity
HLS'yi kabul etmek, yeni bir kısıtlama seti öğrenmek, pragmas ve raporlama mekanizmaları. Mühendisler, yüksek seviyeli kod haritalarını donanıma nasıl yönlendirmelidir - ne inşa edecekleri, belleklerde, döngüler nasıl planlanır ve diğerleriyle ilgili öğrenme eğrisi, tasarımcılar için saf RTL'ye alışkın olduğu için diktir. Tool olgunluğu değişir; bazı HLS aletleri karmaşık DSP bloklarını (örneğin, QR dekompozisyonlarını, adaptif filtreler) üst tahmin edilebilirliği ile mücadele edebilir.
Alan ve Güç Overhead
HLS bazen eşdeğer bir el-crafted RTL uygulamasından daha fazla alan üretebilir. Otomatik bağlayıcı işlem, kesinlikle gerekli olmayan bir şekilde, dinamik güç tüketimi gereksiz kullanımları nedeniyle daha yüksek olabilir. ancak, modern HLS araçları güç-optimizasyon yönergeleri (örneğin, saat gatingion, operand izolasyonu) bunu azaltmak için önemlidir.
Debugging ve Verification Kompleksi
HLS, manuel kodlama hatalarının sayısını azaltırken, üretilen RTL'nin daha zor olabileceğini iddia ediyorlar. Tasarımcı, beklenmedik davranışları anlamak için orijinal C koduna geri dönmeli. İşlem düzeyinde modelleme ve RTL-co-simulation yardımına geri dönmelidir, ancak doğrulama akışına karmaşık hale getirirler.
HLS'yi Modern FPGA- ve ASIC-Based DSP Flows'a entegre etmek
Bugünün önde gelen HLS araçları, C / C++ kodlarını IP olarak derlemeye olanak sağlar. FPGA tasarımları, 03.D.Vilinx Vitis HLS) (eski Vivado HLS) gibi, tasarımcılar C/C++ kodlarını IP olarak bir araya getirmeleri için IP olarak kullanılabilir.
ASIC tasarımları için, HLS genellikle mantık sentez ve fiziksel tasarım akışları ile birlikte kullanılır.Siemens EDA Catapult HLS) gibi araçlar kablosuz bazgrup işlemcileri, video kodu ve radar sinyal işleme gibi yüksek hacimli DSP projelerinde yaygın olarak dağıtılır.
Gelişen bir trend, LLVM'ye dayanan açık kaynak HLS araçlarının kullanımıdır.[DÜSTR:0] Bununla birlikte, akademik DSP araştırma ve küçük ölçekli uygulamalar için düşük maliyetli bir giriş noktası sağlar.
Dış Referanslar ve Daha Fazla Okuma
- [FONT:0]Xilinx Vitis HLS Resmi Dokümantasyon[[Dönetici: 1) HLS'yi FPGA DSP tasarımları için kullanmak için kapsamlı bir kılavuz.
- [0] Yüksek Lisans Dijital İşaret İşleme için Tez: A Survey" (IEEE Access)[[Dönetici: 1) HLS teknikleri ve uygulamaları DSP'ye ayrıntılı bir akademik araştırma.
- [FONT:0]Intel FPGA HLS Compiler) – Intel'in DSP ve AI hızlandırması için HLS çözümü.
- [FONT=0) “Yüksek Üst Derece Synthesis Challenges ve En İyi Uygulamalar” (Design & Reuse)) - HLS kabul engellerinin üstesinden gelmek için pratik bilgiler.
DSP Processor Design'da HLS için Future Yol
HLS’nin evrimi, otomatik olarak neyin sınırlarını zorlamaya devam ediyor. Çeşitli eğilimler HLS'nin DSP tasarım iş akışlarında rolünü daha sağlam bir şekilde güçlendirecek.
Makine Öğrenmesi –Guided HLS
Son araştırmalar, belirli bir tasarım ve hedef için HLS yönergelerinin en uygun setini tahmin etmek için makine öğrenimi uygular.Finans öğrenme modelleri, direktif uzayı brute-force veya heuristic yöntemlerinden daha verimli bir şekilde keşfedebilir, yakın optimizasyon uygulamaları için DSP sistemleri için, birçok döngü ve dizi ile otomatik olarak kodlanmış kalite elde etmek için bu yaklaşım vaat eder.
Generative AI ile entegrasyon
Generative modeller, DSP algoritmalarının doğal dil tanımlarını doğrudan sentezlenebilir HLS girişine dönüştürmek için araştırılıyor.Ancak yine de deneysel olarak, bu, giriş bariyerini daha da azaltabiliyor, algoritma mühendislerinin filtre özelliklerini veya FFT boyutlarını basit İngilizce olarak tanımlamak ve sentezlenebilir bir donanım uygulaması elde etmek için izin veriyor.
Açık Kaynak HLS Ekosistemi Büyüme
Daha fazla akademik ve endüstri grubu katkıda bulunduğu gibi, açık kaynak HLS araçları olgunlaşacaktır. Deney ve özelleştirme için bir platform sağlayacaktır, özellikle yaklaşık hesaplama veya stochastic işleme gibi özel DSP mimarileri için.
Karma-Precision DSP için daha iyi destek
DSP algoritmaları giderek karışık bir şekilde sıkıştırılır (örneğin, kontrol için yüzen, veripath için sabit nokta). Future HLS araçları bugün gerekli olan manuel çabayı otomatik olarak ele alacaktır. Bu, onor operasyonlarının çeşitli genişliklere ihtiyaç duyduğu kritiktir.
Yazılım Tanımlanmış Donanım ile sorunsuz entegrasyon
Yazılım ve donanım arasındaki sınır bulanıklaştırılır. Tools likeETHFLT:0)Xilinx Vitis), zaten CPU'lar ve programlanabilir mantık üzerinde çalıştırmaya izin verir. Future HLS bu konsepti genişletecektir, DSP bloklarının dinamik yeniden yapılandırılması için - gerçekten “tarafsız” sinyal işlemeye bir adım.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Yüksek çözünürlükte, DSP mühendisi için, hem endüstriyel uygulama hem de akademik araştırmalarda otomatikleştirilerek DSP işlemci tasarımı iş akışını yeniden şekillendirdi.Bu sayede performans tahmin edilebilirliği, araç olgunluğu ve karmaşık doğrulama gibi sorunlar, devam eden gelişmeler el kodlamalı RTL ile boşlukları daraltıyor.