intel-LOGO

intel AN 903 pospeševanje časovnega zapiranja

intel-AN-903-Pospeševalni-Čas-Zapiranje-IZDELEK

AN 903: Pospeševanje časovnega zapiranja v Intel® Quartus® Prime Pro Edition

Gostota in zapletenost sodobnih modelov FPGA, ki združujejo vgrajene sisteme, IP in hitre vmesnike, predstavljata vse večje izzive za časovno zapiranje. Pozne arhitekturne spremembe in izzivi pri preverjanju lahko privedejo do dolgotrajnih ponovitev načrtovanja. Ta dokument povzema tri korake za pospešitev časovnega zapiranja z uporabo preverjene in ponovljive metodologije v programski opremi Intel® Quartus® Prime Pro Edition. Ta metodologija vključuje začetno analizo in optimizacijo RTL ter avtomatizirane tehnike za zmanjšanje časa prevajanja in zmanjšanje zapletenosti zasnove ter ponovitev, potrebnih za časovno zapiranje.

Koraki pospeševanja zapiranja časa

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-1

Koraki pospeševanja zapiranja časa

Korak zapiranja časa Časovno zaključna dejavnost Podrobne informacije
1. korak: analizirajte in optimizirajte RTL •    Odpravite kršitve Design Assistant na strani 4

•    Zmanjšajte logične ravni na strani 7

•    Zmanjšajte visoko razpršene mreže na strani 9

•    Intel Quartus Prime Pro Izdaja Uporabniški priročnik: Oblikovanje Optimizacija

•    Intel Quartus Prime Pro Izdaja Uporabniški priročnik: Oblikovanje Priporočila

2. korak: Uporabite optimizacijo prevajalnika •    Uporabite načine optimizacije prevajalnika in strategije na strani 13

•    Zmanjšajte zastoje za visoko izkoriščenost na strani 16

•    Intel Quartus Prime Pro Izdaja Uporabniški priročnik: Oblikovanje Kompilacija

•    Intel Quartus Prime Pro Izdaja Uporabniški priročnik: Oblikovanje Optimizacija

3. korak: ohranite zadovoljive rezultate •    Zakleni ure, RAM-je in DSP-je na strani 20

•    Ohranite rezultate načrtovanja particije na strani 21

•    Intel Quartus Prime Pro Izdaja Uporabniški priročnik: Block- Temelji na oblikovanju

•    AN-899: Zmanjšanje prevajanja Čas s hitrim ohranjanjem

1. korak: Analizirajte in optimizirajte Design RTL

Optimiziranje izvorne kode vašega dizajna je običajno prva in najučinkovitejša tehnika za izboljšanje kakovosti vaših rezultatov. Intel Quartus Prime Design Assistant vam pomaga hitro popraviti osnovne kršitve pravil načrtovanja in priporoča spremembe RTL, ki poenostavljajo optimizacijo načrtovanja in časovno zapiranje.

Težave s časovnim zapiranjem

  • Previsoke logične ravni vplivajo na vrstni red obdelave, trajanje in kakovost rezultatov Fitterja.
  • Visoke razpršene mreže povzročajo zastoje virov in dodajajo dodatno napetost na podatkovnih poteh, kar po nepotrebnem povečuje kritičnost poti in otežuje časovno zapiranje. Ta napetost je sila privlačnosti, ki vleče pot (in vse poti, ki imajo skupen ta visok signal) proti viru visokega pahljače.

Rešitve časovnega zapiranja

  • Popravite kršitve Design Assistant na strani 4—za hitro prepoznavanje in popravljanje osnovnih kršitev pravil načrtovanja, ki so pomembne za vaš dizajn.
  • Zmanjšajte logične ravni na strani 7—da zagotovite, da lahko vsi elementi načrta prejmejo enake optimizacije programa Fitter, in da skrajšate čase prevajanja.
  • Zmanjšajte visoko razpršene mreže na strani 9—za zmanjšanje prezasedenosti virov in poenostavitev časovnega zapiranja.

Povezane informacije

  • »Design Rule Checking with Design Assistant,« Uporabniški priročnik za Intel Quartus Prime Pro Edition: Priporočila za načrtovanje
  • »Optimizirajte izvorno kodo«, Uporabniški priročnik za Intel Quartus Prime Pro Edition: Optimizacija oblikovanja
  • »Duplicate Registers for Fan-Out Control«, Uporabniški priročnik za Intel Quartus Prime Pro Edition: Optimizacija načrtovanja

Odpravite kršitve Design Assistant

Izvajanje začetne analize zasnove za odpravo znanih težav s časovnim zapiranjem bistveno poveča produktivnost. Po zagonu začetne kompilacije s privzetimi nastavitvami lahko znovaview Pomočnik pri oblikovanju poroča za začetno analizo. Ko je omogočen, Design Assistant samodejno poroča o morebitnih kršitvah standardnega nabora smernic za načrtovanje, ki jih priporoča Intel FPGA. Design Assistant lahko zaženete v načinu Compilation Flow, kar vam omogoča view kršitve, pomembne za sestavo stages tečeš. Druga možnost je, da je Design Assistant na voljo v načinu analize v časovnem analizatorju in načrtovalcu čipov.

  • Način poteka kompilacije—teče samodejno med enim ali več stages kompilacije. V tem načinu Design Assistant med prevajanjem uporablja vhodne (prehodne) podatke.
  • Način analize— zaženite Design Assistant iz Timing Analyzerja in Chip Plannerja, da analizirate kršitve načrtovanja pri določeni kompilacijitage, preden se premaknete naprej v toku prevajanja. V načinu analize pomočnik pri oblikovanju uporablja podatke posnetka statične kompilacije.

