Uživatelská příručka pro vlastní tok FPGA rodiny PolarFire
Libero SoC v2024.2
Úvod (Zeptejte se)
Software Libero System-on-Chip (SoC) poskytuje plně integrované návrhové prostředí Field Programmable Gate Array (FPGA). Několik uživatelů však může chtít používat nástroje pro syntézu a simulaci třetích stran mimo prostředí Libero SoC. Libero lze nyní integrovat do návrhového prostředí FPGA. Pro řízení celého toku návrhu FPGA se doporučuje použít Libero SoC.
Tato uživatelská příručka popisuje Custom Flow pro zařízení PolarFire a PolarFire SoC Family, proces integrace Libero jako součásti většího toku návrhu FPGA. Podporované rodiny zařízení® V následující tabulce jsou uvedeny rodiny zařízení, které Libero SoC podporuje. Některé informace v této příručce se však mohou týkat pouze určité skupiny zařízení. V tomto případě jsou takové informace jasně identifikovány.
Tabulka 1. Rodiny zařízení podporované Libero SoC
Rodina zařízení | Popis |
PolarFire® | PolarFire FPGA poskytují nejnižší výkon v oboru při středních hustotách s výjimečnou bezpečností a spolehlivostí. |
PolarFire SoC | PolarFire SoC je první SoC FPGA s deterministickým, koherentním RISC-V CPU clusterem a deterministickým L2 paměťovým subsystémem umožňujícím Linux® a aplikace v reálném čase. |
Nadview (Zeptejte se)
Zatímco Libero SoC poskytuje plně integrované end-to-end návrhové prostředí pro vývoj SoC a FPGA návrhů, poskytuje také flexibilitu pro spouštění syntézy a simulace s nástroji třetích stran mimo prostředí Libero SoC. Některé kroky návrhu však musí zůstat v prostředí Libero SoC.
Následující tabulka uvádí hlavní kroky v toku návrhu FPGA a uvádí kroky, pro které je třeba použít Libero SoC.
Tabulka 1-1. Návrhový tok FPGA
Krok návrhu toku | Musí používat libero | Popis |
Design Vstup: HDL | Žádný | V případě potřeby použijte editor/kontrolu HDL třetí strany mimo Libero® SoC. |
Zadání návrhu: Konfigurátory | Ano | Vytvořte první projekt Libero pro generování základních komponent katalogu IP. |
Automatické generování omezení PDC/SDC | Žádný | Odvozená omezení potřebují všechna HDL files a obslužný program derive_constraints při provádění mimo Libero SoC, jak je popsáno v Dodatku C – Odvození omezení. |
Simulace | Žádný | V případě potřeby použijte nástroj třetí strany mimo Libero SoC. Vyžaduje stažení předem zkompilovaných simulačních knihoven pro cílové zařízení, cílový simulátor a cílovou verzi Libero používanou pro implementaci backendu. |
Syntéza | Žádný | V případě potřeby použijte nástroj třetí strany mimo Libero SoC. |
Implementace návrhu: Správa omezení, kompilace Netlist, umístění a trasa (viz přesview) | Ano | Vytvořte druhý projekt Libero pro implementaci backendu. |
Ověření časování a napájení | Ano | Zůstaňte ve druhém projektu Libero. |
Konfigurace inicializačních dat návrhu a pamětí | Ano | Pomocí tohoto nástroje můžete spravovat různé typy pamětí a inicializaci návrhu v zařízení. Zůstaňte ve druhém projektu. |
Programování File Generace | Ano | Zůstaňte ve druhém projektu. |
Důležité: Vy musí stáhnout předkompilované knihovny dostupné na adrese Předkompilované simulační knihovny k použití simulátoru třetí strany.
V čistém toku Fabric FPGA zadejte svůj návrh pomocí HDL nebo schématu a předejte jej přímo
k nástrojům syntézy. Tok je stále podporován. PolarFire a PolarFire SoC FPGA mají významné
proprietární hard IP bloky vyžadující použití konfiguračních jader (SgCores) z Libero SoC IP
katalog. Pro všechny bloky, které obsahují funkci SoC, je vyžadována speciální manipulace:
- PolarFire
– PF_UPROM
– PF_SYSTEM_SERVICES
– PF_CCC
– PF CLK DIV
– PF_CRYPTO
– PF_DRI
– PF_INIT_MONITOR
– PF_NGMUX
– PF_OSC
– RAM (TPSRAM, DPSRAM, URAM)
– PF_SRAM_AHBL_AXI
– PF_XCVR_ERM
– PF_XCVR_REF_CLK
– PF_TX_PLL
– PF_PCIE
– PF_IO
– PF_IOD_CDR
– PF_IOD_CDR_CCC
– PF_IOD_GENERIC_RX
– PF_IOD_GENERIC_TX
– PF_IOD_GENERIC_TX_CCC
– PF_RGMII_TO_GMII
– PF_IOD_OCTAL_DDR
– PF_DDR3
– PF_DDR4
– PF_LPDDR3
– PF_QDR
– PF_CORESMARTBERT
– PF_TAMPER
– PF_TVS a tak dále.
Kromě výše uvedených SgCores je v katalogu Libero SoC k dispozici mnoho soft IP DirectCore pro rodiny zařízení SoC PolarFire a PolarFire, které využívají prostředky tkaniny FPGA.
Pro zadání návrhu, pokud použijete kteroukoli z předchozích komponent, musíte použít Libero SoC pro část návrhu (Konfigurace komponenty), ale můžete pokračovat ve zbytku svého návrhu (položka HDL atd.) mimo Libero. Chcete-li řídit tok návrhu FPGA mimo Libero, postupujte podle kroků uvedených ve zbytku této příručky.
1.1 Životní cyklus součásti (Zeptejte se)
Následující kroky popisují životní cyklus součásti SoC a poskytují pokyny, jak zacházet s daty.
- Vygenerujte komponentu pomocí jejího konfigurátoru v Libero SoC. To generuje následující typy dat:
– HDL files
– Paměť files
– Stimuly a simulace files
– Komponenta SDC file - Pro HDL files, vytvořte a integrujte je do zbytku návrhu HDL pomocí externího nástroje/procesu pro zadávání návrhu.
- Zásobování paměti files a podnět files vaším simulačním nástrojem.
- Součást zdroje SDC file nástroj Odvodit omezení pro generování omezení. Další podrobnosti viz Příloha C – Odvození omezení.
- Musíte vytvořit druhý projekt Libero, kam importujete netlist po syntéze a metadata vašich komponent, čímž dokončíte spojení mezi tím, co jste vygenerovali, a tím, co naprogramujete.
1.2 Vytvoření projektu Libero SoC (Zeptejte se)
Některé kroky návrhu musí být spuštěny v prostředí Libero SoC (Tabulka 1-1). Aby tyto kroky proběhly, musíte vytvořit dva projekty Libero SoC. První projekt se používá pro konfiguraci a generování komponent návrhu a druhý projekt je pro fyzickou implementaci návrhu nejvyšší úrovně.
1.3 Vlastní tok (Zeptejte se)
Následující obrázek ukazuje:
- Libero SoC lze integrovat jako součást většího toku návrhu FPGA s nástroji pro syntézu a simulaci třetích stran mimo prostředí Libero SoC.
- Různé kroky zapojené do toku, počínaje vytvořením návrhu a sešíváním až po programování zařízení.
- Výměna dat (vstupy a výstupy), ke které musí dojít v každém kroku návrhového toku.
Tip:
- SNVM.cfg, UPROM.cfg
- *.pam file generace pro simulaci: pa4rtupromgen.exe vezme UPROM.cfg jako vstup a vygeneruje UPROM.mem.
Následují kroky ve vlastním toku:
- Konfigurace a generování komponent:
A. Vytvořte první projekt Libero (který bude sloužit jako referenční projekt).
b. Vyberte jádro z katalogu. Dvojitým kliknutím na jádro dejte název komponenty a nakonfigurujte komponentu.
Tím se automaticky exportují data komponent a files. Generuje se také Manifest komponent. Podrobnosti viz Manifesty komponent. Další podrobnosti naleznete v části Konfigurace komponent. - Dokončete svůj návrh RTL mimo Libero:
A. Vytvořte instanci komponenty HDL files.
b. Umístění HDL files je uveden v Manifestech komponent files. - Vygenerujte pro komponenty omezení SDC. Pomocí nástroje Odvodit omezení vygenerujte časové omezení file(SDC) na základě:
A. Komponenta HDL files
b. Komponenta SDC files
C. Uživatel HDL files
Další podrobnosti viz Příloha C – Odvození omezení. - Syntetický nástroj/simulační nástroj:
A. Získejte HDL files, podnět files a data komponent ze specifických umístění, jak je uvedeno v Manifestech komponent.
b. Syntetizujte a simulujte návrh pomocí nástrojů třetích stran mimo Libero SoC. - Vytvořte svůj druhý (implementační) projekt Libero.
- Odeberte syntézu z řetězce nástrojů toku návrhu (Projekt > Nastavení projektu > Tok návrhu > zrušte zaškrtnutí políčka Povolit syntézu).
- Importujte zdroj návrhu files (netlist po syntéze *.vm z nástroje pro syntézu):
– Importujte seznam netlist *.vm po syntéze (File>Importovat> Syntetizovaný Verilog Netlist (VM)).
– Metadata součásti *.cfg files pro uPROM a/nebo sNVM. - Importujte jakoukoli komponentu bloku Libero SoC files. Blok files musí být v *.cxz file formát.
Další informace o tom, jak vytvořit blok, viz Uživatelská příručka PolarFire Block Flow. - Importujte omezení návrhu:
– Import omezení I/O files (Správce omezení > I/OAtributy > Import).
– Import půdorysu *.pdc files (Správce omezení > Plánovač podlaží > Import).
– Importovat časové omezení *.sdc files (Správce omezení > Časování >Importovat). Importujte SDC file generované pomocí nástroje Derive Constraint.
– Import omezení *.ndc files (Správce omezení > NetlistAttributes > Import), pokud existuje. - Omezení file a sdružení nástrojů
– Ve Správci omezení přidružte soubor *.pdc files pro umístění a směrování, *.sdc files pro ověření místa a trasy a načasování a *.ndc files kompilovat Netlist. - Kompletní realizace návrhu
– Umístěte a směrujte, ověřte načasování a napájení, nakonfigurujte inicializační data návrhu a paměti a programujte file generace. - Ověřte návrh
– Ověřte návrh na FPGA a podle potřeby odlaďte pomocí návrhových nástrojů dodávaných s návrhovou sadou Libero SoC.
Konfigurace komponent (Zeptejte se)
Prvním krokem ve vlastním postupu je konfigurace komponent pomocí referenčního projektu Libero (také nazývaného první projekt Libero v tabulce 1-1). V následujících krocích použijete data z tohoto referenčního projektu.
Pokud používáte jakékoli komponenty uvedené výše, v části Overview ve svém návrhu proveďte kroky popsané v této části.
Pokud nepoužíváte žádnou z výše uvedených komponent, můžete svůj RTL napsat mimo Libero a přímo jej importovat do nástrojů pro syntézu a simulaci. Poté můžete přejít do sekce po syntéze a importovat pouze svůj netlist *.vm po syntéze do svého konečného projektu implementace Libero (také nazývaného druhý projekt Libero v tabulce 1-1).
2.1 Konfigurace komponent pomocí Libero (Zeptejte se)
Po výběru komponent, které je třeba použít z předchozího seznamu, proveďte následující kroky:
- Vytvořte nový projekt Libero (Konfigurace a generování jádra): Vyberte zařízení a rodinu, na které cílíte svůj konečný návrh.
- Použijte jedno nebo více jader zmíněných v Custom Flow.
A. Vytvořte SmartDesign a nakonfigurujte požadované jádro a vytvořte jej v komponentě SmartDesign.
b. Povýšit všechny kolíky na nejvyšší úroveň.
C. Vygenerujte SmartDesign.
d. Dvakrát klikněte na nástroj Simulovat (jakákoli z možností Pre-synthesis, Post-synthesis nebo Post-Layout) pro vyvolání simulátoru. Po vyvolání můžete simulátor opustit. Tento krok generuje simulaci fileje nezbytný pro váš projekt.
Tip: Vy Pokud chcete simulovat svůj návrh mimo Libero, musíte tento krok provést.
Další informace naleznete v tématu Simulace vašeho návrhu.
E. Uložte svůj projekt – toto je váš referenční projekt.
2.2 Manifesty komponent (Zeptejte se)
Když vygenerujete své komponenty, sadu files se generuje pro každou komponentu. Zpráva Component Manifest podrobně popisuje sadu files generované a používané v každém následujícím kroku (syntéza, simulace, generování firmwaru atd.). Tento přehled vám poskytne umístění všech vygenerovaných fileje potřeba pokračovat s vlastním tokem. K manifestu komponenty se dostanete v oblasti Zprávy: Klepnutím na Návrh > Zprávy otevřete kartu Zprávy. Na kartě Přehledy vidíte soubor manifest.txt files (Konecview), jeden pro každou komponentu, kterou jste vygenerovali.
Tip: Abyste viděli manifest komponenty, musíte komponentu nebo modul nastavit jako '”root”' file obsahu na kartě Přehledy.
Případně můžete přistupovat k přehledu jednotlivých manifestů files pro každou vygenerovanou základní komponentu nebo komponentu SmartDesign z /komponenta/práce/ / / _manifest.txt nebo /komponenta/práce/ / _manifest.txt. Můžete také přistupovat k manifestu file obsah každé komponenty vygenerovaný z nové záložky Komponenty v Liberu, kde file umístění jsou uvedena s ohledem na adresář projektu.Zaměřte se na následující přehledy manifestu komponent:
- Pokud jste vytvořili instanci jader do SmartDesignu, přečtěte si file _manifest.txt.
- Pokud jste vytvořili komponenty pro jádra, přečtěte si _manifest.txt.
Musíte použít všechny sestavy Manifesty komponent, které se vztahují k vašemu návrhu. NapřampPokud váš projekt obsahuje SmartDesign s jednou nebo více základními komponentami v něm vytvořenými a máte v úmyslu je všechny použít ve svém konečném návrhu, musíte vybrat filejsou uvedeny v sestavách Component Manifests všech těchto komponent pro použití ve vašem toku návrhu.
2.3 Interpretace Manifestu Files (Zeptejte se)
Když otevřete manifest komponenty file, vidíte cesty k files ve vašem projektu Libero a odkazy na to, kde v toku návrhu je použít. Můžete vidět následující typy fileje v manifestu file:
- HDL zdroj files pro všechny nástroje pro syntézu a simulaci
- Podnět files pro všechny simulační nástroje
- Omezení files
Následuje Manifest komponent základní komponenty PolarFire.Každý typ file je nezbytný ve směru toku vašeho návrhu. Následující části popisují integraci filez manifestu do vašeho návrhu.
Generování omezení (Zeptejte se)
Při provádění konfigurace a generování zajistěte zápis/generování omezení SDC/PDC/NDC files, aby je návrh předal nástrojům Synthesis, Place-and-Route a Verify Timing.
Použijte obslužný program Derive Constraints mimo prostředí Libero ke generování omezení namísto jejich ručního psaní. Chcete-li použít nástroj Derive Constraint mimo prostředí Libero, musíte:
- Dodejte uživatelské omezení HDL, komponentní HDL a komponentní SDC files
- Určete modul nejvyšší úrovně
- Určete umístění, kde se má vygenerovat odvozené omezení files
Omezení komponent SDC jsou k dispozici pod /komponenta/práce/ / / adresář po konfiguraci a vygenerování komponenty.
Další podrobnosti o tom, jak generovat vazby pro váš návrh, naleznete v části Příloha C – Odvození vazeb.
Syntetizace vašeho designu (Zeptejte se)
Jednou z primárních funkcí Custom Flow je umožnit vám používat syntézu třetí strany
nástroj mimo libero. Vlastní tok podporuje použití Synopsys SynplifyPro. Chcete-li syntetizovat své
projektu, použijte následující postup:
- Vytvořte nový projekt v nástroji Synthesis, zaměřte se na stejnou rodinu zařízení, kostku a balíček jako projekt Libero, který jste vytvořili.
A. Importujte si vlastní RTL filejako obvykle.
b. Nastavte výstup syntézy na Structural Verilog (.vm).
Tip: Strukturální Verilog (.vm) je jediný podporovaný výstupní formát syntézy v PolarFire. - Import komponent HDL filedo vašeho projektu Synthesis:
A. Pro každou komponentu Manifests Report: Pro každou file pod HDL zdrojem files pro všechny nástroje pro syntézu a simulaci importujte soubor file do vašeho projektu syntézy. - Importujte file polarfire_syn_comps.v (pokud používáte Synopsys Synplify) z
Umístění instalace>/data/aPA5M do vašeho projektu Synthesis. - Importujte dříve vygenerovaný SDC file pomocí nástroje Odvozené omezení (viz Příloha
A-Sample SDC Constraints) do nástroje Synthesis. Toto omezení file omezuje nástroj pro syntézu k dosažení časového uzavření s menším úsilím a menším počtem iterací návrhu.
Důležité:
- Pokud plánujete použít stejný *.sdc file Chcete-li omezit funkci Place-and-Route během fáze implementace návrhu, musíte tento soubor *.sdc importovat do projektu syntézy. To má zajistit, že během implementační fáze procesu návrhu nedojde k žádným neshodám názvů objektů návrhu v syntetizovaném netlistu a omezeních Place-and-Route. Pokud nezahrnete tento *.sdc file v kroku Synthesis může netlist generovaný z Synthesis selhat v kroku Place and Route z důvodu nesouladu názvu objektu návrhu.
A. Importujte atributy Netlist *.ndc, pokud existují, do nástroje Synthesis.
b. Spusťte Synthesis. - Umístění výstupu vašeho nástroje Synthesis má netlist *.vm file generovaný příspěvek Synthesis. Chcete-li pokračovat v procesu návrhu, musíte importovat netlist do projektu Libero Implementation Project.
Simulace vašeho návrhu (Zeptejte se)
Chcete-li simulovat svůj návrh mimo Libero (tj. pomocí vlastního simulačního prostředí a simulátoru), proveďte následující kroky:
- Design Files:
A. Simulace před syntézou:
• Importujte své RTL do svého simulačního projektu.
• Pro každou zprávu o projevech komponenty.
– Importujte každý file pod HDL zdrojem files pro všechny nástroje pro syntézu a simulaci do vašeho simulačního projektu.
• Zkompilujte je filepodle pokynů vašeho simulátoru.
b. Simulace po syntéze:
• Importujte svůj netlist *.vm po syntéze (vygenerovaný v Synthesizing Your Design) do svého simulačního projektu a zkompilujte jej.
C. Simulace po rozložení:
• Nejprve dokončete implementaci vašeho návrhu (viz Implementace vašeho návrhu). Ujistěte se, že váš konečný projekt Libero je ve stavu po rozvržení.
• Poklepejte na Generate BackAnnotated Files v okně Libero Design Flow. Vygeneruje dvě files:
/návrhář/ / _ba.v/vhd /návrhář/
/ _ba.sdf
• Importujte obojí filedo vašeho simulačního nástroje. - Stimul a konfigurace files:
A. Pro každou zprávu Manifests komponenty:
• Kopírovat vše files pod stimulem Files pro všechny sekce Simulation Tools do kořenového adresáře vašeho projektu Simulation.
b. Ujistěte se, že jakýkoli Tcl files v předchozích seznamech (v kroku 2.a) se provedou jako první, před začátkem simulace.
C. UPROM.mem: Pokud ve svém návrhu používáte jádro UPROM s možností Použít obsah pro simulaci povolenou pro jednoho nebo více klientů datového úložiště, které chcete simulovat, musíte ke generování souboru UPROM.mem použít spustitelný soubor pa4rtupromgen (pa4rtupromgen.exe v systému Windows). file. Spustitelný soubor pa4rtupromgen přebírá soubor UPROM.cfg file jako vstupy prostřednictvím skriptu Tcl file a výstupem UPROM.mem file potřebné pro simulace. Tato UPROM.mem file musí být zkopírován do složky simulace před spuštěním simulace. BývalýampSoubor zobrazující použití spustitelného souboru pa4rtupromgen je uveden v následujících krocích. Soubor UPROM.cfg file je k dispozici v adresáři /komponenta/práce/ / v projektu Libero, který jste použili ke generování komponenty UPROM.
d. snvm.mem: Pokud ve svém návrhu používáte jádro systémových služeb a nakonfigurovali jste v jádru kartu sNVM s možností Použít obsah pro simulaci povolenou pro jednoho nebo více klientů, které chcete simulovat, soubor snvm.mem file je automaticky generován do
adresář /komponenta/práce/ / v projektu Libero, který jste použili ke generování komponenty Systémové služby. Tento snvm.mem file musí být zkopírován do složky simulace před spuštěním simulace. - Vytvořte pracovní složku a podsložku s názvem simulation pod pracovní složkou.
Spustitelný soubor pa4rtupromgen očekává přítomnost podsložky simulace v pracovní složce a skript *.tcl je umístěn v podsložce simulace. - Zkopírujte soubor UPROM.cfg file z prvního projektu Libero vytvořeného pro generování komponent do pracovní složky.
- Vložte následující příkazy do skriptu *.tcl a umístěte jej do složky simulace vytvořené v kroku 3.
Sample *.tcl pro zařízení PolarFire a PolarFire Soc Family pro generování URPOM.mem file
z UPROM.cfg
set_device -fam -zemřít -bal
set_input_cfg -cesta
set_sim_mem -cestaFile/UPROM.mem>
gen_sim -use_init false
Správný interní název pro matrici a balíček naleznete v souboru *.prjx file prvního projektu Libero (používá se pro generování komponent).
Argument use_init musí být nastaven na hodnotu false.
Pomocí příkazu set_sim_mem zadejte cestu k výstupu file Tedy UPROM.mem
generované při spuštění skriptu file se spustitelným souborem pa4rtupromgen. - Na příkazovém řádku nebo terminálu cygwin přejděte do pracovního adresáře vytvořeného v kroku 3.
Spusťte příkaz pa4rtupromgen s volbou –script a předejte mu skript *.tcl vytvořený v předchozím kroku.
Pro Windows
/designer/bin/pa4rtupromgen.exe \
–script./simulation/ .tcl
Pro Linux:
/bin/pa4rtupromgen
–script./simulation/ .tcl - Po úspěšném spuštění spustitelného souboru pa4rtupromgen zkontrolujte, že soubor UPROM.mem file je generován v umístění zadaném v příkazu set_sim_mem ve skriptu *.tcl.
- Chcete-li simulovat sNVM, zkopírujte soubor snvm.mem file z vašeho prvního projektu Libero (používá se pro konfiguraci komponent) do složky simulace nejvyšší úrovně vašeho simulačního projektu, abyste spustili simulaci (mimo Libero SoC). Chcete-li simulovat obsah UPROM, zkopírujte vygenerovaný soubor UPROM.mem file do složky simulace nejvyšší úrovně vašeho simulačního projektu, kde spustíte simulaci (mimo Libero SoC).
Důležité: Komu simulujte funkčnost SoC Components, stáhněte si předkompilované simulační knihovny PolarFire a importujte je do svého simulačního prostředí, jak je popsáno zde. Další podrobnosti viz Příloha B – Import simulačních knihoven do prostředí simulace.
Implementace vašeho návrhu (Zeptejte se)
Po dokončení simulace syntézy a postsyntézy ve vašem prostředí musíte znovu použít Libero k fyzické implementaci vašeho návrhu, spuštění analýzy časování a výkonu a vytvoření vašeho programování. file.
- Vytvořte nový projekt Libero pro fyzickou realizaci a rozvržení návrhu. Ujistěte se, že cílíte na stejné zařízení jako v referenčním projektu, který jste vytvořili v konfiguraci komponent.
- Po vytvoření projektu odeberte Synthesis z řetězce nástrojů v okně Design Flow (Project > Project Settings > Design Flow > Zrušte zaškrtnutí políčka Enable Synthesis).
- Importujte *.vm po syntéze file do tohoto projektu, (File > Import > Syntetizovaný Verilog Netlist (VM)).
Tip: Doporučuje se vytvořit odkaz na toto file, takže pokud znovu syntetizujete svůj návrh, Libero vždy použije nejnovější seznam netlist po syntéze.
A. V okně Hierarchie návrhu si poznamenejte název kořenového modulu. - Importujte omezení do projektu Libero. Pomocí Správce omezení importujte omezení *.pdc/*.sdc/*.ndc.
A. Import I/O *.pdc omezení files (Správce omezení > I/O atributy >Importovat).
b. Import Floorplanning *.pdc omezení files (Správce vazeb > Plánovač podlaží >Importovat).
C. Importovat časové omezení *.sdc files (Správce omezení > Časování > Import). Pokud váš návrh obsahuje některé z jader uvedených v Overview, zajistěte import SDC file generované pomocí nástroje pro odvození omezení.
d. Importovat omezení *.ndc files (Správce omezení > Atributy Netlist > Import). - Přidružená omezení Files navrhovat nástroje.
A. Otevřete Správce omezení (Spravovat omezení > Otevřít Spravovat omezení View).
Zaškrtněte políčko Place-and-Route and Timing Verification vedle omezení file vytvořit omezení file a sdružení nástrojů. Přiřaďte omezení *.pdc k Place-andRoute a *.sdc k Place-and-Route a Timeing Verification. Přidružte *.ndc file ke kompilaci Netlistu.
Tip: Pokud Place and Route selže s tímto omezením *.sdc file, pak importujte stejný *.sdc file k syntéze a znovu spustit syntézu.
- Klikněte na Compile Netlist a poté na Place and Route pro dokončení kroku rozvržení.
- Nástroj Configure Design Initialization Data and Memories umožňuje inicializovat návrhové bloky, jako je LSRAM, µSRAM, XCVR (transceivery) a PCIe pomocí dat uložených v energeticky nezávislé paměti µPROM, sNVM nebo externí paměti SPI Flash. Nástroj má následující záložky pro definování specifikace inicializační sekvence návrhu, specifikace inicializačních klientů, klientů uživatelských dat.
– Záložka Inicializace návrhu
– záložka µPROM
– karta sNVM
– karta SPI Flash
– Karta Fabric RAM
Pomocí záložek v nástroji nakonfigurujte data a paměti pro inicializaci návrhu.Po dokončení konfigurace proveďte následující kroky k naprogramování inicializačních dat:
• Generování inicializačních klientů
• Generovat nebo exportovat bitový tok
• Naprogramujte zařízení
Podrobné informace o použití tohoto nástroje naleznete v uživatelské příručce Libero SoC Design Flow. Další informace o příkazech Tcl používaných ke konfiguraci různých karet v nástroji a specifikaci konfigurace paměti files (*.cfg), viz Referenční příručka příkazů Tcl. - Vygenerujte programování File z tohoto projektu a použijte jej k programování vašeho FPGA.
Příloha A—Sample Omezení SDC (Zeptejte se
Libero SoC generuje omezení časování SDC pro určitá jádra IP, jako jsou CCC, OSC, Transceiver a tak dále. Předání omezení SDC do návrhových nástrojů zvyšuje šanci na splnění načasovaného uzavření s menším úsilím a menším počtem iterací návrhu. Úplná hierarchická cesta z instance nejvyšší úrovně je uvedena pro všechny objekty návrhu odkazované ve vazbách.
7.1 Časová omezení SDC (Zeptejte se)
V základním referenčním projektu Libero IP je toto omezení SDC nejvyšší úrovně file je k dispozici ve Správci omezení (Design Flow > Open Manage Constraint View >Načasování > Odvodit omezení).
Důležité: Viz tento file pro nastavení omezení SDC, pokud váš návrh obsahuje CCC, OSC, Transceiver a další komponenty. V případě potřeby upravte úplnou hierarchickou cestu tak, aby odpovídala vaší hierarchii návrhu, nebo použijte obslužný program Derive_Constraints a kroky v Dodatku C – Odvození omezení na úrovni komponent SDC. file.
Uložit file na jiný název a importujte SDC file na nástroj pro syntézu, nástroj Place-and-Route Tool a Ověření časování, stejně jako jakékoli jiné omezení SDC files.
7.1.1 Odvozené SDC File (Zeptejte se)
# Toto file byl vytvořen na základě následujícího zdroje SDC files:
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
PF_CCC_C0/PF_CCC_C0_0/PF_CCC_C0_PF_CCC_C0_0_PF_CCC.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
CLK_DIV/CLK_DIV_0/CLK_DIV_CLK_DIV_0_PF_CLK_DIV.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
TRANSMIT_PLL/TRANSMIT_PLL_0/TRANSMIT_PLL_TRANSMIT_PLL_0_PF_TX_PLL.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
DMA_INITIATOR/DMA_INITIATOR_0/DMA_INITIATOR.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
FIC0_INITIATOR/FIC0_INITIATOR_0/FIC0_INITIATOR.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
ICICLE_MSS/ICICLE_MSS.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
PF_PCIE_C0/PF_PCIE_C0_0/PF_PCIE_C0_PF_PCIE_C0_0_PF_PCIE.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/component/work/
PCIE_INITIATOR/PCIE_INITIATOR_0/PCIE_INITIATOR.sdc
# /drive/aPA5M/cores/constraints/osc_rc160mhz.sdc
# *** Jakékoli úpravy tohoto file budou ztraceny, pokud budou odvozená omezení znovu spuštěna. ***
create_clock -name {CLOCKS_AND_RESETS_inst_0/OSCILLATOR_160MHz_inst_0/OSCILLATOR_160MHz_0/
I_OSC_160/CLK} -období 6.25
[ get_pins { CLOCKS_AND_RESETS_inst_0/OSCILLATOR_160MHz_inst_0/OSCILLATOR_160MHz_0/
I_OSC_160/CLK } ] create_clock -name {REF_CLK_PAD_P} -period 10 [ get_ports { REF_CLK_PAD_P } ] create_clock -name {CLOCKS_AND_RESETS_inst_0/TRANSMIT_PLL_0/TRANSMIT_NT_PLL_0/TRANSMIT_nt_PLl_0
DIV_CLK} -období 8
[ get_pins { CLOCKS_AND_RESETS_inst_0/TRANSMIT_PLL_0/TRANSMIT_PLL_0/txpll_isnt_0/DIV_CLK } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/C0_ll_CCC_0
OUT0} -násobit_25 -rozdělit_32 -zdroj
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -fáze 0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT0 } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/0_PF_0CCC_0
OUT1} -násobit_25 -rozdělit_32 -zdroj
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -fáze 0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT1 } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/0_PF_0CCC_0
OUT2} -násobit_25 -rozdělit_32 -zdroj
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -fáze 0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT2 } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/0_PF_0CCC_0
OUT3} -násobit_25 -rozdělit_64 -zdroj
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -fáze 0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT3 } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CLK_160MHz_to_CLK_80MHz_CD/CLK_0MHz
Y_DIV} -rozdělit_2 -zdroj
[ get_pins { CLOCKS_AND_RESETS_inst_0/CLK_160MHz_to_CLK_80MHz/CLK_DIV_0/I_CD/A } ] [ get_pins { CLOCKS_AND_RESETS_inst_0/CLK_160MHz_to_CLK_80}MHz/CDDIV_0/CDDIV_0/CLKDIV_0 set_false_path -through [ get_nets { DMA_INITIATOR_inst_XNUMX/ARESETN* } ] set_false_path -from [ get_cells { DMA_INITIATOR_inst_XNUMX/*/SlvConvertor_loop[*].slvcnv/slvCDC/
genblk1*/rdGrayCounter*/cntGray* } ] -to [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/genblk1*/
rdPtr_s1* } ] set_false_path -from [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/
genblk1*/wrGrayCounter*/cntGray* } ] -to [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/genblk1*/
wrPtr_s1* } ] set_false_path -through [ get_nets { FIC0_INITIATOR_inst_0/ARESETN* } ] set_false_path -to [ get_pins { PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[0] PCIE/PF/PCIE_C0_0
PCIE_1/INTERRUPT[1] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[2] PCIE/PF_PCIE_C0_0/PCIE_1/
INTERRUPT[3] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[4] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[5]
PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[6] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[7] PCIE/PF_PCIE_C0_0/
PCIE_1/WAKEREQ PCIE/PF_PCIE_C0_0/PCIE_1/MPERST_N } ] set_false_path -from [ get_pins { PCIE/PF_PCIE_C0_0/PCIE_1/TL_CLK } ] set_false_path -through [ get_nets { PCIE_INITIATOR} SET* SET]
Dodatek B – Import simulačních knihoven do prostředí simulace (Zeptejte se)
Výchozí simulátor pro RTL simulaci s Libero SoC je ModelSim ME Pro.
Předkompilované knihovny pro výchozí simulátor jsou dostupné při instalaci Libero v adresáři /Designer/lib/modelsimpro/precompiled/vlog pro podporované rodiny®. Libero SoC také podporuje další edice simulátorů třetích stran ModelSim, Questasim, VCS, Xcelium
, Active HDL a Riviera Pro. Stáhněte si příslušné předkompilované knihovny z Libero SoC v12.0 a novější na základě simulátoru a jeho verze.
Podobně jako prostředí Libero, run.do file musí být vytvořen pro spuštění simulace mimo libero.
Vytvořte jednoduchý run.do file který má příkazy pro vytvoření knihovny pro výsledky kompilace, mapování knihoven, kompilaci a simulaci. Postupujte podle pokynů k vytvoření základního run.do file.
- Vytvořte logickou knihovnu pro ukládání výsledků kompilace pomocí příkazu vlib vlib presynth.
- Mapujte název logické knihovny na předkompilovaný adresář knihovny pomocí příkazu vmap vmap .
- Zkompilujte zdroj files – ke kompilaci návrhu použijte příkazy kompilátoru specifické pro daný jazyk filedo pracovního adresáře.
– vlog pro .v/.sv
– vcom pro .vhd - Načtěte návrh pro simulaci pomocí příkazu vsim zadáním názvu libovolného modulu nejvyšší úrovně.
- Simulujte návrh pomocí příkazu run.
Po načtení návrhu je doba simulace nastavena na nulu a můžete zadat příkaz run pro zahájení simulace.
V okně přepisu simulátoru spusťte run.do file jako run.do spustit simulaci. Sample run.do file následovně.
tiše nastavit ACTELLIBNAME PolarFire tiše nastavit PROJECT_DIR „W:/Test/basic_test“, pokud
{[file existuje presynth/_info]} { echo “INFO: Simulační knihovna presynth existuje” } else
{ file delete -force presynth vlib presynth } vmap presynth presynth vmap PolarFire
“X:/Libero/Designer/lib/modelsimpro/precompiled/vlog/PolarFire” vlog -sv -work presynth
“${PROJECT_DIR}/hdl/top.v” vlog “+incdir+${PROJECT_DIR}/stimulus” -sv -work presynth “$
{PROJECT_DIR}/stimulus/tb.v” vsim -L PolarFire -L presynth -t 1ps presynth.tb add wave /tb/*
spustit 1000ns log /tb/* exit
Dodatek C – Odvození omezení (Zeptejte se)
Tento dodatek popisuje příkazy Derive Constraints Tcl.
9.1 Odvození omezení Tcl příkazy (Zeptejte se)
Obslužný program derive_constraints vám pomůže odvodit omezení z RTL nebo konfigurátoru mimo návrhové prostředí Libero SoC. Chcete-li vygenerovat omezení pro svůj návrh, potřebujete User HDL, Component HDL a Component Constraints files. Omezení komponenty SDC files jsou k dispozici pod /komponenta/práce/ / / adresář po konfiguraci a vygenerování komponenty.
Omezení každé komponenty file sestává z příkazu set_component tcl (určuje název komponenty) a seznamu omezení generovaných po konfiguraci. Omezení jsou generována na základě konfigurace a jsou specifická pro každou komponentu.
Example 9-1. Omezení komponent File pro jádro PF_CCC
Tady je example omezení komponenty file pro jádro PF_CCC:
set_component PF_CCC_C0_PF_CCC_C0_0_PF_CCC
# Microchip Corp.
# Datum: 2021. října 26 04:36:00
# Základní hodiny pro PLL #0
create_clock -period 10 [ get_pins { pll_inst_0/REF_CLK_0 } ] create_generated_clock -divide_by 1 -source [ get_pins { pll_inst_0/
REF_CLK_0 } ] -phase 0 [ get_pins { pll_inst_0/OUT0 } ] Zde jsou create_clock a create_generated_clock omezení referenčních a výstupních hodin, které jsou generovány na základě konfigurace.
9.1.1 Práce s nástrojem derive_constraints (Zeptejte se)
Odvození omezení procházející návrhem a přidělení nových omezení pro každou instanci komponenty na základě dříve poskytnuté komponenty SDC files. U referenčních hodin CCC se šíří zpět návrhem, aby se našel zdroj referenčních hodin. Pokud je zdrojem I/O, bude na I/O nastaveno omezení referenčních hodin. Pokud se jedná o výstup CCC nebo jiný zdroj hodin (napřample, Transceiver, oscilátor), používá hodiny z druhé komponenty a hlásí varování, pokud se intervaly neshodují. Odvodit omezení také přidělí omezení pro některá makra, jako jsou oscilátory na čipu, pokud je máte v RTL.
Chcete-li spustit obslužný program derive_constraints, musíte zadat soubor .tcl file argument příkazového řádku s následujícími informacemi v určeném pořadí.
- Zadejte informace o zařízení pomocí informací v sekci set_device.
- Zadejte cestu k RTL files pomocí informací v sekci read_verilog nebo read_vhdl.
- Nastavte modul nejvyšší úrovně pomocí informací v sekci set_top_level.
- Zadejte cestu ke komponentě SDC files pomocí informací v sekci read_sdc nebo read_ndc.
- Proveďte files pomocí informací v sekci derive_constraints.
- Zadejte cestu k omezením odvozeným od SDC file pomocí informací v sekci write_sdc nebo write_pdc nebo write_ndc.
Example 9-2. Provedení a obsah souboru derive.tcl File
Následuje example argument příkazového řádku pro spuštění obslužného programu derive_constraints.
$ /bin{64}/derive_constraints derive.tcl
Obsah souboru derive.tcl file:
# Informace o zařízení
set_device -rodina PolarFire -die MPF100T -rychlost -1
# RTL files
read_verilog -mode system_verilog project/component/work/txpll0/
txpll0_txpll0_0_PF_TX_PLL.v
read_verilog -mode system_verilog {project/component/work/txpll0/txpll0.v}
read_verilog -mode system_verilog {project/component/work/xcvr0/I_XCVR/
xcvr0_I_XCVR_PF_XCVR.v}
read_verilog -mode system_verilog {project/component/work/xcvr0/xcvr0.v}
read_vhdl -mode vhdl_2008 {project/hdl/xcvr1.vhd}
#Součást SDC files
set_top_level {xcvr1}
read_sdc -komponenta {projekt/komponenta/práce/txpll0/txpll0_0/
txpll0_txpll0_0_PF_TX_PLL.sdc}
read_sdc -komponenta {projekt/komponenta/práce/xcvr0/I_XCVR/
xcvr0_I_XCVR_PF_XCVR.sdc}
#Použijte příkaz derive_constraint
derivovat_omezení
# Výsledek SDC/PDC/NDC files
write_sdc {project/constraint/xcvr1_derived_constraints.sdc}
write_pdc {project/constraint/fp/xcvr1_derived_constraints.pdc}
9.1.2 set_device (Zeptejte se)
Popis
Zadejte příjmení, jméno a rychlostní stupeň.
set_device -family -zemřít -rychlost
Argumenty
Parametr | Typ | Popis |
-rodina | Řetězec | Zadejte příjmení. Možné hodnoty jsou PolarFire®, PolarFire SoC. |
-zemřít | Řetězec | Zadejte název kostky. |
-rychlost | Řetězec | Zadejte rychlostní stupeň zařízení. Možné hodnoty jsou STD nebo -1. |
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybová zpráva | Popis |
0023 ERR | Požadovaný parametr – kostka chybí | Možnost matrice je povinná a musí být specifikována. |
0005 ERR | Neznámá matrice 'MPF30' | Hodnota volby -die není správná. Viz možný seznam hodnot v popisu možnosti. |
0023 ERR | Parametr – kostka nemá hodnotu | Volba matrice je uvedena bez hodnoty. |
0023 ERR | Požadovaný parametr – rodina chybí | Možnost rodiny je povinná a musí být specifikována. |
0004 ERR | Neznámá rodina 'PolarFire®' | Rodinná volba není správná. Viz možný seznam hodnot v popisu možnosti. |
………… pokračování | ||
Kód chyby | Chybová zpráva | Popis |
0023 ERR | Parametr – rodina chybí hodnota | Volba rodiny je zadána bez hodnoty. |
0023 ERR | Požadovaný parametr – rychlost chybí | Volba rychlosti je povinná a musí být specifikována. |
0007 ERR | Neznámá rychlost' ' | Volba rychlosti není správná. Viz možný seznam hodnot v popisu možnosti. |
0023 ERR | Parametr—rychlost chybí hodnota | Volba rychlosti je zadána bez hodnoty. |
Example
set_device -family {PolarFire} -die {MPF300T_ES} -speed -1
set_device -rodina SmartFusion 2 -die M2S090T -rychlost -1
9.1.3 read_verilog (Zeptejte se)
Popis
Přečtěte si Verilog file pomocí Verific.
read_verilog [-lib ] [-režim ]filejméno>
Argumenty
Parametr | Typ | Popis |
-lib | Řetězec | Zadejte knihovnu, která obsahuje moduly, které mají být přidány do knihovny. |
-režim | Řetězec | Zadejte standard Verilog. Možné hodnoty jsou verilog_95, verilog_2k, system_verilog_2005, system_verilog_2009, system_verilog, verilog_ams, verilog_psl, system_verilog_mfcu. Hodnoty nerozlišují malá a velká písmena. Výchozí hodnota je verilog_2k. |
filejméno | Řetězec | Verilog file jméno. |
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybová zpráva | Popis |
0023 ERR | Parametr—lib chybí hodnota | Volba lib je zadána bez hodnoty. |
0023 ERR | Parametr—režim chybí hodnota | Volba režimu je zadána bez hodnoty. |
0015 ERR | Neznámý režim ' | Zadaný režim verilog není znám. Podívejte se na seznam možných režimů verilog v popisu možnosti. |
0023 ERR | Požadovaný parametr file jméno chybí | Žádný verilog file cesta je poskytnuta. |
0016 ERR | Selhalo kvůli analyzátoru Verific | Chyba syntaxe v Verilog file. Analyzátor Verific lze pozorovat v konzole nad chybovou zprávou. |
0012 ERR | set_device není voláno | Informace o zařízení nejsou uvedeny. K popisu zařízení použijte příkaz set_device. |
Example
read_verilog -mode system_verilog {component/work/top/top.v}
read_verilog -mode system_verilog_mfcu design.v
9.1.4 read_vhdl (Zeptejte se)
Popis
Přidejte VHDL file do seznamu VHDL files.
read_vhdl [-lib ] [-režim ]filejméno>
Argumenty
Parametr | Typ | Popis |
-lib | — | Zadejte knihovnu, do které musí být obsah přidán. |
-režim | — | Určuje standard VHDL. Výchozí je VHDL_93. Možné hodnoty jsou vhdl_93, vhdl_87, vhdl_2k, vhdl_2008, vhdl_psl. Hodnoty nerozlišují malá a velká písmena. |
filejméno | — | VHDL file jméno. |
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybová zpráva | Popis |
0023 ERR | Parametr—lib chybí hodnota | Volba lib je zadána bez hodnoty. |
0023 ERR | Parametr—režim chybí hodnota | Volba režimu je zadána bez hodnoty. |
0018 ERR | Neznámý režim ' | Zadaný režim VHDL není znám. Podívejte se na seznam možných režimů VHDL v popisu volby režimu. |
0023 ERR | Požadovaný parametr file jméno chybí | Žádné VHDL file cesta je poskytnuta. |
0019 ERR | Nelze zaregistrovat invalid_path.v file | Zadaný VHDL file neexistuje nebo nemá oprávnění ke čtení. |
0012 ERR | set_device není voláno | Informace o zařízení nejsou uvedeny. K popisu zařízení použijte příkaz set_device. |
Example
read_vhdl -mode vhdl_2008 osc2dfn.vhd
read_vhdl {hdl/top.vhd}
9.1.5 set_top_level (Zeptejte se)
Popis
Zadejte název modulu nejvyšší úrovně v RTL.
set_top_level [-lib ]
Argumenty
Parametr | Typ | Popis |
-lib | Řetězec | Knihovna pro vyhledání modulu nebo entity nejvyšší úrovně (Volitelné). |
jméno | Řetězec | Název modulu nebo entity nejvyšší úrovně. |
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybová zpráva | Popis |
0023 ERR | Požadovaná nejvyšší úroveň parametru chybí | Možnost nejvyšší úrovně je povinná a musí být specifikována. |
0023 ERR | Parametr—lib chybí hodnota | Volba lib je zadána bez hodnot. |
0014 ERR | Nelze najít nejvyšší úroveň v knihovně | Zadaný modul nejvyšší úrovně není definován v poskytnuté knihovně. Chcete-li tuto chybu opravit, je nutné opravit název horního modulu nebo knihovny. |
0017 ERR | Vypracování se nezdařilo | Chyba v procesu zpracování RTL. Chybovou zprávu lze sledovat z konzoly. |
Example
set_top_level {top}
set_top_level -lib hdl top
9.1.6 read_sdc (Zeptejte se)
Popis
Přečtěte si SDC file do databáze komponent.
read_sdc -komponentafilejméno>
Argumenty
Parametr | Typ | Popis |
-komponent | — | Toto je povinný příznak pro příkaz read_sdc, když odvozujeme omezení. |
filejméno | Řetězec | Cesta k SDC file. |
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybová zpráva | Popis |
0023 ERR | Požadovaný parametr file jméno chybí. | Povinná možnost file jméno není uvedeno. |
0000 ERR | SDC file <file_path> není čitelný. | Zadaný SDC file nemá oprávnění ke čtení. |
0001 ERR | Nelze otevřítfile_cesta> file. | SDC file neexistuje. Cesta musí být opravena. |
0008 ERR | Chybí příkaz set_component vfile_cesta> file | Zadaná součást SDC file neuvádí součást. |
Kód chyby | Chybová zpráva | Popis |
0009 ERR | <List of errors from sdc file> | SDC file obsahuje nesprávné příkazy sdc. Napřample,
když dojde k chybě v omezení set_multicycle_path: Chyba při provádění příkazu read_sdc: infile_cesta> file: Chyba v příkazu set_multicycle_path: Neznámý parametr [get_cells {reg_a}]. |
Example
read_sdc -component {./component/work/ccc0/ccc0_0/ccc0_ccc0_0_PF_CCC.sdc}
9.1.7 read_ndc (Zeptejte se)
Popis
Přečtěte si NDC file do databáze komponent.
read_ndc -komponentafilejméno>
Argumenty
Parametr | Typ | Popis |
-komponent | — | Toto je povinný příznak pro příkaz read_ndc, když odvozujeme omezení. |
filejméno | Řetězec | Cesta k NDC file. |
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybová zpráva | Popis |
0001 ERR | Nelze otevřítfile_cesta> file | NDC file neexistuje. Cesta musí být opravena. |
0023 ERR | Požadovaný parametr — AtclParamO_ chybí. | Povinná možnost filejméno není uvedeno. |
0023 ERR | Povinný parametr – komponenta chybí. | Možnost komponenty je povinná a musí být specifikována. |
0000 ERR | NDC file 'file_path>' není čitelný. | Zadaný NDC file nemá oprávnění ke čtení. |
Example
read_ndc -component {component/work/ccc1/ccc1_0/ccc_comp.ndc}
9.1.8 derive_constraints (Zeptejte se)
Popis
Okamžitá součást SDC files do databáze na úrovni návrhu.
derivovat_omezení
Argumenty
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybová zpráva | Popis |
0013 ERR | Nejvyšší úroveň není definována | To znamená, že není určen modul nebo entita nejvyšší úrovně. Chcete-li tento hovor opravit, zadejte příkaz set_top_level před příkazem derive_constraints. |
Example
derivovat_omezení
9.1.9 write_sdc (Zeptejte se)
Popis
Píše omezení file ve formátu SDC.
write_sdcfilejméno>
Argumenty
Parametr | Typ | Popis |
<filejméno> | Řetězec | Cesta k SDC file bude generován. Toto je povinná možnost. Pokud file existuje, bude přepsán. |
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybová zpráva | Popis |
0003 ERR | Nelze otevřítfile cesta> file. | File cesta není správná. Zkontrolujte, zda existují nadřazené adresáře. |
0002 ERR | SDC file 'file cesta>' není zapisovatelný. | Zadaný SDC file nemá oprávnění k zápisu. |
0023 ERR | Požadovaný parametr file jméno chybí. | SDC file cesta je povinná volba a musí být specifikována. |
Example
write_sdc „derived.sdc“
9.1.10 write_pdc (Zeptejte se)
Popis
Zapíše fyzická omezení (pouze odvození omezení).
write_pdcfilejméno>
Argumenty
Parametr | Typ | Popis |
<filejméno> | Řetězec | Cesta k PDC file bude generován. Toto je povinná možnost. Pokud file cesta existuje, bude přepsána. |
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybové zprávy | Popis |
0003 ERR | Nelze otevřítfile cesta> file | The file cesta není správná. Zkontrolujte, zda existují nadřazené adresáře. |
0002 ERR | PDC file 'file cesta>' nelze zapisovat. | Zadané PDC file nemá oprávnění k zápisu. |
0023 ERR | Požadovaný parametr file jméno chybí | PDC file cesta je povinná volba a musí být specifikována. |
Example
write_pdc “derived.pdc”
9.1.11 write_ndc (Zeptejte se)
Popis
Zapíše omezení NDC do a file.
psát_ndcfilejméno>
Argumenty
Parametr | Typ | Popis |
filejméno | Řetězec | Cesta k NDC file bude generován. Toto je povinná možnost. Pokud file existuje, bude přepsán. |
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybové zprávy | Popis |
0003 ERR | Nelze otevřítfile_cesta> file. | File cesta není správná. Nadřazené adresáře neexistují. |
0002 ERR | NDC file 'file_path>' nelze zapisovat. | Zadaný NDC file nemá oprávnění k zápisu. |
0023 ERR | Chybí požadovaný parametr _AtclParamO_. | NDC file cesta je povinná volba a musí být specifikována. |
Example
write_ndc „derived.ndc“
9.1.12 add_include_path (Zeptejte se)
Popis
Určuje cestu k hledání včetně files při čtení RTL files.
add_include_path
Argumenty
Parametr | Typ | Popis |
adresář | Řetězec | Určuje cestu k hledání včetně files při čtení RTL files. Tato možnost je povinná. |
Typ návratu | Popis |
0 | Příkaz byl úspěšný. |
Typ návratu | Popis |
1 | Příkaz selhal. Došlo k chybě. Chybovou zprávu můžete sledovat v konzole. |
Seznam chyb
Kód chyby | Chybová zpráva | Popis |
0023 ERR | Chybí požadovaný parametr včetně cesty. | Volba adresáře je povinná a musí být zadána. |
Poznámka: Pokud cesta k adresáři není správná, pak add_include_path bude předán bez chyby.
Příkazy read_verilog/read_vhd však selžou kvůli analyzátoru Verific.
Example
add_include_path component/work/COREABC0/COREABC0_0/rtl/vlog/core
Historie revizí (Zeptejte se)
Historie revizí popisuje změny, které byly v dokumentu implementovány. Změny jsou uvedeny podle revizí, počínaje nejnovější publikací.
Revize | Datum | Popis |
F | 08/2024 | V této revizi jsou provedeny následující změny: • Aktualizovaná část Příloha B – Import simulačních knihoven do prostředí simulace. |
E | 08/2024 | V této revizi jsou provedeny následující změny: • Aktualizovaná sekce Overview. • Aktualizována sekce Odvozené SDC File. • Aktualizovaná část Příloha B – Import simulačních knihoven do prostředí simulace. |
D | 02/2024 | Tento dokument je vydán s Libero 2024.1 SoC Design Suite beze změn oproti verzi 2023.2. Aktualizována sekce Práce s nástrojem derive_constraints |
C | 08/2023 | Tento dokument je vydán s Libero 2023.2 SoC Design Suite beze změn oproti verzi 2023.1. |
B | 04/2023 | Tento dokument je vydán s Libero 2023.1 SoC Design Suite beze změn oproti verzi 2022.3. |
A | 12/2022 | Počáteční revize. |
Podpora Microchip FPGA
Skupina produktů Microchip FPGA podporuje své produkty různými podpůrnými službami, včetně zákaznických služeb, zákaznického centra technické podpory, a webmísto a celosvětové prodejní kanceláře.
Zákazníkům se doporučuje, aby před kontaktováním podpory navštívili online zdroje Microchip, protože je velmi pravděpodobné, že jejich dotazy již byly zodpovězeny.
Kontaktujte centrum technické podpory prostřednictvím webmísto na www.microchip.com/support. Uveďte číslo dílu FPGA zařízení, vyberte vhodnou kategorii pouzdra a nahrajte design files při vytváření případu technické podpory.
Obraťte se na zákaznický servis pro netechnickou podporu produktu, jako je cena produktu, aktualizace produktu, informace o aktualizaci, stav objednávky a autorizace.
- Ze Severní Ameriky volejte 800.262.1060
- Ze zbytku světa volejte 650.318.4460
- Fax odkudkoli na světě, 650.318.8044 XNUMX XNUMX
Informace o mikročipu
Mikročip Webmísto
Microchip poskytuje online podporu prostřednictvím našeho webmísto na www.microchip.com/. Tento webmísto se používá k výrobě files a informace snadno dostupné zákazníkům. Některý dostupný obsah zahrnuje:
- Produktová podpora – datové listy a errata, aplikační poznámky a sampprogramy, zdroje návrhů, uživatelské příručky a dokumenty podpory hardwaru, nejnovější verze softwaru a archivovaný software
- Obecná technická podpora – často kladené otázky (FAQ), požadavky na technickou podporu, online diskusní skupiny, seznam členů programu designérských partnerů společnosti Microchip
- Business of Microchip – průvodce pro výběr produktů a objednávky, nejnovější tiskové zprávy Microchip, seznam seminářů a akcí, seznamy prodejních kanceláří Microchip, distributorů a zástupců továren
Služba upozornění na změnu produktu
Služba oznamování změn produktů společnosti Microchip pomáhá zákazníkům udržovat aktuální informace o produktech společnosti Microchip. Předplatitelé obdrží e-mailové upozornění, kdykoli dojde ke změnám, aktualizacím, revizím nebo chybám souvisejícím s konkrétní produktovou řadou nebo vývojovým nástrojem, který je zajímá. Chcete-li se zaregistrovat, přejděte na www.microchip.com/pcn a postupujte podle pokynů k registraci.
Zákaznická podpora
Uživatelé produktů Microchip mohou získat pomoc prostřednictvím několika kanálů:
- Distributor nebo zástupce
- Místní prodejní kancelář
- Embedded Solutions Engineer (ESE)
- Technická podpora
Zákazníci by měli kontaktovat svého distributora, zástupce nebo ESE s žádostí o podporu. Zákazníkům jsou k dispozici také místní prodejní kanceláře. Seznam prodejních kanceláří a míst je součástí tohoto dokumentu. Technická podpora je k dispozici prostřednictvím webmísto na: www.microchip.com/support
Funkce ochrany kódem zařízení Microchip
Všimněte si následujících podrobností o funkci ochrany kódu na produktech Microchip:
- Produkty Microchip splňují specifikace obsažené v jejich konkrétním datovém listu Microchip.
- Společnost Microchip věří, že její řada produktů je bezpečná, pokud se používají zamýšleným způsobem, v rámci provozních specifikací a za normálních podmínek.
- Microchip si cení a agresivně chrání svá práva duševního vlastnictví. Pokusy o porušení funkcí ochrany kódu produktu Microchip jsou přísně zakázány a mohou porušovat zákon Digital Millennium Copyright Act.
- Společnost Microchip ani žádný jiný výrobce polovodičů nemůže zaručit bezpečnost svého kódu. Ochrana kódem neznamená, že garantujeme, že produkt je „nerozbitný“. Ochrana kódu se neustále vyvíjí. Společnost Microchip se zavázala neustále zlepšovat funkce ochrany kódu našich produktů.
Právní upozornění
Tato publikace a zde uvedené informace mohou být použity pouze s produkty Microchip, včetně návrhu, testování a integrace produktů Microchip s vaší aplikací. Použití těchto informací jakýmkoli jiným způsobem porušuje tyto podmínky. Informace týkající se aplikací zařízení jsou poskytovány pouze pro vaše pohodlí a mohou být nahrazeny aktualizacemi. Je vaší odpovědností zajistit, aby vaše aplikace odpovídala vašim specifikacím. Obraťte se na místní obchodní zastoupení Microchip pro další podporu nebo získejte další podporu na www.microchip.com/en-us/support/design-help/client-support-services.
TYTO INFORMACE POSKYTUJE SPOLEČNOST MICROCHIP „TAK, JAK JSOU“. SPOLEČNOST MICROCHIP NEPOSKYTUJE ŽÁDNÁ PROHLÁŠENÍ ANI ZÁRUKY JAKÉHOKOLI DRUHU, VÝSLOVNÉ NEBO PŘEDPOKLÁDANÉ, PÍSEMNÉ NEBO ÚSTNÍ, ZÁKONNÉ NEBO JINAK, TÝKAJÍCÍ SE INFORMACÍ VČETNĚ, ALE NEOMEZENÉ NA JAKÉKOLI PŘEDPOKLÁDANÉ ZÁRUKY, NEPORUŠENÍ PARTNERSTVÍ, NEPORUŠENÍ PARTNERSTVÍ WARRANT SOUVISEJÍCÍ S JEHO STAVEM, KVALITOU NEBO VÝKONEM. V ŽÁDNÉM PŘÍPADĚ NEBUDE MICROCHIP ODPOVĚDNÁ ZA JAKÉKOLI NEPŘÍMÉ, ZVLÁŠTNÍ, REKRESIVNÍ, NÁHODNÉ NEBO NÁSLEDNÉ ZTRÁTY, ŠKODY, NÁKLADY NEBO VÝDAJE JAKÉHOKOLI DRUHU JAKKOLI SOUVISEJÍCÍ S INFORMACÍ NEBO JEJICH POUŽITÍM, JAKKOLI BY BYLO UVEDENO, JAK BY BYLO ZPŮSOBeno, MOŽNOST NEBO ŠKODY JSOU PŘEDVÍDAJÍCÍ. CELKOVÁ ODPOVĚDNOST SPOLEČNOSTI MICROCHIP ZA VŠECHNY NÁROKY SOUVISEJÍCÍ S INFORMACEMI NEBO JEJICH POUŽITÍM NEPŘEKROČÍ V NEJVYŠŠÍM ROZSAHU POVOLENÉM ZÁKONEM, KTERÉ JSTE ZA INFORMACE ZAPLATILI PŘÍMO SPOLEČNOSTI MICROCHIP.
Použití zařízení Microchip v aplikacích na podporu života a/nebo v bezpečnostních aplikacích je zcela na riziko kupujícího a kupující souhlasí s tím, že bude Microchip bránit, odškodnit a chránit před všemi škodami, žalobami, žalobami nebo výdaji vyplývajícími z takového použití. Žádné licence nejsou poskytovány, implicitně ani jinak, v rámci jakýchkoli práv duševního vlastnictví společnosti Microchip, pokud není uvedeno jinak.
ochranné známky
Název a logo Microchip, logo Microchip, Adaptec, AVR, logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maxXTouch MediaLB, megaAVR, Microsemi, logo Microsemi, MOST, logo MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logo PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, Logo SST, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron a XMEGA jsou registrované ochranné známky společnosti Microchip Technology Incorporated v USA a dalších zemích.
AgileSwitch, ClockWorks, The Embedded Control Solutions Company, EtherSync, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logo ProASIC Plus, Quiet-Wire, SmartFusion, SyncWorld, TimeCesium, TimeHub, TimePictra, TimeProvider a ZL jsou registrované ochranné známky společnosti Microchip Technology Incorporated v USA
Přilehlé potlačení klíče, AKS, Analog-for-the-Digital Age, Libovolný kondenzátor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoCompanion, CryptoCDEM Average, MatdsPI , DAM, ECAN, Espresso T1S, EtherGREEN, EyeOpen, GridTime, IdealBridge, IGaT, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, MaxCpginLink, max. maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, mSiC, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, Power MOS IV, Power MOS 7, PowerSilicon, PowerSilicon, PowerSilicon, , QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance , Trusted Time, TSHARC, Turing, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect a ZENA jsou ochranné známky společnosti Microchip Technology Incorporated v USA a dalších zemích.
SQTP je servisní značka společnosti Microchip Technology Incorporated v USA
Logo Adaptec, Frequency on Demand, Silicon Storage Technology a Symmcom jsou registrované ochranné známky společnosti Microchip Technology Inc. v jiných zemích.
GestIC je registrovaná ochranná známka společnosti Microchip Technology Germany II GmbH & Co. KG, dceřiné společnosti Microchip Technology Inc., v jiných zemích.
Všechny ostatní ochranné známky uvedené v tomto dokumentu jsou majetkem příslušných společností.
2024, Microchip Technology Incorporated a její dceřiné společnosti. Všechna práva vyhrazena.
ISBN: 978-1-6683-0183-8
Systém managementu kvality
Informace týkající se systémů řízení kvality společnosti Microchip naleznete na adrese www.microchip.com/quality.
Celosvětový prodej a servis
AMERIKY | ASIE/PACIFIK | ASIE/PACIFIK | EVROPA |
Kancelář společnosti 2355 West Chandler Blvd. Chandler, AZ 85224-6199 tel: 480-792-7200 Fax: 480-792-7277 Technická podpora: www.microchip.com/support Web Adresa: www.microchip.com Atlanta Duluth, GA tel: 678-957-9614 Fax: 678-957-1455 Austin, TX tel: 512-257-3370 Boston Westborough, MA tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI tel: 248-848-4000 Houston, TX tel: 281-894-5983 Indianapolis Noblesville, IN tel: 317-773-8323 Fax: 317-773-5453 tel: 317-536-2380 Los Angeles Mise Viejo, CA tel: 949-462-9523 Fax: 949-462-9608 tel: 951-273-7800 Raleigh, NC tel: 919-844-7510 New York, NY tel: 631-435-6000 San Jose, CA tel: 408-735-9110 tel: 408-436-4270 Kanada – Toronto tel: 905-695-1980 Fax: 905-695-2078 |
Austrálie – Sydney Tel: 61-2-9868-6733 Čína – Peking Tel: 86-10-8569-7000 Čína – Čcheng-tu Tel: 86-28-8665-5511 Čína – Chongqing Tel: 86-23-8980-9588 Čína – Dongguan Tel: 86-769-8702-9880 Čína – Guangzhou Tel: 86-20-8755-8029 Čína – Chang-čou Tel: 86-571-8792-8115 Čína – SAR Hong Kong Tel: 852-2943-5100 Čína – Nanjing Tel: 86-25-8473-2460 Čína – Čching-tao Tel: 86-532-8502-7355 Čína – Šanghaj Tel: 86-21-3326-8000 Čína – Shenyang Tel: 86-24-2334-2829 Čína – Shenzhen Tel: 86-755-8864-2200 Čína – Suzhou Tel: 86-186-6233-1526 Čína – Wuhan Tel: 86-27-5980-5300 Čína – Xian Tel: 86-29-8833-7252 Čína – Xiamen Tel: 86-592-2388138 Čína – Zhuhai Tel: 86-756-3210040 |
Indie – Bangalore Tel: 91-80-3090-4444 Indie – Nové Dillí Tel: 91-11-4160-8631 Indie - Pune Tel: 91-20-4121-0141 Japonsko – Ósaka Tel: 81-6-6152-7160 Japonsko – Tokio Tel: 81-3-6880- 3770 Korea – Daegu Tel: 82-53-744-4301 Korea – Soul Tel: 82-2-554-7200 Malajsie - Kuala Lumpur Tel: 60-3-7651-7906 Malajsie – Penang Tel: 60-4-227-8870 Filipíny – Manila Tel: 63-2-634-9065 Singapur Tel: 65-6334-8870 Tchaj-wan – Hsin Chu Tel: 886-3-577-8366 Tchaj-wan – Kaohsiung Tel: 886-7-213-7830 Tchaj -wan - Tchaj -pej Tel: 886-2-2508-8600 Thajsko – Bangkok Tel: 66-2-694-1351 Vietnam – Ho Či Min Tel: 84-28-5448-2100 |
Rakousko – Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Dánsko – Kodaň Tel: 45-4485-5910 Fax: 45-4485-2829 Finsko – Espoo Tel: 358-9-4520-820 Francie – Paříž Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Německo – Garching Tel: 49-8931-9700 Německo – Haan Tel: 49-2129-3766400 Německo – Heilbronn Tel: 49-7131-72400 Německo – Karlsruhe Tel: 49-721-625370 Německo – Mnichov Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Německo – Rosenheim Tel: 49-8031-354-560 Izrael – Hod Hasharon Tel: 972-9-775-5100 Itálie – Milán Tel: 39-0331-742611 Fax: 39-0331-466781 Itálie – Padova Tel: 39-049-7625286 Nizozemsko – Drunen Tel: 31-416-690399 Fax: 31-416-690340 Norsko – Trondheim Tel: 47-72884388 Polsko – Varšava Tel: 48-22-3325737 Rumunsko – Bukurešť Tel: 40-21-407-87-50 Španělsko - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Švédsko – Göteborg Tel: 46-31-704-60-40 Švédsko – Stockholm Tel: 46-8-5090-4654 Velká Británie – Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 |
Dokumenty / zdroje
![]() |
MICROCHIP DS00004807F PolarFire Family FPGA Custom Flow [pdfUživatelská příručka DS00004807F PolarFire Family FPGA Custom Flow, DS00004807F, PolarFire Family FPGA Custom Flow, Family FPGA Custom Flow, Custom Flow, Flow |