Zephyrnet Logosu

UltraScale+ GTY ve Versal GTY/GTYP ile Tasarım Farklılıkları

Tarih:

Versal'daki GTY/GTYP alıcı-vericileri ACAP, 1.25 Gb/s'den 32.75 Gb/s'ye kadar hat hızlarını destekleyen, güç açısından verimli alıcı-vericilerdir.

Versal GTY ve GTYP alıcı-vericileri, alıcı-vericilerin son derece yapılandırılabilir olmasını ve Versal mimarisinin programlanabilir mantık kaynakları ve entegre sabit blokları ile sıkı bir şekilde entegre edilmesini sağlayan yeni tasarım akışları ve özellikleri sunar.  

Bu blog, UltraScale+ GTY tasarımı konusunda deneyimli kullanıcılara Versal GTY ve GTYP ile verimli bir şekilde yardımcı olmayı amaçlamaktadır. Kılavuz, UltraScale+ ve Versal IP arasındaki aşağıdakileri içeren temel farkları kapsayacaktır:

  • Önceki ailelere kıyasla Versal'daki yeniliklere odaklanan tasarım akışı değerlendirmeleri
  • GT ve REFCLK Pin Planlama
  • Bir Quad içindeki GT konumlarını değiştirme
  • Saat ve Sıfırlama konuları
  • Önceki ailelerde kullanılan DRP Bağlantı Noktası yerine APB3 kullanımı. VIO veya İşlemci üzerinden erişim
  • AXI veri yolu kullanımı
  • Çalışma zamanı IBERT
  • Versal GTY ile tasarım yapmaya başlamanıza yardımcı olacak ilgili örnek tasarımlar ve ek bilgiler

1: Gb/sn
2: Birleşik gönderme ve alma
3: Birden fazla cihaz ailesinde maksimum alıcı-verici sayısı bulundu

Tablo kaynaklı https://www.xilinx.com/products/technology/high-speed-serial.html#overview 

Versal ACAP'yi hedeflerken iki ana tasarım aracı vardır:

  • Üst düzey FPGA tasarımını ve doğrulamasını hızlandırmak için Vivado Tools Design Flow
  • Hızlandırılmış uygulamalar oluşturmak için Vitis Environment Design Flow

Not: tüm Versal ACAP tasarımları, aygıtı başlatmak için kullanılan PMC'yi içerdiğinden CIPS IP'sini gerektirir. Daha fazla bilgi için Kontrol Arayüzü ve İşleme Sistemi IP Ürün Kılavuzuna bakın (PG352). 

IP Entegratörü ve RTL Tasarım Akışları

roym_2-1627949889958.png

Versal ACAP'de, GT bileşenleri Ortak/Kanal'dan GT Quad ayrıntı düzeyine güncellenir. Bu, dörtlü paylaşım gibi şeyleri kolaylaştırır ancak tasarımcıların GT Wizard IP'nin RTL örneğinden IP Integrator akışlarına geçmesini gerektirir. 

Versal GTY/GTYP ile tasarım yaparken, GT paylaşım kullanım senaryolarının yanı sıra tekli veya çoklu GT Quad kullanan sistem tasarımları oluşturmak için IP Entegratör (IPI) içindeki GT Sihirbazının kullanılması gerekir. GT Quads'a bağlanan özel IP için tasarım girişi, Blok Otomasyonu aracılığıyla tek veya birden fazla GT Quad tabanlı IP'yi başlatan, yapılandıran ve bağlayan Bridge IP üzerinden yapılır. 

Aşağıdaki bloğu oluşturan bir örnekte gezinmek için şu adresi ziyaret edin: Çok Oranlı Konfigürasyonlu GTY Örnek Tasarım veya örneği Vivado CED Store aracılığıyla oluşturun.

Tamamen RTL tabanlı akışlar önerilmez. Tercih edilen IPI akışı (yukarıda gösterilen) mümkün değilse, bunun yerine aşağıdaki Versal GT akışı önerilir. Bu akış, kullanıcıların IP Kataloğu aracılığıyla GT Sihirbazı IP'sini oluşturacağı ve ardından GT Sihirbazını bir alt modül olarak başlatmak için üst düzey IP sarmalayıcısını kullandığı UltraScale/UltraScale+ RTL akışıyla karşılaştırılabilir. Bu UltraScale/UltraScale+ akışında, üst düzey IP sarmalayıcı, GT Sihirbazı ve sıfırlama IP yardımcı bloğunu içeriyordu.  

