Vhdl Kod Low Power Fpga Designs için Optimizasyon
Table of Contents
Düşük güç FPGA sistemlerinin tasarımı, modern dijital tasarımda, özellikle taşınabilir, batarya destekli ve termal olarak kısıtlanmış uygulamalar için mümkün olmayan bir şekilde ayarlandığında, birçok tasarımcı öncelikle kapanmaya odaklanır, IoT cihazları ve kablosuz altyapıya odaklanır, performanstan ödün vermeden güç tüketimi azaltma yeteneği belirleyici bir rekabetçi avantaj sağlar. VHDL (VHSIC Hardware Description Language) VH deployment tekniklerinin temelsel olarak optimize edilmesi için temel bir temelsel bir yöntem olarak tasarlanmıştır.
FPGA'larda Güç Tüketiminin Temelleri
VHDL kodunu düşük güç için optimize etmek için, bir tasarımcı ilk önce FPGA gücünün iki birincil bileşeni kavraymalıdır: dinamik güç ve statik güç. Dinamik güç aktif işlem sırasında hükmediyor ve iyi bilinen denklem tarafından yönetilir (P {dynamic} = \alpha \cdot C \cdot V.2 \cdot f\cdot) ve sabit güç devreleri sabit bir şekilde tüketiliyor.
FPGA mimarisi, ASIC'lerden farklı olan tüketim kaynaklarına katkıda bulunur. programlanabilir bağlantı, uzun routing yollarından dolayı büyük bir güç tüketicidir ve birçok geçiş transistörleri. mantık blokları kendileri, LUTs veya ALM'lerin de bu yapısal işlevi etkileyen sentezleme noktalarına göre değişir.
VHDL Güç Azaltımı için Teknikler
1. Saat Gating
Saat gating dinamik gücü azaltmak için en etkili tekniklerden biridir. Saat sinyalini aktif modüllere ayırarak, bu bloklarda geçiş faaliyeti sıfıra düşer, güç boşanır ve bir VHDL'de, saat gating bir sinyal ile uygulanabilir, ancak yüksek çözünürlükte bir saat boyunca izin verilen bir anahtarlama gösterir.
[0]
Bu model, Flip-flop'un yerlisini kullanıyor, saat ağacı dağıtımını koruyor ve kapıdan uzak tehlikelerden kaçınıyor. Elbette blok seviyesinde saat gating, anında satıcının saat gating hücresi (e.g., BUFGCE on Xilinx devices) boş zamanlarında saat ağacının bölümlerini kapatıyor.
2. Etkinlik Etkinliği
Anahtarlama aktivitesi (\(\alpha\) doğrudan çok fazla dinamik güç. VHDL kodu kötü iletişim protokolleri, reddant sinyal atamaları veya verimsiz devlet kodlaması yoluyla gereksiz yere uçabilir. Anahtar uygulamalar şunları içerir:
- [FONT:0) Gray kodlamayı aynı anda güncellemek için kullanılan sayacı ve devlet makineleri için kullanın.[DDD:0) Gray kodlaması, çıkış otobüsünde sadece bir miktar değişiklik sağlar. Örneğin, çift karşıtlık bir karşı mücadele için birden fazla parçaya yol açar.
- [FONT:0)Data gating[DÜDÜT:1): Bir modül erişilmediğinde veri girişi sabitlenir veya sabit bir şekilde kayıt yaptırırsa, giriş kaydı bilinen bir sabite ayarlanır (örneğin, tüm sıfırlar).
- [FONT:0)Remove gereksiz sinyal atamaları[Dönetici: Sadece şartlı olarak kullanılan sinyallerin varsayılan değerleri atamasından kaçının.Her görev, sinyal birden fazla işlem tarafından yönlendirilen veya varsayılan değerlerden farklı olarak farklı olarak hareket etme potansiyeline sahiptir.
- [FONT:0) Kayıt edilen çıktıları etkinleştirin[Dönetici: Her giriş değişikliğiyle karşı karşıya kalan, çıktıları kayıt edin ve yalnızca verileri geçerli olduğunda güncellemek.
3. Finite Devlet Makinaları için Verimli Devlet
Devletin seçimi doğrudan geçiş faaliyetleri, alan ve zamanlamayı etkiler. Düşük güç tasarımları için, bir tane ısınıcı (her durumda bir devlet için biraz geri dönüşler) aktif devletler arasındaki geçiş sayısını azaltır (örneğin, 16 veya daha fazla) ikili kodlama aslında daha düşük maliyetlidir, çünkü daha düşük maliyetli olan çift geçişler genellikle en iyi şekilde yapılır.
4. Glitch Propagation'ı Azmak için Borulining ve Retiming
Glitches kısa, istenmeyen sinyal geçişleri, kombinasyonel mantık aracılığıyla ortaya çıkan geçişler, bir sonraki saat kenarlarında ekstra güç dağılımına neden oluyor, özellikle aksaklıklar için eğimli hataların azaltılmasına neden oluyor, farklı giriş sinyali gecikmeler, otomatik olarak mantıksal olarak, hataların düşmesine neden oluyor.Demek için kayıt altına almak için, tüm geç saatlere kadar gecikmeden önce gecikmeden önce gecikmeye neden olabilir.Her aşama, derin bir şekilde kesme işlemiş.
5. Saat Enables ve Power Down Modes'in Kullanımı
Modern FPGAs, birden fazla saat domaini ve güç adalarını destekler. VHDL doğrudan güç tedarikini kontrol edemezken, kodun gerekli olan modülleri yalnızca gerektiğinde devre dışı bırakabilir veya etkinleştirebilir. Örneğin, kablosuz bir alıcı sadece bir paket alındığında temel bant işleme bloğuna ihtiyaç duyabilir.Eğer VHDL koşullu bir işlem süresini ima edersek.
6. Alanı Azaltmak ve Anahtarlama
Birden çok benzer işlem farklı veriler üzerinde gerçekleştirildiğinde, donanım kaynaklarını paylaşmak (örneğin, birden fazla değişkenli modada kullanılan bir çoklu eklenti) aynı anda gerçekleşmeyen iki ek için birden fazla kaynak kullanarak, birden fazla değişken ve statik gücü azaltır.In VHDL, bu küçük bir geçişle elde edilir, ancak genel olarak sabit bir şekilde veri paylaşımı sağlar.Forever iki ayrı eklenti aynı zamanda tek bir eklentiyi kullanarak otomatik olarak otomatik olarak tekrarlayıcı olarak otomatik olarak tekrarlanır.
Düşük Güç için Analiz ve Uygulama Teknikleri
VHDL kodlama düşük güç için temel oluştururken, sentez ve uygulama aşamaları da güçlü bir avantaj sunar. Modern FPGA satıcılar, düşük güç kullanan sentez seçenekleri sunar. Örneğin, Xilinx Vivado, bu zamanlama seçeneklerini ve daha iyi bir şekilde kapatılmayan bir "Power Optimizasyon" sentez stratejisini içerir.
Power tahminleri, akışın kritik bir parçasıdır. Xilinx Power Estimator (XPE) ve Intel PowerPlay, gerçekçi geçiş aktivitelerini yakalamaya dayalı erken tahminler sağlar.Bu tahminler, gerçek toggle oranına göre daha doğru sentez ve uygulamadan sonra daha doğru hale gelir; gerçek toggle formatındaki verileri kullanarak gerçek bir görüntüyü kullanarak.
Daha fazla okuma için dış kaynaklar:
- [FONT=0)Xilinx UG440 – Güç Analizi ve Optimizasyon Kılavuzu[Dönem: 1)
- [0]Intel PowerPlay Power Analysis[Dönetici:0)[Dönetici:0)
- [[0)IEEE Paper: Low Power FPGA Design – A Survey).
Düşük Güç Tasarımının Doğrulaması ve Geçerliliği
Düşük güç optimizasyonu erken ve sürekli olarak doğrulanmalıdır. Gerçek dinamik gücü hesaplamak için tasarıma giriş kalıpları ile giriş kalıpları toplarken, VHDL testibench kullanarak geçiş faaliyetlerine giriş yapın. Birçok simülasyon araçları, bir Değer Değişikliği Dump (VCD) dosyası oluşturabilir; bu dosya, gerçek dinamik gücü hesaplama araçları tarafından okunabilir.For the araç, hedef cihaz için kullanılan net liste için RTL gücü kullanır.
Bir diğer en iyi uygulama, tasarımları VHDL hiyerarşisinde güç alanlarına bölmektir.Açıkçası, farklı gerilimlerde veya frekanslarda çalışabilen modüller ile tasarım, satıcılara özgü güç yönetimi IP ile optimize etmek daha kolay hale gelir. Örneğin, bir sistem 200 MHz'de çalışan yüksek performanslı bir alan (örneğin, DSP) olabilir ve 20 MHz'de çalışan kontrol domaini kullanarak tasarım, bu alanlar kendi saat giriş ve sinyalleri ile ayrı varlıklarla birlikte anlık olarak optimize edilmelidir.
Low Power VHDL Design için en iyi uygulamalar - A Özet
- [FONT:0] Zihinde düşük toggle oranları ile tasarım.) Her sinyalin aktivitesini göz önünde bulundurun, özellikle FPGA'nın I/O pedlerine kapasiteli yükler büyük.
- [FONT:0)Kapit kritik sinyalleri[[Döncük yolları kırıp glitch yayılımını azaltmak için[Döneticileri) kullanın.
- [FONT:0) Tasarımunuzu ([Döneticileri) bağımsız saat devre dışı bloklara dahil etmek.
- [FONT:0) Güç farkında sentez araçları [Dönetici: 1) ve sürekli olarak bölge, hız ve güç arasındaki ticareti değerlendirin.Sadece zamanlama için kör optimize etmeyin.
- [FONT:0]Simulate ve doğru güç tüketimi tasarım döngüsünde erkenden. VCD dosyaları ve satıcılar güç analizörleri uygulamadan önce noktaları yakalamaya çalışır.
- [FONT:0) Hedef FPGA ailesi) – daha düşük temel gerilimlerle yeni cihazlar (örneğin, 0.95 V vs 1.2 V) mümkün olan düşük gerilimli operasyondan yararlanmak için önemli statik güç azaltımı sunar.
- [FONT:0] gereksiz test mantığından yoksundur[Dönetici:0) Üretimde aktif olmaya devam eden bir test mantığından yoksundur.If debug features (e.g., çipsko çekirdekleri) dahil edilir, son inşada engelli veya saat-gated olmasını sağlar.
- [[Düzg:0) Satıcıya özel düşük güç primleri[Dönetici: 0,3) Özel saat kapıları (BUFGCE), DSP blokları kapatılabilir ve erişilemezken RAM'ı engeller.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Güç tüketimini FPGA tasarımları en erken aşamada başlıyor: verimli VHDL kodu yazmak. Altta yatan fiziği anlamak, hedefli kodlama teknikleri, zamanlama ve alan ile ilgili stratejiler ile, bu makalede ele geçirilen ve güç için optimize etmek için kullanılan sentez ve uygulama araçlarıyla, tasarımcılar sadece doğru ve hızlı bir şekilde çözüm sağlamalı - güç, zamanlama ve alan ile ilgili ilk sınıfsal bir tasarım kısıtlamaları ile tedavi edilmelidir.Bu makaledeki stratejilerle birlikte, tasarım boyunca güç doğrulama araçlarına uygun olarak, mühendisler sadece doğru ve hızlı bir şekilde karşılaştırılabilir bir şekilde karşılaştırıldığında, güçlü bir enerji çözümleri sağlayabilirler.