Zephyrnet Logosu

Parametrelendirilmiş IP Entegratör Blok Tasarımı Tcl Komut Dosyası

Tarih:

Vivado 2021.1 şu anda IP Integrator'da parametreli Blok Tasarımlarını doğrudan desteklememektedir.

Tek bir Blok Tasarımı (BD) içerisinden değişken konfigürasyonları etkinleştirmek için bu özelliğe ihtiyaç duyulacaktır. Vivado'nun gelecekteki bir sürümü için bu özelliğe yönelik destek araştırılıyor.

Geçici bir çözüm olarak, tek bir Tcl kaynak dosyasında Tcl komut dosyası kullanılarak farklı özelliklere yönelik destek sağlanabilir.

Bu Blog, bir IP Entegratör Blok Tasarımının farklı özelliklerini değiştirmek için "if-elseif" Tcl komutlarıyla birlikte bir Tcl değişkenini parametre olarak kullanma yöntemini ayrıntılarıyla anlatır.

Sağlanan örnek komut dosyası daha karmaşık tasarım değişkenlerini kapsayacak şekilde genişletilebilir.

Bu Blogla sağlanan Tcl komut dosyası, Vivado 1902'de bir Versal™ "xcvc2197-vsva1-2021.1LP-eS" cihazına hedeflenmiştir ancak seçilen IP ile uyumlu diğer cihazlara da hedeflenebilir.

Komut dosyası özellikle Versal için bir PCIe Phy IP kullanır ve x1, x2, x4, x8 ve/veya x16 şerit yapılandırmalarında geçiş yapmak için bir Tcl değişkeni kullanır.

Tasarımcı Yardım Blok Otomasyonu Tcl komutlarının kullanılmasıyla, PCIe-Phy'ye yönelik destekleyici bloklar seçilen konfigürasyon için otomatik olarak oluşturulur.

Tcl betiğinin içeriğinin açıklaması aşağıda verilmiştir:

Satır 2: Seçilen Versal hedef cihazını ayarlar:

GBS_0-1629146040172.png

Satır 5: 1, 2, 4, 8 veya 16 şeride ayarlanabilecek “pcie_link_width” Tcl değişkenini tanımlar:

GBS_1-1629146040173.png

8. Satır: Seçilen hedef cihazı kullanarak bir Vivado projesi oluşturur:

GBS_2-1629146040173.png

Satır 11-12: Varsayılan “design_1”i kullanarak BD'yi oluşturur:

GBS_3-1629146040174.png

Satır 20-30: Tcl değişkeni "pcie_link_width" tarafından seçilen uygun şeritleri (veya bağlantı genişliğini) muxlamak için Tcl "if-elseif" komutlarını kullanır.

Bu bölümdeki “set_property” komutları, IP yapılandırma bloğu içinden değişken bağlantı genişliği seçimleri yapılandırılırken otomatik olarak türetilir.

Bunlar Vivado Tcl Konsolundan kopyalanıp Tcl betiğinin "if-elseif" bölümüne yapıştırılmıştır:

GBS_4-1629146040176.png

Satır 33-43: Benzer şekilde Tcl “if-elseif” komutu uygun “apply_bd_automation” komutlarını muxlamak için kullanılıyor.

Bu komutlar, değişken konfigürasyonlar için Tasarım Yardımı başlığından Blok Otomasyonu çalıştırılarak oluşturulur ve Vivado Tcl Konsolundan Tcl komut dosyasına kopyalanıp yapıştırılır:

GBS_5-1629146040179.png

Satır 46-49: Bağlantısız IP bağlantı noktalarını BD'nin dışında yapmak için Tcl komutlarını kullanır:

GBS_6-1629146040179.png

Satır 52:53: Bir RTL sarmalayıcısı oluşturur ve bunu projeye ekler:

GBS_7-1629146040180.png

Satır 56: BD'yi doğrular:

GBS_8-1629146040180.png

Satır 59: Oluşturulan BD'yi kaydeder:

GBS_9-1629146040180.png

Son olarak, son Blok Tasarımını oluşturmak için Tcl betiğini çalıştırın.

Vivado 2021.1 IDE'yi açın ve “Araçlar > Tcl Komut Dosyasını Çalıştır…” ardından betiğe gidin ve “Tamam”ı seçin.

Alternatif olarak Tcl Konsoluna aşağıdakileri girebilirsiniz:

kaynakpath_to_script>/parameterized_bd_script.tcl

GBS_0-1629387006914.png

parametreleştirilmiş_bd_script.tcl

Plato Ai. Web3 Yeniden Düşünüldü. Güçlendirilmiş Veri Zekası.
Erişmek için buraya tıklayın.

Kaynak: https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Parameterized-IP-Integrator-Block-Design-Tcl-Script/ba-p/1277124

spot_img

En Son İstihbarat

spot_img