intel AN 903 Accelerating Timing Closure

AN 903: paātrināta laika aizvēršana programmā Intel® Quartus® Prime Pro Edition
Mūsdienu FPGA dizainu blīvums un sarežģītība, kas apvieno iegultās sistēmas, IP un ātrdarbīgas saskarnes, rada arvien lielākas problēmas laika slēgšanai. Vēlīnas arhitektūras izmaiņas un pārbaudes problēmas var izraisīt laikietilpīgas projektēšanas iterācijas. Šajā dokumentā ir apkopotas trīs darbības, lai paātrinātu laika slēgšanu, izmantojot pārbaudītu un atkārtojamu metodoloģiju Intel® Quartus® Prime Pro Edition programmatūrā. Šī metodoloģija ietver sākotnējo RTL analīzi un optimizāciju, kā arī automatizētas metodes, lai samazinātu kompilācijas laiku un samazinātu dizaina sarežģītību un iterācijas, kas nepieciešamas laika slēgšanai.
Laika slēgšanas paātrināšanas soļi

Laika slēgšanas paātrināšanas soļi
| Laika slēgšanas solis | Laika slēgšanas darbība | Detalizēta informācija |
| 1. darbība: analizējiet un optimizējiet RTL | • Pareizi dizaina palīga pārkāpumi 4. lappusē
• Samaziniet loģikas līmeņus 7. lappusē • Samaziniet augstu ventilatora tīklu 9. lappusē |
• Intel Quartus Prime Pro Izdevums Lietotāja rokasgrāmata: Dizains Optimizācija
• Intel Quartus Prime Pro Izdevums Lietotāja rokasgrāmata: Dizains Ieteikumi |
| 2. darbība. Lietojiet kompilatora optimizāciju | • Lietojiet kompilatora optimizācijas režīmus un stratēģijas 13. lappusē
• Samaziniet sastrēgumus lielai izmantošanai 16. lappusē |
• Intel Quartus Prime Pro Izdevums Lietotāja rokasgrāmata: Dizains Kompilācija
• Intel Quartus Prime Pro Izdevums Lietotāja rokasgrāmata: Dizains Optimizācija |
| 3. darbība: saglabājiet apmierinošus rezultātus | • Bloķējiet pulksteņus, operatīvo atmiņu un DSP 20. lappusē
• Saglabājiet dizaina nodalījuma rezultātus 21. lappusē |
• Intel Quartus Prime Pro Izdevums lietotāja rokasgrāmata: Block- Balstīts dizains |
1. darbība: analizējiet un optimizējiet dizaina RTL
Dizaina pirmkoda optimizēšana parasti ir pirmais un efektīvākais paņēmiens rezultātu kvalitātes uzlabošanai. Intel Quartus Prime Design Assistant palīdz ātri novērst pamata dizaina noteikumu pārkāpumus un iesaka RTL izmaiņas, kas vienkāršo dizaina optimizāciju un laika slēgšanu.
Laika slēgšanas problēmas
- Pārmērīgi loģikas līmeņi ietekmē montiera apstrādes secību, ilgumu un rezultātu kvalitāti.
- Augstas ventilācijas tīkli rada resursu pārslogotību un rada papildu spriedzi datu ceļos, nevajadzīgi palielinot ceļa kritiskumu un sarežģījot laika slēgšanu. Šis spriegums ir pievilkšanas spēks, kas velk ceļu (un visus ceļus, kuriem ir kopīgs augstais izplūdes signāls) pret augstu ventilatora avotu.
Laika slēgšanas risinājumi
- Labot Design Assistant pārkāpumus 4. lappusē — lai ātri identificētu un labotu pamata dizaina noteikumu pārkāpumus, kas attiecas uz jūsu dizainu.
- Samaziniet loģikas līmeņus 7. lpp. — lai nodrošinātu, ka visi dizaina elementi var saņemt vienu un to pašu Fitter optimizāciju, un samazinātu kompilēšanas laiku.
- Samaziniet augstas ventilācijas tīklus 9. lappusē — lai samazinātu resursu pārslogotību un vienkāršotu laika slēgšanu.
Saistītā informācija
- “Dizaina noteikumu pārbaude, izmantojot dizaina palīgu”, Intel Quartus Prime Pro izdevuma lietotāja rokasgrāmata: dizaina ieteikumi
- “Optimize Source Code”, Intel Quartus Prime Pro Edition lietotāja rokasgrāmata: dizaina optimizācija
- “Dublēti reģistri ventilatora vadībai”, Intel Quartus Prime Pro izdevuma lietotāja rokasgrāmata: dizaina optimizācija
Pareizi dizaina palīga pārkāpumi
Sākotnējās dizaina analīzes veikšana, lai novērstu zināmās laika slēgšanas problēmas, ievērojami palielina produktivitāti. Pēc sākotnējās kompilācijas palaišanas ar noklusējuma iestatījumiem varat atkārtotiview Dizaina palīgs ziņo sākotnējai analīzei. Kad tas ir iespējots, Design Assistant automātiski ziņo par visiem Intel FPGA ieteikto dizaina vadlīniju standarta kopas pārkāpumiem. Varat palaist Design Assistant kompilācijas plūsmas režīmā, ļaujot jums to izdarīt view apkopojumam būtiskie pārkāpumi stagtu skrien. Alternatīvi, Design Assistant ir pieejams analīzes režīmā laika analizatorā un mikroshēmu plānotājā.
- Kompilācijas plūsmas režīms— darbojas automātiski vienas vai vairāku s laikātages apkopošanas. Šajā režīmā Design Assistant kompilēšanas laikā izmanto ienākošos (pārejošos) datus.
- Analīzes režīms— palaist Design Assistant no laika analizatora un mikroshēmu plānotāja, lai analizētu dizaina pārkāpumus noteiktā kompilācijātage, pirms pāriet uz priekšu apkopošanas plūsmā. Analīzes režīmā Design Assistant izmanto statiskus momentuzņēmuma datus.
Dizaina palīgs katram kārtulas pārkāpumam norāda vienu no tālāk norādītajiem smaguma līmeņiem. Varat norādīt, kuras kārtulas Design Assistant pārbaudīt jūsu dizainā, un pielāgot nopietnības līmeņus, tādējādi novēršot kārtulu pārbaudes, kas nav svarīgas jūsu dizainam.
Dizaina palīga kārtulas smaguma pakāpes
| Kategorijas | Apraksts | Smaguma pakāpes krāsa |
| Kritiski | Risiniet nodošanas problēmu. | Sarkans |
| Augsts | Iespējami funkcionāli traucējumi. Var norādīt uz trūkstošiem vai nepareiziem dizaina datiem. | Oranžs |
| Vidēja | Potenciāli ietekmē f rezultātu kvalitātiMAX vai resursu izmantošana. | Brūns |
| Zems | Noteikums atspoguļo RTL kodēšanas vadlīniju paraugpraksi. | Zils |
Dizaina palīga iestatīšana
Jūs varat pilnībā pielāgot Design Assistant savām individuālajām dizaina īpašībām un ziņošanas prasībām. Noklikšķiniet uz Uzdevumi ➤ Iestatījumi ➤ Design Assistant kārtulu iestatījumi, lai norādītu opcijas, kas nosaka, kuri noteikumi un parametri attiecas uz dažādām s.tages par dizaina kompilāciju projektēšanas noteikumu pārbaudei.
Dizaina palīga kārtulu iestatījumi
Skriešanas dizaina asistents
Kad tas ir iespējots, projektēšanas palīgs kompilācijas laikā darbojas automātiski un ziņo par iespējotiem projektēšanas noteikumu pārkāpumiem kompilācijas atskaitē. Varat arī palaist Design Assistant analīzes režīmā konkrētam kompilācijas momentuzņēmumam, lai koncentrētu analīzi tikai uz šotage. Lai iespējotu automatizētu Design Assistant pārbaudi kompilācijas laikā:
- Ieslēdziet Iespējot Design Assistant izpildi kompilācijas laikā Design Assistant kārtulas iestatījumos. Lai palaistu Design Assistant analīzes režīmā, lai apstiprinātu konkrētu momentuzņēmumu attiecībā pret jebkādiem noformēšanas noteikumiem, kas attiecas uz momentuzņēmumu, veiciet tālāk norādītās darbības.
- Panelī Timing Analyzer vai Chip Planner Tasks noklikšķiniet uz Ziņot par KDR.
Viewdizaina asistenta rezultātu labošana
Design Assistant pārskati ļāva novērst dizaina noteikumu pārkāpumus dažādās stages no Sastādīšanas ziņojuma.
Dizaina palīga rezultāti sintēzes, plānošanas, izvietošanas un pabeigšanas ziņojumos
Uz view katras kārtulas rezultātus, noklikšķiniet uz kārtulas sarakstā Noteikumi. Parādās noteikuma apraksts un dizaina ieteikumi korekcijai.
Dizaina palīga noteikumu pārkāpuma ieteikums

