Sentez ve Fiziksel Gerçekleme Süreçleri
Bu proje, donanım uygulaması için iki farklı süreç desteklemektedir: Vivado (Xilinx hedefleri ve performans ölçümleri için) ve Gowin (Tang Nano 9K geliştirme kartı üzerinde fiziksel kurulum için).
Vivado Modüler Derleme Süreci
Sistem, tam bir kart sentezinin ağırlığını yaşamadan bireysel RTL modüllerinin zamanlama ve donanım alanı (LUT/FF) değerlerini ölçmek için Out-of-Context (OOC) modunu kullanır.
Teknik Genel Bakış
Süreç scripts/vivado/synth_ooc_generic.tcl dosyası üzerinden ilerler ve modülden bağımsız bir şekilde çalışır:
Tip
Script üzerinde bir hata olması veya ek geliştirmeler için kullanılacak kaynak: Vivado TCL Script Komutlar
- Bağımlılık Yönetimi: Bender ayar dosyasından otomatik üretilen yapılandırma ile eksik modüller bulunur.
- Sıralama (Resolution): Derleme sırası sentez aracı tarafından otomatik olarak algılanır.
- Bağımsız Sentez: OOC modunda çalıştırılarak sadece hedeflenen modülün donanım kaynağı tüketimi izole edilir.
- Raporlama:
build/reports/dizini altındautilization.txtvetiming.txtotomatik olarak üretilir.
Manuel Çalıştırma
Genellikle süreç tar32.py pipeline tarafından yönetilse de, manuel olarak tetiklenebilir:
vivado -mode batch -source scripts/vivado/synth_ooc_generic.tcl -tclargs <HEDEF_MODÜL> "<DOSYA_LISTESI>"
Gowin Uygulaması (Tang Nano 9K)
Gowin süreci, sistemi Tang Nano 9K (GW1NR-LV9QN88PC6/I5) cihazına fiziksel olarak yüklemek için yazılmıştır, basit yapıları test etme süreclerinde kullanılacak kart olarak seçilmiştir.
Fiziksel Programlama
Sentezlenen donanım dosyası (.fs), bilgisayarınızdan FPGA'ya aktarılabilir:
./scripts/gowin/flash_tang9k.sh
Donanım Sonuç Raporu
Tüm süreçlerin sonuçları "Donanım Özeti" adı altında birleştirilir. Bu rapor, projenin zaman içindeki donanım verimliliğini alan kaplama oranı takip etmemizi kolaylaştırmak adına tasarlanmıştır.
| Süreç | Temel Hedef | Çıktı (Artifact) |
|---|---|---|
| Vivado OOC | Kaynak ve Performans Ölçümü | Kullanım Metrikleri (Utilization) |
Tip
Birden fazla kaynaktan sürülen hatlar veya yanlışlıkla oluşan latch gibi kritik donanım hatalarını yakalamak için sentez loglarını mutlaka inceleyin. Bu hatalar simülasyonda gözükmeyebilir ancak fiziksel donanımı bozabilir.