Design Assistant vsako kršitev pravila označi z eno od naslednjih stopenj resnosti. Določite lahko, katera pravila želite, da pomočnik za načrtovanje preveri v vašem dizajnu, in prilagodite stopnje resnosti, s čimer odpravite preverjanja pravil, ki niso pomembna za vaš dizajn.

Ravni resnosti pravila pomočnika pri oblikovanju

kategorije Opis Barva stopnje resnosti
Kritično Obravnava težave za predajo. Rdeča
visoko Potencialno povzroči funkcionalno okvaro. Lahko kaže na manjkajoče ali nepravilne načrtovalne podatke. Oranžna
Srednje Potencialno vpliva na kakovost rezultatov za fMAKS ali izraba virov. Rjava
Nizka Pravilo odraža najboljše prakse za smernice za kodiranje RTL. Modra

Nastavitev Design Assistant
Design Assistant lahko v celoti prilagodite svojim individualnim značilnostim oblikovanja in zahtevam poročanja. Kliknite Dodelitve ➤ Nastavitve ➤ Nastavitve pravil pomočnika za načrtovanje, da podate možnosti, ki nadzorujejo, katera pravila in parametri veljajo za različne stagkompilacije načrtov za preverjanje pravil oblikovanja.

Nastavitve pravil pomočnika za načrtovanjeintel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-2

Pomočnik pri oblikovanju teka
Ko je omogočen, se pomočnik za načrtovanje samodejno zažene med prevajanjem in poroča o omogočenih kršitvah pravil načrtovanja v poročilu o prevajanju. Lahko pa zaženete Design Assistant v Analysis Mode na določenem posnetku kompilacije, da se analiza osredotoči le na to stage. Če želite omogočiti samodejno preverjanje pomočnika za načrtovanje med prevajanjem:

  • Vklopite Omogoči izvajanje Design Assistant med prevajanjem v nastavitvah pravil Design Assistant. Če želite zagnati Design Assistant v načinu analize za preverjanje določenega posnetka glede na pravila načrtovanja, ki veljajo za posnetek:
  • Kliknite Report DRC na plošči Timing Analyzer ali Chip Planner Tasks.

Viewing in popravljanje rezultatov Design Assistant
Poročila Design Assistant so omogočila kršitve pravil oblikovanja v različnih stages zbirnega poročila.

Pomočnik pri oblikovanju omogoča sintezo, načrtovanje, umeščanje in dokončanje poročilintel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-3

Za view rezultate za vsako pravilo, kliknite pravilo na seznamu Pravila. Prikažejo se opis pravila in načrtovalska priporočila za popravek.

Priporočilo pomočnika pri oblikovanju glede kršitve pravil

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-4

Spremenite svoj RTL, da popravite kršitve pravil oblikovanja.

Zmanjšajte logične ravni

Previsoke logične ravni lahko vplivajo na kakovost rezultatov Monterja, ker kritična pot načrtovanja vpliva na vrstni red in trajanje obdelave Monterja. Monter postavi in ​​usmeri načrt na podlagi časovne ohlapnosti. Monter najprej postavi daljše poti z najmanjšo ohlapnostjo. Monter na splošno daje prednost poti višje logične ravni pred potmi nižje logične ravni. Običajno po Monter stage končan, preostale kritične poti niso poti najvišje logične ravni. Monter daje prednostno umestitev, usmerjanje in ponovni čas logiki višje ravni. Zmanjšanje logične ravni pomaga zagotoviti, da vsi elementi načrta prejmejo enako prioriteto Monterja. Zaženite Poročila ➤ Poročila po meri ➤ Čas poročila v časovnem analizatorju, da ustvarite poročila, ki prikazujejo ravni logike na poti. Če pot ne uspe časovno določiti in je število logičnih ravni veliko, razmislite o dodajanju cevovoda v tem delu zasnove, da izboljšate zmogljivost.

Logična globina v poročilu o poti

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-5

Poročanje o globini ravni logike
Potem ko je Prevajalčev načrt stage, lahko zaženete report_logic_depth v konzoli Timing Analyzer Tcl view število logičnih nivojev znotraj domene ure. report_logic_depth prikazuje porazdelitev logične globine med kritičnimi potmi, kar vam omogoča, da prepoznate področja, kjer lahko zmanjšate logične ravni v vašem RTL.

globina_logike_poročila -ime_plošče -iz [get_clocks ] \ -to [get_clocks ]

report_logic_depth Izhodintel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-6

Če želite pridobiti podatke za optimizacijo RTL, zaženite report_logic_depth po načrtu prevajalnikatage, pred zagonom preostali Monter stages. V nasprotnem primeru poročila po namestitvi vključujejo tudi rezultate fizične optimizacije (ponovno merjenje časa in ponovna sinteza).

Poročanje o sosednjih poteh
Po zagonu orodja Fitter (Finalize) stage, lahko zaženete report_neighbor_paths, da pomagate ugotoviti glavni vzrok kritične poti (npr.ample, visoka logična raven, časovna omejitev, neoptimalna postavitev, križanje V/I stolpcev, zadržanje ali drugo): report_neighbor_paths -to_clock -npaths -ime_plošče