RTL Akışı: Versal GT Wizard Block Design'dan üst düzey bir HDL sarmalayıcı oluşturun

  • Vivado'da, üzerine tıklayın Blok tasarımı oluştur IP ENTEGRATÖRÜ altında
  • Versal ACAPs Alıcı-Vericiler Köprü IP'sini ekleyin
  • IP'yi yapılandırın ve "Geçiş Modu"nu etkinleştirdiğinizden emin olun. Bu seçenek, GT Quad'ın ilgili tüm sinyallerini uygulama arayüzüne sunar.

          

roym_3-1627949889780.png

  • Blok Otomasyonunu Çalıştır
  • Tasarımı doğrulayın (Tools > Tasarımı Doğrula)
  • Git kaynaklar sekmesinde, design*.bd'ye sağ tıklayın ve HDL Sarmalayıcı Oluşturun

roym_4-1627949889781.png

  • Üst düzey HDL sarmalayıcı, GT sihirbazını bir alt modül olarak başlatmak için kullanılabilir
    • Üst düzey sarmalayıcı, GT Wizard IP + Reset IP helper + BUFG_GT modüllerini içerecektir.

IP'den GT'ye Entegrasyon

GT bileşenlerini kullanan Xilinx "ana" IP çekirdekleri, GT bileşenlerini IP'ye entegre etmez. Bu, GT paylaşımını daha iyi etkinleştirmek içindir.

Bunun yerine, Vivado IP entegratörüne bir Xilinx ana IP'si ekleyin, ardından IP'nin TX ve RX veri yollarını GT Sihirbazına bağlamak için Blok Otomasyonu'nu kullanın. Vivado, ana IP'yi mevcut GT Quad kaynaklarıyla paketleyemezse, yeni bir GT Wizard Quad Base (gt_quad_base) başlatılacaktır. Araçlar ayrıca isteğe bağlı usrclk, outclk, REFCLK ve sıfırlama bağlantılarını kullanır. Genel olarak, ana IP tasarım akışı aşağıdaki gibidir:

  1. IP Integrator tuvaline Xilinx IP'yi (örneğin, Aurora64B66B, PCIe, MRMAC, vb.) ekleyin.
  2. IP'yi şerit sayısı, hat oranları vb. için yapılandırın.
  3. Tıkla Blok Otomasyonunu Çalıştır.
  4. Sistem ihtiyacınıza göre daha fazla IP örneği eklemek için 2. ve 3. adımları gerçekleştirin. Ayrıca 2. adımı yapmadan önce 3. adımı tekrar tekrar gerçekleştirebilirsiniz. Blok otomasyon GUI'sinde blok otomasyonunun hangi IP için çalıştırılacağını seçebilirsiniz.

Blok Otomasyonu, veri yolu arabirim bağlantıları için üç adede kadar seçeneği destekler. Her Xilinx ana IP'si üç seçeneği de desteklemez.

  1. Oto: Block Automation, GT Quad kaynaklarının optimum kullanımını seçer. Aracın kararı, mevcut saat ölçüm kaynakları ve REFCLK ve PLL paylaşım kuralları hakkındaki bilgisine dayanmaktadır.
  2. Start_With_New_Quad: Blok Otomasyonu, Yeni GT Quad'ı başlatır ve veri yolunu, saatleri ve sıfırlama bağlantılarını yapar.
  3. Özelleştirilmiş_Bağlantılar: Kullanıcılar, IP'deki her kanal için hangi Quad ve kanalın bağlanacağını seçer.

    Not: Özelleştirilmiş_Bağlantılar seçeneğinde, şeritler mevcut değilse yeni GT Quad temel IP otomatik olarak başlatılmaz. Özelleştirilmiş_Bağlantılar'a tıklamadan önce tuvale GT dörtlü temel IP'yi manuel olarak eklemeniz gerekecektir.

GT IP ile bir tasarım oluşturmaya genel bir bakış için bkz. Xilinx IP – GT Quad Entegrasyonu Versal ACAP Alıcı-Verici Sihirbazı LogiCORE IP Ürün Kılavuzundaki bölüm (PG331).

UltraScale+'dan farklı olarak Versal GT Wizard, GT Quad'ler için fiziksel konumlar eklemez. Bunun yerine, G/Ç Planlayıcı veya Sabit Blok Planlayıcı, fiziksel GT konumları ve GT referans saat pimi konumları eklemek için kullanılır. Sentez çalıştırıldıktan sonra:

  1. Sentezlenmiş Tasarım'ı Aç → Düzen → G/Ç Planlama.
  2. Açılış Paket Pimleri sekmesine gidin ve ilgili MGT bankalarında GT Quad ve GT referans saat konumlarını sağlayın.
  3. Tüm G/Ç Bağlantı Noktaları atandığında, Uygulamayı Çalıştır tasarımı uygulamak için.

