intel AN 903 Akselerasi Wektu Penutupan
AN 903: Nyepetake Penutupan Wektu ing Intel® Quartus® Prime Pro Edition
Kapadhetan lan kerumitan desain FPGA modern, sing nggabungake sistem sing dipasang, IP, lan antarmuka kacepetan dhuwur, nambah tantangan kanggo nutup wektu. Owah-owahan arsitektur pungkasan lan tantangan verifikasi bisa nyebabake pengulangan desain sing akeh wektu. Dokumen iki ngringkes telung langkah kanggo nyepetake penutupan wektu nggunakake metodologi sing wis diverifikasi lan bisa diulang ing piranti lunak Intel® Quartus® Prime Pro Edition. Metodologi iki kalebu analisis lan optimasi RTL awal, uga teknik otomatis kanggo nyilikake wektu kompilasi lan nyuda kerumitan desain lan iterasi sing dibutuhake kanggo penutupan wektu.
Langkah-langkah Percepatan Penutupan Wektu
Langkah-langkah Percepatan Penutupan Wektu
Langkah Penutupan Wektu | Kegiatan Penutupan Wektu | Info rinci |
Langkah 1: Nganalisis lan Ngoptimalake RTL | • Pelanggaran Asisten Desain sing bener ing kaca 4
• Ngurangi Level Logika ing kaca 7 • Ngurangi High Fan-Out Nets ing kaca 9 |
• Intel Quartus Prime Pro Pandhuan pangguna edisi: Desain Optimasi
• Intel Quartus Prime Pro Pandhuan pangguna edisi: Desain Rekomendasi |
Langkah 2: Aplikasi Optimization Compiler | • Aplikasi Mode Optimization Compiler lan Sastranegara ing kaca 13
• Ngurangi Kemacetan kanggo Pemanfaatan Dhuwur ing kaca 16 |
• Intel Quartus Prime Pro Pandhuan pangguna edisi: Desain Kompilasi
• Intel Quartus Prime Pro Pandhuan pangguna edisi: Desain Optimasi |
Langkah 3: Ngreksa Asil Marem | • Ngunci Jam, RAM, lan DSP ing kaca 20
• Ngreksa Hasil Partisi Desain ing kaca 21 |
• Intel Quartus Prime Pro Panduan Pengguna Edisi: Blok- Desain adhedhasar |
Langkah 1: Analisis lan Ngoptimalake Desain RTL
Ngoptimalake kode sumber desain sampeyan biasane minangka teknik pisanan lan paling efektif kanggo ningkatake kualitas asil sampeyan. Asisten Desain Perdhana Intel Quartus mbantu sampeyan mbenerake kanthi cepet nglanggar aturan desain dhasar, lan menehi rekomendasi owah-owahan RTL sing nyederhanakake optimasi desain lan penutupan wektu.
Masalah Penutupan Wektu
- Tingkat logika sing gedhe banget mengaruhi urutan pangolahan Fitter, durasi, lan kualitas asil.
- Jaring penggemar dhuwur nyebabake kemacetan sumber daya lan nambah ketegangan tambahan ing jalur data, ora perlu nambah kritisitas jalur, lan nutup wektu sing rumit. Ketegangan iki minangka daya tarik sing narik dalan (lan kabeh jalur sing nuduhake sinyal penggemar-metu dhuwur) menyang sumber penggemar-metu dhuwur.
Solusi Penutupan Wektu
- Pelanggaran Asisten Desain sing bener ing kaca 4-kanggo ngenali lan mbenerake kanthi cepet nglanggar aturan desain dhasar sing cocog karo desain sampeyan.
- Ngurangi Tingkat Logika ing kaca 7-kanggo mesthekake yen kabeh unsur desain bisa nampa optimasi Fitter sing padha lan nyuda wektu kompilasi.
- Ngurangi Jaring Penggemar Dhuwur ing kaca 9—kanggo nyuda kemacetan sumber daya lan nyederhanakake wektu nutup.
Informasi sing gegandhengan
- "Pemeriksaan Aturan Desain karo Asisten Desain," Pandhuan Pangguna Intel Quartus Prime Pro Edition: Rekomendasi Desain
- "Kode Sumber Optimize," Pandhuan Pangguna Intel Quartus Prime Pro Edition: Optimasi Desain
- "Dhaptar Duplikat kanggo Kontrol Fan-Out," Pandhuan Pangguna Intel Quartus Prime Pro Edition: Optimasi Desain
Pelanggaran Asisten Desain sing bener
Nindakake analisis desain awal kanggo ngilangi masalah penutupan wektu sing dikenal kanthi signifikan nambah produktivitas. Sawise mbukak kompilasi dhisikan karo setelan gawan, sampeyan bisa review laporan Asisten Desain kanggo analisis awal. Yen diaktifake, Asisten Desain kanthi otomatis nglaporake pelanggaran marang set standar pedoman desain sing disaranake Intel FPGA. Sampeyan bisa mbukak Asisten Desain ing mode Aliran Kompilasi, ngidini sampeyan view Pelanggaran sing cocog kanggo kompilasi stagiku sampeyan mlaku. Utawa, Asisten Desain kasedhiya ing mode analisis ing Timing Analyzer lan Chip Planner.
- Mode Aliran Kompilasi-mlaku kanthi otomatis sajrone siji utawa luwih detiktages saka kompilasi. Ing mode iki, Asisten Desain nggunakake data in-flow (transient) sajrone kompilasi.
- Mode Analisis— mbukak Asisten Desain saka Timing Analyzer lan Chip Planner kanggo nganalisa pelanggaran desain ing kompilasi tartamtutage, sadurunge maju ing alur kompilasi. Ing mode analisis, Asisten Desain nggunakake data snapshot kompilasi statis.
Asisten Desain nemtokake saben pelanggaran aturan kanthi salah sawijining tingkat keruwetan ing ngisor iki. Sampeyan bisa nemtokake aturan sing pengin dipriksa dening Asisten Desain ing desain sampeyan, lan ngatur tingkat keruwetan, saéngga ngilangi pamriksan aturan sing ora penting kanggo desain sampeyan.
Tingkat Keruwetan Aturan Asisten Desain
Kategori | Katrangan | Warna Tingkat Keruwetan |
Kritis | Ngatasi masalah kanggo hand-off. | abang |
dhuwur | Potensi nyebabake kegagalan fungsi. Bisa uga nuduhake data desain sing ilang utawa salah. | Oranye |
Sedheng | Potensi mengaruhi kualitas asil kanggo fMAX utawa panggunaan sumber daya. | coklat |
kurang | Aturan nggambarake praktik paling apik kanggo pedoman kode RTL. | Biru |
Nggawe Asisten Desain
Sampeyan bisa kanthi lengkap ngatur Asisten Desain kanggo karakteristik desain individu lan syarat laporan. Klik Assignments ➤ Settings ➤ Design Assistant Rule Settings kanggo nemtokake pilihan sing ngontrol aturan lan parameter sing ditrapake kanggo macem-macem s.tages kompilasi desain kanggo mriksa aturan desain.
Setelan Aturan Asisten Desain
Asisten Desain Running
Yen diaktifake, Asisten Desain mlaku kanthi otomatis sajrone kompilasi lan nglaporake pelanggaran aturan desain ing Laporan Kompilasi. Utawa, sampeyan bisa mbukak Asisten Desain ing Mode Analisis ing snapshot kompilasi tartamtu kanggo fokus analisis mung ingtage. Kanggo ngaktifake pamriksa Asisten Desain otomatis sajrone kompilasi:
- Aktifake eksekusi Asisten Desain sajrone kompilasi ing Setelan Aturan Asisten Desain. Kanggo nglakokake Asisten Desain ing mode analisis kanggo ngvalidasi jepretan tartamtu marang aturan desain apa wae sing ditrapake kanggo gambar gambar:
- Klik Laporkan DRC ing panel Timing Analyzer utawa Chip Planner Tasks.
Viewing lan Mbenerake Asil Desain Asisten
Laporan Asisten Desain ngaktifake nglanggar aturan desain ing macem-macem stages saka Laporan Kompilasi.
Asisten Desain Asil ing Sintesis, Rencana, Panggonan, lan Rampung Laporan
Kanggo view asil kanggo saben aturan, klik aturan ing dhaftar Aturan. Katrangan babagan aturan lan rekomendasi desain kanggo koreksi katon.
Rekomendasi Pelanggaran Aturan Asisten Desain
Ngowahi RTL kanggo mbenerake nglanggar aturan desain.
Ngurangi Level Logika
Tingkat logika sing gedhe banget bisa nyebabake kualitas asil Fitter amarga path kritis desain mengaruhi urutan lan durasi pangolahan Fitter. The Fitter panggonan lan rute desain adhedhasar wektu slack. The Fitter nempatake dalan sing luwih dawa kanthi paling sithik dhisik. Fitter umume ngutamakake jalur tingkat logika sing luwih dhuwur tinimbang jalur tingkat logika sing luwih murah. Biasane, sawise Fitter stage wis rampung, jalur kritis sing isih ana dudu jalur tingkat logika sing paling dhuwur. Fitter menehi panggonan sing disenengi, nuntun, lan retiming menyang logika tingkat sing luwih dhuwur. Ngurangi tingkat logika mbantu kanggo mesthekake yen kabeh unsur desain nampa prioritas Fitter padha. Run Reports ➤ Custom Reports ➤ Report Wektu ing Timing Analyzer kanggo ngasilake laporan sing nuduhake tingkat logika ing path. Yen path gagal wektu lan jumlah tingkat logika dhuwur, nimbang nambah pipelining ing bagean desain kanggo nambah kinerja.
Logic Depth in Path Report
Nglaporake Logic Level Depth
Sawise Plan Compiler stage, sampeyan bisa mbukak report_logic_depth ing Timing Analyzer Tcl console kanggo view jumlah tingkat logika ing domain jam. report_logic_depth nuduhake distribusi ambane logika antarane dalan kritis, ngijini sampeyan kanggo ngenali wilayah ngendi sampeyan bisa ngurangi tingkat logika ing RTL Panjenengan.
report_logic_depth -panel_name -saka [get_clocks ] \ -kanggo [njaluk_jam ]
report_logic_depth Output
Kanggo entuk data kanggo ngoptimalake RTL, mbukak report_logic_depth sawise Rencana Compiler.tage, sadurunge mlaku tetep Fitter stages. Yen ora, laporan post-Fitter uga kalebu asil saka optimasi fisik (retiming lan resintesis).
Nglaporake Path tetanggan
Sawise mlaku Fitter (Finalize) stage, sampeyan bisa mbukak report_neighbor_paths kanggo mbantu nemtokake sabab saka path kritis (kanggo example, tingkat logika dhuwur, watesan retiming, panggonan sub-optimal, I/O nyebrang kolom, terus-fix, utawa liyane): report_neighbor_paths -to_clock - jalur -panel_name
report_neighbor_paths nglapurake dalan sing paling kritis wektu ing desain, kalebu slack sing gegandhengan, informasi ringkesan jalur tambahan, lan kothak wates jalur.
report_neighbor_paths Output
report_neighbor_paths nuduhake Path paling wektu-kritis Sadurunge lan Path Sawise saben Path kritis. Retiming utawa logika wawas path bisa menakake wektu penutupan yen ana slack negatif ing Path, nanging slack positif ing Path Sadurunge utawa Path Sawise.
Kanggo ngaktifake retiming, priksa manawa opsi ing ngisor iki diaktifake:
- Kanggo Register—aktifake Tugas ➤ Setelan ➤ Setelan Compiler ➤ Optimasi Register ➤ Ngidini Registrasi Wektu
- Kanggo Titik Akhir RAM-aktifake Tugas ➤ Setelan ➤ Setelan Compiler ➤ Setelan Fitter (Lanjutan) ➤ Allow RAM Retiming
- Kanggo Titik Akhir DSP-aktifake Tugas ➤ Setelan ➤ Setelan Compiler ➤ Setelan Fitter (Lanjutan) ➤ Allow DSP Retiming
CATETAN
Yen imbangan logika luwih dibutuhake, sampeyan kudu ngowahi RTL kanthi manual kanggo mindhah logika saka Path kritis menyang Path Sadurunge utawa Path Sawise.
Yen output register disambungake menyang input, siji utawa loro-lorone path pepadhamu bisa identik karo path saiki. Nalika looking for path pepadhamu karo slack awon, kabeh kondisi operasi dianggep, ora mung kondisi operasi saka path utama dhewe.
Visualisasi Tingkat Logika ing Peta Teknologi Viewer
Peta Teknologi Viewer uga menehi skema, teknologi-peta, perwakilan saka netlist desain, lan bisa mbantu ndeleng wilayah ing desain bisa entuk manfaat saka ngurangi jumlah tingkat logika. Sampeyan uga bisa neliti tata letak fisik path ing rinci ing Planner Chip. Kanggo nemokake path wektu ing salah siji saka viewers, klik-tengen path ing laporan wektu, arah menyang Goleki Path, banjur pilih Goleki ing Peta Teknologi Viewer.
Ngurangi High Fan-Out Nets
Jaring kipas sing dhuwur bisa nyebabake kemacetan sumber daya, saéngga ngganggu penutupan wektu. Umumé, Compiler kanthi otomatis ngatur jaring penggemar dhuwur sing ana hubungane karo jam. Compiler kanthi otomatis promosi jaring penggemar dhuwur sing diakoni menyang jaringan jam global. Compiler ndadekake efforts Optimization luwih sak Panggonan lan Route stages, sing ngasilake duplikasi register sing bermanfaat. Ing kasus pojok ing ngisor iki, sampeyan uga bisa nyuda kemacetan kanthi nggawe owah-owahan manual ing RTL desain sampeyan:
Kasus Corner Net Fan-Out Dhuwur
Karakteristik Desain | Manual RTL Optimization |
Jaring penggemar dhuwur sing tekan pirang-pirang hierarki utawa tujuan fisik sing adoh | Nemtokake tugas duplicate_hierarchy_depth ing ndhaptar pungkasan ing pipa kanggo nggawe duplikat jaringan penggemar dhuwur kanthi manual ing hierarki. Nemtokake tugas duplicate_register kanggo duplikat ndhaftar sajrone penempatan. |
Desain karo sinyal kontrol kanggo DSP utawa M20K pamblokiran memori saka logika kombinasi | Drive sinyal kontrol kanggo DSP utawa memori M20K saka register a. |
Ndhaptar Duplikasi Across Hierarki
Sampeyan bisa nemtokake tugas duplicate_hierarchy_depth ing ndhaptar pungkasan ing pipa kanggo nuntun nggawe duplikasi register lan penggemar. Tokoh ing ngisor iki nggambarake pengaruh tugas duplicate_hierarchy_depth ing ngisor iki:
set_instance_assignment -jeneng duplikat_hierarchy_depth -kanggo \
ngendi:
- register_name-register pungkasan ing chain sing penggemar metu sawetara hirarki.
- level_number-jumlah ndhaftar ing chain kanggo duplikat.
Gambar 9. Sadurunge Duplikasi Register
Setel tugas duplicate_hierarchy_depth kanggo ngleksanakake duplikasi registrasi ing hierarki, lan gawe wit ndhaptar sawise ndhaptar pungkasan ing rantai. Sampeyan nemtokake jeneng ndhaftar lan jumlah duplikat sing diwakili M ing ngisor ikiample. Panah abang nuduhake lokasi potensial saka ndhaftar duplikat.
- set_instance_assignment –jeneng DUPLICATE_HIERARCHY_DEPTH –kanggo regZ M
Daftar Duplikasi = 1
Nemtokake tingkat siji saka duplikasi register (M=1) ing ngisor iki duplikat siji register (regZ) mudhun siji tingkat saka hirarki desain:
- set_instance_assignment –jeneng DUPLICATE_HIERARCHY_DEPTH –kanggo regZ 1
Daftar Duplikasi = 3
Nemtokake telung tingkat duplikasi register (M=3) duplikat telung register (regZ, regY, regX) mudhun telung, loro, lan siji tingkat hirarki, mungguh:
- set_instance_assignment –jeneng DUPLICATE_HIERARCHY_DEPTH –kanggo regZ 3
Kanthi duplikat lan push register mudhun menyang hirarki, desain nahan jumlah siklus sing padha kanggo kabeh tujuan, nalika nemen akselerasi kinerja ing dalan iki.
Register Duplikasi Sajrone Placement
Tokoh 12 ing kaca 11 nuduhake ndhaftar karo dhuwur penggemar-metu menyang area nyebar saka chip. Kanthi duplikat registrasi iki kaping 50, sampeyan bisa nyuda jarak antarane register lan tujuan sing pungkasane ngasilake kinerja jam sing luwih cepet. Nemtokake duplicate_register ngidini Compiler kanggo pengaruh jarak fisik kanggo nuntun panggonan seko saka ndhaftar anyar dipakani subset saka penggemar-out.
Gambar 12. Register Duplikasi Sajrone Panggonan
Cathetan: Kanggo nyebarake sinyal ing chip, gunakake multistage pipa. Aplikasi duplicate_register assignment kanggo saben register ing pipeline. Teknik iki nggawe struktur wit sing nyebarake sinyal ing chip kasebut.
Viewing Hasil Duplikasi
Sawise sintesis desain, view asil duplikasi ing laporan Ringkesan Duplikasi Wit Hierarkis ing folder Sintesis saka Laporan Kompilasi. Laporan kasebut nyedhiyakake ing ngisor iki:
- Informasi babagan ndhaptar sing duwe tugas duplicate_hierarchy_depth.
- Alesan kanggo dawa chain sing bisa digunakake minangka titik wiwitan kanggo dandan luwih karo assignment.
- Informasi babagan ndhaptar individu ing rantai sing bisa digunakake kanggo luwih ngerti struktur duplikat sing ditindakake.
Laporan Fitter uga kalebu bagean ing register sing duwe setelan duplicate_register.
Nerapake Teknik Optimasi Compiler
Desain sing nggunakake persentasi dhuwur bangettage saka sumber daya piranti FPGA bisa nimbulaké rame sumber, asil ing fMAX ngisor lan penutupan wektu luwih Komplek. Setelan Mode Optimization Compiler ngidini sampeyan nemtokake fokus saka efforts Compiler sak sintesis. Kanggo example, sampeyan ngoptimalake sintesis kanggo Area, utawa Routability nalika ngarahake rame sumber. Sampeyan bisa eksprimen karo kombinasi setelan Optimization Mode padha ing Intel Quartus Prime Design Space Explorer II. Setelan iki lan teknik manual liyane bisa mbantu sampeyan nyuda rame ing desain sing digunakake banget.
Masalah Penutupan Wektu
- Desain kanthi panggunaan sumber daya piranti sing dhuwur banget nyebabake penutupan wektu.
Solusi Penutupan Wektu
- Gunakake Mode lan Strategi Optimasi Compiler ing kaca 13-nemtokake tujuan mode optimasi utama kanggo sintesis desain.
- Eksperimen karo Opsi Area lan Routability ing kaca 16—terapake koleksi setelan tambahan kanggo nyuda kemacetan lan nggayuh tujuan area lan rute.
- Coba Sintesis Fraktal kanggo Desain Intensif Aritmetika ing kaca 16—Kanggo desain intensif aritmetika, sintesis fraktal nyuda panggunaan sumber daya piranti liwat regularisasi multiplier, retiming, lan pengepakan aritmetika sing terus-terusan.
Informasi sing gegandhengan
- Bab "Penutupan lan Optimasi Wektu", Pandhuan Pangguna Intel Quartus Prime Pro Edition: Optimasi Desain
- Pandhuan pangguna Intel Quartus Prime Pro Edition: Kompilasi Desain
Aplikasi Mode Optimization Compiler lan Sastranegara
Gunakake informasi ing ngisor iki kanggo aplikasi mode Optimization Compiler lan strategi kompilasi Design Space Explorer II (DSE II).
Eksperimen karo Setelan Mode Optimasi Compiler
Tindakake langkah iki kanggo eksprimen karo setelan mode optimasi Compiler:
- Nggawe utawa mbukak proyek Intel Quartus Prime.
- Kanggo nemtokake strategi optimasi tingkat dhuwur Compiler, klik Assignments ➤ Settings ➤ Compiler Settings. Eksperimen karo setelan mode ing ngisor iki, kaya sing diandharake ing Tabel 4 ing kaca 14.
- Kanggo ngumpulake desain nganggo setelan kasebut, klik Mulai Kompilasi ing Dashboard Kompilasi.
- View asil kompilasi ing Laporan Kompilasi.
- Klik Tools ➤ Timing Analyzer kanggo view asil setelan optimasi ing kinerja.
Setelan Mode Optimization Compiler
Mode Optimization (Kaca Setelan Compiler)
Mode Optimization | Katrangan |
Seimbang (aliran normal) | Compiler ngoptimalake sintesis kanggo implementasine imbang sing ngormati watesan wektu. |
Upaya Kinerja Dhuwur | Compiler nambah gaweyan optimasi wektu sak panggonan lan nuntun, lan mbisakake optimizations Sintesis Fisik sing gegandhengan wektu (saben setelan optimasi register). Saben optimasi tambahan bisa nambah wektu kompilasi. |
Kinerja Dhuwur kanthi Usaha Penempatan Maksimum | Mbisakake optimasi Compiler padha Upaya Kinerja Dhuwur, kanthi gaweyan optimasi panggonan tambahan. |
Kinerja Unggul | Mbisakake optimasi Compiler padha Upaya Kinerja Dhuwur, lan nambahake optimasi liyane sajrone Analisis & Sintesis kanggo ngoptimalake kinerja desain kanthi potensial nambah menyang area logika. Yen panggunaan desain wis dhuwur banget, pilihan iki bisa nyebabake kesulitan pas, sing uga bisa mengaruhi kualitas optimalisasi sakabèhé. |
Performance Superior karo gaweyan Panggonan maksimum | Mbisakake optimasi Compiler padha Kinerja Unggul, kanthi gaweyan optimasi panggonan tambahan. |
Area agresif | Compiler nggawe upaya agresif kanggo nyuda area piranti sing dibutuhake kanggo ngleksanakake desain kanthi biaya potensial kanggo kinerja desain. |
Upaya Routability Panggonan Dhuwur | Compiler nggawe gaweyan dhuwur kanggo rute desain kanthi biaya potensial area desain, kinerja, lan wektu kompilasi. Compiler mbuwang wektu tambahan kanggo ngurangi panggunaan rute, sing bisa nambah routing lan uga ngirit daya dinamis. |
Upaya Routability Packing Dhuwur | Compiler nggawe gaweyan dhuwur kanggo rute desain kanthi biaya potensial area desain, kinerja, lan wektu kompilasi. Compiler nglampahi wektu tambahan kanggo packing register, sing bisa nambah rotasi lan uga ngirit daya dinamis. |
Ngoptimalake Netlist kanggo Routability | Compiler ngleksanakake modifikasi netlist kanggo nambah roubility ing beyo saka kinerja. |
terus… |
Mode Optimization | Katrangan |
Daya Dhuwur Usaha | Compiler nggawe gaweyan dhuwur kanggo ngoptimalake sintesis kanggo daya kurang. Daya Dhuwur Usaha nambah wektu sintesis. |
Daya Agresif | Nggawe gaweyan agresif kanggo ngoptimalake sintesis kanggo daya kurang. Compiler luwih nyuda panggunaan rute sinyal kanthi tarif toggle sing ditemtokake utawa ditaksir paling dhuwur, ngirit daya dinamis tambahan nanging duweni potensi mengaruhi kinerja. |
Wektu Kompilasi agresif | Nyuda wektu kompilasi sing dibutuhake kanggo ngleksanakake desain kanthi nyuda gaweyan lan optimasi kinerja sing luwih sithik. Pilihan iki uga mateni sawetara fungsi laporan rinci.
Cathetan: Nguripake Wektu Kompilasi agresif mbisakake Setelan Perdhana Intel Quartus File (.qsf) setelan sing ora bisa diganti dening setelan .qsf liyane. |
Desain Space Explorer II Sastranegara Kompilasi
DSE II ngidini sampeyan nemokake setelan proyek sing optimal kanggo tujuan sumber daya, kinerja, utawa optimasi daya. DSE II ngijini sampeyan kanggo iteratively ngumpulake desain nggunakake kombinasi prasetel beda setelan lan alangan kanggo entuk goal tartamtu. DSE II banjur nglaporake kombinasi setelan sing paling apik kanggo nggayuh tujuan sampeyan. DSE II uga bisa njupuk advantage saka kabisan parallelization kanggo ngumpulake wiji ing macem-macem komputer. Setelan Strategi Kompilasi DSE II nyumerepi setelan Mode Optimasi ing Tabel 4 ing kaca 14
Desain Space Explorer II
Tindakake langkah iki kanggo nemtokake Strategi Kompilasi kanggo DSE II:
- Kanggo miwiti DSE II (lan nutup piranti lunak Intel Quartus Prime), klik Alat ➤ Bukak Design Space Explorer II. DSE II mbukak sawise piranti lunak Intel Quartus Prime ditutup.
- Ing toolbar DSE II, klik lambang Eksplorasi.
- Ngembangake Titik Eksplorasi.
- Pilih Design eksplorasi. Aktifake strategi Kompilasi kanggo mbukak eksplorasi desain sing nargetake strategi kasebut.
Ngurangi Kemacetan kanggo Pemanfaatan Dhuwur
Desain sing nggunakake luwih saka 80% sumber daya piranti biasane paling angel kanggo nutup wektu. Sampeyan bisa ngetrapake teknik manual lan otomatis ing ngisor iki kanggo nyuda kemacetan lan nyederhanakake penutupan wektu.
- Eksperimen karo Opsi Area lan Routability ing kaca 16
- Coba Sintesis Fraktal kanggo Desain Intensif Aritmetika ing kaca 16
Eksperimen karo Pilihan Area lan Routability
Nalika panggunaan piranti nyebabake kemacetan rute, sampeyan bisa eksprimen karo setelan Optimization Area lan Routability kanggo ngurangi panggunaan sumber daya lan rame kanggo desain. Klik Assignments ➤ Settings ➤ Compiler Settings ➤ Optimization Mode kanggo ngakses setelan iki:
Area lan Routability Pilihan
Coba Sintesis Fraktal kanggo Desain Intensif Aritmetika
Kanggo desain aritmetika-intensif, sampeyan bisa ngaktifake optimasi sintesis fraktal otomatis kanggo nambah panggunaan sumber daya piranti. Optimasi sintesis fraktal kalebu regularisasi multiplier lan retiming, uga pengepakan aritmetika sing terus-terusan. Optimizations target designs karo nomer akeh operasi aritmetika tliti kurang (kayata tambahan lan multiplications). Sampeyan bisa ngaktifake sintesis fraktal global utawa mung multipliers tartamtu. Ing kahanan sing becik, optimasi sintesis fraktal bisa entuk pengurangan area 20-45%.
Regularisasi lan Retiming Multiplier
Regularisasi multiplier lan retiming nindakake inferensi implementasi multiplier alus sing dioptimalake. Compiler bisa aplikasi mundur mundur kanggo loro utawa luwih pipa stages yen dibutuhake. Nalika sampeyan ngaktifake sintesis fraktal, Compiler aplikasi regularization multiplier lan retiming kanggo multipliers mlebu lan unsigned.
Gambar 16. Multiplier Retiming
CATETAN
- Regularisasi multiplier mung nggunakake sumber daya logika lan ora nggunakake blok DSP.
- Regularization lan retiming multiplier ditrapake kanggo multipliers sing ditandatangani lan ora ditandatangani ing modul ing ngendi tugas QSF FRACTAL_SYNTHESIS disetel.
Kemasan Aritmatika Terus Menerus
Pengemasan aritmetika sing terus-terusan nyintesis maneh gerbang aritmetika dadi blok logika kanthi ukuran optimal supaya pas karo LAB Intel FPGA. Optimasi iki ngidini nganti 100% panggunaan sumber daya LAB kanggo blok aritmetika. Nalika sampeyan ngaktifake sintesis fraktal, Compiler ditrapake optimasi iki kanggo kabeh chain mawa lan loro-input gerbang logika. Optimasi iki bisa ngemas wit penambah, multiplier, lan logika liyane sing gegandhengan karo aritmetika.
Kemasan Aritmatika Terus Menerus
CATETAN
Elinga yen packing aritmetika terus-terusan dianggo independen saka regularization multiplier. Dadi, yen sampeyan nggunakake multiplier sing ora teratur (kayata nulis multiplier dhewe) banjur packing aritmetika terus-terusan isih bisa digunakake. Optimasi sintesis fraktal paling cocok kanggo desain kanthi akselerator sinau jero utawa fungsi aritmetika-intensif liyane sing ngluwihi kabeh sumber daya DSP. Ngaktifake sintesis fraktal ing sudhut proyek bisa nyebabake kembung sing ora perlu ing modul sing ora cocog kanggo optimasi fraktal.
Ngaktifake utawa Mateni Sintesis Fraktal
Kanggo piranti Intel Stratix® 10 lan Intel Agilex™, optimasi sintesis fraktal mlaku kanthi otomatis kanggo multiplier cilik (sembarang statement A*B ing Verilog HDL utawa VHDL sing ambane bit saka operan 7 utawa kurang). Sampeyan uga bisa mateni sintesis fraktal otomatis kanggo multipliers cilik kanggo piranti iki nggunakake salah siji saka cara ing ngisor iki:
- Ing RTL, atur DSP multstyle, minangka "Multstyle Verilog HDL Synthesis Attribute". Kanggo example: (* multstyle = “dsp” *) modul foo(…); modul foo(..) /* sintesis multstyle = “dsp” */;
- Ing .qsf file, tambahake minangka tugas kaya ing ngisor iki: set_instance_assignment -jeneng DSP_BLOCK_BALANCING_IMPLEMENTATION \DSP_BLOCKS -to r
Kajaba iku, kanggo piranti Intel Stratix 10, Intel Agilex, Intel Arria® 10, lan Intel Cyclone® 10 GX, sampeyan bisa ngaktifake sintesis fraktal sacara global utawa kanggo multiplier tartamtu kanthi pilihan Fractal Synthesis GUI utawa tugas FRACTAL_SYNTHESIS .qsf sing cocog:
- Ing RTL, gunakake altera_attribute kaya ing ngisor iki: (* altera_attribute = "-jeneng FRACTAL_SYNTHESIS ON" *)
- Ing .qsf file, tambahake minangka tugas kaya ing ngisor iki: set_global_assignment -name FRACTAL_SYNTHESIS ON -entity
Ing antarmuka panganggo, tindakake langkah iki:
- Klik Assignments ➤ Assignment Editor.
- Pilih Fractal Synthesis for Assignment Name, On for the Value, jeneng entitas aritmetika-intensif kanggo Entitas, lan jeneng conto ing kolom Kanggo. Sampeyan bisa ngetik wildcard (*) kanggo To kanggo nemtokake kabeh kedadean saka entitas.
Gambar 18. Tugas Sintesis Fraktal ing Editor Tugas
Informasi sing gegandhengan
- Atribut Sintesis HDL Multistyle Verilog
- Ing Intel Quartus Prime Pitulung.
Ngreksa Asil Marem
Sampeyan bisa nyederhanakake penutupan wektu kanthi menehi annotating asil kompilasi sing marem kanggo ngunci panggonan blok gedhe sing ana gandhengane karo jam, RAM, lan DSP. Kajaba iku, teknik nggunakake maneh blok desain ngidini sampeyan ngreksa asil kompilasi sing marem kanggo periphery FPGA tartamtu utawa blok desain logika inti (logika sing kalebu conto desain hirarkis), banjur gunakake maneh blok kasebut ing kompilasi sabanjure. Ing nggunakake maneh blok desain, sampeyan nemtokake conto hierarki minangka partisi desain, banjur ngreksa lan ngekspor partisi kasebut sawise kompilasi sukses. Ngreksa lan nggunakake asil marem ngijini sampeyan kanggo fokus gaweyan lan wektu Compiler mung bagean saka desain sing durung ditutup wektu.
Masalah Penutupan Wektu
- Yen ora dikunci, Compiler bisa ngetrapake blok desain, jam, RAM, lan DSP kanthi beda saka kompilasi menyang kompilasi gumantung saka macem-macem faktor.
Solusi Penutupan Wektu
- Lock Down Jam, RAM, lan DSPs ing kaca 20-back-annotate asil kompilasi marem kanggo ngunci mudhun panggonan pamblokiran gedhe related kanggo jam, RAM, lan DSPs.
- Simpen Hasil Partisi Desain ing kaca 21—lestarekake partisi kanggo blok sing cocog karo wektu, lan fokusake optimalisasi ing blok desain liyane.
Informasi sing gegandhengan
- Back-Annotate Assignments Dialog Box Pitulung
- AN-899: Ngurangi Wektu Kompilasi kanthi Pengawetan Cepet
- Pandhuan Pangguna Intel Quartus Prime Pro Edition: Desain Berbasis Blok
Ngunci Jam, RAM, lan DSP
Sampeyan bisa nyederhanakake penutupan wektu kanthi menehi annotating asil kompilasi sing marem kanggo ngunci panggonan blok gedhe sing ana gandhengane karo Jam, RAM, lan DSP. Ngunci panggonan blok gedhe bisa ngasilake fMAX sing luwih dhuwur kanthi swara sing kurang. Ngunci blok gedhe kaya RAM lan DSP bisa efektif amarga pamblokiran kasebut nduweni konektivitas sing luwih abot tinimbang LAB biasa, sing nggawe komplikasi sajrone penempatan. Nalika wiji ngasilake asil sing apik saka RAM lan penempatan DSP sing cocog, sampeyan bisa njupuk panggonan kasebut kanthi anotasi mburi. Compiles sakteruse banjur bisa entuk manfaat saka RAM kualitas dhuwur lan panggonan DSP saka wiji apik. Teknik iki ora entuk manfaat banget kanggo desain kanthi sawetara RAM utawa DSP. Klik Assignments ➤ Back-Annotate Assignments kanggo nyalin tugas sumber piranti saka kompilasi pungkasan menyang .qsf kanggo digunakake ing kompilasi sabanjure. Pilih jinis anotasi mburi ing dhaptar jinis anotasi mburi.
Back-Annotate Assignments Dialog Box
Utawa, sampeyan bisa mbukak back-annotation kanthi eksekusi quartus_cdb ing ngisor iki. quartus_cdb –back_annotate [–dsp] [–ram] [–jam]
CATETAN
- Eksekusi ndhukung variabel [–dsp], [–ram], lan [–jam] tambahan sing kothak dialog Back-Annotate Assignments durung ndhukung.
Ngreksa Hasil Partisi Desain
CATETAN
- Sawise partisi desain, sampeyan bisa ngreksa partisi kanggo pamblokiran sing ketemu wektu, lan optimasi fokus ing pamblokiran desain liyane. Kajaba iku, opsi Fast Preserve nyederhanakake logika partisi sing diawetake dadi mung antarmuka logika sajrone kompilasi, saéngga nyuda wektu kompilasi kanggo partisi kasebut. Fast Preserve mung ndhukung panggunaan partisi root lan desain konfigurasi ulang parsial. Kanggo desain karo sub-modul sing tantangan kanggo wektu penutupan, sampeyan bisa nindakake Optimization ngadeg-piyambak lan kompilasi saka pemisahan modul, banjur ngekspor modul wektu-ditutup kanggo ngreksa implementasine ing kompilasi sakteruse.
Ngreksa Hasil Partisi Desain
Desain adhedhasar blok mbutuhake partisi desain. Pemisahan desain ngidini sampeyan ngreksa blok logika individu ing desain sampeyan, nanging uga bisa ngenalake potensial mundhut kinerja amarga partisi nyebrang lan efek floorplan. Sampeyan kudu ngimbangi faktor kasebut nalika nggunakake teknik desain adhedhasar blok. Langkah-langkah tingkat dhuwur ing ngisor iki njlèntrèhaké aliran pengawetan partisi kanggo desain panggunaan ulang partisi ROOT:
- Klik Processing ➤ Start ➤ Start Analysis & Elaboration.
- Ing Project Navigator, klik-tengen conto desain tertutup wektu, arahake Partisi Desain, banjur pilih Jinis partisi, kaya sing diterangake ing Setelan Partisi Desain ing kaca 23.
Nggawe Partisi Desain
- Netepake Logic Lock floorplanning alangan kanggo pemisahan. Ing Design Partitions Window, klik-tengen partisi banjur klik Logic Lock Region ➤ Create New Logic Lock Region. Priksa manawa wilayah kasebut cukup gedhe kanggo nutupi kabeh logika ing partisi.
- Kanggo ngekspor asil partisi sawise kompilasi, ing Design Partitions Window, nemtokake partisi .qdb minangka Post Final Ekspor File.
Sawise Ekspor Final File
- Kanggo ngumpulake desain lan ngekspor partisi, klik Compile Design ing Dashboard Compilation.
- Bukak proyek tingkat paling dhuwur ing piranti lunak Intel Quartus Prime.
- Klik Assignments ➤ Settings ➤ Compiler Settings ➤ Incremental Compile. Aktifake pilihan Fast Preserve.
Opsi Simpenan Cepet
- Klik OK.
- Ing Design Partitions Window, nemtokake .qdb sing diekspor minangka Database Partisi File kanggo partisi sing dimaksud. .qdb iki saiki dadi sumber partisi ing proyek kasebut. Yen sampeyan ngaktifake pilihan Fast Preserve, Compiler nyuda logika partisi sing diimpor dadi mung antarmuka logika, saéngga nyuda wektu kompilasi sing dibutuhake partisi.
Setelan Partisi Desain
Setelan Partisi Desain
Pilihan | Katrangan |
Jeneng partisi | Nemtokake jeneng partisi. Saben jeneng partisi kudu unik lan mung kalebu karakter alfanumerik. Piranti lunak Intel Quartus Prime kanthi otomatis nggawe "root_partition" tingkat ndhuwur (|) kanggo saben revisi proyek. |
Path Hierarki | Nemtokake path hierarki saka conto entitas sing sampeyan aturake menyang partisi. Sampeyan nemtokake nilai iki ing Nggawe Partisi Anyar kothak dialog. Path hirarki partisi root yaiku |. |
Jinis | Klik kaping pindho kanggo nemtokake salah siji jinis partisi ing ngisor iki sing ngontrol carane Compiler ngolah lan ngleksanakake partisi: |
terus… |
Pilihan | Katrangan |
• Default- Ngenali partisi standar. Compiler ngolah partisi nggunakake sumber desain sing gegandhengan files.
• Bisa dikonfigurasi maneh-Ngenali partisi sing bisa dikonfigurasi ulang ing aliran konfigurasi ulang parsial. Nemtokake Bisa dikonfigurasi maneh ngetik kanggo ngreksa asil sintesis, nalika ngidini refit saka pemisahan ing aliran PR. • Intine Reserved-Ngenali partisi ing aliran desain adhedhasar blok sing dilindhungi undhang-undhang kanggo pangembangan inti dening Konsumen sing nggunakake maneh periphery piranti. |
|
Tingkat Pengawetan | Nemtokake salah siji saka tingkat pengawetan ing ngisor iki kanggo partisi:
• Ora Setel- ora nemtokake tingkat pengawetan. Partisi kompilasi saka sumber files. • disintesis- partisi kompilasi nggunakake snapshot sing disintesis. • pungkasan- partisi kompilasi nggunakake snapshot pungkasan. karo Tingkat Pengawetan of disintesis or pungkasan, owah-owahan kanggo kode sumber ora katon ing sintesis. |
kosong | Nemtokake partisi kosong sing dilewati Compiler. Setelan iki ora kompatibel karo Intine Reserved lan Database partisi File setelan kanggo pemisahan padha. Ing Tingkat Pengawetan kudu Ora Setel. Partisi kosong ora bisa duwe partisi anak. |
Database partisi File | Nemtokake Database Partisi File (.qdb) sing digunakake Compiler sajrone kompilasi partisi. Sampeyan ngekspor .qdb kanggo stage kompilasi sing pengin digunakake maneh (sintesis utawa final). Temtokake .qdb menyang partisi kanggo nggunakake maneh asil kasebut ing konteks liyane. |
Entitas Re-binding | • PR Flow-nemtokake entitas sing ngganti persona standar ing saben revisi implementasine.
• Root Partition Reuse Flow —nemtokake entitas sing ngganti logika inti sing dilindhungi ing proyek konsumen. |
warna | Nemtokake kode warna partisi ing tampilan Chip Planner lan Design Partition Planner. |
Post Synthesis Export File | Kanthi otomatis ngekspor asil kompilasi pasca-sintesis kanggo partisi menyang .qdb sing sampeyan nemtokake, saben Analisis & Sintesis mlaku. Sampeyan bisa kanthi otomatis ngekspor partisi desain sing ora duwe partisi induk sing diawetake, kalebu root_partition. |
Sawise Ekspor Final File | Kanthi otomatis ngekspor asil kompilasi post-final kanggo partisi menyang .qdb sing sampeyan nemtokake, saben wektu s finaltage saka Fitter mlaku. Sampeyan bisa kanthi otomatis ngekspor partisi desain sing ora duwe partisi induk sing diawetake, kalebu root_partition. |
AN 903 Riwayat Revisi Dokumen
Dokumen iki nduweni riwayat revisi ing ngisor iki:
Versi Dokumen | Versi Intel Quartus Prime | Owah-owahan |
2021.02.25 | 19.3 | Diganti "narik" karo "tension" ing Nganalisis lan Ngoptimalake Desain RTL topik. |
2020.03.23 | 19.3 | Kesalahan sintaksis sing didandani ing kode sample ing topik "Kunci Jam, RAM, lan DSP". |
2019.12.03 | 19.3 | • release umum pisanan. |
Dokumen / Sumber Daya
![]() |
intel AN 903 Akselerasi Wektu Penutupan [pdf] Pandhuan pangguna AN 903 Akselerasi Wektu Penutupan, AN 903, Akselerasi Wektu Penutupan, Wektu Penutupan |