report_neighbor_paths poroča o časovno najbolj kritičnih poteh v načrtu, vključno s pripadajočo ohlapnostjo, dodatnimi informacijami o povzetku poti in omejevalnimi okvirji poti.

report_neighbor_paths Izhodintel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-7

report_neighbor_paths prikazuje časovno najbolj kritično pot pred in pot po vsaki kritični poti. Ponovno časovno uravnavanje ali logično uravnoteženje poti lahko poenostavi časovno zapiranje, če je na poti negativna ohlapnost, a pozitivna ohlapnost na poti pred ali po poti.

Če želite omogočiti ponovni čas, se prepričajte, da so vklopljene naslednje možnosti:

  • Za registre—omogoči Dodelitve ➤ Nastavitve ➤ Nastavitve prevajalnika ➤ Optimizacija registra ➤ Dovoli ponovni čas registra
  • Za končne točke RAM-a – omogočite Dodelitve ➤ Nastavitve ➤ Nastavitve prevajalnika ➤ Nastavitve monterja (napredno) ➤ Dovoli ponovni čas RAM-a
  • Za končne točke DSP—omogočite Dodelitve ➤ Nastavitve ➤ Nastavitve prevajalnika ➤ Nastavitve monterja (napredno) ➤ Dovoli ponovni čas DSP

OPOMBA

Če je potrebno nadaljnje logično uravnoteženje, morate ročno spremeniti svoj RTL, da premaknete logiko s kritične poti na pot pred ali pot za.
Če je izhod registra povezan z njegovim vhodom, sta lahko ena ali obe sosednji poti enaki trenutni poti. Pri iskanju sosednjih poti z najslabšo ohlapnostjo se upoštevajo vsi pogoji delovanja, ne le pogoji delovanja same glavne poti.

Vizualizacija logičnih ravni v tehnološkem zemljevidu Viewer
Tehnološki zemljevid Viewer ponuja tudi shematične, tehnološko preslikane, predstavitve načrtovalnega seznama omrežij in vam lahko pomaga videti, katera področja v dizajnu lahko koristijo zmanjšanju števila logičnih ravni. V načrtovalcu čipov lahko tudi podrobno raziščete fizično postavitev poti. Če želite poiskati časovno pot v enem od viewers, z desno miškino tipko kliknite pot v časovnem poročilu, pokažite na Locate Path in izberite Locate in Technology Map Viewer.

Zmanjšajte visoko razpršene mreže

Visoke razpršene mreže lahko povzročijo zastoje virov in s tem otežijo časovno zapiranje. Na splošno prevajalnik samodejno upravlja mreže z velikimi pahljačami, povezane z urami. Prevajalnik samodejno promovira prepoznane mreže z visoko razpršenostjo v globalno časovno omrežje. Prevajalnik si bolj prizadeva za optimizacijo med mestom in potjotages, kar ima za posledico koristno podvajanje registra. V naslednjih kotnih primerih lahko dodatno zmanjšate zastoje tako, da naredite naslednje ročne spremembe v vašem dizajnu RTL:

Mrežasti vogalni kovčki z visokim pahljačem

Oblikovalska značilnost Ročna optimizacija RTL
Visoko razpršene mreže, ki dosežejo številne hierarhije ali fizično oddaljene cilje Podajte dodelitev duplicate_hierarchy_depth v zadnjem registru v cevovodu, da ročno podvojite omrežja z visoko razpršenostjo po hierarhijah. Podajte dodelitev duplicate_register podvojenim registrom med umestitvijo.
Zasnove s krmilnimi signali do pomnilniških blokov DSP ali M20K iz kombinacijske logike Prenesite krmilni signal v pomnilnik DSP ali M20K iz registra.

Registrirajte podvajanje po hierarhijah
Dodelitev duplicate_hierarchy_depth lahko podate na zadnjem registru v cevovodu, da vodite ustvarjanje podvajanja registra in razpršitve. Naslednje slike ponazarjajo vpliv naslednje dodelitve duplicate_hierarchy_depth:

set_instance_assignment -name duplicate_hierarchy_depth -to \

kje:

  • register_name—zadnji register v verigi, ki se razteza na več hierarhij.
  • level_number—število registrov v verigi za podvajanje.

Slika 9. Pred podvajanjem registra
Nastavite dodelitev duplicate_hierarchy_depth za izvajanje podvajanja registrov v hierarhijah in ustvarite drevo registrov, ki sledi zadnjemu registru v verigi. V naslednjem primeru določite ime registra in število dvojnikov, ki jih predstavlja Mample. Rdeče puščice prikazujejo možne lokacije podvojenih registrov.

  • set_instance_assignment –ime DUPLICATE_HIERARCHY_DEPTH –v regZ Mintel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-8

Podvajanje registra = 1
Če določite naslednjo posamezno raven podvajanja registra (M=1), se en register (regZ) podvoji za eno raven nižje v hierarhiji načrtovanja:

  • set_instance_assignment –ime DUPLICATE_HIERARCHY_DEPTH –v regZ 1intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-9

Podvajanje registra = 3
Določanje treh ravni podvajanja registra (M=3) podvoji tri registre (regZ, regY, regX) navzdol za tri, dve oziroma eno raven hierarhije:

  • set_instance_assignment –ime DUPLICATE_HIERARCHY_DEPTH –v regZ 3intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-10

S podvajanjem in potiskanjem registrov navzdol v hierarhije zasnova ohrani enako število ciklov do vseh ciljev, hkrati pa močno pospeši delovanje na teh poteh.

Podvajanje registra med namestitvijo
Slika 12 na strani 11 prikazuje register z visoko pahljačasto širino na široko območje čipa. Če ta register podvojite 50-krat, lahko zmanjšate razdaljo med registrom in cilji, kar na koncu povzroči hitrejše delovanje ure. Dodeljevanje duplicate_register omogoča prevajalniku, da izkoristi fizično bližino za usmerjanje umestitve novih registrov, ki napajajo podmnožico razdeljenih.

Slika 12. Podvajanje registra med namestitvijointel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-11

Opomba: Za oddajanje signala po čipu uporabite multistage cevovod. Uporabite dodelitev duplicate_register za vsakega od registrov v cevovodu. Ta tehnika ustvari drevesno strukturo, ki oddaja signal po čipu.

ViewPodvajanje rezultatov
Po oblikovalski sintezi, view rezultat podvajanja je poročilo Povzetek podvajanja hierarhičnega drevesa v mapi Sinteza poročila o kompilaciji. Poročilo vsebuje naslednje:

  • Informacije o registrih, ki imajo dodelitev duplicate_hierarchy_depth.
  • Razlog za dolžino verige, ki jo lahko uporabite kot izhodišče za nadaljnje izboljšave z dodelitvijo.
  • Informacije o posameznih registrih v verigi, ki jih lahko uporabite za boljše razumevanje strukture implementiranih dvojnikov.

Poročilo Monterja vključuje tudi razdelek o registrih, ki imajo nastavitev duplicate_register.

Uporabite tehnike optimizacije prevajalnika

Dizajni, ki uporabljajo zelo visok procenttagViri naprave FPGA lahko povzročijo zastoje virov, kar ima za posledico nižji fMAX in bolj zapleteno časovno zapiranje. Nastavitve načina optimizacije prevajalnika vam omogočajo, da določite fokus prizadevanj prevajalnika med sintezo. Na primerample, optimizirate sintezo za Area ali Routability, ko obravnavate prezasedenost virov. V Intel Quartus Prime Design Space Explorer II lahko eksperimentirate s kombinacijami istih nastavitev načina optimizacije. Te nastavitve in druge ročne tehnike vam lahko pomagajo zmanjšati prezasedenost v zelo izkoriščenih oblikah.

Težava s časovnim zapiranjem

  • Zasnove z zelo visoko izkoriščenostjo virov naprave otežujejo časovno zapiranje.

Rešitve časovnega zapiranja

  • Uporabite načine in strategije optimizacije prevajalnika na strani 13—določite primarni cilj načina optimizacije za sintezo načrta.
  • Eksperimentirajte z možnostmi območja in možnosti usmerjanja na strani 16—uporabite dodatne zbirke nastavitev za zmanjšanje zastojev in doseganje ciljev glede območja in usmerjanja.
  • Razmislite o fraktalni sintezi za aritmetično intenzivne načrte na strani 16—Za visoko zmogljive, aritmetično intenzivne dizajne fraktalna sinteza zmanjša porabo virov naprave z množilnim uravnavanjem, ponovnim časovnim prilagajanjem in neprekinjenim aritmetičnim pakiranjem.

Povezane informacije

  • Poglavje »Časovno zapiranje in optimizacija«, Uporabniški priročnik za Intel Quartus Prime Pro Edition: Optimizacija načrtovanja
  • Uporabniški priročnik za Intel Quartus Prime Pro Edition: Kompilacija oblikovanja

Uporabite načine in strategije optimizacije prevajalnika

Uporabite naslednje informacije za uporabo načinov optimizacije prevajalnika in strategij prevajanja Design Space Explorer II (DSE II).

Eksperimentirajte z nastavitvami načina optimizacije prevajalnika
Za eksperimentiranje z nastavitvami načina optimizacije prevajalnika sledite tem korakom:

  1. Ustvarite ali odprite projekt Intel Quartus Prime.
  2. Če želite določiti visokonivojsko optimizacijsko strategijo prevajalnika, kliknite Dodelitve ➤ Nastavitve ➤ Nastavitve prevajalnika. Preizkusite katero koli od naslednjih nastavitev načina, kot je opisano v tabeli 4 na strani 14.
  3. Če želite načrt prevesti s temi nastavitvami, kliknite Začni prevajanje na nadzorni plošči prevajanja.
  4. View rezultati kompilacije v poročilu kompilacije.
  5. Kliknite Orodja ➤ Časovni analizator za view rezultati optimizacijskih nastavitev na delovanje.

Nastavitve načina optimizacije prevajalnika

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-22

Načini optimizacije (stran z nastavitvami prevajalnika)

Način optimizacije Opis
Uravnotežen (normalen pretok) Prevajalnik optimizira sintezo za uravnoteženo izvedbo, ki upošteva časovne omejitve.
Visoka zmogljivost Prevajalnik poveča prizadevanja za optimizacijo časa med umeščanjem in usmerjanjem ter omogoča optimizacije fizične sinteze, povezane s časom (nastavitve optimizacije na register). Vsaka dodatna optimizacija lahko podaljša čas prevajanja.
Visoka zmogljivost z največjim naporom pri namestitvi Omogoča enake optimizacije prevajalnika kot Visoka zmogljivost, z dodatnimi prizadevanji za optimizacijo umestitve.
Vrhunska zmogljivost Omogoča enake optimizacije prevajalnika kot Visoka zmogljivostin dodaja več optimizacij med analizo in sintezo za čim večjo zmogljivost načrtovanja s potencialnim povečanjem logičnega področja. Če je izkoriščenost zasnove že zelo visoka, lahko ta možnost povzroči težave pri nameščanju, kar lahko tudi negativno vpliva na splošno kakovost optimizacije.
Vrhunska zmogljivost z največjim naporom pri namestitvi Omogoča enake optimizacije prevajalnika kot Vrhunska zmogljivost, z dodatnimi prizadevanji za optimizacijo umestitve.
Agresivno območje Prevajalnik si močno prizadeva zmanjšati površino naprave, ki je potrebna za izvedbo zasnove, na morebitni račun zmogljivosti zasnove.
Visoko prizadevanje za usmerjanje umestitve Prevajalnik si močno prizadeva za usmerjanje zasnove na morebitne stroške območja zasnove, zmogljivosti in časa prevajanja. Prevajalnik porabi dodaten čas za zmanjšanje uporabe usmerjanja, kar lahko izboljša usmerjanje in prihrani dinamično moč.
Visoka zmogljivost pakiranja Prevajalnik si močno prizadeva za usmerjanje zasnove na morebitne stroške območja zasnove, zmogljivosti in časa prevajanja. Prevajalnik porabi dodaten čas za pakiranje registrov, kar lahko izboljša usmerjanje in prihrani dinamično moč.
Optimizirajte Netlist za Routability Prevajalnik izvaja spremembe seznama omrežij za povečanje možnosti usmerjanja na morebitni račun zmogljivosti.
nadaljevanje ...
Način optimizacije Opis
Visoka moč Prevajalnik si zelo prizadeva optimizirati sintezo za nizko porabo. Visoka moč poveča čas delovanja sinteze.
Agresivna moč Agresivno si prizadeva optimizirati sintezo za nizko moč. Prevajalnik dodatno zmanjša uporabo usmerjanja signalov z najvišjimi določenimi ali ocenjenimi preklopnimi stopnjami, s čimer prihrani dodatno dinamično moč, vendar lahko vpliva na zmogljivost.
Agresivni čas prevajanja Zmanjša čas prevajanja, potreben za izvedbo načrta z manjšim naporom in manj optimizacijami delovanja. Ta možnost tudi onemogoči nekatere funkcije podrobnega poročanja.

Opomba: Vklop Agresivni čas prevajanja omogoča nastavitve Intel Quartus Prime File (.qsf) nastavitve, ki jih druge nastavitve .qsf ne morejo preglasiti.

Strategije kompilacije Design Space Explorer II
DSE II vam omogoča, da najdete optimalne nastavitve projekta za cilje optimizacije virov, zmogljivosti ali porabe energije. DSE II vam omogoča iterativno sestavljanje načrta z uporabo različnih prednastavljenih kombinacij nastavitev in omejitev za doseganje določenega cilja. DSE II nato poroča o najboljši kombinaciji nastavitev za doseganje vaših ciljev. DSE II lahko tudi napredujetage zmožnosti paralelizacije za prevajanje semen na več računalnikih. Nastavitve strategije prevajanja DSE II so enake nastavitvam načina optimizacije v tabeli 4 na strani 14

Design Space Explorer IIintel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-12

Sledite tem korakom, da določite strategijo prevajanja za DSE II:

  1. Če želite zagnati DSE II (in zapreti programsko opremo Intel Quartus Prime), kliknite Orodja ➤ Zaženi Design Space Explorer II. DSE II se odpre po zaprtju programske opreme Intel Quartus Prime.
  2. V orodni vrstici DSE II kliknite ikono Raziskovanje.
  3. Razširite raziskovalne točke.
  4. Izberite Raziskovanje oblikovanja. Omogočite katero koli od strategij kompilacije, da zaženete raziskovanja oblikovanja, ki ciljajo na te strategije.

Zmanjšajte zastoje za visoko izkoriščenost

Zasnove, ki uporabljajo več kot 80 % virov naprave, običajno predstavljajo največ težav pri časovnem zapiranju. Za nadaljnje zmanjšanje zastojev in poenostavitev časovnega zapiranja lahko uporabite naslednje ročne in avtomatizirane tehnike.

  • Eksperimentirajte z možnostmi območja in možnosti poti na strani 16
  • Razmislite o fraktalni sintezi za aritmetično intenzivne načrte na strani 16

Eksperimentirajte z možnostmi območja in možnosti poti

Ko izkoriščenost naprave povzroči zastoje pri usmerjanju, lahko eksperimentirate z nastavitvami za optimizacijo območja in usmerjenosti, da zmanjšate izkoriščenost virov in zastoje za vaš načrt. Kliknite Dodelitve ➤ Nastavitve ➤ Nastavitve prevajalnika ➤ Optimizacijski način za dostop do teh nastavitev:

Možnosti območja in možnosti poti

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-13

Razmislite o fraktalni sintezi za aritmetično intenzivne načrte

Za visoko zmogljive in aritmetično intenzivne načrte lahko omogočite samodejne optimizacije fraktalne sinteze, da izboljšate uporabo virov naprave. Optimizacije fraktalne sinteze vključujejo regulacijo množitelja in ponovno časovno določanje ter neprekinjeno aritmetično pakiranje. Optimizacije ciljajo na načrte z velikim številom nizkonatančnih aritmetičnih operacij (kot so seštevanja in množenja). Fraktalno sintezo lahko omogočite globalno ali samo za določene množitelje. V idealnih pogojih lahko optimizacija fraktalne sinteze doseže 20–45 % zmanjšanje površine.

Regularizacija in ponovna ura množitelja
Regulacija množitelja in ponovni čas izvajata sklepanje visoko optimiziranih implementacij mehkega množitelja. Prevajalnik lahko za dva ali več cevovodov uporabi povratni častagče je potrebno. Ko omogočite fraktalno sintezo, prevajalnik uporabi regulacijo množitelja in ponovno časovno določanje množiteljev s predznakom in nepredznakom.

Slika 16. Ponovno časovno uravnavanje množiteljaintel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-14

OPOMBA

  • Regulacija množitelja uporablja samo logične vire in ne uporablja blokov DSP.
  • Regulacija in ponovni čas množitelja se uporabljata za predznačene in nepredznačene množitelje v modulih, kjer je nastavljena dodelitev FRACTAL_SYNTHESIS QSF.

Neprekinjeno aritmetično pakiranje
Neprekinjeno aritmetično pakiranje ponovno sintetizira aritmetična vrata v logične bloke optimalne velikosti, da se prilegajo Intel FPGA LAB. Ta optimizacija omogoča do 100-odstotno uporabo virov LAB za aritmetične bloke. Ko omogočite fraktalno sintezo, prevajalnik uporabi to optimizacijo za vse prenosne verige in logična vrata z dvema vhodoma. Ta optimizacija lahko zapakira drevesa seštevalnikov, množitelje in katero koli drugo logiko, povezano z aritmetiko.

Neprekinjeno aritmetično pakiranje

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-15

OPOMBA

Upoštevajte, da neprekinjeno aritmetično pakiranje deluje neodvisno od regularizacije množitelja. Torej, če uporabljate množitelja, ki ni reguliran (na primer pisanje lastnega množitelja), lahko neprekinjeno aritmetično pakiranje še vedno deluje. Optimizacija fraktalne sinteze je najprimernejša za načrte s pospeševalniki globokega učenja ali drugimi visoko zmogljivimi, aritmetično intenzivnimi funkcijami, ki presegajo vse vire DSP. Omogočanje fraktalne sinteze v celotnem projektu lahko povzroči nepotrebno napihnjenost modulov, ki niso primerni za fraktalne optimizacije.

Omogočanje ali onemogočanje fraktalne sinteze

Za naprave Intel Stratix® 10 in Intel Agilex™ se optimizacija fraktalne sinteze izvaja samodejno za majhne množitelje (kateri koli stavek A*B v Verilog HDL ali VHDL, kjer je bitna širina operandov 7 ali manj). Prav tako lahko onemogočite samodejno fraktalno sintezo za majhne množitelje za te naprave na enega od naslednjih načinov:

  • V RTL nastavite več slogov DSP, kot opisuje »Multstyle Verilog HDL Synthesis Attribute«. Na primerample: (* multstyle = “dsp” *) modul foo(…); modul foo(..) /* sinteza multistyle = “dsp” */;
  • V datoteki .qsf file, dodajte kot dodelitev, kot sledi: set_instance_assignment -name DSP_BLOCK_BALANCING_IMPLEMENTATION \DSP_BLOCKS -to r

Poleg tega lahko za naprave Intel Stratix 10, Intel Agilex, Intel Arria® 10 in Intel Cyclone® 10 GX omogočite fraktalno sintezo globalno ali za določene množitelje z možnostjo GUI Fractal Synthesis ali ustrezno dodelitvijo FRACTAL_SYNTHESIS .qsf:

  • V RTL uporabite altera_attribute na naslednji način: (* altera_attribute = “-name FRACTAL_SYNTHESIS ON” *)
  • V datoteki .qsf file, dodajte kot dodelitev na naslednji način: set_global_assignment -name FRACTAL_SYNTHESIS ON -entity

V uporabniškem vmesniku sledite tem korakom:

  1. Kliknite Dodelitve ➤ Urejevalnik nalog.
  2. Izberite Fraktalna sinteza za Ime dodelitve, Vklopljeno za Vrednost, ime aritmetično intenzivne entitete za Entiteto in ime primerka v stolpcu Za. Za dodelitev vseh primerkov entitete lahko vnesete nadomestni znak (*).

Slika 18. Dodelitev fraktalne sinteze v urejevalniku dodelitev

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-16

Povezane informacije

  • Atribut Multstyle Verilog HDL Synthesis
    • V pomoči za Intel Quartus Prime.

Ohranite zadovoljive rezultate

Časovno zapiranje lahko poenostavite tako, da zadovoljive rezultate kompilacije nazaj označite, da zaklenete postavitev velikih blokov, povezanih z urami, RAM-ji in DSP-ji. Podobno vam tehnika ponovne uporabe načrtovalnega bloka omogoča, da ohranite zadovoljive rezultate prevajanja za določeno periferijo FPGA ali bloke jedrne logike načrtovanja (logika, ki obsega primerek hierarhične zasnove) in nato ponovno uporabite te bloke v naslednjih prevajanjih. Pri ponovni uporabi načrtovalnega bloka dodelite hierarhični primerek kot načrtovalno particijo, nato pa ohranite in izvozite particijo po uspešnem prevajanju. Ohranjanje in ponovna uporaba zadovoljivih rezultatov vam omogoča, da trud in čas prevajalnika osredotočite samo na dele načrta, ki nimajo zaprtega časa.

Težava s časovnim zapiranjem

  • Razen če ni zaklenjen, lahko prevajalnik izvaja načrtovalske bloke, ure, RAM-je in DSP-je drugače od prevajanja do prevajanja, odvisno od različnih dejavnikov.

Rešitve časovnega zapiranja

  • Zakleni takte, RAM-je in DSP-je na strani 20—zadaj pripišite zadovoljive rezultate prevajanja, da zaklenete postavitev velikih blokov, povezanih s takti, RAM-ji in DSP-ji.
  • Ohranite rezultate particije zasnove na strani 21—ohranite particije za bloke, ki ustrezajo časovnemu razporedu, in osredotočite optimizacijo na druge bloke zasnove.

Povezane informacije

  • Pomoč za pogovorno okno Dodelitve Back-Anotate
  • AN-899: Zmanjšanje časa prevajanja s hitrim ohranjanjem
  • Uporabniški priročnik za Intel Quartus Prime Pro Edition: Oblikovanje na osnovi blokov

Zakleni ure, RAM-je in DSP-je

Časovno zapiranje lahko poenostavite tako, da zadovoljive rezultate prevajanja nazaj označite, da zaklenete postavitev velikih blokov, povezanih s takti, RAM-ji in DSP-ji. Zaklepanje postavitve velikih blokov lahko povzroči višji fMAX z manj hrupa. Zaklepanje velikih blokov, kot so RAM-ji in DSP-ji, je lahko učinkovito, ker imajo ti bloki težjo povezljivost kot običajni LAB-ji, kar otežuje premikanje med nameščanjem. Ko seme ustvari dobre rezultate z ustrezno postavitvijo RAM-a in DSP, lahko to postavitev zajamete s povratno opombo. Naslednja prevajanja lahko nato izkoristijo visokokakovosten RAM in namestitev DSP iz dobrega semena. Ta tehnika ne koristi bistveno modelom z zelo malo pomnilniki RAM ali DSP. Kliknite Dodelitve ➤ Back-Annotate Assignments, da kopirate dodelitve virov naprave iz zadnje kompilacije v .qsf za uporabo v naslednji kompilaciji. Na seznamu Vrsta povratne opombe izberite vrsto povratne opombe.

Pogovorno okno Dodelitve z opombami nazaj

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-17

Druga možnost je, da zaženete povratno opombo z naslednjo izvršljivo datoteko quartus_cdb. quartus_cdb –back_annotate [–dsp] [–ram] [–ura]

OPOMBA

  • Izvršljiva datoteka podpira dodatne spremenljivke [–dsp], [–ram] in [–clock], ki jih pogovorno okno Back-Annotate Assignments še ne podpira.

Ohranite rezultate načrtovanja particije

OPOMBA

  • Po particioniranju načrta lahko ohranite particije za bloke, ki ustrezajo časovnemu razporedu, in optimizacijo usmerite na druge bloke načrta. Poleg tega možnost Fast Preserve poenostavi logiko ohranjene particije na samo logiko vmesnika med prevajanjem, s čimer skrajša čas prevajanja za particijo. Fast Preserve podpira le ponovno uporabo korenske particije in zasnove delne rekonfiguracije. Za načrte s podmoduli, ki so zahtevni za časovno zapiranje, lahko izvedete samostojno optimizacijo in kompilacijo particije modula, nato pa izvozite časovno zaprti modul, da ohranite izvedbo v naslednjih kompilacijah.

Ohranjanje rezultatov oblikovane particije

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-18

Zasnova, ki temelji na blokih, zahteva razdelitev zasnove. Razdelitev zasnove vam omogoča ohranitev posameznih logičnih blokov v zasnovi, lahko pa povzroči tudi morebitno izgubo zmogljivosti zaradi prečkanja particij in učinkov tlorisa. Pri uporabi tehnik načrtovanja, ki temeljijo na blokih, morate uravnotežiti te dejavnike. Naslednji koraki na visoki ravni opisujejo tok ohranjanja particije za načrte ponovne uporabe korenske particije:

  1. Kliknite Processing ➤ Start ➤ Start Analysis & Elaboration.
  2. V Krmarju po projektih z desno miškino tipko kliknite časovno zaprt primerek načrta, pokažite na Design Partition in izberite vrsto particije, kot je opisano v Nastavitve particije načrta na strani 23.

Ustvarite oblikovalske particije

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-19

  1. Določite omejitve tlorisa Logic Lock za particijo. V oknu za načrtovanje particij z desno miškino tipko kliknite particijo in nato kliknite Logic Lock Region ➤ Create New Logic Lock Region. Prepričajte se, da je območje dovolj veliko, da v particijo vključi vso logiko.
  2. Če želite izvoziti rezultate particije po prevajanju, v oknu za načrtovanje particij podajte particijo .qdb kot post končni izvoz File.