Sabit Blok Planlayıcı hakkında bilgi için Vivado Design Suite Kullanıcı Kılavuzuna bakın: G/Ç ve Saat Planlama (UG899). Tam GT dörtlü düzeni ve desteklenen yapılandırma seçenekleri hakkında bilgi için Versal ACAP GTY ve GTYP Alıcı-Verici Mimarisi Kılavuzuna bakın (AM002).

REFCLK Paylaşımı

GT sihirbazı, R0 – R5 arasında altı mantıksal referans saat girişine izin verir. Sihirbaz, çeşitli hat hızlarında kullanıcı seçimine bağlı olarak, sıralanmış referans saat bağlantı noktalarını (GTREFCLK0-5) ve bu saat bağlantı noktalarında sürülecek frekansı atar. Özet.log gt_quad_base içinde IP Kaynakları alanı, her MGTREFCLK bağlantı noktası için beklenen frekansı ve bir CONFIG ve protokol parametreleri tablosunu sağlar. Bu, gt_quad_base başına oluşturulur. İşte bir örnek Özet.log:

roym_5-1627949889880.png

Refclk yönlendirme, IPS aracılığıyla otomatiktir ve pin planlaması yoluyla ima edilir. Blok otomasyonunun bir parçası olarak, GT Referans Saatleri (GTREFCLK), basit tasarımlar için GT Quad'larda kısaltılır. Çoklu GT Dörtlü Çoklu IP kullanan karmaşık tasarımlar için, sistem tasarımcıları GTREFCLK'leri frekans bilgilerine, Dörtlü yerleşime ve kart üzerindeki saat kullanılabilirliğine göre kısaltabilir. Sistem tasarımcılarının bilinçli bir karar vermelerine yardımcı olmak için IP Entegratör tuvalinde tüm sistem için GTREFCLK özeti sağlanır. Bu tablo, Tcl konsoluna aşağıdaki komut girilerek elde edilebilir.

xilinx::designutils::report_gt_refclk_summary

 

Komut yürütüldüğünde, gt_refclk_summary.txt aşağıdaki yolda oluşturulur ve GT Referans Saatleri, frekansları ve kaynağını bildirir.

roym_6-1627949889924.png

roym_7-1627949889939.png

Kısıtlamalar

  • Sentez çalıştırılmadan önce MGTREFCLK create_clock kısıtlaması gereklidir.
  • Bu saat türetilmemişse APB3CLK create_clock kısıtlaması gereklidir.

İşte bir örnek:

create_clock -period 6.4 [get_ports ref_clk_0_p]

create_clock -period 5.0 [get_ports apb3clk_quad]

create_clock -period 5.0 [get_ports apb3clk_bridge]

Denetleyiciyi Sıfırla

Versal GTY/GTYP, Quad örneğinde bir ana sıfırlama denetleyicisi içerir. Daha önce UltraScale+ GTY'de, GTY alıcı-vericisindeki sıfırlama durumu makinesi yalnızca TX kanalını veya RX kanalını sıfırlardı ve sihirbazdaki sıfırlama yardımcı bloğu, PLL sıfırlamalarıyla sıralamayı ekledi.

Versal GTY/GTYP'nin ana sıfırlama denetleyicisi, LCPLL, RPLL, ILO, TX programlanabilir bölücü, RX programlanabilir bölücü, TX kanalı ve RX kanalının sıfırlanmasında otomatik olarak adım atar. Varsayılan olarak, ana sıfırlama denetleyicisi kullanılır ve Ana Sıfırlama Etkinleştir GUI'de seçim.

Bridge_ip, farklı sıfırlama kapsamı sağlayan bir sıfırlama FSM'si içerir. Bağlantı noktası adları ve işlevleri UltraScale+ GTY'ye benzer.

  • gtreset_in: alıcı-verici ilkellerinin PLL'lerini ve aktif veri yönlerini sıfırlayın
  • reset_tx_pll_and_datapath_in: TX'i ve ilişkili PLL'leri sıfırlayın
  • reset_rx_pll_and_datapath_in RX ve ilişkili PLL'leri sıfırlayın
  • reset_tx_datapath_in: TX'i sıfırla
  • reset_rx_datapath_in: RX'i sıfırla

roym_8-1627949889904.png

  • APB3 spesifikasyonu, önceki DRP arayüz spesifikasyonumuza çok benzer. APB3 arayüz spesifikasyonunu ve protokolünü açıklayan çevrimiçi kaynaklar vardır. Aşağıdaki örnekte, protokolü ve arayüzü idare edecek bir RTL kaynağı sağlanmıştır. Adres ve veriler, aşağıda gösterildiği gibi bir VIO ile kolayca sağlanabilir.

roym_9-1627949889970.png

