intel AN 805 Veavakirina Qismî Hiyerarşîk a Sêwiranek li ser Desteya Pêşkeftinê ya Arria 10 SoC
Ji bo Lijneya Pêşveçûna Intel® Arria® 10 SoC Tutorial Veavakirina Parçeyî Hiyerarşîk
Ev nîşeya serîlêdanê veguherîna sêwiranek hêsan di sêwiranek hîyerarşîk-qismî vesazkirî de, û pêkanîna sêwiranê li ser panela pêşkeftinê ya Intel® Arria® 10 SoC nîşan dide. Veavakirina qismî ya hiyerarşîk (HPR) celebek taybetî ya veavakirina qismî (PR) ye, ku hûn herêmek PR di nav herêmek din a PR de vedihewînin. Hûn dikarin hem ji bo beşên zarok û hem jî ji bo dêûbav gelek kesan biafirînin. Hûn dabeşên zarokan di nav partîsiyonên dêûbav de hêlîn dikin. Veavakirina dabeşkirina zarokê bandorê li operasyona li dêûbav an herêmên statîk nake. Veavakirina parçeyek dêûbav bandorê li operasyona li herêma statîk nake, lê dabeşên zarokan ên herêma dêûbav bi kesayetên dabeşkirina zarokan ên xwerû vediguhezîne. Ev metodolojî di pergalên ku gelek fonksiyonên demsalê heman çavkaniyên cîhaza FPGA-yê parve dikin de bandorker e.
Veavakirina qismî ji bo sêwirana daîre pêşkeftinên jêrîn peyda dike:
- Destûrê dide veavakirina sêwirana dema xebitandinê
- Mezinbûna sêwiranê zêde dike
- Demjimêra pergalê kêm dike
- Di sêwiranê de fonksiyonên pirrengkirina dem-dînamîkî piştgirî dike
- Bi karanîna bikêrhatî ya cîhê panelê lêçûn û xerckirina hêzê kêm dike
- Not:
- Pêkanîna vê sêwirana referansê pêdiviya bingehîn bi herikîna pêkanîna Intel Quartus® Prime FPGA û zanîna projeya bingehîn a Intel Quartus Prime heye. files.
Information Related
- Rêbernameya Bikarhêner Kit Pêşveçûna Intel Arria 10 SoC
- Têgehên Veavakirina Qismî
- Veavakirina Qismî Sêwirana Flow
- Pêşniyarên sêwirana Veavakirina Parçeyî
- Fikrên Design Veavakirina Partî
Reference Design Requirements
Ev sêwirana referansê jêrîn hewce dike:
- Intel Quartus Prime Pro Edition guhertoya nermalava 17.1 ji bo pêkanîna sêwiranê.
- Kîta pêşkeftina Intel Arria 10 SoC ji bo pêkanîna FPGA.
Pargîdaniya Intel. Hemû maf parastî ne. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Intel garantiya performansa FPGA û hilberên xwe yên nîvconductor li gorî taybetmendiyên heyî li gorî garantiya standard a Intel digire, lê mafê ku di her kêliyê de bêyî agahdarî di her hilber û karûbaran de biguhezîne digire. Intel ti berpirsiyarî an berpirsiyariya ku ji serîlêdan an karanîna ti agahdarî, hilber, an karûbarê ku li vir hatî diyar kirin çêdibe, ji bilî ku bi eşkere bi nivîskî ji hêla Intel ve hatî pejirandin. Ji xerîdarên Intel re tê şîret kirin ku berî ku xwe bispêrin agahdariya hatî weşandin û berî ku emrê hilber an karûbaran bidin, guhertoya herî dawî ya taybetmendiyên cîhazê bistînin.
- Dibe ku nav û marqeyên din wekî milkê yên din werin îdîakirin.
Reference Design Overview
- Ev sêwirana referansê ji yek jimarek 32-bit pêk tê. Di asta panelê de, sêwiran demjimêrê bi çavkaniyek 50MHz ve girêdide û derketinê bi çar LED-ên li ser FPGA ve girêdide. Hilbijartina derketinê ji bitsên jimarvan di rêzek taybetî de dibe sedem ku LED di frekansek taybetî de bibiriqe.
jimar 1. Sêwirana referansa daîre bêyî dabeşkirina PR
Reference Design Files
Dersa veavakirina qismî li cîhê jêrîn heye: https://github.com/intel/fpga-partial-reconfig
Ji bo daxistina tutorial:
- Clone bikirtînin an dakêşînin.
- Bikirtînin Daxistina ZIP. FPGA-partial-config-master.zip veke file.
- Ji bo ku hûn bigihîjin sêwirana referansê, biçin binê peldanka tutorials/a10_soc_devkit_blinking_led_hpr.
Peldanka daîre ji jêrîn pêk tê files:
Tablo 1. Design Reference Files
File Nav | Terîf |
kop. SV | Asta jorîn file pêkanîna daîreya sêwiranê dihewîne. Ev modul jêr-dabeşkirina blinking_led û modula top_counter destnîşan dike. |
top_counter.sv | Berhevkarê 32-bit-asta jorîn ku rasterast LED[1] kontrol dike. Hilberîna qeydkirî ya jimarvan LED[0] kontrol dike, û di heman demê de LED[2] û LED[3] jî bi modula blinking_led hêzdar dike. |
blinking_led.sdc | Ji bo projeyê astengiyên demê diyar dike. |
berdewam… |
File Nav | Terîf |
blinking_led.SV | Di vê tutoriyê de, hûn vê modulê veguherînin dabeşek PR-ya dêûbav. Modul derana qeydkirî ya modula top_counter, ku LED[2] û LED[3] kontrol dike, distîne. |
blinking_led.qpf | Projeya Intel Quartus Prime file navnîşa hemî guhertoyên di projeyê de heye. |
blinking_led.qsf | Mîhengên Intel Quartus Prime file peywir û mîhengên ji bo projeyê vedihewîne. |
Not: Peldanka hpr tevheva tevahiyê dihewîne fileHûn bi karanîna vê nota serîlêdanê diafirînin. Referansa van bikin files li her xalê di dema rêveçûnê de.
Figure 2. Design Reference Files
Reference Design Walkthrough
Pêngavên jêrîn serîlêdana ji nû veavakirina qismî li sêwirana daîre vedibêjin. Tutorial ji bo panela pêşkeftina Intel Arria 10 SoC nermalava Intel Quartus Prime Pro Edition bikar tîne:
- Gav 1: Destpêk li ser rûpela 6
- Gav 2: Li ser rûpela 6-ê Sub-modulek Asta Zarokan biafirînin
- Gav 3: Afirandina Dabeşên sêwiranê li ser rûpela 7
- Gav 4: Veqetandina Cih û Rêvekirina Herêmê ji bo Dabeşên PR-ê li ser rûpela 9
- Gav 5: Zêdekirina Core IP-ya Kontrolkera Veavakirina Veavakirina Parçe ya Intel Arria 10 li ser rûpela 10
- Gav 6: Diyarkirina Personas li ser rûpela 13
- Gav 7: Çêkirina Guhertoyên li ser rûpela 15
- Gav 8: Çêkirina Skrîpta Herikîna Veavakirina Qismî ya Hiyerarşîk li ser rûpela 20
- Gav 9: Li ser rûpela 21-ê Skrîpta Herikîna Veavakirina Parçeyî ya Hiyerarşîk dimeşîne
- Gav 10: Bernamekirina Lijneyê li ser rûpela 22
Gav 1: Destpêkirin
Ji bo kopîkirina sêwirana referansê fileli hawîrdora xebata xwe bigerin û sêwirana daîreya blinking_led berhev bikin:
- Di hawîrdora xebata xwe de pelrêçek çêbikin, a10_soc_devkit_blinking_led_hpr.
- Dersên dakêşandî/a10_soc_devkit_blinking_led_hpr/ bin-peldanka daîre li pelrêça, a10_soc_devkit_blinking_led_hpr kopî bikin.
- Di nermalava Intel Quartus Prime Pro Edition de, bikirtînin File ➤ Projeyê vekin û blinking_led.qpf hilbijêrin.
- Ji bo berhevkirina sêwirana daîre, bikirtînin Pêvajo ➤ Destpêkirina Berhevkirinê.
Gav 2: Afirandina Sub-modulek Asta Zarokan
Ji bo veguhertina vê sêwirana daîre nav sêwirana PR-ya hiyerarşîk, divê hûn bine-modulek zarokê (blinking_led_child. SV) ku di bin-modula dêûbav (blinking_led.sv) de hêlînkirî biafirînin.
- Sêwiranek nû çêbikin file, blinking_led_child.sv, û rêzikên jêrîn ên kodê li vê zêde bikin file: pîvana demê 1 ps / 1 ps `default_nettype none module blinking_led_child ( // demjimêra têlê têketina demjimêrê, têla têlê [31:0] jimarvan, // Nîşaneyên kontrolê ji bo LED-an
- Blinking_led.sv biguherîne file ji bo girêdana led_two_on bi bit 23 ya jimarvana ji herêma statîk, û vekirina modula blinking_led_child. Piştî guhertinan, blinking_led.sv te file divê wiha xuya bibe:
- Li ser guhertina hemî sêwiranê files, bi tikandina Pêvajoyê ➤ Berhevkirinê dest pê bike, projeyê ji nû ve berhev bikin
Gav 3: Afirandina Dabeşên sêwiranê
Pêdivî ye ku hûn ji bo her herêmek PR-ê ku hûn dixwazin qismî ji nû ve saz bikin, dabeşên sêwiranê biafirînin. Hûn dikarin di sêwirana xwe de hejmarek dabeşên serbixwe an herêmên PR-ê biafirînin. Ev tutorial ji bo mînakên u_blinking_led_child û u_blinking_led du dabeşên sêwiranê diafirîne.
Ji bo afirandina dabeşên sêwiranê ji bo veavakirina qismî ya hiyerarşîk:
- Di Project Navigatorê de mînaka u_blinking_led_child rast-klîk bike û Dabeşkirina Designê bikirtîne ➤ Set as Design Partition. Li kêleka her mînakek ku wekî dabeşek hatî danîn îkonek dabeşkirina sêwiranê xuya dike.
Wêne 3. Çêkirina Dabeşên sêwiranê ji Project Navigator
- Ji bo danasîna Tîpa dabeşkirinê, di tabloya Hiyerarşiyê de mînaka u_blinking_led_child rast-klîk bike, Dabeşkirina sêwiranê ➤ Veavakirin bikirtîne. Hûn dikarin tenê piştî sazkirina nimûneyê wekî dabeşkirinê, Tîpa dabeşkirinê diyar bikin. Parvekirina sêwiranê li ser Assignments xuya dike View tabloya Paceya Dabeşkirina Dîzaynê.
Wêne 4. Paceya Parçeyên Dîzaynê
- Navê dabeşkirinê di Pencera Dabeşkirina Dîzaynê de bi du-klîkkirina navê biguherînin. Ji bo vê sêwirana referansê, navê dabeşkirinê bi pr_partition biguherînin.
Not: Dema ku hûn dabeşek diafirînin, nermalava Intel Quartus Prime bixweber navek dabeşkirinê çêdike, li ser bingeha navê nimûne û riya hiyerarşiyê. Ev navê dabeşkirina xwerû dikare bi her nimûneyê re diguhere. - Pêngavên 1 û 2 dubare bikin da ku dabeşên sêwirana ji nû ve mîhengkirî li mînaka u_blinking_led veqetînin. Navê vê partiyê biguherîne pr_parent_partition.
Piştrast bikin ku blinking_led.qsf peywirên jêrîn hene, ku li gorî partîsiyonên sêwirana weya ji nû ve mîhengbar in:
Ji bo Veavakirina Qismî Parçeyên Sêwiranê biafirînin
Gav 4: Veqetandina Cih û Rêvekirina Herêmê ji bo Dabeşên PR
Dema ku hûn guhertoya bingehîn diafirînin, herikîna sêwirana PR veqetandina herêma dabeşkirina PR-ya we bikar tîne da ku bingeha kesane ya têkildar li devera veqetandî bi cîh bike. Ji bo guhertoya bingehîna xwe di plansaziya qata cîhazê de devera PR-yê bi cih bikin û destnîşan bikin:
- Di Projeya Navîgatorê de mînaka u_blinking_led_child rast-klîk bikin û Herêmê Logic Lockê bikirtînin ➤ Herêma Logic Logic New Biafirînin. Herêm li ser Pencera Herêmên Logic Logic xuya dibe.
- Divê herêma cîhê we mantiqa blinking_led_child vehewîne. Di Chip Planner de cîhê girêk bi cîh bikin, herêma danînê hilbijêrin. Di Project Navigatorê de li ser navê herêma u_blinking_led_child rast-klîk bikin û bikirtînin Locate Node ➤ Locate in Chip Planner.
Figure 5. Chip Planner Node Location bo blinking_led - Di pencereya Herêmên Logic Logic de, di stûna Origin de koordînatên herêma danînê diyar bikin. Bi eslê xwe bi quncika jêrîn-çepê ya herêmê re têkildar e. Ji bo example, ji bo danîna herêmek danînê bi (X1 Y1) koordînatên wekî (69 10), Origin wekî X69_Y10 diyar bikin. Nermalava Intel Quartus Prime bixweber koordînatên (X2 Y2) (jor-rast) ji bo devera danînê, li ser bingeha bilindî û firehiya ku hûn diyar dikin, hesab dike.
Not: Ev tutorial koordînatên (X1 Y1) - (69 10), û bilindahî û firehiya 20 ji bo herêma danînê bikar tîne. Ji bo herêma danînê her nirxek diyar bikin, bi şertê ku herêm mantiqa blinking_led_child vegire. - Vebijarkên Reserved û Core-Only çalak bikin.
- Vebijarka Herêma Rêvekirinê du caran bikirtînin. Qutiya diyalogê ya Mîhengên Rêvekirina Herêmê ya Logic Lock xuya dibe.
- Ji bo celebê Rêwîtkirinê Bi berfirehbûnê rastkirî hilbijêrin. Hilbijartina vê vebijarkê bixweber dirêjahiyek berfirehkirina 1 destnîşan dike.
Not: Pêdivî ye ku devera rêvekirinê ji devera danînê mezintir be, da ku nermbûnek zêde ji bo Fitter peyda bike dema ku motor kesayetên cihêreng rêve dike. - Ji bo mînaka u_blinking_led gavên 1-6 dubare bikin. Cihkirina asta dêûbav Ji bo mînaka u_blinking_led gavên 1 -6 dubare bikin. Divê devera cîhê-asta dêûbav bi tevahî cîh û deverên rêvekirinê yên di asta zarok de vehewîne dema ku cîhê têr ji bo cîhkirina mantiqê di asta dêûbav de dihêle. Vê tutorial ji bo devera danîna mînaka u_blinking_led koordînatên (X1 Y1) - (66 7), bilindahiya 47, û firehiya 26 bikar tîne.
Wêne 6.Pencereya Herêmên Logic Logic
Verast bikin ku blinking_led.qsf peywirên jêrîn hene, ku bi plansaziya weya erdê re têkildar in:
- Floorplan Sêwirana Veavakirina Parçeyî
- Zêdetir Bicîhkirina Veavakirina Parçeyî
Gav 5: Zêdekirina Core IP-ya Kontrolkera Veavakirina Veavakirina Parçe ya Intel Arria 10
- Ji nû veavakirina dabeşkirina PR-ê Corê IP-ya Controller Veavakirina Veavakirina Parçe ya Intel Arria 10 bikar bînin. Vê bingehê IP-ê J bikar tîneTAG ji bo veavakirina dabeşkirina PR. Ji bo ku bingeha IP-ya Kontrolkerê Veavakirina Veavakirina Parçeyî Intel Arria 10 li projeya xweya Intel Quartus Prime zêde bikin:
- Di kataloga IP-ê de Veavakirina Qismî binivîsin.
- Ji bo destpêkirina pencereya Edîtorê Pro-ya Parametreya IP-yê, ji pirtûkxaneya IP-ê ya Intel Arria 10 Veavakirina Veavakirina Parçeyî ya Kontrolkerê IP-yê hilbijêrin, û lê zêde bike.
- Di qutiya diyalogê ya Guhertoya IP-ya Nû de, pr_ip wekî navnîşê binivîsin file nav û bikirtînin Create. Ji bo pr_ip parameterîzasyona xwerû bikar bînin. Piştrast bikin ku Enable JTAG Vebijarkên navberê yên debug û Enable freeze vebijarkên vekirî ne, û vebijarka navbeynkariya xulamê Avalon-MM çalak bikin.
jimar 7. Intel Arria 10 Parametreyên Core IP-ya Controller Veavakirina Parçeyî
- Bikirtînin Finish, û bêyî hilberîna pergalê ji edîtorê parametreyê derkevin. Nermalava Intel Quartus Prime guhertoya IP-ya pr_ip.ip diafirîne file, û lê zêde dike file ji bo projeya blinking_led.
Not:
- Heke hûn pr_ip.ip-ê kopî dikin file ji peldanka hpr, bi destan blinking_led.qsf biguherîne file rêzika jêrîn tê de hebe: set_global_assignment -name IP_FILE pr_ip.ip
- IP_ bicîh bikinFILE peywira piştî SDC_FILE wezîfedarkirin (jtag.sdc û blinking_led.sdc) di we de blinking_led.qsf file. Vê fermanê astengkirina guncan a bingeha IP-ya Veavakirina Parçeyî misoger dike.
Not: Ji bo tespîtkirina demjimêran, SDC file ji bo IP-ya PR divê her SDC-ya ku demjimêrên ku IP-ya bingehîn bikar tîne diafirîne bişopîne. Hûn vê fermanê bi temînkirina .ip-ê hêsan dikin file ji bo PR core IP piştî her .ip tê files an SDC files ji bo afirandina van demjimêran di QSF de têne bikar anîn file ji bo guhertoya projeya weya Intel Quartus Prime. Ji bo bêtir agahdarî, serî li beşa Destûrdanên Demjimêr ên di Rêbernameya Bikarhêner a Core IP-ya Veavakirina Parçeyî de bidin.
Information Related
- Rêbernameya Bikarhêner a Çareseriyên IP-yê Veavakirina Qismî
- Ji bo agahdariya li ser bingeha IP-ya Kontrolkerê Herêma Veavakirina Parçeyî.
- Rêbernameya Bikarhênerê Core IP-ya Veavakirina Qismî
- Ji bo agahdariya li ser astengiyên demê.
Nûvekirina sêwirana asta jorîn
Ji bo rojanekirina jorîn.SV file bi mînaka PR_IP:
- Ji bo ku mînaka PR_IP li sêwirana asta jorîn zêde bike, bloka kodê ya jêrîn li jorê şîrove bike.SV file:
- Ji bo ku di dema veavakirinê de lîmanên derketinê bi mantiqê 1-ê bi zorê bikin, derketina sînyala kontrola cemidandinê ji PR_IP bikar bînin. Lêbelê, ji bo çavdêrîkirina LED-ê ji dabeşkirina PR-ya dêûbav dema ku PR-ya dabeşkirina zarokan bername dike berdewam bike, sînyala kontrola cemidandinê led_two_on qut nake. Piştrast bikin ku pr_led_two_on rasterast e
- Ji bo destnîşankirina mînakek kesayeta dêûbavê xwerû (blinking_led), jorîn nûve bikin.SV file bi bloka kodê ya jêrîn:
jimar 8. Veavakirina qismî Yekbûna Core ya IP-yê
Gav 6: Diyarkirina Personas
Ev sêwirana referansê ji bo dabeşên PR-ya dêûbav û zarokê pênc kesayetên cihêreng destnîşan dike. Ji bo ku di projeya xwe de kesayetan diyar bikin û bi nav bikin:
- Çar SystemVerilog ava bikin files, blinking_led_child.sv, blinking_led_child_slow.sv, blinking_led_child_empty.sv, û blinking_led_slow.sv di pelrêça weya xebatê de ji bo pênc kesan.
Not: Ger hûn SystemVerilog biafirînin files ji Edîtorê Nivîsê yê Intel Quartus Prime, lêzêdekirinê neçalak bike file vebijarka projeya heyî, dema hilanînê files.
Table 2. Reference Design Personas
File Nav | Terîf | Navê dizî |
blinking_led_child.sv | Kesayetiya xwerû ji bo sêwirana asta zarokan |
`demjimêr 1 ps / 1 ps `default_nettype none module blinking_led_child ( // saet saeta têlê têketinê, têla ketinê [31:0] jimarvan,
// Nîşaneyên kontrolê yên ji bo têla derketinê ya LED-ê led_three_on
); localparam COUNTER_TAP = 23; reg led_three_on_r;
assign led_three_on = led_three_on_r; herdem_ff @(saeta poge) dest pê dike led_three_on_r <= counter[COUNTER_TAP]; dawî
endmodule |
berdewam… |
File Nav | Terîf | Navê dizî |
blinking_led_child_slow.sv | Ew
LED_THREE hêdîtir dibiriqe |
`demjimêr 1 ps / 1 ps `default_nettype tune ye
module blinking_led_child_slow (
// saet saeta têlê têketinê, têla ketinê [31:0] jimarvan,
// Nîşaneyên kontrolê yên ji bo têla derketinê ya LED-ê led_three_on );
localparam COUNTER_TAP = 27; reg led_three_on_r;
assign led_three_on = led_three_on_r; herdem_ff @(saeta poge) dest pê dike led_three_on_r <= counter[COUNTER_TAP]; dawî
endmodule |
blinking_led_child_empty.sv | Ew
LED_THREE LIVE dimîne |
`demjimêr 1 ps / 1 ps `default_nettype tune ye
module blinking_led_child_empty (
// saet saeta têlê têketinê, têla ketinê [31:0] jimarvan,
// Nîşaneyên kontrolê yên ji bo têla derketinê ya LED-ê led_three_on
);
// LED kêm çalak e assign led_three_on = 1'b0;
endmodule |
blinking_led_slow.sv | LED_TWO
hêdîtir dibiriqe. |
`demjimêr 1 ps / 1 ps `default_nettype none module blinking_led_slow( // saet saeta têlê têketinê, têla ketinê [31:0] jimarvan,
// Nîşaneyên kontrolê ji bo têla derketinê ya LED-ê led_two_on, wire encam led_three_on
);
localparam COUNTER_TAP = 27; reg led_two_on_r; assign led_two_on = led_two_on_r;
// Berhevkar: always_ff @(posge clock) dest pê dike led_two_on_r <= counter[COUNTER_TAP]; dawî
blinking_led_child u_blinking_led_child( .led_three_on (led_three_on), .counter (counter), .clock (saet) |
File Nav | Terîf | Navê dizî |
);ndmodule |
Gav 3: Afirandina Dabeşên sêwiranê li ser rûpela 7
Gav 7: Afirandina Guhertoyan
Herikîna sêwirana PR taybetmendiya guhertoya projeyê di nermalava Intel Quartus Prime de bikar tîne. Sêwirana weya destpêkê guhertoya bingehîn e, ku hûn li ser FPGA sînorên herêma statîk û herêmên vesazkirî diyar dikin. Ji guhertoya bingehîn, hûn gelek guhertoyan diafirînin. Di van guhertoyan de pêkanînên cihêreng ên ji bo herêmên PR hene. Lêbelê, hemî guhertoyên pêkanîna PR-ê heman cîh û encamên rêvekirinê yên ji guhertoya bingehîn bikar tînin. Ji bo berhevkirina sêwirana PR-ê, divê hûn ji bo her kesan revîzyonek pêkanîna PR û revîzyonek hevrêziyê biafirînin. Di vê sêwirana referansê de, ji bilî guhertoya bingehîn (blinking_led), sê kesayetên di asta zarok û du kesayetên asta dêûbav de pênc guhertoyên hevberdanê û pênc guhertoyên bicîhkirinê yên cihê hene:
Tablo 3. Guhertoyên ji bo Kesên Du-Dêûbav û Kesên Sê-Zarok
Guhertoya Sentezê | Revision Pêkanîna |
blinking_led_parent, blinking_led_default | blinking_led_pr_alpha |
blinking_led_parent, blinking_led_child_slow | blinking_led_pr_bravo |
blinking_led_parent, blinking_led_child_empty | blinking_led_pr_charlie |
blinking_led_parent_slow, blinking_led_child_slow | blinking_led_pr_delta |
blinking_led_parent_slow, blinking_led_child_empty | blinking_led_pr_emma |
Çêkirina Guhertoyên Pêkanînê
Ji bo afirandina revîzyonên pêkanîna PR:
- Ji bo vekirina qutiya diyalogê ya Guhertoyan, Proje ➤ Guhertoyên bikirtînin.
- Ji bo afirandina guhertoyek nû, du caran bikirtînin < >.
- Navê Guhertoyê wekî blinking_led_pr_alpha destnîşan bikin û ji bo Bingeha Guhertoyê blinking_led hilbijêrin.
- Vebijarka Set wekî guhertoya heyî neçalak bike û OK bikirtîne.
- Bi heman awayî, guhertoyên blinking_led_pr_bravo, blinking_led_pr_charlie, blinking_led_pr_delta, û blinking_led_pr_emma, li ser bingeha guhertoya blinking_led biafirînin.
Not: Guhertoyên jorîn wekî guhertoya heyî destnîşan nekin.
Wêne 9. Çêkirina Guhertoyan
Afirandina Guhertoyên Tenê-Sentez
Ji bo afirandina revîzyonên tenê sentezkirinê yên ji bo kesan, divê hûn sazûmanek asta jorîn û SystemVeriloga têkildar destnîşan bikin. file ji bo her kesan:
- Di nermalava Intel Quartus Prime de, Project ➤ Guhertoyên bikirtînin.
- Li ser bingeha guhertoya blinking_led guhertoya blinking_led_default çêbikin. Vê guhertoyê wekî guhertoya heyî destnîşan nekin.
- Blinking_led_default.qsf biguherîne file ji bo ku peywirên jêrîn bihewîne:
set_global_assignment -nav TOP_LEVEL_ENTITY blinking_led_child
set_global_assignment -name SYSTEMVERILOG_FILE - Bi heman awayî, guhertoyên blinking_led_child_slow, blinking_led_child_empty, blinking_led_parent, û blinking_led_parent_slow li ser bingeha guhertoya blinking_led biafirînin. Van guhertoyan wekî guhertoyên heyî destnîşan nekin.
- Blinking_led_child_slow.qsf, blinking_led_child_empty.qsf, blinking_led_parent.qsf, û blinking_led_parent_slow.qsf nûve bikin files bi pêwendiya wan re
TOP_LEVEL_ENTITY û SYSTEMVERILOG_FILE wezîfe: - Ji bo ku ji xeletiyên sentezê dûr nekevin, pê ewle bibin ku guhertoya sentezê files ji bo partîsiyonên zarokan tu dabeşkirina sêwiranê, peywirên pin, an Logic Lockê nagire
erkên herêmê. Di heman demê de, guhertoya sentezê files ji bo dabeşên dêûbav divê tenê peywirên dabeşkirina sêwiranê ji bo dabeşên zarokan ên têkildar hebin. Van peywiran rakin, heke hebin, di blinking_led_default.qsf, blinking_led_child_slow.qsf, blinking_led_child_empty.qsf, blinking_led_parent.qsf, û blinking_led_parent_slow.pdf files - Di blinking_led_parent.qsf û blinking_led_parent_slow.qsf de peywirên jêrîn tê de files:
- Piştrast bike ku blinking_led.qpf file guhertoyên jêrîn hene, bêyî rêzek taybetî:
- Not: Heke hûn guhertoya kopî dikin files ji peldanka hpr, bi destan blinking_led.qpf nûve bike file bi rêzikên jorîn ên kodê.
Tîpa Revîzyonê diyar dike
Divê hûn ji bo her guhertoya xwe celebek guhertoyê destnîşan bikin. Sê cureyên revîzyonê hene:
- Veavakirina Qismî - Bingeh
- Veavakirina Qismî - Senteza Persona
- Veavakirina Parçeyî - Pêkanîna Persona
- Tabloya jêrîn ji bo her yek ji guhertoyan peywirên cûrbecûr revîzyonê destnîşan dike:
Table 4. Cureyên Revision
Navê Guhertoya | Cureyê Guhertoya |
blinking_led.qsf | Veavakirina Qismî - Bingeh |
blinking_led_default.qsf | Veavakirina Qismî - Senteza Persona |
blinking_led_child_empty.qsf | Veavakirina Qismî - Senteza Persona |
blinking_led_child_slow.qsf | Veavakirina Qismî - Senteza Persona |
blinking_led_parent.qsf | Veavakirina Qismî - Senteza Persona |
blinking_led_parent_slow.qsf | Veavakirina Qismî - Senteza Persona |
blinking_led_pr_alpha.qsf | Veavakirina Parçeyî - Pêkanîna Persona |
blinking_led_pr_bravo.qsf | Veavakirina Parçeyî - Pêkanîna Persona |
blinking_led_pr_charlie.qsf | Veavakirina Parçeyî - Pêkanîna Persona |
blinking_led_pr_delta.qsf | Veavakirina Parçeyî - Pêkanîna Persona |
blinking_led_pr_emma.qsf | Veavakirina Parçeyî - Pêkanîna Persona |
- Proje ➤ Guhertoyan bikirtînin. Qutiya diyalogê ya Guhertoyan xuya dike.
- Di stûna Navê Guhertoyê de blinking_led hilbijêrin, û Set Current bikirtînin.
- Serlêdan bikirtînin. Guhertoya blinking_led vedibe.
- Ji bo danîna cureya guhertoya ji bo blinking_led, bikirtînin Assignments ➤ Settings ➤ General.
- Tîpa Guhertoyê wekî Veavakirina Parçe - Bingeh hilbijêrin.
- Bi heman awayî, ji bo deh guhertoyên din, wekî ku di tabloya jorîn de hatî destnîşan kirin, celebên guhertoyê bicîh bikin.
- Not: Divê hûn her guhertoyek wekî guhertoya heyî destnîşan bikin berî ku celebê guhertoyê destnîşan bikin. Verast bike ku her .qsf file peywira jêrîn dihewîne:
- Not: Her mîhengên Fitter-taybet ên ku hûn dixwazin di berhevoka pêkanîna PR-ê de bikar bînin li guhertoyên pêkanîna kesane zêde bikin. Mîhengên Fitter-taybetî bandorê li serhevhatina kesayetê dikin, lê bandorê li herêma statîk a importkirî nakin. Her weha hûn dikarin her mîhengên synthesis-taybet li guhertoyên hevrêziya kesane ya kesane zêde bikin.
Ji bo Personas Guhertoyan biafirînin
Gav 8: Çêkirina Skrîpta Herikîna Veavakirina Qismî ya Hiyerarşîk
Ji bo afirandina skrîpta herikîna ji nû veavakirina qismî ya hiyerarşîk:
- Ji şêla fermana Intel Quartus Prime, bi xebitandina fermana jêrîn şablonek herikînê biafirînin:
- Intel Quartus Prime a10_hier_partial_reconfig/flow.tcl diafirîne file.
- Navê a10_hier_partial_reconfig/setup.tcl.ex çêkirî biguherîneampbiçin a10_hier_partial_reconfig/setup.tcl, û skrîptê biguherînin da ku hûrguliyên projeya xweya veavakirina qismî diyar bikin:
a. Ji bo diyarkirina navê projeyê, rêzika jêrîn nûve bikin:b. Ji bo danasîna guhertoya bingehîn, rêzika jêrîn nûve bikin:
- Ji bo diyarkirina her yek ji guhertoyên pêkanîna veavakirina qismî, digel navên dabeşkirina PR û guhertoya çavkaniyê ya ku guhertoyan pêk tîne, rêzikên jêrîn nûve bikin:
Not: Pêdivî ye ku hemî projeyên revîzyonê di heman pelrêça blinking_led.qpf de bin. Wekî din, li gorî pîvana herikînê nûve bikin.
Gav 9: Rêvekirina Skrîpta Herikîna Veavakirina Qismî ya Hiyerarşîk
Ji bo xebitandina skrîpta herikîna ji nû veavakirina qismî ya hiyerarşîk:
- Bikirtînin Amûrên ➤ Tcl Skrîptên. Qutiya diyalogê ya Tcl Scripts xuya dike.
- Bikirtînin Add To Project, bigerin û a10_hier_partial_reconfig/flow.tcl hilbijêrin.
- Di pencereya Pirtûkxaneyan de a10_hier_partial_reconfig/flow.tcl hilbijêrin, û bikirtînin Run.
Ev skrîpt ji bo sê kesan sentezê dimeşîne. Intel Quartus Prime Tiştek SRAM çêdike File (.sof), Tiştek SRAM-a Parçe-Masked File (.pmsf), û Binaryek Raw File (.rbf) ji bo her kesî.
Nîşe: Ji bo ku skrîptê ji şêla fermana Intel Quartus Prime bimeşîne, emrê jêrîn binivîsin:
- Sêwirana Veavakirina Parçeyî berhev bikin
- Bikaranîna Skrîpta Flow Veavakirina Parçeyî
- Veavakirina Skrîpta Herikîna Veavakirina Qismî
- Bernamekirinê biafirînin Files
Gav 10: Programming Board
Berî ku hûn dest pê bikin:
- Pêşkêşkirina hêzê bi panela pêşkeftinê ya Intel Arria 10 SoC ve girêdin.
- Kabloya USB Blaster di navbera porta USB ya PC-ya xwe û porta USB Blaster a li ser panela pêşkeftinê de girêdin.
Ji bo ku sêwiranê li ser panela pêşkeftinê ya Intel Arria 10 SoC bimeşîne:
- Nermalava Intel Quartus Prime vekin û bikirtînin Tools ➤ Programmer.
- Di Bernameçêkerê de, Setup Hardware bikirtînin û USB-Blaster hilbijêrin.
- Vebijêrk Auto bikirtînin û amûrê, 10AS066N3 hilbijêrin.
- OK bitikîne. Nermalava Intel Quartus Prime bi sê çîpên FPGA-yê yên li ser panelê Bernameçêker nas dike û nûve dike.
- Amûra 10AS066N3 hilbijêrin, bikirtînin Guhertin File û blinking_led_pr_alpha.sof bar bike file.
- Ji bo blinking_led_pr_alpha.sof Bername/Vesazkirin çalak bike file.
- Destpêk bikirtînin û li bendê bin ku barê pêşkeftinê bigihîje 100%.
- Binêrin ku LED-yên li ser panelê bi heman frekansa sêwirana daîrê ya orîjînal dibiriqin.
- Ji bo ku tenê herêma PR ya zarokan bername bike, li blinking_led_pr_alpha.sof rast-klîk bike. file di Bernameçêkerê de bikirtînin û Bernamesaziya PR bikirtînin File.
- blinking_led_pr_bravo.pr_parent_partition.pr_partition.rbf hilbijêre file.
- Ji bo blinking_led_pr_alpha.sof Bername/Pêsazkirin neçalak bike file.
- Ji bo blinking_led_pr_bravo.pr_parent_partition.pr_partition.rbf Bername/Vesazkirin çalak bike file û Destpêk bikirtînin. Li ser panelê, lênihêrîna LED[0] û LED[1] ku ronîkirina berdewam dikin. Dema ku barê pêşkeftinê digihîje 100%, LED[2] bi heman rêjeyê dibiriqe, û LED[3] hêdîtir diqelişe.
- Ji bo bernamekirina herêma PR ya dêûbav û zarokê, li ser .rbf rast-klîk bikin file di Bernameçêkerê de û bikirtînin Change Programing PR File.
- Blinking_led_pr_delta.pr_parent_partition.rbf hilbijêre file.
- Destpêk bikirtînin. Li ser panelê, temaşe bikin ku LED[0] û LED[1] berdewam dibiriqin. Dema ku barê pêşkeftinê digihîje 100%, hem LED[2] û hem jî LED[3] hêdî hêdî dibiriqin.
- Pêngavên li jor dubare bikin da ku bi dînamîk tenê herêma PR-ya zarok, an jî her du herêmên PR-ya dêûbav û zarok bi hevdemî ji nû ve bername bikin.
Wêne 10. Bernamekirina Lijneya Pêşveçûna Intel Arria 10 SoC
Guhertina kesayetek heyî
- Hûn dikarin kesayetek heyî biguhezînin, tewra piştî ku guhertoya bingehîn bi tevahî berhev bikin.
- Ji bo example, ji bo ku bibe sedem ku kesayeta blinking_led_child_slow hê hêdî hêdî bibiriqe:
- Di blinking_led_child_slow.sv file, parametreya COUNTER_TAP ji 27 ber 28 biguherîne.
- Ji bo ji nû ve sentezkirin û ji nû ve bicîhkirina vê kesayetê, divê hûn hemî guhertoyên tenê sentez û guhertoyên pêkanînê yên ku ji guherînê bandor bûne ji nû ve berhev bikin. Skrîpta setup.tcl biguherîne da ku rêzikên jêrîn bihewîne:
Not: Dema ku pr_parent_parition ji bo guhertoya blinking_led_pr_delta diyar dike, hûn wêneya paşîn a wê kesayetiyê ji bo bicîhkirinê derdixin. Wekî encamek, pêkanîna mantiqa dabeşkirina dêûbav yek dimîne, dema ku dabeşkirina zarokê ya têkildar diguhezîne û bicîh tîne.
Ev ferman guhertoya senteza blinking_led_child_slow ji nû ve sentez dike, û dûv re berhevoka pêkanîna PR bi karanîna blinking_led_pr_bravo dimeşîne.
- Ji bo berhevkirina guhertoyên tenê sentezê pêk bînin, emrê jêrîn bimeşînin: Ev ferman guhertoya bingehîn ji nû ve berhev nake.
- Ji bo berhevkirina guhertoyên bicîhkirinê, emrê jêrîn bimeşînin:
- Ev ferman guhertoya bingehîn ji nû ve berhev nake.
- Pêngavên di Gav 10 de bişopînin: Bernamekirina Lijneya li ser rûpela 22-an ji bo bernamekirina RBF-ya encam file nav FPGA.
Not: Ji bo ku ji bo her revîzyonê tevaya herikînê nemeşin, guhertoyên tenê sentez û guhertoyên pêkanînê di skrîpta setup.tcl de diyar bikin, û skrîptê bimeşînin.
Zêdekirina Personalek Nû li Sêwiranê
Piştî ku bi tevahî guhertoyên bingehîn ên xwe berhev kirin, hûn hîn jî dikarin kesayetên nû lê zêde bikin û van kesan bi kesane berhev bikin.
Ji bo examplê, ji bo blinking_led_parent_slow kesayetek zarokek nû diyar bike, ku led_three vedike:
- Blinking_led_child_empty.sv li blinking_led_chdild_off.sv kopî bikin.
- Di blinking_led_child_off.sv file, peywirê biguherîne, led_three_on = 1'b0; ji bo destnîşankirina led_three_on = 1'b1;. Piştrast bikin ku hûn navê modulê ji blinking_led_child_empty biguherînin blinking_led_child_off.
- Bi şopandina gavên di Afirandina Guhertoyên Tenê-Sinthesis-ê yên li ser rûpela 16-an de, guhertoyek nû ya sentezkirinê, blinking_led_child_off, biafirînin.
Not: Guhertoya blinking_led_child_off divê blinking_led_child_off.sv bikar bîne file. - Bi şopandina gavên di Afirandina Guhertoyên Pêkanînê yên li ser rûpela 15-ê de, guhertoyek nû ya bicîhkirinê, blinking_led_pr_foxtrot, biafirînin.
- A10_hier_partial_reconfig/setup.tcl nûve bikin file ji bo destnîşankirina pêkanîna nû ya PR:
- Tenê vê sentez û guhertoya bicîhkirinê ya nû bi xebitandina fermana jêrîn berhev bikin:
Ji bo agahdariya bêkêmasî li ser veavakirina qismî ya hiyerarşîk a ji bo cîhazên Intel Arria 10, serî li Afirandina sêwirana Veavakirina Parçeyî ya di Cild 1-ê de ya Destana Intel Quartus Prime Pro Edition bidin.
Information Related
- Afirandina Sêwirana Veavakirina Parçeyî
- Perwerdehiya Serhêl Veavakirina Parçeyî
Dîroka Guhertoya Belgeyê
Tablo 5. Dîroka Guhertoya Belgeyê
Guhertoya Belgeyê | Guhertoya nermalavê | Changes |
2017.11.06 | 17.1.0 | • Nûkirin Reference Design Requirements beşa bi guhertoya nivîsbariyê
• Nûkirin Sêwirana referansa daîre bêyî dabeşkirina PR jimar bi guhertinên bloka sêwiranê • Nûkirin Reference Design Files tabloya bi agahiyên li ser Modula Top_counter.sv • Nûkirin Veavakirina Qismî Yekbûna Core IP-yê jimar bi guhertinên bloka sêwiranê • Reqeman nûve kirin - Paceya Parvekirinên Design û Paceya Herêmên Logic Logic ku GUI-ya nû nîşan bide • File guhertinên navan • Guherandinên nivîsê |
2017.05.08 | 17.0.0 | Daxuyaniya destpêkê ya belgeyê |
Belge / Çavkanî
![]() |
intel AN 805 Veavakirina Qismî Hiyerarşîk a Sêwiranek li ser Desteya Pêşkeftinê ya Arria 10 SoC [pdf] Rehbera bikaranînê AN 805 Veavakirina Qismî Hiyerarşîk a Sêwiranek li ser Lijneya Pêşkeftinê ya Arria 10 SoC, AN 805, Veavakirina Hiyerarşîk ya Qismî ya sêwiranek li ser Desteya Pêşkeftinê ya Arria 10 SoC, Veavakirina sêwiranek li ser Desteya Pêşkeftinê ya Arria 10 SoC, Desteya Pêşkeftinê ya Arria 10 SoC, 10 SoC Desteya Pêşveçûnê |