Modificējiet savu RTL, lai labotu dizaina noteikumu pārkāpumus.
Samaziniet loģikas līmeņus
Pārmērīgi loģikas līmeņi var ietekmēt montiera rezultātu kvalitāti, jo dizaina kritiskais ceļš ietekmē montiera apstrādes secību un ilgumu. Fitter novieto un maršrutē dizainu, pamatojoties uz laika atslābumu. Montētājs vispirms novieto garākus ceļus ar vismazāko atslābumu. Fitter parasti piešķir prioritāti augstāka loģikas līmeņa ceļiem, nevis zemāka loģikas līmeņa ceļiem. Parasti pēc Fitter stage ir pabeigts, atlikušie kritiskie ceļi nav augstākā loģiskā līmeņa ceļi. Fitter nodrošina vēlamo izvietojumu, maršrutēšanu un pārkārtošanu uz augstāka līmeņa loģiku. Loģiskā līmeņa samazināšana palīdz nodrošināt, ka visi dizaina elementi saņem vienādu Fitter prioritāti. Palaidiet Atskaites ➤ Pielāgoti pārskati ➤ Pārskatu laiks programmā Timing Analyzer, lai ģenerētu atskaites, kas parāda loģikas līmeņus ceļā. Ja ceļā neizdodas noteikt laiku un loģikas līmeņu skaits ir liels, apsveriet iespēju pievienot konveijeru šajā dizaina daļā, lai uzlabotu veiktspēju.
Loģiska dziļuma ceļa pārskatā