Veri yazmak için, adresi ve verileri VIO 1 çıkış bağlantı noktaları 3 ve 4'e koyun ve ardından VIO 1 yazma bağlantı noktası 2'ye darbe uygulayın. Verileri okumak için adresi VIO bağlantı noktası 3'e koyun ve ardından darbeli etkinleştirme. Veriler giriş portu 0'da sunulur.

Tam tasarım aşağıda gösterilmiştir. Tasarımı sıfırlamak ve izlemek için, tipik olarak bir reset_tx_pll_and_datapath sıfırlaması ve ardından bir reset_rx_datapath ile ikinci bir VIO modülü kullanılır. Bu durumda bağlantı durumu, tasarımın başarılı bir şekilde çalıştığını gösterecektir.

resimA.png

  • Tasarımı ARM işlemci üzerinden kontrol etmek isterseniz, aşağıda gösterilen tasarım kullanılabilir. VIO örneklerini AXI_GPIO'lar ve ardından x_slice blokları ile değiştirir. 
    Bu örnekte GT arayüzü, yukarıdakiyle aynı APB3 RTL modülü üzerindendir ancak AXI_APB3 köprüsünü kullanmak da mümkündür. Köprü, GT'ye basit bir Bellek eşlemeli arayüz sağlar. RTL'den çalıştırıldığında, APB3 tercih edilen arayüzdür. ARM sürücü olduğunda APB3 ve AXI arasında özel bir tercih yoktur, ancak Xilinx IP'mizde APB3 tercih edilen arayüz gibi görünmektedir. APB3'ün önceki nesillerin DRP bağlantı noktasına eşdeğer olduğunu ve Versal'de hız değişiklikleri yapmak için yalnızca hız bağlantı noktasını kullandığınızı ve APB3 veri yolunun kullanılmaması için öznitelik değişikliklerinin otomatik olarak yapıldığını unutmayın.

procToApb.PNG

Yukarıdaki tasarım, aşağıda gösterilen Hafıza Haritasını kullanır.

GPIOMap.PNG

TX veri yolunu ve PLL'yi sıfırlamak için xslice_4 kurulumu burada gösterilmektedir:

roym_12-1627949889773.png

Dolayısıyla, yukarıdaki bellek haritasıyla birlikte, TX veri yolunu ve PLL'yi sıfırlamak ve GT durum bitlerini okumak için kod aşağıdaki gibidir:

roym_13-1627949889782.png

APB3 yerine GT'de AXI veri yolunu kullanmak için:

1. Kart tasarımına bir işlemci ekleyin. Üzerine çift tıklayın ve ileri'ye basın.

2. PS PMC'ye tıklayın

PSPmc.png

3. Saati seçin ve 100 Mhz kumaş saat ekleyin

Saat Seçimi.PNG

4. PS PL arayüzlerini seçin ve bir ana AXI arayüzü seçin

AXIsetup.PNG

Bitir'i tıklayın. Bu size aşağıdaki adres haritasını vermelidir.

Harita Ekle.PNG

Tam tasarım aşağıda gösterilmiştir.

AxiDesign.PNG

Aşağıdaki kod, TX ve RX çıkış bölücülere erişir ve 5 Gb/sn tasarımını 2.5 Gb/sn olarak değiştirir. (diğer öznitelik değişiklikleri gerekli olabilir, ancak bu 0x0CA0 adresini değiştirir. AXI adresini almak için 0x0CA0 APB3 adresini Mimari kılavuzundan 2 yer öteye kaydırmanız gerekir.

KodC.PNG

IBERT kancaları, GT içeren tüm Versal tasarımlarına yerleştirilmiştir.

roym_14-1627949889783.png

IBERT'yi kullanmak için "bağlantı oluştur"a tıklamanız yeterlidir ve buradaki işlevsellik UltraScale+ IBERT'e çok benzer. 

Aşağıdaki örnekte 2 bağlantı oluşturmayı ve onu dahili geri döngü için ayarlamayı seçtim.

roym_15-1627949889784.png

BER istatistiklerini görmek için PRBS verilerini seçmeniz gerekir:

roym_16-1627949889786.png

Bu yapıldığında bağlantıyı ve BER'i ​​görmelisiniz.

roym_17-1627949889926.png

Seri G/Ç taramalarını normal şekilde çalıştırın.

Xilinx belgeleri, tasarım ihtiyaçlarınıza uygun içeriği bulmanıza yardımcı olmak için bir dizi kullanıcı tasarım süreci etrafında düzenlenmiştir.

Tasarım sürecinizle ilgili eksiksiz bilgi için bu Tasarım Süreci Merkezlerini ziyaret edin:

RTLFlow.PNG

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/Differences-Designing-with-UltraScale-GTY-and-Versal-GTY-GTYP/ba-p/1271972

spot_img

En Son İstihbarat

spot_img