Intel AN 903 паскарае час закрыцця
AN 903: Паскарэнне часу закрыцця ў Intel® Quartus® Prime Pro Edition
Шчыльнасць і складанасць сучасных канструкцый FPGA, якія спалучаюць убудаваныя сістэмы, IP і высакахуткасныя інтэрфейсы, ствараюць усё большыя праблемы для закрыцця па часе. Познія архітэктурныя змены і праблемы з праверкай могуць прывесці да працяглых ітэрацый праектавання. У гэтым дакуменце абагульняюцца тры крокі для паскарэння закрыцця часу з выкарыстаннем праверанай і паўтаральнай метадалогіі ў праграмным забеспячэнні Intel® Quartus® Prime Pro Edition. Гэтая метадалогія ўключае першапачатковы аналіз і аптымізацыю RTL, а таксама аўтаматызаваныя метады для мінімізацыі часу кампіляцыі і памяншэння складанасці праектавання і ітэрацый, неабходных для закрыцця па часе.
Крокі паскарэння закрыцця часу
Крокі паскарэння закрыцця часу
Крок закрыцця часу | Час закрыцця дзейнасці | Падрабязная інфармацыя |
Крок 1: Прааналізуйце і аптымізуйце RTL | • Выпраўце парушэнні Design Assistant на старонцы 4
• Паменшыць лагічныя ўзроўні на старонцы 7 • Паменшыце сетку з высокім адкідам на старонцы 9 |
• Intel Quartus Prime Pro Выданне Кіраўніцтва карыстальніка: Дызайн Аптымізацыя
• Intel Quartus Prime Pro Выданне Кіраўніцтва карыстальніка: Дызайн Рэкамендацыі |
Крок 2: Ужыць аптымізацыю кампілятара | • Прымяніць рэжымы аптымізацыі кампілятара і стратэгіі на старонцы 13
• Паменшыце заторы для высокага выкарыстання на старонцы 16 |
• Intel Quartus Prime Pro Выданне Кіраўніцтва карыстальніка: Дызайн Кампіляцыя
• Intel Quartus Prime Pro Выданне Кіраўніцтва карыстальніка: Дызайн Аптымізацыя |
Крок 3: Захавайце здавальняючыя вынікі | • Блакаванне гадзіннікаў, аператыўных памяці і DSP на старонцы 20
• Захаваць вынікі падзелу дызайну на старонцы 21 |
• Intel Quartus Prime Pro Выданне Кіраўніцтва карыстальніка: Block- Дызайн на аснове |
Крок 1: Прааналізуйце і аптымізуйце дызайн RTL
Аптымізацыя зыходнага кода вашага дызайну звычайна з'яўляецца першым і найбольш эфектыўным метадам для паляпшэння якасці вынікаў. Intel Quartus Prime Design Assistant дапаможа вам хутка выправіць асноўныя парушэнні правілаў праектавання і рэкамендуе змены RTL, якія спрашчаюць аптымізацыю дызайну і час закрыцця.
Праблемы з закрыццём часу
- Празмерныя лагічныя ўзроўні ўплываюць на парадак апрацоўкі Fitter, працягласць і якасць вынікаў.
- Высокія развеяныя сеткі выклікаюць перагрузку рэсурсаў і дадаюць дадатковае напружанне на шляхах перадачы даных, беспадстаўна павялічваючы важнасць шляху і ўскладняючы час закрыцця. Гэта напружанне з'яўляецца сілай прыцягнення, якая цягне шлях (і ўсе шляхі, якія падзяляюць гэты высокі сігнал) да крыніцы з высокім размахам.
Рашэнні для закрыцця тэрмінаў
- Выпраўленне парушэнняў Design Assistant на старонцы 4—для хуткага выяўлення і выпраўлення асноўных парушэнняў правілаў дызайну, якія адносяцца да вашага дызайну.
- Паменшыце лагічныя ўзроўні на старонцы 7, каб пераканацца, што ўсе элементы дызайну могуць атрымаць аднолькавую аптымізацыю Fitter і скараціць час кампіляцыі.
- Паменшыце сетку з высокім размахам на старонцы 9 — каб паменшыць перагрузку рэсурсаў і спрасціць час закрыцця.
Звязаная інфармацыя
- «Праверка правілаў праектавання з дапамогай Design Assistant», Кіраўніцтва карыстальніка Intel Quartus Prime Pro Edition: рэкамендацыі па дызайне
- «Аптымізаваць зыходны код», Кіраўніцтва карыстальніка Intel Quartus Prime Pro Edition: аптымізацыя дызайну
- «Дублікаты рэгістраў для кіравання Fan-Out», Кіраўніцтва карыстальніка Intel Quartus Prime Pro Edition: аптымізацыя дызайну
Выпраўце парушэнні Design Assistant
Выкананне першапачатковага аналізу праектавання для ліквідацыі вядомых праблем з закрыццём часу значна павялічвае прадукцыйнасць. Пасля запуску першапачатковай кампіляцыі з наладамі па змаўчанні вы можаце паўторнаview Памочнік па дызайне дакладвае для першапачатковага аналізу. Калі ўключана, Design Assistant аўтаматычна паведамляе аб любых парушэннях стандартнага набору інструкцый па распрацоўцы FPGA, рэкамендаваных Intel. Вы можаце запусціць Design Assistant у рэжыме Compilation Flow, што дазваляе вам view парушэнні, якія маюць дачыненне да складання сtagвы бяжыце. У якасці альтэрнатывы, памочнік па дызайне даступны ў рэжыме аналізу ў аналізатары часу і планавальніку мікрасхем.
- Рэжым кампіляцыі— выконваецца аўтаматычна на працягу аднаго або некалькіх сtages кампіляцыі. У гэтым рэжыме Design Assistant выкарыстоўвае ўваходныя (пераходныя) дадзеныя падчас кампіляцыі.
- Рэжым аналізу— запусціце Design Assistant з Timing Analyzer і Chip Planner, каб прааналізаваць парушэнні дызайну пры пэўнай кампіляцыі.tage, перш чым рухацца наперад у патоку кампіляцыі. У рэжыме аналізу Design Assistant выкарыстоўвае статычныя дадзеныя здымка кампіляцыі.
Памочнік па дызайне пазначае кожнае парушэнне правілаў адным з наступных узроўняў сур'ёзнасці. Вы можаце пазначыць, якія правілы вы хочаце, каб памочнік па дызайне правяраў у вашым дызайне, і наладзіць узровень сур'ёзнасці, ухіляючы такім чынам праверкі правілаў, якія не важныя для вашага дызайну.
Узроўні сур'ёзнасці правіл памочніка дызайну
Катэгорыі | Апісанне | Колер узроўню сур'ёзнасці |
Крытычны | Адрас праблемы для перадачы. | Чырвоны |
Высокі | Патэнцыйна выклікае функцыянальны збой. Можа сведчыць аб адсутнасці або няправільных дадзеных праектавання. | Аранжавы |
Сярэдні | Патэнцыйна ўплывае на якасць вынікаў для fМАКС або выкарыстанне рэсурсаў. | Карычневы |
Нізкі | Правіла адлюстроўвае лепшыя практыкі для рэкамендацый па кадаванні RTL. | Сіні |
Памочнік па наладзе дызайну
Вы можаце цалкам наладзіць Design Assistant для вашых індывідуальных характарыстык дызайну і патрабаванняў да справаздачнасці. Пстрыкніце «Прызначэнні» ➤ «Настройкі» ➤ «Настройкі правілаў памочніка дызайну», каб задаць параметры, якія вызначаюць, якія правілы і параметры прымяняюцца да розных сtages кампіляцыі дызайну для праверкі правілаў дызайну.
Налады правілаў памочніка дызайну
Памочнік па дызайне бегу
Калі ўключана, памочнік па дызайне запускаецца аўтаматычна падчас кампіляцыі і паведамляе аб парушэннях уключаных правілаў дызайну ў справаздачы аб кампіляцыі. Акрамя таго, вы можаце запусціць Design Assistant у рэжыме аналізу на пэўным здымку кампіляцыі, каб сканцэнтраваць аналіз толькі на гэтымtagд. Каб уключыць аўтаматычную праверку Design Assistant падчас кампіляцыі:
- Уключыце «Уключыць выкананне Design Assistant падчас кампіляцыі» ў наладах правілаў Design Assistant. Каб запусціць Design Assistant у рэжыме аналізу для праверкі канкрэтнага здымка на адпаведнасць любым правілам праектавання, якія прымяняюцца да здымка:
- Націсніце "Паведаміць пра DRC" на панэлі "Аналізатар часу" або "Задачы планавальніка мікрасхем".
ViewІнфармаванне і выпраўленне вынікаў Design Assistant
Памочнік па дызайне паведамляе аб уключаных парушэннях правілаў дызайну ў розных stagэс справаздачы аб складанні.
Памочнік па дызайне дае вынікі ў сінтэзе, планаванні, размяшчэнні і завяршэнні справаздач
каб view вынікі для кожнага правіла, націсніце правіла ў спісе правілаў. З'яўляюцца апісанне правілы і рэкамендацыі па выпраўленні.
Рэкамендацыі памочніка дызайнера аб парушэнні правілаў
Змяніце свой RTL, каб выправіць парушэнні правілаў праектавання.
Паменшыць лагічныя ўзроўні
Празмерныя лагічныя ўзроўні могуць паўплываць на якасць вынікаў мантажніка, таму што крытычны шлях праектавання ўплывае на парадак і працягласць апрацоўкі мантажніка. Мантажнік размяшчае і накіроўвае канструкцыю на аснове слабіны сінхранізацыі. Мантажнік спачатку размяшчае больш доўгія шляхі з найменшай слабінай. Мантажнік звычайна аддае прыярытэт шляхам больш высокага лагічнага ўзроўню перад шляхамі ніжэйшага лагічнага ўзроўню. Як правіла, пасля мантажніка сtage завершана, крытычныя шляхі, якія засталіся, не з'яўляюцца шляхамі самага высокага лагічнага ўзроўню. Мантажнік дае пераважнае размяшчэнне, маршрутызацыю і паўторнае вызначэнне часу логіцы больш высокага ўзроўню. Зніжэнне лагічнага ўзроўню дапамагае гарантаваць, што ўсе элементы канструкцыі атрымліваюць аднолькавы прыярытэт мантажніка. Запусціце "Справаздачы" ➤ "Карыстальніцкія справаздачы" ➤ "Час справаздачы" ў аналізатары сінхранізацыі, каб стварыць справаздачы, якія паказваюць ўзроўні логікі ў шляху. Калі шлях не спраўляецца з часам і колькасць лагічных узроўняў вялікая, падумайце аб даданні канвеера ў гэтай частцы праекту, каб палепшыць прадукцыйнасць.
Лагічная глыбіня ў справаздачы аб шляху
Глыбіня лагічнага ўзроўню справаздачнасці
Пасля плана складальніка сtage, вы можаце запусціць report_logic_depth у кансолі Tcl Timing Analyzer view колькасць лагічных узроўняў у тактавай вобласці. report_logic_depth паказвае размеркаванне лагічнай глыбіні сярод крытычных шляхоў, дазваляючы вам вызначыць вобласці, дзе вы можаце паменшыць лагічныя ўзроўні ў вашым RTL.
лагічная_глыбіня_справаздачы -імя_панэлі -ад [get_clocks ] \ -to [get_clocks ]
report_logic_depth Вывад
Каб атрымаць дадзеныя для аптымізацыі RTL, запусціце report_logic_depth пасля плана кампілятараtage, перад запускам пакінутых мантажнікаў stagэс. У адваротным выпадку справаздачы пасля ўстаноўкі таксама ўключаюць вынікі фізічнай аптымізацыі (паўторны час і паўторны сінтэз).
Справаздача аб суседніх шляхах
Пасля запуску мантажніка (Finalize) stage, вы можаце запусціць report_neighbor_paths, каб дапамагчы вызначыць асноўную прычыну крытычнага шляху (напрыклад,ample, высокі лагічны ўзровень, абмежаванне паўторнага часу, неаптымальнае размяшчэнне, перакрыжаванне слупкоў уводу/вываду, выпраўленне ўтрымання або іншыя): report_neighbor_paths -to_clock -nшляхі -імя_панэлі
report_neighbor_paths паведамляе пра найбольш важныя па часе шляхі ў дызайне, у тым ліку правісанне, дадатковую зводную інфармацыю аб шляху і абмежавальныя рамкі шляху.
report_neighbor_paths Вывад
report_neighbor_paths паказвае найбольш крытычны па часе шлях да і пасля кожнага крытычнага шляху. Паўторны час або лагічнае ўраўнаважванне шляху можа спрасціць замыканне па часе, калі ёсць адмоўная слабіна на Шляху, але станоўчая слабіна на Шляху да або пасля.
Каб уключыць паўторны час, пераканайцеся, што наступныя параметры ўключаны:
- Для рэестраў—уключыць прызначэнне ➤ Налады ➤ Налады кампілятара ➤ Аптымізацыя рэгістра ➤ Дазволіць аднаўленне часу рэгістра
- Для канчатковых кропак аператыўнай памяці — уключыце прызначэнне ➤ налады ➤ налады кампілятара ➤ налады мантажніка (дадатковыя) ➤ дазвол аднаўленне часу аператыўнай памяці
- Для канчатковых кропак DSP — уключыце Прызначэнні ➤ Налады ➤ Налады кампілятара ➤ Налады ўстаноўкі (пашыраныя) ➤ Дазволіць паўторнае сінхранізацыю DSP
УВАГА
Калі патрабуецца дадатковае лагічнае ўраўнаважванне, вы павінны ўручную змяніць ваш RTL, каб перамясціць логіку з крытычнага шляху на шлях да або пасля.
Калі выхад рэгістра злучаны з яго ўваходам, адзін або абодва суседнія шляху могуць быць ідэнтычнымі бягучаму шляху. Пры пошуку суседніх шляхоў з найгоршай слабінай улічваюцца ўсе ўмовы працы, а не толькі ўмовы працы самога галоўнага шляху.
Візуалізацыя лагічных узроўняў у тэхналагічнай карце Viewer
Карта тэхналогій Viewer таксама забяспечвае схематычнае адлюстраванне спісу злучэнняў дызайну і можа дапамагчы вам убачыць, якія вобласці ў дызайне могуць выйграць ад памяншэння колькасці лагічных узроўняў. Вы таксама можаце дэталёва вывучыць фізічную схему шляху ў планіроўшчыку мікрасхем. Каб знайсці шлях часу ў адным з viewпстрыкніце правай кнопкай мышы шлях у справаздачы па часе, навядзіце курсор на «Знайсьці шлях» і выберыце «Знайсьці на тэхналагічнай карце» Viewэ.
Паменшыце сетку з высокім адкідам
Высокія веерныя сеткі могуць выклікаць перагрузку рэсурсаў, тым самым ускладняючы час закрыцця. Увогуле, кампілятар аўтаматычна кіруе высокімі сеткамі развешвання, звязанымі з гадзіннікамі. Кампілятар аўтаматычна прасоўвае распазнаныя сеткі з высокім размахам у глабальную тактавую сетку. Кампілятар прыкладае больш намаганняў па аптымізацыі падчас месца і маршрутуtages, што прыводзіць да выгаднага дублявання рэестраў. У наступных кутніх выпадках вы можаце дадаткова паменшыць перагрузку, зрабіўшы наступныя змены ўручную ў вашым дызайне RTL:
Вуглавыя чахлы з сеткай з высокім адкідам
Характарыстыка дызайну | Ручная аптымізацыя RTL |
Высокія разгалінаваныя сеткі, якія дасягаюць многіх іерархій або фізічна аддаленых пунктаў прызначэння | Укажыце прызначэнне duplicate_hierarchy_depth у апошнім рэгістры ў канвееры, каб уручную дубляваць сеткі з высокім размахам па іерархіях. Укажыце прызначэнне duplicate_register для дублікатаў рэгістраў падчас размяшчэння. |
Канструкцыі з сігналамі кіравання для DSP або блокаў памяці M20K з камбінацыйнай логікі | Кіруйце сігналам кіравання ў памяць DSP або M20K з рэгістра. |
Зарэгіструйце дубляванне ў розных іерархіях
Вы можаце задаць прызначэнне duplicate_hierarchy_depth для апошняга рэгістра ў канвееры, каб накіроўваць стварэнне дублікатаў рэгістра і развешванне. Наступныя малюнкі ілюструюць уплыў наступнага прызначэння duplicate_hierarchy_depth:
set_instance_assignment -name duplicate_hierarchy_depth -to \
Дзе:
- register_name—апошні рэгістр у ланцужку, які разгортваецца да некалькіх іерархій.
- level_number—колькасць рэгістраў у ланцужку для дублявання.
Малюнак 9. Перад дубляваннем рэгістра
Усталюйце прызначэнне duplicate_hierarchy_depth, каб рэалізаваць дубляванне рэгістраў у розных іерархіях і стварыць дрэва рэгістраў пасля апошняга рэгістра ў ланцужку. Вы паказваеце імя рэестра і колькасць дублікатаў, прадстаўленых M у наступным прыкладзеampле. Чырвоныя стрэлкі паказваюць магчымыя месцы дублікатаў рэестраў.
- set_instance_assignment –імя DUPLICATE_HIERARCHY_DEPTH –у regZ M
Дубліраванне рэгістра = 1
Вызначэнне наступнага аднаго ўзроўню дублявання рэгістра (M=1) дублюе адзін рэгістр (regZ) на адзін узровень іерархіі праектавання:
- set_instance_assignment –імя DUPLICATE_HIERARCHY_DEPTH –у regZ 1
Дубліраванне рэгістра = 3
Вызначэнне трох узроўняў дублявання рэгістраў (M=3) дублюе тры рэгістра (regZ, regY, regX) на тры, два і адзін узровень іерархіі адпаведна:
- set_instance_assignment –імя DUPLICATE_HIERARCHY_DEPTH –у regZ 3
Дзякуючы дубліраванню і адцісканню рэгістраў у іерархіі, дызайн захоўвае аднолькавую колькасць цыклаў да ўсіх пунктаў прызначэння, адначасова значна паскараючы прадукцыйнасць на гэтых шляхах.
Дубліраванне рэгістрацыі падчас размяшчэння
Малюнак 12 на старонцы 11 паказвае рэгістр з высокім размахам да шырока распаўсюджанай вобласці мікрасхемы. Прадубліраваўшы гэты рэгістр 50 разоў, вы можаце паменшыць адлегласць паміж рэестрам і пунктамі прызначэння, што ў канчатковым выніку прывядзе да больш хуткай працы гадзінніка. Прызначэнне duplicate_register дазваляе кампілятару выкарыстоўваць фізічную блізкасць, каб накіроўваць размяшчэнне новых рэгістраў, якія забяспечваюць падмноства развешванняў.
Малюнак 12. Дубліраванне рэгістра падчас размяшчэння
Заўвага: Каб трансляваць сігнал праз чып, выкарыстоўвайце мультыtagэлектронны трубаправод. Прымяніць прызначэнне duplicate_register да кожнага з рэестраў у канвееры. Гэты метад стварае дрэвападобную структуру, якая транслюе сігнал праз чып.
ViewВынікі дублявання
Пасля сінтэзу дызайну, view вынікі дубліравання ў зводнай справаздачы дублявання іерархічнага дрэва ў тэчцы сінтэзу справаздачы аб кампіляцыі. Справаздача змяшчае наступнае:
- Інфармацыя аб рэестрах, якія маюць прызначэнне duplicate_hierarchy_depth.
- Прычына даўжыні ланцужка, якую вы можаце выкарыстоўваць у якасці адпраўной кропкі для далейшых паляпшэнняў з прызначэннем.
- Інфармацыя аб асобных рэгістрах у ланцужку, якую можна выкарыстоўваць, каб лепш зразумець структуру рэалізаваных дублікатаў.
Справаздача Fitter таксама ўключае раздзел аб рэгістрах, якія маюць параметр duplicate_register.
Прымяніць метады аптымізацыі кампілятара
Канструкцыі, якія выкарыстоўваюць вельмі высокі працэнтtagРэсурсы прылады FPGA могуць выклікаць перагрузку рэсурсаў, што прывядзе да зніжэння fMAX і больш складанага часу закрыцця. Налады рэжыму аптымізацыі кампілятара дазваляюць вызначыць фокус намаганняў кампілятара падчас сінтэзу. Напрыкладample, вы аптымізуеце сінтэз для Area або Routability пры вырашэнні перагрузкі рэсурсаў. Вы можаце паэксперыментаваць з камбінацыямі гэтых жа параметраў рэжыму аптымізацыі ў Intel Quartus Prime Design Space Explorer II. Гэтыя налады і іншыя ручныя метады могуць дапамагчы вам паменшыць перагрузку ў часта выкарыстоўваюцца дызайнах.
Праблема закрыцця часу
- Канструкцыі з вельмі высокім выкарыстаннем рэсурсаў прылады ўскладняюць час закрыцця.
Рашэнні для закрыцця тэрмінаў
- Ужывайце рэжымы і стратэгіі аптымізацыі кампілятара на старонцы 13 — укажыце асноўную мэту рэжыму аптымізацыі для сінтэзу дызайну.
- Паэксперыментуйце з параметрамі плошчы і магчымасці маршрутызацыі на старонцы 16—прымяніце дадатковыя наборы налад, каб паменшыць загружанасць і дасягнуць мэтаў па плошчы і магчымасці маршрутызацыі.
- Разгледзім фрактальны сінтэз для арыфметычна інтэнсіўных канструкцый на старонцы 16—Для высокапрапускных і арыфметычна інтэнсіўных канструкцый фрактальны сінтэз зніжае выкарыстанне рэсурсаў прылады за кошт рэгулярызацыі множніка, паўторнага часу і бесперапыннай арыфметычнай упакоўкі.
Звязаная інфармацыя
- Раздзел «Час закрыцця і аптымізацыя», Кіраўніцтва карыстальніка Intel Quartus Prime Pro Edition: аптымізацыя дызайну
- Кіраўніцтва карыстальніка Intel Quartus Prime Pro Edition: кампіляцыя дызайну
Прымяніць рэжымы і стратэгіі аптымізацыі кампілятара
Выкарыстоўвайце наступную інфармацыю, каб прымяніць рэжымы аптымізацыі кампілятара і стратэгіі кампіляцыі Design Space Explorer II (DSE II).
Эксперыментуйце з параметрамі рэжыму аптымізацыі кампілятара
Каб паэксперыментаваць з наладамі рэжыму аптымізацыі кампілятара, выканайце наступныя дзеянні:
- Стварыце або адкрыйце праект Intel Quartus Prime.
- Каб задаць стратэгію высокаўзроўневай аптымізацыі Кампілятара, пстрыкніце Прызначэнні ➤ Налады ➤ Налады кампілятара. Паэксперыментуйце з любымі з наступных параметраў рэжыму, як апісана ў табліцы 4 на старонцы 14.
- Каб скампіляваць дызайн з гэтымі параметрамі, націсніце "Пачаць кампіляцыю" на панэлі кампіляцыі.
- View вынікі кампіляцыі ў справаздачы аб кампіляцыі.
- Націсніце "Інструменты" ➤ "Аналізатар часу", каб view вынікі аптымізацыі параметраў па прадукцыйнасці.
Налады рэжыму аптымізацыі кампілятара
Рэжымы аптымізацыі (старонка налад кампілятара)
Рэжым аптымізацыі | Апісанне |
Збалансаваны (нармальны паток) | Кампілятар аптымізуе сінтэз для збалансаванай рэалізацыі з захаваннем абмежаванняў па часе. |
Высокая прадукцыйнасць | Кампілятар павялічвае намаганні па аптымізацыі сінхранізацыі падчас размяшчэння і маршрутызацыі, а таксама забяспечвае аптымізацыю фізічнага сінтэзу, звязаную з сінтэзам (налады аптымізацыі рэгістра). Кожная дадатковая аптымізацыя можа павялічыць час кампіляцыі. |
Высокая прадукцыйнасць з максімальным высілкам размяшчэння | Уключае тую ж аптымізацыю кампілятара, што і Высокая прадукцыйнасць, з дадатковымі намаганнямі па аптымізацыі размяшчэння. |
Найвышэйшая прадукцыйнасць | Уключае тую ж аптымізацыю кампілятара, што і Высокая прадукцыйнасць, і дадае больш аптымізацый падчас аналізу і сінтэзу для максімальнага павышэння прадукцыйнасці праектавання з патэнцыйным павелічэннем лагічнай вобласці. Калі выкарыстанне канструкцыі ўжо вельмі высокае, гэты варыянт можа прывесці да цяжкасцей пры падборцы, што таксама можа негатыўна паўплываць на агульную якасць аптымізацыі. |
Найвышэйшая прадукцыйнасць пры максімальных намаганнях па размяшчэнні | Уключае тую ж аптымізацыю кампілятара, што і Найвышэйшая прадукцыйнасць, з дадатковымі намаганнямі па аптымізацыі размяшчэння. |
Агрэсіўная зона | Кампілятар прыкладае сур'ёзныя намаганні, каб паменшыць плошчу прылады, неабходную для рэалізацыі праекту, за патэнцыйную шкоду прадукцыйнасці дызайну. |
Высокая магчымасць размяшчэння | Кампілятар прыкладае вялікія намаганні для маршрутызацыі дызайну за патэнцыйны кошт вобласці праектавання, прадукцыйнасці і часу кампіляцыі. Кампілятар марнуе дадатковы час на памяншэнне выкарыстання маршрутызацыі, што можа палепшыць магчымасць маршрутызацыі, а таксама эканоміць дынамічную магутнасць. |
Высокая ўпакоўка Routability намаганні | Кампілятар прыкладае вялікія намаганні для маршрутызацыі дызайну за патэнцыйны кошт вобласці праектавання, прадукцыйнасці і часу кампіляцыі. Кампілятар марнуе дадатковы час на ўпакоўку рэгістраў, што можа палепшыць маршрутызацыю, а таксама эканоміць дынамічную магутнасць. |
Аптымізацыя Netlist для маршрутызацыі | Кампілятар уносіць мадыфікацыі спісу злучэнняў для павышэння магчымасці маршрутызацыі за кошт магчымага зніжэння прадукцыйнасці. |
працяг... |
Рэжым аптымізацыі | Апісанне |
Высілак высокай магутнасці | Кампілятар прыкладае вялікія намаганні для аптымізацыі сінтэзу для нізкай магутнасці. Высілак высокай магутнасці павялічвае час выканання сінтэзу. |
Агрэсіўная сіла | Робіць агрэсіўныя намаганні для аптымізацыі сінтэзу для нізкай магутнасці. Кампілятар яшчэ больш зніжае выкарыстанне маршрутызацыі сігналаў з найбольшай зададзенай або разліковай хуткасцю пераключэння, эканомячы дадатковую дынамічную магутнасць, але патэнцыйна ўплываючы на прадукцыйнасць. |
Агрэсіўны час кампіляцыі | Скарачае час кампіляцыі, неабходны для рэалізацыі дызайну, з меншай колькасцю намаганняў і меншай колькасцю аптымізацый прадукцыйнасці. Гэты параметр таксама адключае некаторыя функцыі падрабязных справаздач.
Заўвага: Уключэнне Агрэсіўны час кампіляцыі дазваляе налады Intel Quartus Prime File Налады (.qsf), якія не могуць быць перавызначаны іншымі наладамі .qsf. |
Стратэгіі кампіляцыі Design Space Explorer II
DSE II дазваляе знайсці аптымальныя налады праекта для мэтаў аптымізацыі рэсурсаў, прадукцыйнасці або магутнасці. DSE II дазваляе ітэрацыйна кампіляваць праект з выкарыстаннем розных прадусталяваных камбінацый параметраў і абмежаванняў для дасягнення пэўнай мэты. Затым DSE II паведамляе аб найлепшай камбінацыі налад для дасягнення вашых мэтаў. DSE II таксама можа выкарыстоўваць Advantage магчымасці паралелізацыі для кампіляцыі пачатковых кодаў на некалькіх кампутарах. Налады стратэгіі кампіляцыі DSE II паўтараюць налады рэжыму аптымізацыі ў табліцы 4 на старонцы 14
Design Space Explorer II
Выканайце наступныя дзеянні, каб вызначыць стратэгію кампіляцыі для DSE II:
- Каб запусціць DSE II (і закрыць праграмнае забеспячэнне Intel Quartus Prime), націсніце Інструменты ➤ Запусціць Design Space Explorer II. DSE II адкрываецца пасля закрыцця праграмнага забеспячэння Intel Quartus Prime.
- На панэлі інструментаў DSE II пстрыкніце значок Exploration.
- Разгарніце пункты даследавання.
- Выберыце Даследаванне дызайну. Уключыце любую са стратэгій кампіляцыі, каб запусціць даследаванні дызайну, накіраваныя на гэтыя стратэгіі.
Паменшыце заторы для высокага выкарыстання
Дызайн, які выкарыстоўвае больш за 80% рэсурсаў прылады, звычайна ўяўляе найбольшую цяжкасць у часе закрыцця. Вы можаце прымяніць наступныя ручныя і аўтаматызаваныя метады для далейшага памяншэння затораў і спрашчэння часу закрыцця.
- Паэксперыментуйце з параметрамі плошчы і магчымасці маршрутызацыі на старонцы 16
- Разгледзім фрактальны сінтэз для арыфметычна інтэнсіўных праектаў на старонцы 16
Паэксперыментуйце з параметрамі плошчы і магчымасці маршрутызацыі
Калі выкарыстанне прылады выклікае перагрузку маршрутызацыі, вы можаце паэксперыментаваць з наладамі аптымізацыі вобласці і магчымасці маршрутызацыі, каб знізіць выкарыстанне рэсурсаў і перагружанасць вашага праекта. Пстрыкніце Прызначэнні ➤ Налады ➤ Налады кампілятара ➤ Рэжым аптымізацыі, каб атрымаць доступ да гэтых налад:
Параметры плошчы і магчымасці маршрутызацыі
Разгледзім фрактальны сінтэз для арыфметычна інтэнсіўных праектаў
Для праектаў з высокай прапускной здольнасцю і інтэнсіўнай арыфметыкай вы можаце ўключыць аўтаматычную аптымізацыю фрактальнага сінтэзу для паляпшэння выкарыстання рэсурсаў прылады. Аптымізацыі фрактальнага сінтэзу ўключаюць рэгулярызацыю множніка і паўторнае часаванне, а таксама бесперапынную арыфметычную ўпакоўку. Аптымізацыі накіраваны на праекты з вялікай колькасцю арыфметычных аперацый з нізкай дакладнасцю (такіх як складанне і множанне). Вы можаце ўключыць фрактальны сінтэз глабальна або толькі для пэўных множнікаў. У ідэальных умовах аптымізацыя фрактальнага сінтэзу можа дасягнуць памяншэння плошчы на 20-45%.
Рэгулярізацыя множніка і паўторны час
Рэгулярізацыя множніка і паўторны час выканання вываду высокааптымізаваных рэалізацый мяккага множніка. Кампілятар можа прымяніць зваротны паўторны час да двух або больш канвеераўtages, калі патрабуецца. Калі вы ўключаеце фрактальны сінтэз, кампілятар прымяняе рэгулярызацыю множніка і паўторнае часаванне да множнікаў са знакам і без знака.
Малюнак 16. Паўторны час множніка
УВАГА
- Рэгулярізацыя множніка выкарыстоўвае толькі лагічныя рэсурсы і не выкарыстоўвае блокі DSP.
- Рэгулярізацыя множніка і паўторны час прымяняюцца як да знакавых, так і да беззнакавых множнікаў у модулях, дзе ўстаноўлена прызначэнне FRACTAL_SYNTHESIS QSF.
Бесперапынная арыфметычная ўпакоўка
Бесперапынная арыфметычная ўпакоўка паўторна сінтэзуе арыфметычныя вароты ў лагічныя блокі аптымальнага памеру для размяшчэння ў Intel FPGA LAB. Гэтая аптымізацыя дазваляе да 100% выкарыстоўваць рэсурсы LAB для арыфметычных блокаў. Калі вы ўключаеце фрактальны сінтэз, кампілятар прымяняе гэтую аптымізацыю да ўсіх ланцугоў пераносу і лагічных варот з двума ўваходамі. Гэтая аптымізацыя можа спакаваць суматарныя дрэвы, множнікі і любую іншую логіку, звязаную з арыфметыкай.
Бесперапынная арыфметычная ўпакоўка
УВАГА
Звярніце ўвагу, што бесперапынная арыфметычная ўпакоўка працуе незалежна ад рэгулярызацыі множніка. Такім чынам, калі вы выкарыстоўваеце множнік, які не з'яўляецца рэгулярным (напрыклад, пішаце свой уласны множнік), то бесперапыннае арыфметычнае ўпакоўванне можа працаваць. Аптымізацыя фрактальнага сінтэзу найбольш падыходзіць для канструкцый з паскаральнікамі глыбокага навучання або іншымі функцыямі з высокай прапускной здольнасцю і інтэнсіўнымі арыфметычнымі вылічэннямі, якія перавышаюць усе рэсурсы DSP. Уключэнне фрактальнага сінтэзу ва ўсім праекце можа выклікаць непатрэбнае раздзіманне модуляў, якія не падыходзяць для фрактальнай аптымізацыі.
Уключэнне або адключэнне фрактальнага сінтэзу
Для прылад Intel Stratix® 10 і Intel Agilex™ аптымізацыя фрактальнага сінтэзу выконваецца аўтаматычна для малых множнікаў (любы аператар A*B у Verilog HDL або VHDL, дзе разраднасць аперандаў складае 7 або менш). Вы таксама можаце адключыць аўтаматычны фрактальны сінтэз для малых множнікаў для гэтых прылад, выкарыстоўваючы любы з наступных метадаў:
- У RTL усталюйце мультыстыль DSP, як апісвае «Атрыбут сінтэзу Multstyle Verilog HDL». Напрыкладample: (* multstyle = “dsp” *) модуль foo(…); модуль foo(..) /* сінтэз multstyle = “dsp” */;
- У .qsf file, дадайце ў якасці прызначэння наступным чынам: set_instance_assignment -name DSP_BLOCK_BALANCING_IMPLEMENTATION \DSP_BLOCKS -to r
Акрамя таго, для прылад Intel Stratix 10, Intel Agilex, Intel Arria® 10 і Intel Cyclone® 10 GX вы можаце ўключыць фрактальны сінтэз глабальна або для пэўных множнікаў з дапамогай параметра Fractal Synthesis GUI або адпаведнага прызначэння FRACTAL_SYNTHESIS .qsf:
- У RTL выкарыстоўвайце altera_attribute наступным чынам: (* altera_attribute = “-name FRACTAL_SYNTHESIS ON” *)
- У .qsf file, дадайце ў якасці прысваення наступным чынам: set_global_assignment -name FRACTAL_SYNTHESIS ON -entity
У карыстальніцкім інтэрфейсе выканайце наступныя дзеянні:
- Націсніце «Заданні» ➤ «Рэдактар заданняў».
- Выберыце «Фрактальны сінтэз» для «Імя прысваення», «Уключана» для «Значэння», назву аб'екта з інтэнсіўнай арыфметыкай для «Аб'екта» і назву асобніка ў слупку «Каму». Вы можаце ўвесці падстаноўны знак (*) для Каму, каб прызначыць усе асобнікі аб'екта.
Малюнак 18. Прызначэнне фрактальнага сінтэзу ў рэдактары прызначэнняў
Звязаная інфармацыя
- Атрыбут сінтэзу HDL Verilog Multstyle
- У даведцы Intel Quartus Prime.
Захаванне здавальняючых вынікаў
Вы можаце спрасціць замыканне па часе, анатаваўшы назад здавальняючыя вынікі кампіляцыі, каб заблакіраваць размяшчэнне вялікіх блокаў, звязаных з гадзіннікамі, аператыўнай памяццю і DSP. Падобным чынам тэхніка паўторнага выкарыстання блока праектавання дазваляе захаваць здавальняючыя вынікі кампіляцыі для пэўных блокаў канструкцыі перыферыі FPGA або асноўных лагічных блокаў (логікі, якая змяшчае асобнік іерархічнага дызайну), а затым паўторна выкарыстоўваць гэтыя блокі ў наступных кампіляцыях. Пры паўторным выкарыстанні блока дызайну вы прызначаеце іерархічны асобнік як раздзел дызайну, а затым захоўваеце і экспартуеце раздзел пасля паспяховай кампіляцыі. Захаванне і паўторнае выкарыстанне здавальняючых вынікаў дазваляе засяродзіць намаганні і час кампілятара толькі на тых частках праекту, якія не маюць закрытага часу.
Праблема закрыцця часу
- Калі кампілятар не заблакіраваны, ён можа рэалізаваць блокі дызайну, тактавыя частоты, аператыўную памяць і DSP па-рознаму ад кампіляцыі да кампіляцыі ў залежнасці ад розных фактараў.
Рашэнні для закрыцця тэрмінаў
- Блакіроўка тактавых сігналаў, аператыўнай памяці і DSP на старонцы 20—звярніце ўвагу на здавальняючыя вынікі кампіляцыі, каб заблакіраваць размяшчэнне вялікіх блокаў, звязаных з тактавымі сігналамі, аператыўнай памяццю і DSP.
- Захаваць вынікі раздзелаў дызайну на старонцы 21—захаваць раздзелы для блокаў, якія адпавядаюць тэрмінам, і сканцэнтраваць аптымізацыю на іншых блоках дызайну.
Звязаная інфармацыя
- Даведка ў дыялогавым акне "Назад-каментаванне прызначэнняў".
- AN-899: Скарачэнне часу кампіляцыі з хуткім захаваннем
- Кіраўніцтва карыстальніка Intel Quartus Prime Pro Edition: блочны дызайн
Блакаванне гадзіннікаў, аператыўных памяці і DSP
Вы можаце спрасціць замыканне па часе, анатаваўшы назад здавальняючыя вынікі кампіляцыі, каб заблакіраваць размяшчэнне вялікіх блокаў, звязаных з гадзіннікамі, аператыўнай памяццю і DSP. Блакаванне размяшчэння вялікіх блокаў можа даць больш высокі fMAX з меншым шумам. Блакіроўка вялікіх блокаў, такіх як RAM і DSP, можа быць эфектыўнай, таму што гэтыя блокі маюць больш цяжкую сувязь, чым звычайныя LAB, што ўскладняе рух падчас размяшчэння. Калі зыходны код дае добрыя вынікі пры падыходным размяшчэнні аператыўнай памяці і DSP, вы можаце зафіксаваць гэтае размяшчэнне з дапамогай зваротнай анатацыі. Наступныя кампіляцыі могуць атрымаць выгаду з высакаякаснага размяшчэння аператыўнай памяці і DSP з добрага пачатковага кода. Гэты метад не прыносіць істотнай карысці дызайнам з вельмі невялікай колькасцю аператыўнай памяці або DSP. Пстрыкніце «Прызначэнні» ➤ «Назад-Анатуйце прызначэнні», каб скапіяваць прызначэнні рэсурсаў прылады з апошняй кампіляцыі ў .qsf для выкарыстання ў наступнай кампіляцыі. Выберыце тып зваротнай анатацыі ў спісе Тып зваротнай анатацыі.
Дыялогавае акно прызначэнняў з анатаваннямі
Акрамя таго, вы можаце запусціць зваротную анатацыю з наступным выканальным файлам quartus_cdb. quartus_cdb –back_annotate [–dsp] [–ram] [–гадзіннік]
УВАГА
- Выкананы файл падтрымлівае дадатковыя зменныя [–dsp], [–ram] і [–clock], якія пакуль не падтрымліваюцца ў дыялогавым акне Back-Annotate Assignments.
Захаваць вынікі падзелу дызайну
УВАГА
- Пасля раздзялення дызайну вы можаце захаваць раздзелы для блокаў, якія адпавядаюць часу, і сканцэнтраваць аптымізацыю на іншых блоках дызайну. Акрамя таго, параметр Fast Preserve спрашчае логіку захаванага падзелу, каб толькі логіка інтэрфейсу падчас кампіляцыі, тым самым скарачаючы час кампіляцыі для падзелу. Fast Preserve падтрымлівае толькі паўторнае выкарыстанне каранёвага раздзела і частковую рэканфігурацыю. Для канструкцый з падмодулямі, якія складаныя для закрыцця па часе, вы можаце выканаць аўтаномную аптымізацыю і кампіляцыю падзелу модуля, а затым экспартаваць закрыты па часе модуль, каб захаваць рэалізацыю ў наступных кампіляцыях.
Захаванне вынікаў дызайну падзелу
Дызайн на аснове блокаў патрабуе падзелу дызайну. Раздзяленне дызайну дазваляе захаваць асобныя лагічныя блокі ў вашым дызайне, але можа таксама прывесці да патэнцыйнай страты прадукцыйнасці з-за перасячэння раздзелаў і эфектаў плана паверха. Вам трэба збалансаваць гэтыя фактары пры выкарыстанні блокавых метадаў праектавання. Наступныя этапы высокага ўзроўню апісваюць паток захавання падзелу для праектаў паўторнага выкарыстання каранёвага падзелу:
- Націсніце Апрацоўка ➤ Пуск ➤ Пачаць аналіз і распрацоўку.
- У навігатары праектаў пстрыкніце правай кнопкай мышы асобнік праекту, закрытага па часе, навядзіце курсор на раздзел Design Partition і выберыце тып раздзела, як апісана ў Наладах дызайну Partition на старонцы 23.
Стварэнне дызайнерскіх перагародак
- Вызначце абмежаванні планіроўкі паверхаў Logic Lock для перагародкі. У акне Design Partitions Window пстрыкніце падзел правай кнопкай мышы, а затым выберыце Logic Lock Region ➤ Create New Logic Lock Region. Пераканайцеся, што вобласць дастаткова вялікая, каб змясціць усю логіку ў падзеле.
- Каб экспартаваць вынікі падзелу пасля кампіляцыі, у акне дызайну падзелаў укажыце раздзел .qdb у якасці постфінальнага экспарту File.
Пасля канчатковага экспарту File
- Каб скампіляваць дызайн і экспартаваць раздзел, націсніце «Скампіляваць дызайн» на панэлі кампіляцыі.
- Адкрыйце праект верхняга ўзроўню ў праграмным забеспячэнні Intel Quartus Prime.
- Націсніце Прызначэнні ➤ Налады ➤ Налады кампілятара ➤ Паступовая кампіляцыя. Уключыце опцыю Fast Preserve.
Варыянт хуткага захавання
- Націсніце OK.
- У акне «Дызайн раздзелаў» укажыце экспартаваны .qdb як базу дадзеных раздзелаў File для разгляданага падзелу. Гэты .qdb цяпер з'яўляецца крыніцай для гэтага падзелу ў праекце. Калі вы ўключаеце опцыю Fast Preserve, кампілятар памяншае логіку імпартаванага падзелу толькі да логікі інтэрфейсу, тым самым скарачаючы час кампіляцыі, які патрабуецца падзелу.
Налады падзелу дызайну
Налады падзелу дызайну
Варыянт | Апісанне |
Назва падзелу | Вызначае імя падзелу. Імя кожнага раздзела павінна быць унікальным і складацца толькі з літар і лічбаў. Праграмнае забеспячэнне Intel Quartus Prime аўтаматычна стварае «root_partition» верхняга ўзроўню (|) для кожнай версіі праекта. |
Шлях іерархіі | Вызначае іерархічны шлях асобніка аб'екта, які вы прызначаеце падзелу. Вы паказваеце гэта значэнне ў Стварыць новы раздзел дыялогавае акно. Шлях іерархіі каранёвага падзелу |. |
Тып | Пстрыкніце двойчы, каб вызначыць адзін з наступных тыпаў падзелаў, якія кантралююць, як Кампілятар апрацоўвае і рэалізуе падзелы: |
працяг... |
Варыянт | Апісанне |
• Па змаўчанні— Ідэнтыфікуе стандартны падзел. Кампілятар апрацоўвае падзел з выкарыстаннем звязанай крыніцы дызайну files.
• Рэканфігуруецца— Ідэнтыфікуе пераканфігураваны падзел у патоку частковай пераканфігурацыі. Укажыце Рэканфігуруецца тыпу для захавання вынікаў сінтэзу, дазваляючы пераўсталяваць раздзел у патоку PR. • Зарэзерваванае ядро— Ідэнтыфікуе раздзел у працэсе праектавання на аснове блокаў, які зарэзерваваны для распрацоўкі ядра спажыўцом пры паўторным выкарыстанні перыферыі прылады. |
|
Узровень захаванасці | Вызначае адзін з наступных узроўняў захаванасці для падзелу:
• Не ўстаноўлена— не вызначае ўзровень захаванасці. Падзел кампілюецца з зыходнага кода files. • сінтэзаваны—раздзел кампілюецца з выкарыстаннем сінтэзаванага здымка. • канчатковы—раздзел кампілюецца з выкарыстаннем канчатковага здымка. з Узровень захаванасці of сінтэзаваны or канчатковы, змены зыходнага кода не адлюстроўваюцца ў сінтэзе. |
Пусты | Вызначае пусты падзел, які кампілятар прапускае. Гэты параметр несумяшчальны з Зарэзерваванае ядро і Падзел базы дадзеных File налады для таго ж падзелу. The Узровень захаванасці павінна быць Не ўстаноўлена. Пусты раздзел не можа мець даччыных раздзелаў. |
Падзел базы дадзеных File | Вызначае раздзел базы даных File (.qdb), які выкарыстоўвае кампілятар падчас кампіляцыі падзелу. Вы экспартуеце .qdb для stage кампіляцыі, якую вы хочаце паўторна выкарыстаць (сінтэзаванай або канчатковай). Прызначце .qdb раздзелу, каб паўторна выкарыстоўваць гэтыя вынікі ў іншым кантэксце. |
Паўторнае прывязванне сутнасці | • PR Flow—вызначае сутнасць, якая замяняе персону па змаўчанні ў кожнай рэвізіі рэалізацыі.
• Паток паўторнага выкарыстання каранёвага раздзела — вызначае аб'ект, які замяняе зарэзерваваную асноўную логіку ў спажывецкім праекце. |
Колер | Вызначае каляровую маркіроўку падзелу на экранах планавальніка мікрасхем і планіроўшчыка падзелаў дызайну. |
Экспарт пасля сінтэзу File | Аўтаматычна экспартуе вынікі кампіляцыі пасля сінтэзу для падзелу ў .qdb, які вы ўказваеце, пры кожным запуску Analysis & Synthesis. Вы можаце аўтаматычна экспартаваць любы раздзел дызайну, які не мае захаванага бацькоўскага падзелу, у тым ліку root_partition. |
Пасля канчатковага экспарту File | Аўтаматычна экспартуе вынікі пасляфінальнай кампіляцыі для падзелу ў .qdb, які вы ўказваеце, кожны раз, калі канчатковы stagе Мантажніка працуе. Вы можаце аўтаматычна экспартаваць любы раздзел дызайну, які не мае захаванага бацькоўскага падзелу, у тым ліку root_partition. |
AN 903 Гісторыя рэдагавання дакумента
Гэты дакумент мае наступную гісторыю пераглядаў:
Версія дакумента | Версія Intel Quartus Prime | Змены |
2021.02.25 | 19.3 | Заменена «цягнуць» на «напружанне». Аналіз і аптымізацыя дызайну RTL тэма. |
2020.03.23 | 19.3 | Выпраўлена сінтаксічная памылка ў кодзе sampу тэме «Блакаванне гадзіннікаў, аператыўных памяці і DSP». |
2019.12.03 | 19.3 | • Першы публічны рэліз. |
Дакументы / Рэсурсы
![]() |
Intel AN 903 паскарае час закрыцця [pdfКіраўніцтва карыстальніка AN 903 Паскарэнне часу закрыцця, AN 903, Паскарэнне часу закрыцця, Час закрыцця |