Intel AN 903 Accelerazione di a chiusura di u timing

AN 903: Accelerazione di a chiusura di timing in Intel® Quartus® Prime Pro Edition
A densità è a cumplessità di i disinni FPGA muderni, chì combinanu sistemi integrati, IP è interfacce d'alta velocità, presentanu sfide crescenti per a chiusura di timing. I cambiamenti architetturali tardi è i sfidi di verificazione ponu purtà à iterazioni di cuncepimentu di tempu. Stu documentu riassume trè passi per accelerà a chiusura di u timing utilizendu una metodulugia verificata è ripetibile in u software Intel® Quartus® Prime Pro Edition. Questa metodulugia include l'analisi è l'ottimisazione RTL iniziali, è ancu tecniche automatizate per minimizzà u tempu di compilazione è riduce a cumplessità di u disignu è l'iterazioni necessarie per a chiusura di timing.
Passi d'accelerazione di a chiusura di timing

Passi d'accelerazione di a chiusura di timing
| Timing Closure Step | Attività di Chjesa di Timing | infurmazione dettagliata |
| Passu 1: Analizà è Ottimisate RTL | • Violazioni currette di l'assistente di designu a pagina 4
• Riduce i Livelli Logici a pagina 7 • Riduce l'Alti Reti Fan-Out a pagina 9 |
• Intel Quartus Prime Pro Edizione Guida d'usu: Design Optimization
• Intel Quartus Prime Pro Edizione Guida d'usu: Design Raccomandazioni |
| Passu 2: Applica l'ottimisazione di u compilatore | • Applicà i modi di ottimizzazione di u compilatore è Strategie a pagina 13
• Reduce a Congestion per High Utilization a pagina 16 |
• Intel Quartus Prime Pro Edizione Guida d'usu: Design Cumpilazione
• Intel Quartus Prime Pro Edizione Guida d'usu: Design Optimization |
| Passu 3: Preserve risultati satisfacenti | • Lock Down Clocks, RAM è DSP a pagina 20
• Preservà i risultati di a partizione di design a pagina 21 |
• Intel Quartus Prime Pro Edizione Guida d'Usuariu: Block- Disegnu basatu |
Passu 1: Analizà è Ottimisate Design RTL
L'ottimisazione di u codice fonte di u vostru disignu hè tipicamente a prima è a tecnica più efficace per migliurà a qualità di i vostri risultati. L'Assistente di Disegnu Intel Quartus Prime vi aiuta à correggere rapidamente e violazioni di e regule di cuncepimentu di basa, è ricumanda cambiamenti RTL chì simplificà l'ottimisazione di u disignu è a chiusura di u timing.
Prublemi di Chjesa di Timing
- Livelli logici eccessivi influenzanu l'ordine di trasfurmazioni di Fitter, a durata è a qualità di i risultati.
- Reti elevate di fan-out causanu congestioni di risorse è aghjunghjenu tensioni supplementari nantu à i percorsi di dati, aumentendu inutilmente a criticità di a strada, è complicà a chiusura di u timing. Questa tensione hè a forza di attrazione chì tira u percorsu (è tutti i camini chì sparte quellu signalu di fan-out altu) versu l'alta fonte di fan-out.
Soluzioni di chjusi di timing
- Corrige e Violazioni di l'Assistente di Disegnu à a pagina 4—per identificà rapidamente è corregge e violazioni di e regule di cuncepimentu di basa pertinenti à u vostru disignu.
- Riduce i Livelli Logici in a pagina 7 - per assicurà chì tutti l'elementi di u disignu ponu riceve u listessu ottimisazione di Fitter è per riduce i tempi di compilazione.
- Reduce High Fan-Out Nets a pagina 9—per riduce a congestione di risorse è simplificà a chjusura di i tempi.
Information Related
- "Controllà di e regule di cuncepimentu cù l'assistente di cuncepimentu", Guida d'utilizatore Intel Quartus Prime Pro Edition: Raccomandazioni di cuncepimentu
- "Ottimizza u codice sorgente", Intel Quartus Prime Pro Edition Guida d'utilizatore: Ottimizazione di cuncepimentu
- "Registri duplicati per u cuntrollu di Fan-Out", Guida d'utilizatore Intel Quartus Prime Pro Edition: Ottimizazione di cuncepimentu
Violazioni currette di l'assistente di designu
A realizazione di l'analisi iniziale di u disignu per eliminà i prublemi cunnisciuti di chjusi di timing aumentanu significativamente a produtividade. Dopu avè eseguitu una compilazione iniziale cù i paràmetri predeterminati, pudete review i rapporti di l'Assistente di Design per l'analisi iniziale. Quandu hè attivatu, l'Assistente di Disegnu segnala automaticamente ogni violazione contr'à un set standard di linee di cuncepimentu Intel FPGA cunsigliatu. Pudete eseguisce Design Assistant in modu Compilation Flow, chì vi permette view le violazioni rilevanti per la compilazione stage tu corre. In alternativa, l'Assistente di Disegnu hè dispunibule in modu di analisi in l'Analizzatore di Timing è u Chip Planner.
- Modu di flussu di compilazione-funziona automaticamente durante unu o più stages di compilation. In questu modu, Design Assistant utilizeghja dati in flussu (transienti) durante a compilazione.
- Modu di analisi-run Design Assistant da Timing Analyzer è Chip Planner per analizà e violazioni di disignu in una compilazione specifica.tage, prima di avanzà in u flussu di compilazione. In u modu di analisi, Design Assistant usa dati di snapshot di compilazione statica.
Design Assistant designa ogni violazione di regula cù unu di i seguenti livelli di gravità. Pudete specificà e regule chì vulete chì l'Assistente di Disegnu cuntrolla in u vostru disignu, è persunalizà i livelli di gravità, eliminendu cusì cuntrolli di regula chì ùn sò micca impurtanti per u vostru disignu.
Livelli di gravità di regula di l'assistente di design
| I categurie | Descrizzione | Livellu di gravità Culore |
| Criticu | Problema di indirizzu per a manu. | Rossu |
| Altu | Potenzialmente causa fallimentu funziunale. Pò indicà dati di design mancanti o sbagliati. | Aranciu |
| Medium | Potenzialmente impacta a qualità di i risultati per fMAX o l'utilizazione di risorse. | Marrone |
| Bassu | A regula riflette e migliori pratiche per e linee di codificazione RTL. | Turchinu |
Configurazione di l'Assistente di Design
Pudete persunalizà cumplettamente l'Assistente di Disegnu per e vostre caratteristiche di cuncepimentu individuale è esigenze di rapportu. Cliccate Assignments ➤ Settings ➤ Design Assistant Rule Settings per specificà l'opzioni chì cuntrollanu quali regule è parametri s'applicanu à e diverse s.tages di compilazione di disignu per a verificazione di e regule di disignu.
Impostazioni di Regule di Design Assistant
Running Design Assistant
Quandu hè attivatu, l'Assistente di Disegnu funziona automaticamente durante a compilazione è i rapporti anu attivatu violazioni di e regule di cuncepimentu in u Rapportu di Cumpilazione. In alternativa, pudete eseguisce Design Assistant in Modu d'Analisi nantu à una snapshot di compilazione specifica per fucalizza l'analisi solu nantu à questu.tage. Per attivà a verificazione automatica di Design Assistant durante a compilazione:
- Attivate Abilita l'esecuzione di l'Assistente di Disegnu durante a compilazione in i Paràmetri di Regule di Design Assistant. Per eseguisce Design Assistant in modu di analisi per cunvalidà un snapshot specificu contr'à qualsiasi regule di disignu chì si applicanu à l'istantanea:
- Cliccate Report DRC in u pannellu di Tasks di l'Analizzatore di Timing o Chip Planner.
Viewing è currezzione di i risultati di l'assistente di cuncepimentu
I rapporti di l'Assistente di Design hà permessu di violazione di e regule di cuncepimentu in i diversi stages di u Rapportu Compilation.
Assistant Design Risultati in Sintesi, Pianu, Place, è Finalize Reports
À view i risultati per ogni regula, cliccate nantu à a regula in a lista di Regoli. Una descrizzione di a regula è i cunsiglii di cuncepimentu per a correzione appariscenu.
Cunsigliu di Violazione di Rule Assistant Design

Mudificà u vostru RTL per corregge e violazioni di e regule di disignu.
Riduce i Livelli Logici
Livelli logici eccessivi ponu influenzà a qualità di i risultati di u Fitter perchè u percorsu criticu di u disignu influenza l'ordine è a durata di u processu di Fitter. U Fitter mette è indirizza u disignu basatu annantu à u timing slack. U Fitter mette prima i camini più longu cù u minimu slack. U Fitter generalmente dà priorità à i percorsi di livellu logicu più altu nantu à i percorsi di livellu logicu più bassu. Di genere, dopu à u Fitter stage hè cumpletu, i camini critichi chì restanu ùn sò micca i camini di u più altu livellu di logica. U Fitter dà u piazzamentu preferitu, u routing è u retiming à a logica di livellu più altu. A riduzione di u livellu logicu aiuta à assicurà chì tutti l'elementi di u disignu ricevenu a listessa priorità di Fitter. Eseguite Rapporti ➤ Rapporti Personalizzati ➤ Rapportu Timing in l'Analizzatore di Timing per generà rapporti chì mostranu i livelli di logica in u percorsu. Se u percorsu falla u timing è u numeru di livelli lògichi hè altu, cunzidira l'aghjunghje pipelining in quella parte di u disignu per migliurà u rendiment.
Prufundità logica in u rapportu di a strada

Prufundità di Livellu Logica di Reporting
Dopu à u Pianu di u Cumpilatore stage, pudete eseguisce report_logic_depth in a cunsola Timing Analyzer Tcl à view u numeru di livelli logici in un duminiu di clock. report_logic_depth mostra a distribuzione di a prufundità di logica trà i percorsi critichi, chì vi permette di identificà e zone induve pudete riduce i livelli di logica in u vostru RTL.
rapport_logic_depth -panel_name -da [get_clocks ] \ -to [get_clocks ]
report_logic_depth Output
Per ottene dati per ottimisà RTL, eseguite report_logic_depth dopu à u Pianu di u Compiler stage, prima di curriri rimanenti Fitter stages. Altrimenti, i rapporti post-Fitter includenu ancu risultati da ottimisazione fisica (retiming and resynthesis).
Segnalazione di i percorsi di u vicinatu
Dopu à eseguisce u Fitter (Finalizà) stage, pudete eseguisce report_neighbor_paths per aiutà à determinà a causa principale di a strada critica (per esample, altu livellu di logica, limitazione di retiming, piazzamentu sub-ottimale, attraversamentu di colonna I / O, hold-fix, o altri): report_neighbor_paths -to_clock -npaths -nome_pannellu
report_neighbor_paths riporta i percorsi più critichi di u timing in u disignu, cumprese i slack associati, l'infurmazioni supplementari di riassuntu di u percorsu, è i scatuli di delimitazione di u percorsu.
report_neighbor_paths Output
report_neighbor_paths mostra u Path più timing-critical Prima è Path Dopu à ogni Path criticu. Retiming o equilibriu logicu di u percorsu pò simplificà a chjusura di u timing s'ellu ci hè un slack negativu nantu à u Path, ma un slack pusitivu in u Path Before o Path After.
Per attivà u retiming, assicuratevi chì e seguenti opzioni sò attivate:
- Per i Registri - attivate Assegnazioni ➤ Configurazione ➤ Configurazione di compilatore ➤ Ottimisazione di u registru ➤ Permette a retiming di u registru
- Per RAM Endpoints - attivate Assegnazioni ➤ Configurazione ➤ Configurazione di compilatore ➤ Configurazione Fitter (Avanzata) ➤ Permette a retiming RAM
- Per i punti finali DSP - attivate Assegnazioni ➤ Configurazione ➤ Configurazione di compilatore ➤ Configurazione di Fitter (Avanzata) ➤ Permette a retiming DSP
NOTA
Se u più equilibratu di logica hè necessariu, duvete mudificà manualmente u vostru RTL per trasfurmà a logica da u Path criticu à u Path Before o Path After.
Se l'output di un registru hè cunnessu à a so entrata, unu o i dui percorsi vicini ponu esse identici à a strada attuale. Quandu circhendu i chjassi vicini cù u peghju slack, tutte e cundizioni di u funziunamentu sò cunsiderate, micca solu e cundizioni di u funziunamentu di a strada principale stessu.
Visualizà i Livelli Logici in a Mappa di a Tecnulugia Viewer
U Mappa di a Tecnulugia Viewer furnisce ancu rappresentazioni schematiche, tecnulugiche-mappate, di u netlist di designu, è ponu aiutà à vede quale spazii in un disignu ponu benefiziu da riducendu u numeru di livelli logici. Pudete ancu investigà u layout fisicu di una strada in dettagliu in u Chip Planner. Per localizà un percorsu di timing in unu di i viewers, cliccate right-click un percorsu in u rapportu di timing, punta à Locate Path, è selezziunate Locate in Technology Map Viewer.
Riduce l'Alti Reti Fan-Out
Reti elevate di fan-out ponu causà a congestione di risorse, complicà cusì a chiusura di u timing. In generale, u Cumpilatore gestisce automaticamente reti di fan-out elevati ligati à l'orologi. U Cumpilatore prumove automaticamente e reti di fan-out ricunnisciute à a reta globale di u clock. U Compiler faci un sforzu ottimisazione supiriuri duranti lu Locu è Route stages, chì si traduce in una duplicazione di u registru benefica. In i seguenti casi di u cantonu, pudete ancu riduce a congestione fendu i seguenti cambiamenti manuali à u vostru RTL di cuncepimentu:
Custodie d'angolo in rete ad alta ventilazione
| Caratteristica di disignu | Manuale di ottimizzazione RTL |
| Reti alti fan-out chì ghjunghjenu à parechje gerarchie o destinazioni fisicamente luntanu | Specificate l'assignazione duplicate_hierarchy_depth nantu à l'ultimu registru in una pipeline per duplicà manualmente e rete di fan-out elevati in e gerarchie. Specificate l'assignazione duplicate_register per duplicà i registri durante u piazzamentu. |
| Disegni cù signali di cuntrollu à blocchi di memoria DSP o M20K da a logica cumminativa | Cunduce u signale di cuntrollu à a memoria DSP o M20K da un registru. |
Registrate a duplicazione trà e gerarchie
Pudete specificà l'assignazione duplicate_hierarchy_depth nantu à l'ultimu registru in una pipeline per guidà a creazione di duplicazione di registru è fan-outs. I seguenti figuri illustranu l'impattu di a seguente assignazione duplicate_hierarchy_depth:
set_instance_assignment -name duplicate_hierarchy_depth -to \
Induve:
- register_name - l'ultimu registru in una catena chì si stende à parechje gerarchie.
- level_number - u numeru di registri in a catena per duplicà.
Figura 9. Prima di Duplicazione di Registru
Stabilite l'assignazione duplicate_hierarchy_depth per implementà a duplicazione di u registru in i gerarchie, è crea un arbre di registri dopu l'ultimu registru in a catena. Specificate u nome di u registru è u numeru di duplicati rapprisintati da M in l'esempiu seguentiample. E frecce rosse mostranu i lochi potenziali di i registri duplicati.
- set_instance_assignment -name DUPLICATE_HIERARCHY_DEPTH -to regZ M

Duplicazione registrata = 1
Specificà u seguente livellu unicu di duplicazione di registru (M = 1) duplica un registru (regZ) in un livellu di a ghjerarchia di u disignu:
- set_instance_assignment -name DUPLICATE_HIERARCHY_DEPTH -to regZ 1

Duplicazione registrata = 3
A specificazione di trè livelli di duplicazione di u registru (M = 3) duplica trè registri (regZ, regY, regX) in trè, dui è un livellu di a ghjerarchia, rispettivamente:
- set_instance_assignment -name DUPLICATE_HIERARCHY_DEPTH -to regZ 3

Duplicendu è spinghjendu i registri in i gerarchie, u disignu conserva u listessu numeru di ciculi à tutte e destinazioni, mentre accelerà assai a prestazione in queste strade.
Registrate a duplicazione durante u piazzamentu
A Figura 12 à a pagina 11 mostra un registru cù un elevatu fan-out in una zona largamente sparsa di u chip. Duplicendu stu registru 50 volte, pudete riduce a distanza trà u registru è e destinazioni chì in ultimamente risultatu in un rendimentu di clock più veloce. Assigning duplicate_register permette à u Cumpilatore di sfruttà a vicinanza fisica per guidà a piazza di novi registri chì alimentanu un subset di fan-outs.
Figura 12. Registrate a duplicazione durante u piazzamentu
Nota: Per trasmette un signalu à traversu u chip, utilizate un multistage pipeline. Applica l'assignazione duplicate_register à ognunu di i registri in u pipeline. Sta tecnica crea una struttura d'arburu chì trasmette u signale in u chip.
Viewi risultati di duplicazione
Dopu à a sintesi di u disignu, view i risultati di duplicazione in u rapportu Summariu di Duplicazione di l'Arburu Gerarchicu in u cartulare di Sintesi di u Rapportu di Compilation. U rapportu furnisce i seguenti:
- Informazioni nantu à i registri chì anu l'assignazione duplicate_hierarchy_depth.
- Ragione per a lunghezza di a catena chì pudete aduprà cum'è un puntu di partenza per più migliure cù l'assignazione.
- L'infurmazione nantu à i registri individuali in a catena chì pudete aduprà per capisce megliu a struttura di i duplicati implementati.
U rapportu Fitter include ancu una sezione nantu à i registri chì anu u paràmetru duplicate_register.
Applicà e tecniche d'ottimisazione di u compilatore
Disegni chì utilizanu un percentinu assai altutage di e risorse di u dispositivu FPGA pò causà a congestione di risorse, risultatu in una fMAX più bassa è una chiusura di timing più cumplessa. I paràmetri di u Modu di Ottimisazione di u Cumpilatore permettenu di specificà u focu di i sforzi di u Cumpilatore durante a sintesi. Per esample, voi optimize sintesi per Area, o Routability quandu indirizzà a congestion risorsa. Pudete sperimentà cun combinazioni di sti stessi paràmetri di u Modu di Ottimisazione in l'Intel Quartus Prime Design Space Explorer II. Queste paràmetri è altre tecniche manuali ponu aiutà à riduce a congestione in disinni altamente utilizati.
Prublemu di Chjesa di Timing
- I disinni cù l'utilizazione assai alta di e risorse di u dispositivu complicanu a chiusura di u timing.
Soluzioni di chjusi di timing
- Applicà Modi è Strategii di Ottimisazione di Compiler à a pagina 13—specifica u scopu di u modu di ottimisazione primariu per a sintesi di u disignu.
- Pruvate cù l'Opzioni di Area è Routability in a pagina 16—applicà cullezzione supplementari di paràmetri per riduce a congestione è scuntrà l'ubiettivi di l'area è di l'itinerariu.
- Cunsiderate a Sintesi Frattale per Disegni Intensivi di Aritmetica in a pagina 16—Per i disinni d'alta produzzione, intensivi in aritmetica, a sintesi frattale riduce l'usu di e risorse di u dispositivu per mezu di regularizazione di multiplicatori, retiming è imballaggio aritmeticu continuu.
Information Related
- Capitulu "Chiusura è ottimizzazione di timing", Guida d'utilizatore Intel Quartus Prime Pro Edition: Ottimizazione di cuncepimentu
- Intel Quartus Prime Pro Edition Guida di l'Usuariu: Cumpilazione di Design
Applicà Modi è Strategii di Ottimisazione di Compiler
Aduprate l'infurmazioni seguenti per applicà i modi di ottimisazione di Compiler è strategie di compilazione Design Space Explorer II (DSE II).
Pruvate cù i paràmetri di u modu di ottimizzazione di u compilatore
Segui questi passi per sperimentà i paràmetri di u modu di ottimisazione di u compilatore:
- Crea o apre un prughjettu Intel Quartus Prime.
- Per specificà a strategia di ottimisazione d'altu livellu di u compilatore, cliccate Assignazioni ➤ Configurazione ➤ Configurazione di u compilatore. Pruvate cù qualsiasi di e seguenti paràmetri di modalità, cum'è a Tabella 4 à a pagina 14 descrive.
- Per cumpilà u disignu cù questi paràmetri, cliccate Start Compilation in u Dashboard di Compilation.
- View i risultati di a compilazione in u Rapportu di compilazione.
- Cliccate Strumenti ➤ Analizzatore di timing per view i risultati di i paràmetri di ottimisazione nantu à u rendiment.
Impostazioni di u Modu di Ottimisazione di u Compiler

Modi di ottimizzazione (Pagina di paràmetri di u compilatore)
| Modu di ottimisazione | Descrizzione |
| equilibratu (flussu normale) | U compilatore ottimizza a sintesi per una implementazione equilibrata chì rispetta i limiti di timing. |
| Sforzu di altu rendiment | U Cumpilatore aumenta u sforzu di ottimisazione di u timing durante u piazzamentu è u routing, è permette ottimisazioni di Sintesi Fisica in relazione à u timing (per paràmetri di ottimisazione di u registru). Ogni ottimisazione supplementu pò aumentà u tempu di compilazione. |
| Alte prestazioni cù u massimu sforzu di piazzamentu | Permette a listessa ottimisazione di u compilatore cum'è Sforzu di altu rendiment, cù un sforzu supplementu di ottimisazione di piazzamentu. |
| Prestazione superiore | Permette a listessa ottimisazione di u compilatore cum'è Sforzu di altu rendiment, è aghjunghje più ottimisazioni durante l'Analisi è Sintesi per maximizà u rendiment di u disignu cù un aumentu potenziale à l'area logica. Se l'utilizazione di u disignu hè digià assai alta, questa opzione pò purtà à difficultà in l'adattamentu, chì pò ancu affettà negativamente a qualità generale di ottimisazione. |
| Prestazione superiore cù u massimu sforzu di piazzamentu | Permette a listessa ottimisazione di u compilatore cum'è Prestazione superiore, cù un sforzu supplementu di ottimisazione di piazzamentu. |
| Zona Aggressiva | U Cumpilatore fa un sforzu aggressivu per riduce l'area di u dispositivu necessaria per implementà u disignu à a spesa potenziale di u rendiment di u disignu. |
| Sforzu di Routability High Placement | U Cumpilatore fa un grande sforzu per indirizzà u disignu à a spesa potenziale di l'area di cuncepimentu, u rendiment è u tempu di compilazione. U Cumpilatore passa u tempu supplementu riducendu l'utilizazione di u routing, chì pò migliurà a routability è ancu risparmia a putenza dinamica. |
| High Packing Routability Sforzo | U Cumpilatore fa un grande sforzu per indirizzà u disignu à a spesa potenziale di l'area di cuncepimentu, u rendiment è u tempu di compilazione. U Cumpilatore passa un tempu supplementu à i registri di imballaggio, chì ponu migliurà a routability è ancu risparmia u putere dinamicu. |
| Optimizà Netlist per Routability | U Cumpilatore implementa mudificazioni di netlist per aumentà a routability à u spensu pussibule di u rendiment. |
| cuntinuò… | |
| Modu di ottimisazione | Descrizzione |
| Sforzu d'alta putenza | U Cumpilatore fa un grande sforzu per ottimisà a sintesi per a bassa putenza. Sforzu d'alta putenza aumenta u tempu di sintesi. |
| Putere aggressivu | Fà un sforzu aggressivu per ottimisà a sintesi per a bassa putenza. U Cumpilatore riduce ancu l'usu di l'instradamentu di i segnali cù i più alti tassi di basculazione specificati o stimati, salvenendu una putenza dinamica addiziale, ma potenzialmente affettendu u rendiment. |
| Tempu di compilazione aggressivu | Riduce u tempu di compilazione necessariu per implementà u disignu cun sforzu ridottu è menu ottimisazioni di rendiment. Questa opzione disattiva ancu alcune funzioni di rapportu detallatu.
Nota: Accendendu Tempu di compilazione aggressivu attiva l'Intel Quartus Prime Settings File (.qsf) paràmetri chì ùn ponu esse rimpiazzati da altri paràmetri .qsf. |
Design Space Explorer II Strategie di compilazione
DSE II vi permette di truvà paràmetri ottimali di u prugettu per risorsa, prestazioni, o scopi di ottimisazione di putenza. DSE II permette di cumpilà in modu iterativu un disignu utilizendu diverse combinazioni predefinite di paràmetri è limitazioni per ottene un scopu specificu. DSE II riporta poi a megliu combinazione di paràmetri per scuntrà i vostri scopi. DSE II pò ancu piglià avanzàtage di capacità di parallelizazione per cumpilà e sementi in parechje computer. I paràmetri di a strategia di compilazione DSE II riprenu i paràmetri di u Modu di ottimizzazione in a Tabella 4 à a pagina 14
Design Space Explorer II
Segui questi passi per specificà a Strategia di compilazione per DSE II:
- Per avvià DSE II (è chjude u software Intel Quartus Prime), cliccate Strumenti ➤ Launch Design Space Explorer II. DSE II si apre dopu chì u software Intel Quartus Prime chjude.
- In a barra di strumenti DSE II, cliccate l'icona di Esplorazione.
- Espandi i punti di esplorazione.
- Selezziunà Esplorazione di Design. Abilita qualsiasi di e strategie di Cumpilazione per eseguisce esplorazioni di cuncepimentu destinate à queste strategie.
Reduce a Congestion per High Utilization
I disinni chì utilizanu più di 80% di e risorse di u dispositivu presentanu tipicamente a più difficultà in a chjusura di u timing. Pudete applicà e seguenti tecniche manuali è automatizate per riduce ancu più a congestione è simplificà a chjusura di u timing.
- Pruvate cù l'Opzioni di Area è Routability à a pagina 16
- Cunsiderate a Sintesi Fractale per Disegni Aritmetici Intensivi à a pagina 16
Pruvate cù l'Opzioni di Area è Routability
Quandu l'utilizazione di u dispositivu provoca a congestione di routing, pudete sperimentà cù i paràmetri di ottimisazione di l'Area è di a Routability per riduce l'utilizazione di risorse è a congestione per u vostru disignu. Cliccate Assegnazioni ➤ Configurazione ➤ Configurazione di compilatore ➤ Modu di ottimisazione per accede à queste paràmetri:
Opzioni di Area è Routability

Cunsiderate a Sintesi Fractale per Disegni Aritmetici Intensivi
Per disinni d'alta produzzione, intensivi in aritmetica, pudete attivà ottimisazioni automatiche di sintesi frattale per migliurà l'usu di e risorse di u dispositivu. L'ottimisazioni di sintesi frattale includenu a regularizazione è u retiming multiplicatore, è ancu l'imballaggio aritmeticu continuu. L'ottimisazioni miranu à i disinni cù un gran numaru di operazioni aritmetiche di bassa precisione (cum'è addizzioni è multiplicazioni). Pudete attivà a sintesi frattale in u mondu o per solu multiplicatori specifichi. In cundizioni ideali, l'ottimisazione di sintesi frattale pò ottene una riduzione di l'area di 20-45%.
Multiplicatore Regularization è Retiming
A regularizazione di u multiplicatore è a retiming realizanu inferenza di implementazioni di multiplicatori soft altamente ottimizzati. U Cumpilatore pò applicà un retiming backward à dui o più pipelinetagè se necessariu. Quandu avete attivatu a sintesi frattale, u Cumpilatore applicà a regularizazione di u multiplicatore è u retiming à i multiplicatori firmati è micca firmati.
Figura 16. Multiplier Retiming
NOTA
- A regularizazione di multiplicatori usa solu risorse logiche è ùn usa micca blocchi DSP.
- A regularizazione di u multiplicatore è a retiming hè appiicata à i multiplicatori firmati è micca firmati in moduli induve l'assignazione FRACTAL_SYNTHESIS QSF hè stabilita.
Imballaggio aritmeticu cuntinuu
L'imballaggio aritmeticu cuntinuu sintetizza i cancelli aritmetici in blocchi logici di dimensioni ottimali per adattà à i LAB Intel FPGA. Questa ottimisazione permette finu à u 100% di l'utilizazione di e risorse LAB per i blocchi aritmetici. Quandu attivate a sintesi frattale, u Compiler applica questa ottimisazione à tutte e catene di trasportu è e porte logiche à dui input. Questa ottimisazione pò imballà l'arbureti di sommatori, i multiplicatori è qualsiasi altra logica aritmetica.
Imballaggio aritmeticu cuntinuu

NOTA
Nota chì l'imballu aritmeticu cuntinuu travaglia indipindentamente da a regularizazione di multiplicatori. Allora, sè vo site cù un multiplicatore chì ùn hè micca regularizatu (cum'è scrive u vostru propiu multiplicatore) allora l'imballu aritmeticu cuntinuu pò ancu operà. L'ottimisazione di sintesi frattale hè più adattata per i disinni cù acceleratori di apprendimentu profondu o altre funzioni d'altu rendimentu, intensive in aritmetica chì superanu tutte e risorse DSP. L'attivazione di a sintesi frattale in tuttu u prughjettu pò causà bloat innecessariu nantu à i moduli chì ùn sò micca adattati per ottimisazioni frattali.
Abilitazione o disattivazione di a sintesi frattale
Per i dispositi Intel Stratix® 10 è Intel Agilex™, l'ottimisazione di sintesi frattale funziona automaticamente per i picculi multiplicatori (qualsiasi dichjarazione A * B in Verilog HDL o VHDL induve a larghezza di bit di l'operandi hè 7 o menu). Pudete ancu disattivà a sintesi frattale automatica per i picculi multiplicatori per questi dispositi utilizendu unu di i metudi seguenti:
- In RTL, stabilisce u DSP multstyle, cum'è "Multstyle Verilog HDL Synthesis Attribute" descrive. Per esample: (* multstyle = "dsp" *) modulu foo(…); modulu foo(..) /* sintesi multstyle = "dsp" */;
- In u .qsf file, aghjunghje cum'è una assignazione cusì: set_instance_assignment -name DSP_BLOCK_BALANCING_IMPLEMENTATION \DSP_BLOCKS -to r
Inoltre, per i dispositi Intel Stratix 10, Intel Agilex, Intel Arria® 10 è Intel Cyclone® 10 GX, pudete attivà a sintesi frattale in u mondu o per multiplicatori specifichi cù l'opzione GUI di sintesi frattale o l'assignazione FRACTAL_SYNTHESIS .qsf corrispondente:
- In RTL, utilizate altera_attribute cusì: (* altera_attribute = "-name FRACTAL_SYNTHESIS ON" *)
- In u .qsf file, aghjunghje cum'è una assignazione cusì: set_global_assignment -name FRACTAL_SYNTHESIS ON -entity
In l'interfaccia d'utilizatore, seguitate sti passi:
- Cliccate Assignments ➤ Assignment Editor.
- Selezziunate Fractal Synthesis for Assignment Name, On for the Value, u nome di l'entità aritmetica intensiva per l'Entità, è un nome d'istanza in a colonna A. Pudete inserisce un wildcard (*) per To per assignà tutte e istanze di l'entità.
Figura 18. Assegnazione di Sintesi Fractal in Editor di Assegnazione

Information Related
- Multstyle Verilog HDL Synthesis Attribute
- In Intel Quartus Prime Help.
Preserve i risultati soddisfacenti
Pudete simplificà a chjusura di u timing annutendu risultati di compilazione soddisfacenti per chjude u piazzamentu di grandi blocchi ligati à i clock, RAM è DSP. In listessu modu, a tecnica di riutilizazione di u bloccu di cuncepimentu vi permette di priservà risultati di compilazione soddisfacenti per a periferia FPGA specifica o blocchi di cuncepimentu logicu core (logica chì comprende una istanza di cuncepimentu gerarchicu), è poi riutilizà quelli blocchi in compilazioni successive. In u reutilizazione di u bloccu di cuncepimentu, assignate l'istanza gerarchica cum'è una partizione di disignu, è poi priservà è esporta a partizione dopu a compilazione successu. A preservazione è a riutilizazione di i risultati satisfacenti permette di focalizà u sforzu è u tempu di u Cumpilatore solu in parte di u disignu chì ùn anu micca chjusu u timing.
Prublemu di Chjesa di Timing
- A menu ch'ellu sia chjusu, u Cumpilatore pò implementà blocchi di cuncepimentu, orologi, RAM è DSP in modu diversu da compilazione à compilazione secondu diversi fattori.
Soluzioni di chjusi di timing
- Blocca l'orologi, i RAM è i DSP à a pagina 20 - annotate in retrocede i risultati di compilazione soddisfacenti per bloccare u piazzamentu di grandi blocchi ligati à i clock, RAM è DSP.
- Preserve Design Partition Results à a pagina 21: preservate e partizioni per i blocchi chì rispettanu u timing, è cuncentrate l'ottimisazione nantu à l'altri blocchi di design.
Information Related
- Back-Annotate Assignments Dialog Box Help
- AN-899: Reducing Time Compile with Fast Preservation
- Intel Quartus Prime Pro Edition Guida di l'Usuariu: Disegnu basatu in blocchi
Lock Down Clocks, RAM è DSP
Pudete simplificà a chjusura di u timing annutendu risultati di compilazione soddisfacenti per chjude u piazzamentu di grandi blocchi ligati à Clocks, RAM è DSP. U bloccu di un grande bloccu pò pruduce fMAX più altu cù menu rumore. U bloccu di blocchi grandi cum'è RAM è DSP pò esse efficace perchè questi blocchi anu una connettività più pesante cà i LAB rigulari, complicà u muvimentu durante u piazzamentu. Quandu una sumente pruduce boni risultati da una RAM adattata è una piazza DSP, pudete catturà quella piazza cù l'annotazione posteriore. I compilazioni successivi ponu benefiziu da a RAM di alta qualità è a piazza DSP da a bona sumente. Questa tecnica ùn hà micca benefiziu significativamente i disinni cù assai pochi RAM o DSP. Cliccate Assignments ➤ Back-Annotate Assignments per copià l'assignazioni di risorse di u dispositivu da l'ultima compilazione à u .qsf per aduprà in a prossima compilazione. Selezziunate u tippu di annotazione in daretu in a lista di tippu di annotazione in daretu.
Back-Annotate Assignments Casella di dialogu

In alternativa, pudete eseguisce back-annotation cù l'eseguibile quartus_cdb seguente. quartus_cdb –back_annotate [–dsp] [–ram] [–clock]
NOTA
- L'eseguibile supporta e variabili supplementari [–dsp], [–ram] è [–clock] chì a finestra di dialogu di l'Assegnazioni di l'Annotazione Back-Annotate ùn hè ancu supportata.
Preservà i risultati di a partizione di design
NOTA
- Dopu a partizione di u disignu, pudete priservà e partizioni per i blocchi chì scontranu u timing, è fucalizza l'ottimisazione nantu à l'altri blocchi di design. Inoltre, l'opzione Fast Preserve simplificheghja a logica di una partizione preservata à solu logica di l'interfaccia durante a compilazione, riducendu cusì u tempu di compilazione per a partizione. Fast Preserve supporta solu a reutilizazione di partizioni radicali è i disinni di ricunfigurazione parziale. Per i disinni cù sub-moduli chì sò sfida per a chjusura di u tempu, pudete eseguisce l'ottimisazione autonoma è a compilazione di a partizione di u modulu, è poi esportà u modulu di timing-closed per priservà l'implementazione in compilazioni successive.
Preservà i risultati di a partizione di design

U disignu basatu in blocchi richiede una partizione di design. A partizione di design permette di priservà i blocchi logici individuali in u vostru disignu, ma pò ancu intruduce una perdita di rendiment potenziale per via di l'attraversu di partizioni è l'effetti di u pianu. Avete bisognu di equilibrà questi fattori quandu utilizate tecniche di cuncepimentu basatu in blocchi. I seguenti passi di altu livellu descrizanu u flussu di preservazione di partizioni per i disinni di reutilizazione di partizioni radicali:
- Cliccate Processing ➤ Start ➤ Start Analysis & Elaboration.
- In u Navigatore di u Prughjettu, cliccate cù u dirittu nantu à l'istanza di cuncepimentu chjusu di u tempu, puntate à Partizione di Disegnu, è selezziunate un Tipu di partizione, cum'è l'Configurazione di Partizione di Disegnu in a pagina 23 descrive.
Crea partizioni di design

- Definite e restrizioni di pianificazione di Logic Lock per a partizione. In a Finestra di Partizioni di Disegnu, fate un clic right-click in a partizione è dopu cliccate Region Lock Logic ➤ Crea New Logic Lock Region. Assicuratevi chì a regione hè abbastanza grande per chjude tutta a logica in a partizione.
- Per esportà i risultati di a partizione dopu a compilazione, in a Finestra di Partizioni di Design, specificate a partizione .qdb cum'è Post Final Export. File.
Post Final Export File

- Per cumpilà u disignu è esportà a partizione, cliccate Compile Design in u Dashboard di compilazione.
- Apertura u prughjettu di primu livellu in u software Intel Quartus Prime.
- Cliccate Assignments ➤ Settings ➤ Compiler Settings ➤ Incremental Compile. Attivate l'opzione Fast Preserve.
Opzione di Conservazione Rapida

- Cliccate OK.
- In a Finestra di Partizioni di Design, specificate u .qdb esportatu cum'è a Database di Partition File per a partizione in quistione. Questu .qdb hè avà a fonte per questa partizione in u prugettu. Quandu attivate l'opzione Fast Preserve, u Compiler riduce a logica di a partizione impurtata à solu logica di l'interfaccia, riducendu cusì u tempu di compilazione chì a partizione richiede.
Paràmetri di Partition Design
Paràmetri di Partition Design
| Opzione | Descrizzione |
| Partition Name | Specifica u nome di a partizione. Ogni nome di partizione deve esse unicu è custituitu solu di caratteri alfanumerichi. U software Intel Quartus Prime crea automaticamente un "root_partition" di primu livellu (|) per ogni rivisione di prughjettu. |
| Strada di Gerarchia | Specifica u percorsu gerarchia di l'istanza di l'entità chì assignate à a partizione. Specificate stu valore in u Crea una nova partizione finestra di dialogu. U percorsu di a ghjerarchia di partizioni radicali hè |. |
| Tipu | Doppiu cliccà per specificà unu di i seguenti tipi di partizioni chì cuntrollanu cumu u Cumpilatore processa è implementa a partizione: |
| cuntinuò… | |
| Opzione | Descrizzione |
| • Default-Identifica una partizione standard. U compilatore processa a partizione utilizendu a fonte di designu assuciata files.
• Reconfigurable-Identifica una partizione ricunfigurabile in un flussu di ricunfigurazione parziale. Specificà u Reconfigurable tipu per priservà i risultati di sintesi, mentre chì permette u refit di a partizione in u flussu PR. • Core riservatu-Identifica una partizione in un flussu di disignu basatu in blocchi chì hè riservatu à u sviluppu core da un Consumatore chì riutilice a periferia di u dispusitivu. |
|
| Livellu di cunservazione | Specifica unu di i seguenti livelli di preservazione per a partizione:
• Not Set- ùn specifica micca livellu di preservazione. A partizione compila da a fonte files. • sintetizzati- a partizione compie cù l'istantanea sintetizzata. • finali- a partizione cumpila cù l'istantanea finale. Cù Livellu di cunservazione of sintetizzati or finali, i cambiamenti à u codice fonte ùn si prisentanu micca in a sintesi. |
| Viotu | Specifica una partizione viota chì u compilatore salta. Stu paràmetru hè incompatibile cù u Core riservatu è Database di partizioni File paràmetri per a stessa partizione. U Livellu di cunservazione deve esse Not Set. Una partizione viota ùn pò micca avè partizioni figlioli. |
| Database di partizioni File | Specifica una basa di dati di partizioni File (.qdb) chì u Compiler usa durante a compilazione di a partizione. Esporta u .qdb per u stage di compilazione chì vulete riutilizà (sintetizatu o finale). Assignà u .qdb à una partizione per reutilizà quelli risultati in un altru cuntestu. |
| Rilegatura di l'entità | • PR Flow-specifica l'entità chì rimpiazza a persona predeterminata in ogni rivisione di implementazione.
• Root Partition Reuse Flow -specifica l'entità chì rimpiazza a logica core riservata in u prughjettu di u cunsumadore. |
| Culore | Specifica a codificazione di u culore di a partizione in i display di Chip Planner è Design Partition Planner. |
| Esportazione Post Sintesi File | Esporta automaticamente i risultati di compilazione post-sintesi per a partizione à u .qdb chì specificate, ogni volta chì Analysis & Synthesis corre. Pudete esportà automaticamente qualsiasi partizione di designu chì ùn hà micca una partizione parent conservata, cumpresa a root_partition. |
| Post Final Export File | Esporta automaticamente i risultati di compilazione post-finale per a partizione à u .qdb chì specificate, ogni volta chì u s finali.tage di u Fitter corre. Pudete esportà automaticamente qualsiasi particione di designu chì ùn hà micca una partizione parent conservata, cumpresa a root_partition. |
AN 903 Storia di Revisione di Documenti
Stu documentu hà a seguente storia di rivisione:
| Versione di documentu | Version Intel Quartus Prime | Cambiamenti |
| 2021.02.25 | 19.3 | Sustituitu "pull" cù "tensione" in Analizà è Ottimisate Design RTL tema. |
| 2020.03.23 | 19.3 | Errore di sintassi currettu in u codice sample in u tema "Blocca Clocks, RAM, and DSPs". |
| 2019.12.03 | 19.3 | • Prima liberazione publica. |
Documenti / Risorse
![]() |
Intel AN 903 Accelerazione di a chiusura di u timing [pdfGuida di l'utente AN 903 Accelerazione di chjusura di timing, AN 903, Accelerazione di chjusura di timing, chjusura di timing |