Po končnem izvozu File

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-20

  1. Če želite prevesti zasnovo in izvoziti particijo, kliknite Prevedi zasnovo na nadzorni plošči prevajanja.
  2. Odprite projekt najvišje ravni v programski opremi Intel Quartus Prime.
  3. Kliknite Dodelitve ➤ Nastavitve ➤ Nastavitve prevajalnika ➤ Prirastno prevajanje. Vklopite možnost Fast Preserve.

Možnost hitrega ohranjanja

intel-AN-903-Pospeševanje-Časovnega-Zapiranja-SLIKA-21

  1. Kliknite OK.
  2. V oknu za načrtovanje particij podajte izvoženo datoteko .qdb kot bazo podatkov o particijah File za zadevno particijo. Ta .qdb je zdaj vir za to particijo v projektu. Ko omogočite možnost Fast Preserve, prevajalnik zmanjša logiko uvožene particije samo na logiko vmesnika, s čimer skrajša čas prevajanja, ki ga particija potrebuje.

Nastavitve načrtovanja particije

Nastavitve načrtovanja particije

Možnost Opis
Ime particije Določa ime particije. Vsako ime particije mora biti edinstveno in sestavljeno samo iz alfanumeričnih znakov. Programska oprema Intel Quartus Prime samodejno ustvari »root_partition« najvišje ravni (|) za vsako revizijo projekta.
Hierarhična pot Podaja hierarhično pot primerka entitete, ki jo dodelite particiji. To vrednost določite v Ustvari novo particijo pogovorno okno. Pot hierarhije korenske particije je |.
Vrsta Dvokliknite, da določite eno od naslednjih vrst particij, ki nadzorujejo, kako prevajalnik obdeluje in implementira particijo:
nadaljevanje ...
Možnost Opis
•    Privzeto—Identificira standardno particijo. Prevajalnik obdela particijo z uporabo povezanega vira zasnove files.

•    Možnost ponovne konfiguracije—Identificira particijo, ki jo je mogoče ponovno konfigurirati, v toku delne rekonfiguracije. Določite Možnost ponovne konfiguracije tip za ohranitev rezultatov sinteze, hkrati pa omogoča ponovno namestitev particije v tok PR.

•    Rezervirano jedro— Identificira particijo v načrtovalnem toku, ki temelji na blokih, ki je rezervirana za razvoj jedra s strani potrošnika, ki ponovno uporablja periferijo naprave.

Stopnja ohranjenosti Podaja eno od naslednjih ravni ohranjenosti za particijo:

•    Ni nastavljeno— ne določa stopnje ohranjenosti. Particija se prevede iz vira files.

•    sintetizirano—particija se prevede z uporabo sintetiziranega posnetka.

•    dokončno—particija se prevede s končnim posnetkom.

z Stopnja ohranjenosti of sintetizirano or dokončno, spremembe izvorne kode niso prikazane v sintezi.

prazno Podaja prazno particijo, ki jo prevajalnik preskoči. Ta nastavitev ni združljiva z Rezervirano jedro in Particijska zbirka podatkov File nastavitve za isto particijo. The Stopnja ohranjenosti mora biti Ni nastavljeno. Prazna particija ne more imeti podrejenih particij.
Particijska zbirka podatkov File Podaja particijsko bazo podatkov File (.qdb), ki ga prevajalnik uporablja med prevajanjem particije. Izvozite .qdb za stage kompilacije, ki jo želite ponovno uporabiti (sintetizirano ali končno). Dodelite .qdb particiji, da ponovno uporabite te rezultate v drugem kontekstu.
Ponovna vezava entitete • PR Flow—določi entiteto, ki nadomesti privzeto osebo v vsaki reviziji izvedbe.

• Tok ponovne uporabe korenske particije — določa entiteto, ki nadomesti rezervirano jedrno logiko v potrošniškem projektu.

barva Podaja barvno kodiranje particije na zaslonih Chip Planner in Design Partition Planner.
Izvoz po sintezi File Samodejno izvozi rezultate prevajanja po sintezi za particijo v .qdb, ki ga podate, vsakič, ko se zažene Analysis & Synthesis. Samodejno lahko izvozite katero koli načrtovalno particijo, ki nima ohranjene nadrejene particije, vključno s root_particijo.
Po končnem izvozu File Samodejno izvozi postkončne rezultate prevajanja za particijo v .qdb, ki ga določite, vsakič, ko končni stage Monterskih tekov. Samodejno lahko izvozite katero koli načrtovalno particijo, ki nima ohranjene nadrejene particije, vključno s root_particijo.

Zgodovina revizij dokumenta AN 903

Ta dokument ima naslednjo zgodovino revizij:

Različica dokumenta Različica Intel Quartus Prime Spremembe
2021.02.25 19.3 Zamenjano "vlečenje" z "napetostjo". Analizirajte in optimizirajte načrt RTL tema.
2020.03.23 19.3 Popravljena sintaksna napaka v kodi sampv temi »Zakleni ure, pomnilnike RAM in DSP«.
2019.12.03 19.3 • Prva javna objava.

Dokumenti / Viri

intel AN 903 pospeševanje časovnega zapiranja [pdf] Uporabniški priročnik
AN 903 pospešeno časovno zapiranje, AN 903, pospešeno časovno zapiranje, časovno zapiranje

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *