Logo XILINX

Distributor FPGA XILINX 63234 END

Distribuční produkt XILINX-63234-END-FPGA

Důležitá poznámka: Tento záznam ve formátu PDF ke stažení je poskytován za účelem zlepšení jeho použitelnosti a čitelnosti. Je důležité si uvědomit, že Záznamy odpovědí jsou Webobsah založený na -, který je často aktualizován s dostupností nových informací. Připomínáme vám, že byste měli navštívit technickou podporu Xilinx. Webmísto a review (odpověď Xilinx 63234) pro nejnovější verzi této odpovědi.

Zavedení

Vzhledem ke způsobu, jakým jsou paměti DDR2 a DDR3 navrženy a jak je navržen řadič řady MIG 7, není výkon přímočarý. Vyžaduje to pochopení různých parametrů časování Jedec a architektury řadiče a pro získání odhadů budete muset spustit simulace. Obecný princip pro určení výkonu je stejný, ale tento dokument poskytuje snadný způsob, jak dosáhnout efektivity pomocí MIG ex.ampnávrh s pomocí zkušebního stolu a stimulů fileje připojeno zde.

Efektivní šířka pásma
Datová sběrnice DRAM dosahuje téměř špičkové šířky pásma pouze během dávek čtení a zápisu a její režie snižuje efektivní rychlost přenosu dat.

Distributor XILINX-63234-END-FPGA-obr.36

Několik exampmenší režijní náklady jsou

  • doba předběžného naúčtování přístupu k řádkům ve stejné bance (přístupová adresa není ve stejném řádku na stránce)
  • doba obnovy zápisu pro změnu z přístupu pro zápis na přístup pro čtení
  • doba obratu autobusu pro změnu přístupu z přístupu pro čtení na přístup pro zápis

Hodiny přenášejí data

  • Účinnost (%) = ———————————————-

Celkový počet hodinových cyklů
Efektivní šířka pásma = Špičková šířka pásma * Účinnost

MIG Design Generation

  • Podrobnosti o MIG IP najdete v kapitole 586 UG1 a exampgenerace designu.
  • Před spuštěním simulace výkonu svařovacího zařízení řady MIG 7 proveďte následující kroky, abyste se ujistili, že je simulační prostředí v pořádku.
  • Otevřete MIG exampNavrhněte a zmapujte příslušné knihovny, spusťte simulaci a ujistěte se, že v přepisu vidíte zprávu „test prošel“.
  • Pro demonstraci postupu jsem vygeneroval MIG IP adresu pro xc7vx690tffg1761-2 a spustil příkaz ex.ampdesign.
  • Dvě věci, které je třeba poznamenat, jsou bity adresy paměti a výběr mapování adresy paměti.
  • NapřampV rozbalovací nabídce paměťových součástí jsem vybral MT41J128M8XX-125.XILINX-63234-END-FPGA-Distributor-obr- (1)

Pro vybranou paměťovou část z obrázku 1 řádek = 14, sloupec = 10 a banka = 3, takže app_addr_width = řádek + sloupec + banka + pořadí = 28

XILINX-63234-END-FPGA-Distributor-obr- (2)

Můžete vybrat buď BANK_ROW_COLUMN, nebo ROW BANK_COLUMN.
Opustil jsem sloupec ROW BANK, což je výchozí mapování adres.

Example design Simulace se syntetizovatelnou zkušební stolicí

  • V části Nastavení simulace vyberte QuestaSim/ModelSim Simulator a přejděte do umístění kompilovaných knihoven.
  • Podrobnosti o odkazování na cestu instalace nástrojů třetích stran, výběru cílového simulátoru a kompilaci a mapování knihoven naleznete v uživatelské příručce (UG900) Vivado Design Suite Logic Simulation.XILINX-63234-END-FPGA-Distributor-obr- (3)

Simulujte grafické uživatelské rozhraní (klikněte na kartu Spustit simulaci ve správci projektů) a ujistěte se, že se v přepisu zobrazuje zpráva „test prošel“.