Ziņošanas loģikas līmeņa dziļums
Pēc sastādītāja plāna stage, varat palaist report_logic_depth konsolē Timing Analyzer Tcl, lai view loģikas līmeņu skaits pulksteņa domēnā. report_logic_depth parāda loģikas dziļuma sadalījumu starp kritiskajiem ceļiem, ļaujot noteikt apgabalus, kuros varat samazināt loģikas līmeni savā RTL.
report_logic_depth -panel_name -no [get_clocks ] \ -to [get_clocks ]
report_logic_depth Izvade
Lai iegūtu datus RTL optimizēšanai, palaidiet report_logic_depth pēc kompilatora plānatage, pirms palaišanas atlikušie Fitter stages. Pretējā gadījumā pārskatos pēc Fitter ir iekļauti arī fiziskās optimizācijas (pārplānošanas un atkārtotas sintēzes) rezultāti.
Ziņošana par kaimiņu ceļiem
Pēc Fitter (Pabeigšanas) palaišanas stage, varat palaist report_neighbor_paths, lai palīdzētu noteikt kritiskā ceļa galveno cēloni (piemēram,ample, augsts loģikas līmenis, laika ierobežojums, neoptimāls izvietojums, I/O kolonnu šķērsošana, hold-fix vai citi): report_neighbor_paths -to_clock -npaths - paneļa_nosaukums
report_neighbor_paths ziņo par laika ziņā viskritiskākajiem ceļiem dizainā, tostarp saistīto atslābumu, papildu ceļa kopsavilkuma informāciju un ceļu ierobežojošos lodziņus.
report_neighbor_paths Izvade
report_neighbor_paths parāda laika ziņā viskritiskāko ceļu pirms un pēc katra kritiskā ceļa. Ceļa atkārtota laika noteikšana vai loģiskā līdzsvarošana var vienkāršot laika slēgšanu, ja ceļā ir negatīvs atslābums, bet pozitīvs ceļš pirms vai pēc.
Lai iespējotu pārsūtīšanu, pārliecinieties, vai ir ieslēgtas tālāk norādītās opcijas.
- Reģistriem — iespējojiet uzdevumus ➤ Iestatījumi ➤ Kompilatora iestatījumi ➤ Reģistra optimizācija ➤ Atļaut reģistra atkārtotu noteikšanu
- RAM galapunktiem — iespējojiet Piešķīrumi ➤ Iestatījumi ➤ Kompilatora iestatījumi ➤ Fitter iestatījumi (papildu) ➤ Atļaut RAM pārt.
- DSP galapunktiem — iespējojiet Piešķīrumi ➤ Iestatījumi ➤ Kompilatora iestatījumi ➤ Fitter iestatījumi (papildu) ➤ Atļaut DSP atkārtotu laiku
PIEZĪME
Ja ir nepieciešama turpmāka loģiskā līdzsvarošana, manuāli jāmaina RTL, lai pārvietotu loģiku no kritiskā ceļa uz ceļu pirms vai pēc.
Ja reģistra izeja ir savienota ar tā ieeju, viens vai abi blakus esošie ceļi var būt identiski pašreizējam ceļam. Meklējot kaimiņu celiņus ar vislielāko atslābumu, tiek ņemti vērā visi ekspluatācijas apstākļi, ne tikai paša galvenā celiņa ekspluatācijas apstākļi.
Loģikas līmeņu vizualizācija tehnoloģiju kartē Viewer
Tehnoloģiju karte Viewer nodrošina arī shematiskus, tehnoloģiski kartētus, dizaina tīklu sarakstu attēlojumus un var palīdzēt jums redzēt, kuras dizaina jomas var gūt labumu no loģikas līmeņu skaita samazināšanas. Varat arī detalizēti izpētīt ceļa fizisko izkārtojumu mikroshēmu plānotājā. Lai atrastu laika noteikšanas ceļu vienā no viewar peles labo pogu noklikšķiniet uz ceļa laika atskaitē, norādiet uz Locate Path un atlasiet Locate in Technology Map Viewer.
Samaziniet augstu ventilatora tīklu
Augsti ventilējami tīkli var izraisīt resursu pārslodzi, tādējādi sarežģījot laika slēgšanu. Kopumā kompilators automātiski pārvalda augstas ventilācijas tīklus, kas saistīti ar pulksteņiem. Kompilators automātiski veicina atzītus augstas ventilatora tīklus globālajā pulksteņu tīklā. Kompilators veic lielākas optimizācijas pūles Vietas un maršruta laikātages, kas rada izdevīgu reģistra dublēšanos. Tālāk norādītajos stūra gadījumos jūs varat papildus samazināt sastrēgumus, veicot šādas manuālas izmaiņas jūsu dizaina RTL:
Augsti ventilējami tīkla stūra futrāļi
| Dizaina īpašība | Manuāla RTL optimizācija |
| Augsti ventilējami tīkli, kas sasniedz daudzas hierarhijas vai fiziski tālu galamērķus | Norādiet duplicate_hierarchy_depth piešķiršanu pēdējā konveijera reģistrā, lai manuāli dublētu augstas izplūdes tīklus visās hierarhijās. Norādiet duplicate_register piešķiršanu dublētiem reģistriem izvietošanas laikā. |
| Dizaini ar vadības signāliem uz DSP vai M20K atmiņas blokiem no kombinētās loģikas | No reģistra virziet vadības signālu uz DSP vai M20K atmiņu. |
Reģistrēt dublēšanos visās hierarhijās
Varat norādīt duplicate_hierarchy_depth piešķiršanu pēdējā konveijera reģistrā, lai palīdzētu izveidot reģistru dublēšanos un izplūdes. Šie attēli ilustrē šāda duplicate_hierarchy_depth uzdevuma ietekmi:
set_instance_assignment -name dublikāta_hierarhijas_dziļums -uz \
Kur:
- reģistra_nosaukums — pēdējais reģistrs ķēdē, kas iziet uz vairākām hierarhijām.
- līmeņa_numurs — dublēto reģistru skaits ķēdē.
9. attēls. Pirms reģistra dublēšanas
Iestatiet uzdevumu duplicate_hierarchy_depth, lai ieviestu reģistru dublēšanu visās hierarhijās, un izveidojiet reģistru koku pēc pēdējam reģistram ķēdē. Jūs norādāt reģistra nosaukumu un dublikātu skaitu, ko apzīmē ar M šādā piemērāample. Sarkanās bultiņas parāda dublikātu reģistru iespējamās atrašanās vietas.
- set_instance_assignment –nosaukums DUPLICATE_HIERARCHY_DEPTH – uz regZ M

Reģistra dublēšanās = 1
Norādot šādu vienu reģistra dublēšanas līmeni (M=1), tiek dublēts viens reģistrs (regZ) vienu dizaina hierarhijas līmeni zemāk:
- set_instance_assignment –nosaukums DUPLICATE_HIERARCHY_DEPTH – uz regZ 1

Reģistra dublēšanās = 3
Norādot trīs reģistra dublēšanas līmeņus (M=3), tiek dublēti trīs reģistri (regZ, regY, regX) attiecīgi par trim, diviem un vienu hierarhijas līmeni zemāk:
- set_instance_assignment –nosaukums DUPLICATE_HIERARCHY_DEPTH – uz regZ 3

Dublējot un nospiežot reģistrus uz leju hierarhijās, dizains saglabā tādu pašu ciklu skaitu uz visiem galamērķiem, vienlaikus ievērojami paātrinot veiktspēju šajos ceļos.
Reģistrēt dublēšanos izvietošanas laikā
12. attēlā 11. lappusē ir parādīts reģistrs ar augstu ventilācijas izplūdi uz plaši izplatītu mikroshēmas apgabalu. Dublējot šo reģistru 50 reizes, jūs varat samazināt attālumu starp reģistru un galamērķiem, kas galu galā nodrošina ātrāku pulksteņa darbību. Duplicate_register piešķiršana ļauj kompilatoram izmantot fizisko tuvumu, lai vadītu jaunu reģistru izvietošanu, kas nodrošina izplūdes apakškopu.
12. attēls. Reģistra dublēšanās izvietošanas laikā
Piezīme: Lai pārraidītu signālu pa mikroshēmu, izmantojiet multistage cauruļvads. Lietojiet dublikāta_reģistra piešķiršanu katram konveijera reģistram. Šis paņēmiens rada koka struktūru, kas pārraida signālu visā mikroshēmā.
Viewdublēšanās rezultātus
Pēc dizaina sintēzes, view dublēšanas rezultāti Hierarhiskā koka dublēšanas kopsavilkuma atskaitē kompilācijas atskaites mapē Sintēze. Ziņojumā ir sniegta šāda informācija:
- Informācija par reģistriem, kuriem ir piešķirts duplicate_hierarchy_depth.
- Ķēdes garuma iemesls, ko varat izmantot kā sākumpunktu turpmākiem uzdevuma uzlabojumiem.
- Informācija par atsevišķiem reģistriem ķēdē, ko varat izmantot, lai labāk izprastu ieviesto dublikātu struktūru.
Fitter pārskatā ir arī sadaļa par reģistriem, kuriem ir dublikāta_reģistra iestatījums.
Izmantojiet kompilatora optimizācijas paņēmienus
Dizaini, kas izmanto ļoti augstu procentutagFPGA ierīces resursi var izraisīt resursu pārslodzi, kā rezultātā samazinās fMAX un sarežģītāka laika slēgšana. Kompilatora optimizācijas režīma iestatījumi ļauj norādīt kompilatora darbību fokusu sintēzes laikā. Piemēram,ample, jūs optimizējat apgabala vai maršrutēšanas sintēzi, risinot resursu pārslodzes problēmu. Varat eksperimentēt ar šo pašu optimizācijas režīma iestatījumu kombinācijām programmā Intel Quartus Prime Design Space Explorer II. Šie iestatījumi un citi manuālie paņēmieni var palīdzēt samazināt sastrēgumus ļoti izmantotās dizainās.
Laika slēgšanas problēma
- Konstrukcijas ar ļoti augstu ierīces resursu izmantošanu sarežģī laika slēgšanu.
Laika slēgšanas risinājumi
- Lietojiet kompilatora optimizācijas režīmus un stratēģijas 13. lpp. — norādiet primāro optimizācijas režīma mērķi dizaina sintēzei.
- Eksperimentējiet ar apgabala un maršrutēšanas opcijām 16. lpp. — izmantojiet papildu iestatījumu kolekcijas, lai samazinātu sastrēgumus un sasniegtu apgabala un maršrutēšanas mērķus.
- Apsveriet fraktāļu sintēzi aritmētiski intensīviem dizainparaugiem 16. lpp. — augstas caurlaidspējas, aritmētiski intensīviem projektiem fraktāļu sintēze samazina ierīces resursu izmantošanu, izmantojot reizinātāja regularizāciju, pārrēķināšanu un nepārtrauktu aritmētisko pakotni.
Saistītā informācija
- Nodaļa “Laika slēgšana un optimizācija”, Intel Quartus Prime Pro izdevuma lietotāja rokasgrāmata: Dizaina optimizācija
- Intel Quartus Prime Pro Edition lietotāja rokasgrāmata: dizaina kompilācija
Lietojiet kompilatora optimizācijas režīmus un stratēģijas
Izmantojiet šo informāciju, lai lietotu Compiler optimizācijas režīmus un Design Space Explorer II (DSE II) kompilācijas stratēģijas.
Eksperimentējiet ar kompilatora optimizācijas režīma iestatījumiem
Veiciet šīs darbības, lai eksperimentētu ar kompilatora optimizācijas režīma iestatījumiem:
- Izveidojiet vai atveriet Intel Quartus Prime projektu.
- Lai norādītu kompilatora augsta līmeņa optimizācijas stratēģiju, noklikšķiniet uz Uzdevumi ➤ Iestatījumi ➤ Kompilatora iestatījumi. Eksperimentējiet ar kādu no šiem režīma iestatījumiem, kā aprakstīts 4. tabulā 14. lpp.
- Lai apkopotu dizainu ar šiem iestatījumiem, kompilācijas informācijas panelī noklikšķiniet uz Sākt kompilāciju.
- View apkopošanas rezultāti apkopošanas ziņojumā.
- Noklikšķiniet uz Rīki ➤ Laika analizators, lai view veiktspējas optimizācijas iestatījumu rezultātus.
Kompilatora optimizācijas režīma iestatījumi

Optimizācijas režīmi (kompilatora iestatījumu lapa)
| Optimizācijas režīms | Apraksts |
| Līdzsvarota (normāla plūsma) | Kompilators optimizē sintēzi līdzsvarotai ieviešanai, ievērojot laika ierobežojumus. |
| Augstas veiktspējas piepūle | Kompilators palielina laika optimizācijas centienus izvietošanas un maršrutēšanas laikā un nodrošina ar laiku saistītu fiziskās sintēzes optimizāciju (katram reģistra optimizācijas iestatījumiem). Katra papildu optimizācija var palielināt kompilācijas laiku. |
| Augsta veiktspēja ar maksimālu izvietošanas piepūli | Iespējo tādas pašas kompilatora optimizācijas kā Augstas veiktspējas piepūle, ar papildu izvietojuma optimizācijas piepūli. |
| Izcils sniegums | Iespējo tādas pašas kompilatora optimizācijas kā Augstas veiktspējas piepūle, un pievieno papildu optimizācijas analīzes un sintēzes laikā, lai maksimāli palielinātu dizaina veiktspēju, potenciāli palielinot loģikas apgabalu. Ja konstrukcijas izmantošana jau ir ļoti augsta, šī opcija var radīt grūtības montāžā, kas var arī negatīvi ietekmēt kopējo optimizācijas kvalitāti. |
| Izcila veiktspēja ar maksimālu izvietošanas piepūli | Iespējo tādas pašas kompilatora optimizācijas kā Izcils sniegums, ar papildu izvietojuma optimizācijas piepūli. |
| Agresīvā zona | Kompilators pieliek agresīvas pūles, lai samazinātu ierīces platību, kas nepieciešama dizaina ieviešanai, uz potenciālā dizaina veiktspējas rēķina. |
| Augsta izvietojuma maršrutēšanas piepūle | Kompilators pieliek lielas pūles, lai novirzītu dizainu uz iespējamiem projektēšanas apgabala, veiktspējas un kompilācijas laika rēķina. Kompilators pavada papildu laiku, samazinot maršrutēšanas izmantošanu, kas var uzlabot maršrutējamību un arī ietaupīt dinamisko jaudu. |
| Liela iepakošanas maršrutēšanas piepūle | Kompilators pieliek lielas pūles, lai novirzītu dizainu uz iespējamiem projektēšanas apgabala, veiktspējas un kompilācijas laika rēķina. Kompilators pavada papildu laiku reģistru pakošanai, kas var uzlabot maršrutējamību un arī ietaupīt dinamisko jaudu. |
| Optimizējiet tīkla sarakstu maršrutējamībai | Kompilators ievieš tīkla saraksta modifikācijas, lai palielinātu maršrutējamību uz iespējamā veiktspējas rēķina. |
| turpinājums… | |
| Optimizācijas režīms | Apraksts |
| Lielas jaudas piepūles | Kompilators pieliek lielas pūles, lai optimizētu sintēzi mazai jaudai. Lielas jaudas piepūles palielina sintēzes darbības laiku. |
| Agresīvs spēks | Pieliek agresīvas pūles, lai optimizētu sintēzi mazai jaudai. Kompilators vēl vairāk samazina signālu maršrutēšanas lietojumu ar visaugstākajiem norādītajiem vai aprēķinātajiem pārslēgšanas ātrumiem, ietaupot papildu dinamisko jaudu, bet, iespējams, ietekmējot veiktspēju. |
| Agresīvs kompilēšanas laiks | Samazina kompilēšanas laiku, kas nepieciešams dizaina ieviešanai ar mazāku piepūli un mazāku veiktspējas optimizāciju. Šī opcija arī atspējo dažas detalizētas atskaites funkcijas.
Piezīme: Ieslēdzas Agresīvs kompilēšanas laiks iespējo Intel Quartus Prime iestatījumus File (.qsf) iestatījumi, kurus nevar ignorēt citi .qsf iestatījumi. |
Design Space Explorer II kompilācijas stratēģijas
DSE II ļauj atrast optimālus projekta iestatījumus resursu, veiktspējas vai jaudas optimizācijas mērķiem. DSE II ļauj iteratīvi apkopot dizainu, izmantojot dažādas iepriekš iestatītas iestatījumu un ierobežojumu kombinācijas, lai sasniegtu konkrētu mērķi. Pēc tam DSE II ziņo par labāko iestatījumu kombināciju jūsu mērķu sasniegšanai. DSE II var arī izmantot advantage paralelizācijas iespējas, lai apkopotu sēklas vairākos datoros. DSE II kompilācijas stratēģijas iestatījumi sasaucas ar optimizācijas režīma iestatījumiem 4. tabulā 14. lpp.
Dizains Space Explorer II
Veiciet šīs darbības, lai norādītu kompilācijas stratēģiju DSE II:
- Lai palaistu DSE II (un aizvērtu Intel Quartus Prime programmatūru), noklikšķiniet uz Rīki ➤ Palaist Design Space Explorer II. DSE II tiek atvērts pēc Intel Quartus Prime programmatūras aizvēršanas.
- DSE II rīkjoslā noklikšķiniet uz ikonas Izpēte.
- Izvērsiet Izpētes punktus.
- Atlasiet Dizaina izpēte. Iespējojiet jebkuru no kompilācijas stratēģijām, lai palaistu dizaina izpēti, kas paredzēta šīm stratēģijām.
Samaziniet sastrēgumus lielai izmantošanai
Konstrukcijas, kurās tiek izmantoti vairāk nekā 80% no ierīces resursiem, parasti rada visgrūtāk laika slēgšanu. Varat izmantot tālāk norādītās manuālās un automatizētās metodes, lai vēl vairāk samazinātu sastrēgumus un vienkāršotu laika slēgšanu.
- Eksperimentējiet ar apgabala un maršrutēšanas opcijām 16. lpp
- Apsveriet fraktāļu sintēzi aritmētiski intensīviem dizainparaugiem 16. lpp
Eksperimentējiet ar apgabala un maršrutēšanas iespējām
Ja ierīces izmantošana izraisa maršrutēšanas sastrēgumus, varat eksperimentēt ar apgabala un maršrutēšanas optimizācijas iestatījumiem, lai samazinātu resursu izmantošanu un sastrēgumus jūsu dizainam. Noklikšķiniet uz Uzdevumi ➤ Iestatījumi ➤ Kompilatora iestatījumi ➤ Optimizācijas režīms, lai piekļūtu šiem iestatījumiem:
Apgabala un maršrutēšanas iespējas

Apsveriet fraktāļu sintēzi aritmētiski intensīviem projektiem
Lielas caurlaidības, aritmētiski intensīviem dizainiem varat iespējot automātisku fraktāļu sintēzes optimizāciju, lai uzlabotu ierīces resursu izmantošanu. Fraktāļu sintēzes optimizācija ietver reizinātāja regularizāciju un atkārtotu regulēšanu, kā arī nepārtrauktu aritmētisko pakotni. Optimizācija ir paredzēta dizainiem ar lielu skaitu zemas precizitātes aritmētisko darbību (piemēram, saskaitīšanu un reizināšanu). Fraktāļu sintēzi var iespējot globāli vai tikai konkrētiem reizinātājiem. Ideālos apstākļos fraktāļu sintēzes optimizācija var sasniegt 20-45% laukuma samazinājumu.
Reizinātāja Regularizācija un Retiming
Reizinātāja regularizācija un atkārtota noteikšana veic ļoti optimizētu mīksto reizinātāja ieviešanu secinājumus. Kompilators var piemērot retrospektīvu diviem vai vairākiem konveijera stages, ja nepieciešams. Kad iespējojat fraktāļu sintēzi, kompilators parakstītajiem un neparakstītajiem reizinātājiem piemēro reizinātāja regularizāciju un atkārtotu regulēšanu.
16. attēls. Reizinātāja atkārtota noteikšana
PIEZĪME
- Reizinātāja regularizācija izmanto tikai loģikas resursus un neizmanto DSP blokus.
- Reizinātāja regularizācija un atkārtota noteikšana tiek lietota gan parakstītajiem, gan neparakstītajiem reizinātājiem moduļos, kuros ir iestatīts QSF uzdevums FRACTAL_SYNTHESIS.
Nepārtraukta aritmētiskā iepakošana
Nepārtraukta aritmētiskā pakotne atkārtoti sintezē aritmētiskos vārtus loģikas blokos, kuru izmērs ir optimāls, lai ietilptu Intel FPGA LAB. Šī optimizācija ļauj līdz 100% izmantot LAB resursus aritmētiskos blokos. Kad iespējojat fraktāļu sintēzi, kompilators piemēro šo optimizāciju visām pārnēsāšanas ķēdēm un divu ieeju loģikas vārtiem. Šī optimizācija var iesaiņot summatoru kokus, reizinātājus un jebkuru citu ar aritmētiku saistītu loģiku.
Nepārtraukta aritmētiskā iepakošana

PIEZĪME
Ņemiet vērā, ka nepārtraukta aritmētiskā pakotne darbojas neatkarīgi no reizinātāja regularizācijas. Tātad, ja izmantojat reizinātāju, kas nav noregulēts (piemēram, rakstāt savu reizinātāju), nepārtraukta aritmētiskā pakotne joprojām var darboties. Fraktāļu sintēzes optimizācija ir vispiemērotākā projektiem ar dziļas mācīšanās paātrinātājiem vai citām augstas caurlaidības, aritmētiski intensīvām funkcijām, kas pārsniedz visus DSP resursus. Fraktāļu sintēzes iespējošana visā projektā var izraisīt nevajadzīgu uzpūšanos moduļos, kas nav piemēroti fraktāļu optimizācijai.
Fraktāļu sintēzes iespējošana vai atspējošana
Intel Stratix® 10 un Intel Agilex™ ierīcēm fraktāļu sintēzes optimizācija tiek veikta automātiski maziem reizinātājiem (jebkurš A*B paziņojums Verilog HDL vai VHDL, kur operandu bitu platums ir 7 vai mazāks). Varat arī atspējot automātisko fraktāļu sintēzi maziem reizinātājiem šīm ierīcēm, izmantojot kādu no šīm metodēm:
- RTL iestatiet DSP multistyle, kā aprakstīts “Multstyle Verilog HDL sintēzes atribūts”. Piemēram,ample: (* multstyle = “dsp” *) modulis foo (…); module foo(..) /* synthesis multstyle = “dsp” */;
- .qsf file, pievienojiet kā piešķiršanu šādi: set_instance_assignment -name DSP_BLOCK_BALANCING_IMPLEMENTATION \DSP_BLOCKS -to r
Turklāt Intel Stratix 10, Intel Agilex, Intel Arria® 10 un Intel Cyclone® 10 GX ierīcēm varat iespējot fraktāļu sintēzi globāli vai konkrētiem reizinātājiem, izmantojot Fractal Synthesis GUI opciju vai atbilstošo FRACTAL_SYNTHESIS .qsf piešķiršanu:
- RTL izmantojiet altera_attribute šādi: (* altera_attribute = "-name FRACTAL_SYNTHESIS ON" *)
- .qsf file, pievienojiet kā piešķiršanu šādi: set_global_assignment -name FRACTAL_SYNTHESIS ON -entity
Lietotāja saskarnē veiciet šīs darbības:
- Noklikšķiniet uz Uzdevumi ➤ Uzdevumu redaktors.
- Atlasiet Fraktāļu sintēze piešķīruma nosaukumam, Ieslēgts vērtībai, entītijas aritmētiski intensīvo entītijas nosaukumu un instances nosaukumu kolonnā Kam. Varat ievadīt aizstājējzīmi (*) vienumam Kam, lai piešķirtu visus entītijas gadījumus.
18. attēls. Fraktāļu sintēzes piešķiršana uzdevumu redaktorā

Saistītā informācija
- Multistyle Verilog HDL sintēzes atribūts
- Sadaļā Intel Quartus Prime palīdzība.
Saglabājiet apmierinošus rezultātus
Varat vienkāršot laika slēgšanu, anotējot apmierinošos apkopošanas rezultātus, lai bloķētu lielu bloku izvietojumu, kas saistīti ar pulksteņiem, RAM un DSP. Līdzīgi, dizaina bloku atkārtotas izmantošanas paņēmiens ļauj saglabāt apmierinošus apkopošanas rezultātus konkrētiem FPGA perifērijas vai pamata loģikas projektēšanas blokiem (loģika, kas ietver hierarhisku dizaina gadījumu), un pēc tam atkārtoti izmantot šos blokus turpmākajās kompilācijās. Noformēšanas bloka atkārtotā izmantošanā hierarhisko instanci piešķirat kā noformējuma nodalījumu un pēc veiksmīgas kompilācijas saglabājat un eksportējiet nodalījumu. Apmierinošu rezultātu saglabāšana un atkārtota izmantošana ļauj koncentrēt kompilatora pūles un laiku tikai tām dizaina daļām, kurām nav slēgts laiks.
Laika slēgšanas problēma
- Ja vien tas nav bloķēts, kompilators var ieviest dizaina blokus, pulksteņus, operatīvās atmiņas un DSP atšķirīgi atkarībā no kompilācijas uz kompilāciju atkarībā no dažādiem faktoriem.
Laika slēgšanas risinājumi
- Bloķēt pulksteņus, operatīvo atmiņu un DSP 20. lpp. — atzīmējiet apmierinošus apkopošanas rezultātus, lai bloķētu lielu bloku izvietojumu, kas saistīti ar pulksteņiem, RAM un DSP.
- Saglabāt noformējuma nodalījumu rezultātus 21. lappusē — saglabājiet nodalījumus blokiem, kas atbilst laikam, un fokusējiet optimizāciju uz citiem dizaina blokiem.
Saistītā informācija
- Atpakaļ piezīmju piešķīrumu dialoglodziņa palīdzība
- AN-899: Kompilēšanas laika samazināšana ar ātru saglabāšanu
- Intel Quartus Prime Pro Edition lietotāja rokasgrāmata: bloku dizains
Bloķējiet pulksteņus, operatīvo atmiņu un DSP
Varat vienkāršot laika slēgšanu, anotējot apmierinošos apkopošanas rezultātus, lai bloķētu lielu bloku izvietojumu, kas saistīti ar pulksteņiem, RAM un DSP. Liela bloka novietojuma bloķēšana var radīt augstāku fMAX ar mazāku troksni. Lielu bloku, piemēram, RAM un DSP, bloķēšana var būt efektīva, jo šiem blokiem ir smagāka savienojamība nekā parastajiem LAB, kas sarežģī kustību izvietošanas laikā. Ja sēkla nodrošina labus rezultātus, izmantojot piemērotu RAM un DSP izvietojumu, varat tvert šo izvietojumu ar aizmugurējo anotāciju. Turpmākās kompilācijas var gūt labumu no augstas kvalitātes RAM un DSP izvietojuma no labas sēklas. Šis paņēmiens nedod būtisku labumu dizainiem ar ļoti mazām RAM vai DSP. Noklikšķiniet uz Piešķīrumi ➤ Atpakaļ anotēt uzdevumus, lai kopētu ierīces resursu piešķiršanu no pēdējās kompilācijas uz .qsf un izmantotu nākamajā kompilācijā. Atlasiet atpakaļ anotācijas veidu sarakstā Atpakaļ anotācijas veids.
Dialoglodziņš Atpakaļ-Annotate Asignments

Varat arī palaist atpakaļ anotāciju ar šādu izpildāmo failu quartus_cdb. quartus_cdb –back_annotate [–dsp] [–RAM] [–clock]
PIEZĪME
- Izpildāmais fails atbalsta papildu [–dsp], [–ram] un [–clock] mainīgos, ko dialoglodziņš Back-Annotate Assignments vēl neatbalsta.
Saglabājiet dizaina nodalījuma rezultātus
PIEZĪME
- Pēc dizaina sadalīšanas varat saglabāt bloku nodalījumus, kas atbilst laikam, un fokusēt optimizāciju uz citiem dizaina blokiem. Turklāt opcija Fast Preserve vienkāršo saglabātā nodalījuma loģiku, lai kompilācijas laikā izmantotu tikai interfeisa loģiku, tādējādi samazinot nodalījuma kompilācijas laiku. Fast Preserve atbalsta tikai saknes nodalījuma atkārtotas izmantošanas un daļējas pārkonfigurācijas dizainus. Dizainiem ar apakšmoduļiem, kas ir sarežģīti ar laika slēgšanu, varat veikt atsevišķu moduļa nodalījuma optimizāciju un kompilāciju un pēc tam eksportēt ar laika aizvēršanas moduli, lai saglabātu ieviešanu turpmākajās kompilācijās.
Dizaina nodalījuma rezultātu saglabāšana

Uz blokiem balstīta projektēšana prasa dizaina nodalījumu. Dizaina sadalīšana ļauj saglabāt atsevišķus loģikas blokus jūsu dizainā, bet var arī radīt potenciālu veiktspējas zudumu nodalījumu šķērsošanas un grīdas plāna efektu dēļ. Izmantojot uz blokiem balstītas projektēšanas metodes, šie faktori ir jāsabalansē. Tālāk norādītās augsta līmeņa darbības apraksta nodalījuma saglabāšanas plūsmu saknes nodalījuma atkārtotas izmantošanas projektiem:
- Noklikšķiniet uz Apstrāde ➤ Sākt ➤ Sākt analīzi un izstrādi.
- Programmā Project Navigator ar peles labo pogu noklikšķiniet uz laika slēgtās dizaina instances, norādiet uz Design Partition un atlasiet nodalījuma veidu, kā aprakstīts noformējuma nodalījuma iestatījumi 23. lpp.
Izveidojiet dizaina starpsienas

- Definējiet Logic Lock grīdas plānošanas ierobežojumus nodalījumam. Noformēšanas nodalījumu logā ar peles labo pogu noklikšķiniet uz nodalījuma un pēc tam noklikšķiniet uz Loģiskās bloķēšanas reģions ➤ Izveidot jaunu loģikas bloķēšanas reģionu. Pārliecinieties, vai reģions ir pietiekami liels, lai nodalījumā ietvertu visu loģiku.
- Lai pēc kompilācijas eksportētu nodalījuma rezultātus, logā noformēšanas nodalījumi norādiet nodalījumu .qdb kā post-final Export. File.
Pēc galīgā eksporta File

- Lai apkopotu dizainu un eksportētu nodalījumu, kompilācijas informācijas panelī noklikšķiniet uz Compile Design.
- Atveriet augstākā līmeņa projektu Intel Quartus Prime programmatūrā.
- Noklikšķiniet uz Uzdevumi ➤ Iestatījumi ➤ Kompilatora iestatījumi ➤ Inkrementālā kompilēšana. Ieslēdziet opciju Ātrā saglabāšana.
Ātrās saglabāšanas iespēja

- Noklikšķiniet uz Labi.
- Projektēšanas nodalījumu logā norādiet eksportēto .qdb kā nodalījumu datu bāzi File attiecīgajam nodalījumam. Šis .qdb tagad ir šī projekta nodalījuma avots. Kad iespējojat opciju Ātrā saglabāšana, kompilators samazina importētā nodalījuma loģiku līdz tikai interfeisa loģikai, tādējādi samazinot nodalījumam nepieciešamo kompilācijas laiku.
Dizaina nodalījuma iestatījumi
Dizaina nodalījuma iestatījumi
| Opcija | Apraksts |
| Sadalījuma nosaukums | Norāda nodalījuma nosaukumu. Katra nodalījuma nosaukumam ir jābūt unikālam un jāsastāv tikai no burtciparu rakstzīmēm. Intel Quartus Prime programmatūra katrai projekta versijai automātiski izveido augstākā līmeņa (|) “root_partition”. |
| Hierarhijas ceļš | Norāda nodalījumam piešķirtās entītijas instances hierarhijas ceļu. Jūs norādāt šo vērtību sadaļā Izveidojiet jaunu nodalījumu dialoglodziņš. Saknes nodalījuma hierarhijas ceļš ir |. |
| Tips | Veiciet dubultklikšķi, lai norādītu vienu no šiem nodalījumu veidiem, kas nosaka, kā kompilators apstrādā un ievieš nodalījumu: |
| turpinājums… | |
| Opcija | Apraksts |
| • Noklusējums— Identificē standarta nodalījumu. Kompilators apstrādā nodalījumu, izmantojot saistīto dizaina avotu files.
• Pārkonfigurējams— Identificē pārkonfigurējamu nodalījumu daļējas pārkonfigurācijas plūsmā. Norādiet Pārkonfigurējams tipa, lai saglabātu sintēzes rezultātus, vienlaikus ļaujot atkārtoti ievietot nodalījumu PR plūsmā. • Rezervēts kodols— Identificē nodalījumu uz bloku balstītā projektēšanas plūsmā, kas ir rezervēta pamata izstrādei, ko veic patērētājs, atkārtoti izmantojot ierīces perifēriju. |
|
| Saglabāšanas līmenis | Norāda vienu no šiem nodalījuma saglabāšanas līmeņiem:
• Nav iestatīts— nenorāda saglabāšanas līmeni. Sadalījums tiek apkopots no avota files. • sintezēts— nodalījums tiek kompilēts, izmantojot sintezēto momentuzņēmumu. • galīgais— nodalījums tiek apkopots, izmantojot galīgo momentuzņēmumu. Ar Saglabāšanas līmenis of sintezēts or galīgais, avota koda izmaiņas sintēzē neparādās. |
| Tukšs | Norāda tukšu nodalījumu, kuru kompilators izlaiž. Šis iestatījums nav saderīgs ar Rezervēts kodols un Sadalījumu datu bāze File iestatījumi vienam un tam pašam nodalījumam. The Saglabāšanas līmenis jābūt Nav iestatīts. Tukšā nodalījumā nevar būt neviena pakārtota nodalījuma. |
| Sadalījumu datu bāze File | Norāda nodalījuma datu bāzi File (.qdb), ko kompilators izmanto nodalījuma kompilēšanas laikā. Jūs eksportējat .qdb failu stage kompilācija, kuru vēlaties izmantot atkārtoti (sintezēta vai galīga). Piešķiriet .qdb nodalījumam, lai atkārtoti izmantotu šos rezultātus citā kontekstā. |
| Entītijas atkārtota iesiešana | • PR plūsma — norāda entītiju, kas aizstāj noklusējuma personu katrā ieviešanas versijā.
• Root Partition Reuse Flow — norāda entītiju, kas patērētāja projektā aizstāj rezervēto pamata loģiku. |
| Krāsa | Norāda nodalījuma krāsu kodējumu Chip Planner un Design Partition Planner displejos. |
| Pēc sintēzes eksportēšana File | Automātiski eksportē nodalījuma kompilācijas rezultātus pēc sintēzes uz jūsu norādīto .qdb katru reizi, kad tiek palaista analīze un sintēze. Varat automātiski eksportēt jebkuru noformējuma nodalījumu, kuram nav saglabāta vecāknodalījuma, tostarp root_partition. |
| Pēc galīgā eksporta File | Automātiski eksportē nodalījuma kompilācijas rezultātus pēc gala uz jūsu norādīto .qdb, katru reizi, kad tiek veikta galīgā stage no Montāžas skrējieniem. Varat automātiski eksportēt jebkuru noformējuma nodalījumu, kuram nav saglabāta vecāknodalījuma, tostarp root_partition. |
AN 903 dokumentu pārskatīšanas vēsture
Šim dokumentam ir šāda pārskatīšanas vēsture:
| Dokumenta versija | Intel Quartus Prime versija | Izmaiņas |
| 2021.02.25 | 19.3 | Vārds “vilkšana” aizstāts ar “spriegums”. Analizējiet un optimizējiet dizaina RTL tēmu. |
| 2020.03.23 | 19.3 | Izlabota sintakses kļūda kodā samptēmā “Pulksteņu, operatīvās atmiņas un DSP bloķēšana”. |
| 2019.12.03 | 19.3 | • Pirmā publiskā izlaišana. |
Dokumenti / Resursi
![]() |
intel AN 903 Accelerating Timing Closure [pdfLietotāja rokasgrāmata AN 903 paātrināta laika aizvēršana, AN 903, paātrināta laika aizvēršana, laika aizvēršana |