Simulace výkonu RTL modifikace

  1. Klikněte pravým tlačítkem myši na záložku Zdroje, vyberte „Přidat nebo vytvořit zdroje simulace“ a přejděte na soubor mig7_perfsim_traffic_generator.sv. file a kliknutím na tlačítko Dokončit jej přidejte.
  2. Klikněte pravým tlačítkem myši na záložku Zdroje, vyberte „Přidat nebo vytvořit zdroje simulace“, přejděte k souboru perfsim_stimulus.txt a klikněte na Dokončit přidávání.
  3. Okomentujte example_top instance v souboru sim_tb_top.v file.
  4. Přidejte níže uvedené řádky RTL k sim_tb_top,vXILINX-63234-END-FPGA-Distributor-obr- (4)XILINX-63234-END-FPGA-Distributor-obr- (5)XILINX-63234-END-FPGA-Distributor-obr- (6)XILINX-63234-END-FPGA-Distributor-obr- (7)XILINX-63234-END-FPGA-Distributor-obr- (8)
  5. Upravte APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH, H a BANK_WIDTH podle výběru paměťové součástky. Hodnoty lze získat ze souboru _mig.v. file.
  6. Žlutě zvýrazněný název instance mig_7series_0_mig se může lišit v závislosti na názvu komponenty během vytváření IP adresy. Ověřte, zda jste zvolili jiný název, a podle toho jej změňte.XILINX-63234-END-FPGA-Distributor-obr- (9)
  7. Jakmile je IP adresa vygenerována, otevřete soubor _mig.v. file a zkontrolujte případné odchylky v názvech signálů LHS a opravte je.
  8. app_sr_req, app_ref_req a app_zq_req by měly být inicializovány na 0.
  9. Jako example_top.v je komentovaný a nový filePokud jsou přidány znaky , pravděpodobně uvidíte vedle znaku mig_7series_0_mig.v znak „?“. file pod simulačními zdroji.
  10. Chcete-li mapovat správné file, klikněte pravým tlačítkem myši na soubor mig_7series_0_mig.v, vyberte „Přidat zdroje“ a přejděte na /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl a přidejte soubor mig_7series_0_mig_sim.v file.
  11. Pokud vidíte „?“ pro podkladové files, přidejte všechny RTL fileve složkách clocking, controller, ip_top,phy a UI.XILINX-63234-END-FPGA-Distributor-obr- (10)
  12. Jakmile jsou provedeny změny RTL a vše potřebné filePokud jsou do vašich simulačních zdrojů přidány prvky, hierarchie by měla vypadat podobně jako na obrázku 5.
  13. The fileČerveně zvýrazněné moduly jsou nově přidané a u modulů souvisejících s ECC se očekává znak „?“, protože vybraná konfigurace paměti má možnost ECC zakázána.

Podnět File Popis

Každý stimulační vzor má 48 bitů a formát je popsán na obrázcích 6-1 až 6-4.

XILINX-63234-END-FPGA-Distributor-obr- (11)

Kódování adresy (adresa [35:0])
Adresa je ve stimulu zakódována dle obrázku 7-1 až 7-6. Všechna pole adresy je nutné zadat v hexadecimálním formátu.

Všechna adresní pole mají šířku dělitelnou čtyřmi a zadávají se v hexadecimálním formátu. Testovací zařízení odesílá do paměťového řadiče pouze požadované bity adresního pole. NapříkladampTj. v konfiguraci s osmi bankami se do řadiče paměti odesílají pouze bankovní bity [2:0] a zbývající bity se ignorují. Další bity pro adresní pole jsou k dispozici pro zadání adresy v hexadecimálním formátu. Musíte potvrdit, že zadaná hodnota odpovídá šířce dané konfigurace.

XILINX-63234-END-FPGA-Distributor-obr- (12)

  • Adresa sloupce (Sloupec[11:0]) – Adresa sloupce ve stimulu je poskytována maximálně do 12 bitů, ale je třeba ji adresovat na základě parametru šířky sloupce nastaveného ve vašem návrhu.
  • Adresa řádku (Row[15:0]) – Adresa řádku ve stimulu je poskytována maximálně do 16 bitů, ale je nutné ji adresovat
  • To je založeno na parametru šířky řádku nastaveném ve vašem návrhu.
  • Adresa banky (Banka[3:0]) – Adresa banky ve stimulu je poskytována maximálně na čtyři bity, ale je třeba ji adresovat na základě parametru šířky banky nastaveného ve vašem návrhu.
  • Adresa pořadí (Rank[3:0]) – Adresa pořadí ve stimulu je poskytována maximálně čtyřem bitům, ale je třeba ji adresovat na základě parametru šířky pořadí nastaveného ve vašem návrhu.
  • Adresa je sestavena na základě parametru nejvyšší úrovně MEM_ADDR_ORDER a odeslána do uživatelského rozhraní.

Opakování příkazu (Opakování příkazu [7:0])

  • Počet opakování příkazu udává, kolikrát se příslušný příkaz opakuje na uživatelském rozhraní. Adresa pro každé opakování se zvýší o 8. Maximální počet opakování je 128.
  • Zkušební stolice nekontroluje hranici sloupce a pokud je během přírůstků dosaženo maximálního limitu sloupce, provede se obtékání.
  • 128 příkazů zaplní stránku. Pro jakoukoli adresu sloupce jinou než 0 se počet opakování 128 překročí.
  • Hranice sloupce se obtáčí až k začátku adresy sloupce.

Využití autobusu

Využití sběrnice se vypočítává na uživatelském rozhraní s ohledem na celkový počet čtení a zápisů a používá se následující rovnice:

XILINX-63234-END-FPGA-Distributor-obr- (13)

  • BL8 trvá čtyři cykly paměti
  • Konec_stimulu je čas, kdy jsou provedeny všechny příkazy.
  • calib_done je čas, kdy je kalibrace hotová.

Example Vzory
Tyto exampsoubory jsou založeny na MEM_ADDR_ORDER nastaveném na BANK_ROW_COLUMN.

Jeden vzor čtení
00_0_2_000F_00A_1 – Tento vzor je jedno čtení z 10. sloupce, 15. řádku a druhé banky.

XILINX-63234-END-FPGA-Distributor-obr- (14)

Single Write Pattern
00_0_1_0040_010_0 – Tento vzor je jediný zápis do 32. sloupce, 128. řádku a první banky.

XILINX-63234-END-FPGA-Distributor-obr- (15)

Jediný zápis a čtení na stejnou adresu

  • 00_0_2_000F_00A_0 – Tento vzor představuje jeden zápis do 10. sloupce, 15. řádku a druhé banky.
  • 00_0_2_000F_00A_1 – Tento vzor je jednorázovým čtením z 10. sloupce, 15. řádku a druhé banky.XILINX-63234-END-FPGA-Distributor-obr- (16)

Více zápisů a čtení se stejnou adresou

  • 0A_0_0_0010_000_0 – To odpovídá 10 zápisům s adresami začínajícími od 0 do 80, což je vidět ve sloupci.XILINX-63234-END-FPGA-Distributor-obr- (17)
  • 0A_0_0_0010_000_1 – To odpovídá 10 čtením s adresami začínajícími od 0 do 8,0, což je vidět ve sloupci.XILINX-63a234-END-FPGA-Distributor-obr- (18)

Zalomení stránky během zápisu
0A_0_2_000F_3F8_0 – To odpovídá 10 zápisům s adresou sloupce zalomenou na začátek stránky po jednom zápisu.

XILINX-63234-END-FPGA-Distributor-obr- (19)

Simulace generátoru výkonu
V tomto okamžiku jste s MIG ex hotovi.ample návrhová simulace. To znamená, že vaše nastavení simulace je připraveno, provedli jste úpravy RTL pro simulaci výkonu, nová hierarchie simulace je správná a pochopili jste vzory stimulů. Spusťte simulaci znovu se 16 zápisy a čteními v souboru perfsim_stimulus.txt.

XILINX-63234-END-FPGA-Distributor-obr- (20)

  • Spusťte vše, počkejte na aktivaci signálu init_calib_complete a uvidíte navrhovaný počet zápisů a čtení. Simulace se poté zastaví.XILINX-63234-END-FPGA-Distributor-obr- (21)
  • Po zobrazení výzvy k ukončení simulace vyberte Ne a přejděte do okna přepisu, kde si budete moci prohlédnout statistiky výkonu.XILINX-63234-END-FPGA-Distributor-obr- (22)
  • Pokud vyberete možnost „ukončit simulaci“, statistiky výkonu se zapíší do file s názvem mig_band_width_output.txt, který se nachází ve složce sim_1/behave.
  • Exampcesta k adresáři le: /mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavXILINX-63234-END-FPGA-Distributor-obr- (23)

Možná se divíte, proč ta procentatagVyužití sběrnice je pouze 29. Spusťte simulaci znovu se stejným nastavením IP adresy, ale pouze změnou stimulu. file na 256 zápisů a 256 čtení

  • ff_0_0_0000_000_0
  • ff_0_0_0000_000_1

Nyní uvidíte procentatage jako 85, což znamená, že DDR3 nabízí lepší využití sběrnice pro dlouhou sekvenci zápisů a čtení.

XILINX-63234-END-FPGA-Distributor-obr- (25)

Obecné způsoby, jak zlepšit výkon
Faktory, které ovlivňují efektivitu, lze rozdělit do dvou částí:

  1. Specifické pro paměťXILINX-63234-END-FPGA-Distributor-obr- (26)
  2. Specifické pro ovladač

Obrázek 9 vám dává přeskokview z termínů, které jsou specifické pro paměť.
Na rozdíl od pamětí SRAM a blokových pamětí se výkon DDR2 nebo DDR3 neomezuje pouze na maximální datovou rychlost.

Závisí to na mnoha faktorech načasování, včetně:

  • tRCD: Zpoždění příkazu řádku (nebo zpoždění ras-cas).
  • tCAS(CL): Latence stroboskopu adresy sloupce.
  • tRP: Zpoždění předběžného nabíjení řádku.
  • tRAS: Doba aktivity řádku (aktivace pro předběžnou změnu).
  • tRC: Doba cyklu řádku. tRC = tRAS + tRP
  • tRAC: Zpoždění náhodného přístupu. tRAC = tRCD + tCAS
  • Latence zápisu tCWLCASas.
  • tZQ: Kalibrační čas ZQ.
  • tRFC: Doba cyklu aktualizace řádku
  • tWTR: Zpoždění zápisu do čtení. Čas poslední transakce zápisu do příkazu čtení.
  • tWR: Čas zotavení po zápisu. Poslední transakce zápisu do doby předběžného nabití.
  • Časování všech uvedených parametrů závisí na typu použité paměti a rychlosti paměťové části.
  • Více podrobností o definicích a specifikacích časování lze nalézt v normách JEDEC pro DDR2 a DDR3 nebo v jakémkoli datovém listu paměťového zařízení.

Efektivita závisí především na způsobu přístupu k paměti. Různé vzory adres poskytují různé výsledky účinnosti.

Režie časování paměti

  1. Doba aktivace a doba přednabíjení při změně na nové banky/řádky nebo změně řádků v rámci stejné banky. - Tím se snižuje potřeba změny řádků, což může eliminovat tRCD a tRP.
  2. Odesílejte kontinuální příkazy pro zápis nebo čtení - Zachování časování tCCD.
  3. Minimalizujte přepínání příkazů ze zápisu na čtení a ze čtení na zápis – doba obnovy zápisu pro změnu přístupů na čtení a doba obratu sběrnice pro změnu ze čtení na zápis.
  4. Nastavte správný interval obnovy.
    • a. Paměť DDR3 SDRAM vyžaduje obnovovací cykly s průměrným periodickým intervalem tREFI.
    • b. Předem lze vydat maximálně 8 dalších příkazů Refresh („vtažených“). Tím se počet obnovení nesníží, ale maximální interval mezi dvěma sousedními příkazy Refresh je omezen na 9 × tREFIXILINX-63234-END-FPGA-Distributor-obr- (27)
  5. Využijte všechny banky – vhodnější je vhodný adresovací mechanismus.
    • a. Řádek-Banka-Sloupec: Pro transakci probíhající v sekvenčním adresním prostoru jádro automaticky otevře stejný řádek v další bance zařízení DRAM, aby se v transakci pokračovalo po dosažení konce existujícího řádku. Toto je vhodné pro aplikace, které vyžadují rozesílání velkých datových paketů na sekvenční adresní umístění.
    • b. Banka-Řádek-Sloupec: Při překročení hranice řádku se aktuální řádek uzavře a otevře se další řádek ve stejné bance. MSB je adresa banky, kterou lze použít k přepínání mezi různými bankami. Je vhodná pro kratší, náhodnější transakce do jednoho bloku paměti na určitou dobu a poté skok do jiného bloku (banky).
  6. Délka prasknutí
    • a. BL 8 je podporován pro DDR3 na řadě 7. BC4 má velmi nízkou účinnost, která je menší než 50 %. Je to proto, že doba provádění BC4 je stejná jako BL8. Data jsou pouze maskována uvnitř komponenty.
    • b. V případech, kdy si nepřejete zapisovat celý burst, lze zvážit buď datovou masku, nebo zápis po čtení.
  7. Nastavte správný interval ZQ (pouze DDR3)
    Ovladač posílá jak kalibrační příkazy ZQ Short (ZQCS), tak ZQ Long (ZQCL).
    • a. Dodržujte standard DDR3 JEDEC
    • b. Kalibrace ZQ je popsána v části 5.5 standardu JEDEC Spec JESD79-3 DDR3 SDRAM.
    • c. Kalibrace ZQ kalibruje zakončení na čipu (ODT) v pravidelných intervalech, aby se zohlednily odchylky napříč VT.
    • d. Logika je obsažena v souboru bank_common.v/vhd
    • e. Parametr Tzqcs určuje frekvenci, s jakou je do paměti odesílán příkaz kalibrace ZQ.
    • f. Je možné deaktivovat čítač a ručně odeslat pomocí app_zq_req, je to podobné ručnímu odeslání Refresh. Podrobnosti viz (Xilinx Answer 47924).XILINX-63234-END-FPGA-Distributor-obr- (28)

Režie ovladače

  1. Periodické čtení – Podrobnosti viz (Xilinx Answer 43344).
    • a. Neměňte dobu čtení.
    • b. Přeskočit periodická čtení během zápisů a zobrazit počet zmeškaných čtení před skutečným čtením
  2. Změna pořadí – Podrobnosti naleznete v odpovědi (Xilinx Answer 34392). Pro návrhy uživatelského rozhraní a rozhraní AXI je vhodnější mít tuto možnost povolenou.
    • a. Změna pořadí je logika, která dopředu vyhledává několik příkazů a mění pořadí uživatelských příkazů tak, aby příkazy mimo paměť nezabíraly platnou šířku pásma. Výkon také souvisí se skutečným vzorcem provozu.
    • b. Na základě adresního vzoru pomáhá přeskupení přeskočit příkazy pro předběžné nabíjení a aktivaci a zabraňuje tomu, aby tRCD a tRP obsazovaly šířku pásma dat.XILINX-63234-END-FPGA-Distributor-obr- (29)
  3. Pokuste se zvýšit počet bankovních automatů.
    • a. Většina logiky řídicí jednotky se nachází v bankovních automatech a odpovídají bankám DRAM
    • b. Daný bankovní automat spravuje v daném okamžiku pouze jednu banku DRAM.
    • c. Přiřazení bankovního automatu je dynamické, takže není nutné mít bankovní automat pro každou fyzickou banku.
    • d. Bankomaty lze konfigurovat, ale jde o kompromis mezi plochou a výkonem.
    • e. Povolený počet bankovních automatů se pohybuje od 2 do 8.
    • f. Ve výchozím nastavení jsou 4 bankovní automaty konfigurovány pomocí parametrů RTL.
    • g. Pro změnu bankovních automatů zvažte parametr nBANK_MACHS = 8 obsažený v memc_ui_top

Example pro 8 bankovních automatů – nBANK_MACHS = 8
Nyní znáte faktory, které ovlivňují výkon. Představte si aplikaci v nadřazeném směru, která vám poskytuje 512 datových bajtů na paket t a vy je potřebujete uložit do různých paměťových umístění. Protože 512 datových bajtů se rovná 64 datovým burstům DDR3, spusťte znovu příkaz ex.ample design s podnětem file obsahující 512 zápisů, 512 čtení a přepínání řádků pro každých 64 zápisů nebo čtení:

XILINX-63234-ENXILINX-63234-END-FPGA-Distributor-obr.- (29)D-FPGA-Distributor-obr.- (30)

Na konci simulace uvidíte, že využití sběrnice je 77 procent.

XILINX-63234-END-FPGA-Distributor-obr- (31)
Obrázek 11: Statistika výkonu pro 512 zápisů a 512 čtení – Přepínání řádků pro 64 zápisů nebo čtení.

Nyní můžete aplikovat znalosti získané v předchozí části ke zvýšení efektivity. Chcete-li využít všechny banky namísto změny řádku, upravte adresní vzor tak, aby se změnila banka, jak je znázorněno níže. To je ekvivalentní nastavení ROW_BANK_Column v nastavení mapování adres paměti v grafickém uživatelském rozhraní MIG.

XILINX-63234-END-FPGA-Distributor-obr- (32)

Na konci simulace uvidíte, že dřívějších 77 procent využití sběrnice je nyní 87!

XILINX-63234-END-FPGA-Distributor-obr- (33)
Pokud stále požadujete vyšší efektivitu, můžete použít velké pakety o velikosti 1024 nebo 2048 bajtů nebo zvážit ruční aktualizaci.
Poznámka: Společnost Xilinx nedoporučuje obcházení obnovování dat v řadiči, protože si nejsme jisti, zda budete schopni splnit časování automatického obnovování podle JEDEC, které ovlivňuje spolehlivost dat. Změnou parametru NBANNBAnk_MACH na řadiči můžete dosáhnout zlepšení výkonu. To však může ovlivnit časování návrhu. Podrobnosti o parametru nBANk_MACH naleznete v odpovědi Xilinx 36505.

XILINX-63234-END-FPGA-Distributor-obr- (33)

Otevřít soubor core_name_mig_sim.v file a změňte parametry nBANK_MACHS ze 4 na 8 a znovu spusťte simulaci.
Aby se hodnota parametru projevila v hardwaru, je třeba aktualizovat soubor core_name_mig.v. filePoužil jsem stejný vzorec, kde jsme dosáhli 87% využití sběrnice (obrázek 2). S nBANK_MACHS nastaveným na 8 je nyní účinnost 90 %.

XILINX-63234-END-FPGA-Distributor-obr- (35)

Také mějte na paměti, že ½ a ¼ kontroléry negativně ovlivňují efektivitu kvůli svým latencím. NapříkladampProtože můžeme odesílat příkazy pouze každé 4 cykly CK, někdy dochází k dodatečnému odsazení při dodržení minimálních specifikací časování DRAM, což může snížit účinnost oproti teoretické. Vyzkoušejte různé řadiče, abyste našli ten, který vyhovuje vašim požadavkům na účinnost. Reference

  1. Zynq-7000 AP SoC a FPGA řady 7 MIS v2.3 [UG586]
  2. Centrum řešení Xilinx MIG http://www.xilinx.com/support/answers/34243.html

Historie revizí
13. 03. 2015 – První vydání..

Dokumenty / zdroje

Distributor FPGA XILINX 63234 END [pdfUživatelská příručka
63234 Koncový distributor FPGA, 63234, Koncový distributor FPGA, Distributor FPGA

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *