intel LogoAN 987: Statyske Update Partial
Rekonfiguraasje Tutorial

Statyske fernijing Tutorial foar partiel rekonfiguraasje foar Intel® ™ Agilex F-Series FPGA Development Board

Dizze applikaasjenotysje toant statyske fernijing partiel rekonfiguraasje (SUPR) op it Intel ® F-Series FPGA Development Board. Partial rekonfiguraasje (PR) kinne jo opnij konfigurearje in part fan in Intel FPGA dynamysk, wylst de oerbleaune FPGA bliuwt te operearjen. PR ymplemintearret meardere persoanen yn in bepaalde regio yn jo ûntwerp, sûnder ynfloed op operaasje yn gebieten bûten dizze regio. Dizze metodyk jout de folgjende advantages yn systemen wêryn meardere funksjes tiid-diele deselde FPGA-boarnen:

  • Tastean run-time rekonfiguraasje
  • Fergruttet skaalberens fan ûntwerp
  • Ferminderet systeem down-time
  • Unterstützt dynamyske tiidmultiplexingfunksjes yn it ûntwerp
  • Ferleget kosten en enerzjyferbrûk troch effisjint gebrûk fan boardromte

Wat is Static Update Partial Reconfiguration?

Yn tradisjonele PR fereasket elke feroaring yn 'e statyske regio opnij kompilaasje fan elke persona. Mei SUPR kinne jo lykwols in spesjalisearre regio definiearje dy't feroaring mooglik makket, sûnder dat de werkompilaasje fan persona's nedich is. Dizze technyk is nuttich foar in diel fan in ûntwerp dat jo miskien wolle feroarje foar risikobeheining, mar dat fereasket nea runtime rekonfiguraasje.

1.1. Tutorial Requirements
Dizze tutorial fereasket it folgjende:

  • Basis bekendheid mei de Intel Quartus® Prime Pro Edition FPGA ymplemintaasje stream en projekt files.
  •  Ynstallaasje fan Intel Quartus Prime Pro Edition ferzje 22.3, mei Intel Agilex apparaat stipe.
  • Foar FPGA-ymplemintaasje, in JTAG ferbining mei it Intel Agilex F-Series FPGA-ûntwikkelingsboerd op 'e bank.
  • Download Reference Design Files. Related Ynformaasje
  • Partial Reconfiguration User Guide
  • Diellike rekonfiguraasje Tutorials
  • Partial Reconfiguration Online Training

Intel Corporation. Alle rjochten foarbehâlden. Intel, it Intel-logo en oare Intel-merken binne hannelsmerken fan Intel Corporation of har dochterûndernimmingen. Intel garandearret prestaasjes fan har FPGA- en semiconductor-produkten oan hjoeddeistige spesifikaasjes yn oerienstimming mei Intel's standert garânsje, mar behâldt it rjocht foar om op elk momint feroarings te meitsjen oan produkten en tsjinsten sûnder notice. Intel nimt gjin ferantwurdlikens of oanspraaklikens oan dy't fuortkomme út 'e applikaasje of gebrûk fan ynformaasje, produkt of tsjinst beskreaun hjiryn, útsein as útdruklik skriftlik ôfpraat troch Intel. Intel-klanten wurde advisearre om de lêste ferzje fan apparaatspesifikaasjes te krijen foardat se fertrouwe op alle publisearre ynformaasje en foardat se oarders pleatse foar produkten of tsjinsten. * Oare nammen en merken kinne wurde opeaske as eigendom fan oaren.
ISO 9001:2015 Registrearre
1.2. Reference Design Overview
Dit referinsje ûntwerp bestiet út ien, 32-bit teller. Op boardnivo ferbynt it ûntwerp de klok mei in 50MHz-boarne, en ferbynt dan de útfier mei fjouwer LED's op it boerd. Selektearje de útfier fan 'e tellerbits, yn in spesifike folchoarder, feroarsaket de LED's om te blinkjen op in spesifike frekwinsje. De top_counter-module is de SUPR-regio.
figuer 1. Flat Reference Design

intel Logo1.3. Statyske Update Regio Overview
De folgjende figuer lit it blokdiagram sjen foar in PR-ûntwerp dat in SUPR-regio omfettet. Blok A is de Top statyske regio. Blok B is de SUPR-regio. Blok C is de PR-partysje.
figuer 2. PR Design mei SUPR Regio

intel Agilex F-Series FPGA Development Board - Regio

  • In topstatyske regio - befettet ûntwerplogika dy't net feroaret. It feroarjen fan dizze regio fereasket opnij kompilaasje fan alle assosjearre persoanen. De statyske regio omfettet it diel fan it ûntwerp dat net feroaret foar elke persona. Dizze regio kin omfetsje perifery en kearnapparaat boarnen. Jo moatte alle kommunikaasje registrearje tusken de SUPR- en PR-partysjes yn 'e statyske regio. Dizze eask helpt te garandearjen timing sluting foar eltse personas, mei respekt foar de statyske regio.
  • B SUPR Regio-befettet core-allinne logika dy't mooglik feroarje foar risiko mitigation, mar nea fereasket runtime rekonfiguraasje. De SUPR-regio hat deselde easken en beheiningen as de PR-dieling. De SUPR-dieling kin allinich kearnboarnen befetsje. Dêrom moat de SUPR-partysje in bernepartition wêze fan 'e root-partysje op topnivo dy't de ûntwerpperifery en klokken befettet. It feroarjen fan de SUPR-regio produsearret in SRAM-objekt File (.sof) dat ferienichber is mei alle besteande kompilearre Raw Binary File (.rbf) files foar PR-partysje C.
  • C PR Partition-befettet willekeurige logika dy't jo kinne opnij programmearje by runtime mei elke ûntwerplogika dy't past en berikke timing sluting tidens kompilaasje.

1.4. Download Reference Design Files
De tutorial foar in part rekonfiguraasje is beskikber op 'e folgjende lokaasje: https://github.com/intel/fpga-partial-reconfig
Om de tutorial te downloaden:

  1. Klik op Clone of download.
  2. Klik Download ZIP. Unzip de fpga-partial-reconfig-master.zip file.
  3. Navigearje nei de tutorials/agilex_pcie_devkit_blinking_led_supr submap om tagong te krijen ta it referinsjeûntwerp.
    De platte map bestiet út de folgjende files:
    Tabel 1. Reference Design Files
File Namme Beskriuwing
top. sv Top-nivo file befettet de platte ymplemintaasje fan it ûntwerp. Dizze module instantiates de blinking_led sub-partysje en de top_counter module.
t op_counter . sv Top-nivo 32-bit teller dy't kontrolearret LED [1] direkt. De registrearre útfier fan de teller kontrolearret LED [0], en ek macht LED [2] en LED [3] fia de blinking_led module.
blinking_led. sdc Definieart de timingbeheiningen foar it projekt.
blinking_led. sv Yn dizze tutorial konvertearje jo dizze module yn in âlder PR-partysje. De module ûntfangt de registrearre útfier fan top_counter module, dy't kontrolearret LED [2] en LED [3].
blinking_led.qpf Intel Quartus Prime projekt file mei de list fan alle ferzjes yn it projekt.
blinking_led. qs f Intel Quartus Prime ynstellings file mei de opdrachten en ynstellings foar it projekt.

Noat: De supr map befettet de folsleine set fan files jo meitsje mei dizze applikaasje noat. Ferwize dizze files op elts punt tidens de walkthrough.
1.5. Reference Design Walkthrough
De folgjende stappen beskriuwe de ymplemintaasje fan SUPR mei in plat ûntwerp:

  • Stap 1: Te begjinnen
  • Stap 2: Meitsje ûntwerppartysjes
  • Stap 3: Allocate Placement and Routing Regions
  • Stap 4: Define Personas
  • Stap 5: Meitsje ferzjes
  • Stap 6: Kompilearje de basisferzje
  • Stap 7: Opsetten fan PR-ymplemintaasjeferzjes
  • Stap 8: Feroarje de SUPR-logika
  • Stap 9: Programmearje it bestjoer

figuer 3. SUPR Compilation Flow

intel Agilex F-Series FPGA Development Board - Flow

1.5.1. Stap 1: Te begjinnen
Om it referinsjeûntwerp te kopiearjen files nei jo wurkomjouwing en kompilearje it flakke ûntwerp fan blinking_led:

  1. Foardat jo begjinne, Download Reference Design Files op side 5.
  2. Meitsje de map agilex_pcie_devkit_blinking_led_supr yn jo wurkomjouwing.
  3. Kopiearje de ynladen tutorials/agilex_pcie_devkit_blinking_led/flat submap nei de map agilex_pcie_devkit_blinking_led_supr.
  4. Klikje yn 'e software fan Intel Quartus Prime Pro Edition File ➤ Iepenje Project en iepenje /flat/blinking_led.qpf.
  5. Om it basisûntwerp te kompilearjen, klikje op Ferwurkjen ➤ Kompilaasje begjinne. De Timing Analyzer rapportearret automatysk iepen as de kompilaasje foltôge is. Jo kinne de Timing Analyzer foar no slute.

1.5.2. Stap 2: Meitsje ûntwerppartysjes
Meitsje ûntwerppartysjes foar elke regio dy't jo foar in part opnij konfigurearje wolle. Jo kinne elk oantal unôfhinklike partysjes as PR-regio's yn jo projekt oanmeitsje. Folgje dizze stappen om ûntwerppartysjes te meitsjen foar de u_blinking_led-eksimplaar as de PR-partysje, en de u_top_counter-eksimplaar as de SUPR-regio:

  1. Rjochts-klikke op de u_blinking_led-eksimplaar yn 'e Project Navigator en klikje op Design Partition
    ➤ Reconfigurable. In ûntwerp partition ikoan ferskynt neist elke eksimplaar dat is ynsteld as in partition.
    figuer 4. Create Design Partitionenintel Agilex F-Series FPGA Development Board - Partitionen
  2. Werhelje stap 1 om in partysje te meitsjen foar it eksimplaar u_top_counter.
  3. Klik Opdrachten ➤ Finster foar partitionen ûntwerp. It finster toant alle ûntwerppartysjes yn it projekt.
    figuer 5. Design Partitions Finster
    intel Agilex F-Series FPGA Development Board - Finster
  4. Dûbelklikje op de blinking_led Partition Name sel om it te omneamen nei pr_partition. Op deselde manier omneame de top_counter-partysje nei supr_partition.
    As alternatyf, it tafoegjen fan de folgjende rigels oan blinking_led.qsf makket dizze partysjes:
    set_instance_assignment -name PARTITION pr_partition \ -to u_blinking_led -entity top
    set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON \ -to u_blinking_led -entity top
    set_instance_assignment -name PARTITION supr_partition \ -to u_top_counter -entity top
    set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON \ -to u_top_counter -entity top

1.5.3. Stap 3: Allocate Placement and Routing Regions
Foar elke basisferzje dy't jo oanmeitsje, brûkt de kompilator de tawizing fan 'e PR-partitionregio om de korrespondearjende persona-kearn yn' e reservearre regio te pleatsen. Folgje dizze stappen om in PR-regio te lokalisearjen en ta te jaan yn it flierplan fan it apparaat foar jo basisferzje:

  1. Klikje yn it ljepblêd Project Navigator Hierarchy mei de rjochtermûsknop op it eksimplaar u_blinking_led, en klik dan op Logic Lock Region ➤ Create New Logic Lock Region. De regio ferskynt yn it finster Logic Lock Regions.
  2. Spesifisearje in regio Breedte fan 5 en Hichte fan 5.
  3. Spesifisearje de pleatsingsregio-koordinaten foar u_blinking_led yn 'e kolom Origin. De oarsprong komt oerien mei de ûnderste linker hoeke fan 'e regio. Spesifisearje de oarsprong as X166_Y199. De kompilator berekkent (X170 Y203) as de koördinaat rjochts boppe.
  4. Aktivearje de opsjes Reserved en Core-Allinnich foar de regio.
  5. Dûbelklikke op de opsje Routing Region. It dialoochfinster Logic Lock Routing Region Settings ferskynt.
  6. Foar de Routing Type, selektearje Fêst mei útwreiding. Dizze opsje jout automatysk in útwreiding lingte fan ien.
  7. Werhelje de foarige stappen om de folgjende boarnen te allocearjen foar de u_top_counter-partysje:
    • Hichte-5
    • Breedte—5
    • Oarsprong-X173_Y199
    • Routing Region- Fêst mei útwreiding mei útwreiding lingte fan ien.
    • Reserved-On
    • Core-Only-On
    figuer 6. Logic Lock Regio's Finster
    intel Agilex F-Series FPGA Development Board - Regio's Finster
    Noat: De routingregio moat grutter wêze as de pleatsingsregio, om ekstra fleksibiliteit te jaan foar de routing s fan de kompilatortage, doe't de Compiler rûtes ferskillende personas.
  8. Jo pleatsingsregio moat de logika blinking_led omfetsje. Om de pleatsingsregio te selektearjen troch it knooppunt te lokalisearjen yn Chip Planner, klikje jo mei de rjochtermûs op de u_blinking_led regionamme yn it Logic Lock Regions finster, en klik dan op Knooppunt sykje ➤ Sykje yn Chip Planner.
  9.  Under Partition Reports, dûbelklikke op Report Design Partitions. De Chip Planner markearret en kleur koades de regio.

figuer 7. Chip Planner Node Lokaasje foar blinking_led
intel Agilex F-Series FPGA Development Board -blinking_ledAs alternatyf, it tafoegjen fan de folgjende rigels oan blinking_led.qsf makket dizze regio's:
set_instance_assignment -name PARTITION pr_partition -to \ u_blinking_led -entity top
set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON \ -to u_blinking_led -entity top
set_instance_assignment -name PARTITION supr_partition -to u_top_counter \ -entity top
set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON -to \ u_top_counter -entity top
set_instance_assignment -name PLACE_REGION "X166 Y199 X170 Y203" -to \ u_blinking_led
set_instance_assignment -namme RESERVE_PLACE_REGION ON -to u_blinking_led
set_instance_assignment -namme CORE_ONLY_PLACE_REGION ON -to u_blinking_led
set_instance_assignment -namme REGION_NAME pr_partition -to u_blinking_led
set_instance_assignment -name ROUTE_REGION "X165 Y198 X171 Y204" -to \ u_blinking_led
set_instance_assignment -name RESERVE_ROUTE_REGION OFF -to u_blinking_led
set_instance_assignment -name PLACE_REGION "X173 Y199 X177 Y203" -to \ u_top_counter
set_instance_assignment -namme RESERVE_PLACE_REGION ON -to u_top_counter
set_instance_assignment -namme CORE_ONLY_PLACE_REGION ON -to u_top_counter
set_instance_assignment -namme REGION_NAME supr_partition -to u_top_counter
set_instance_assignment -name ROUTE_REGION "X172 Y198 X178 Y204" -to \ u_top_counter
set_instance_assignment -namme RESERVE_ROUTE_REGION OFF -to u_top_counter
1.5.4. Stap 4: Define Personas

Dit referinsjeûntwerp definiearret trije aparte persona's foar de ienige PR-partition, en ien SUPR-persona foar de SUPR-regio. Folgje dizze stappen om dizze persoanen te definiearjen en op te nimmen yn jo projekt. As jo ​​​​de Intel Quartus Prime Text Editor brûke, útskeakelje Add file
oan aktuele projekt by it bewarjen fan de files.

  1. Meitsje nije blinking_led_slow.sv, blinking_led_empty.sv, en top_counter_fast.sv SystemVerilog files yn jo wurkmap. Befêstigje dat blinking_led.sv al oanwêzich is yn 'e wurkmap.
  2.  Fier de folgjende ynhâld yn foar de SystemVerilog files:
    tabel 2. Reference Design Personas SystemVerilog
    File Namme Beskriuwing Koade
    blinking_led_slow. sv LED's blinke stadiger tiidskaal 1 ps / 1 ps 'default_nettype gjin
    module blinking_led_slow // klok
    input wire klok, input wire reset, input wire [31:01 teller,
    // Bestjoerssignalen foar de LED's útfierdraad led_two_on,
    útfier draad led_three_on localparam COUNTER_TAP = 27;
    reg led_twa_on_r; skonk led_trije_op_r; assign led_two_on = led_two_on_r; assign led_three_on = led_three_on_r; altyd_ff @(posedge klok) begjinne led_two_on_r <= teller[COUNTER_TAP]; led_three_on_r <= teller[COUNTER_TAP]; ein einmodule
    blinking_led_empty. sv LEDs bliuwe ON tiidskaal 1 ps / 1 ps 'default_nettype gjin module blinking_led_empty( // klok input wire klok, input wire reset, input wire [31:01 teller, // Control signals for the LEC- output wire led_two_on, output wire led_three_on
    fierder…
    File Namme Beskriuwing Koade
    // LED is aktyf low assign led_two_on = l'IDO; assign led_three_on = 11b0; einmodule
    top_counter_fast.sv Twadde SUPR 'tiidskaal 1 ps / 1 ps
    persona Thdefault_nettype gjin module top_counter_fast
    // Bestjoerssignalen foar de LED's útfierdraad led_one_on, útfierdraad [31:0] telle, // klok ynfierdraadklok
    ) ; localparam COUNTER TAP = 23; reg [31:0] count_d; assign count = count_d; assign led_one_on = ount_d[COUNTER_TAP]; altyd_ff @(posedge klok) begjinne count_d <= count_d + 2; ein
    .:module
  3.  Klikje File ➤ Bewarje as en bewarje de .sv files yn 'e hjoeddeistige projektmap.

1.5.5. Stap 5: Meitsje ferzjes
De PR-ûntwerpstream brûkt de funksje fan projektferzjes yn 'e Intel Quartus Prime-software. Jo earste ûntwerp is de basisferzje, wêr't jo de grinzen fan statyske regio's en rekonfigureare regio's op 'e FPGA definiearje. Fanút de basisferzje meitsje jo ekstra ferzjes. Dizze ferzjes befetsje de ferskate ymplemintaasjes foar de PR-regio's. Alle PR-ymplemintaasjeferzjes brûke lykwols deselde top-nivo pleatsing en routingresultaten fan 'e basisferzje. Om in PR-ûntwerp te kompilearjen, meitsje jo in PR-ymplemintaasjeferzje foar elke persona. Derneist moatte jo it revyzjesoarte Partial Reconfiguration - Base of Partial Reconfiguration - Persona Implementation revyzje foar elk fan 'e ferzjes tawize. De folgjende tabel lit de ferzjenamme en it ferzjestype foar elk fan 'e ferzjes sjen. De impl_blinking_led_supr_new.qsf revyzje is de SUPR persona ymplemintaasje.
Tabel 3. Revision Nammen en typen

Revision Namme Revision Type
blinking_led Partial rekonfiguraasje - Base
blinking_led_default Partial Reconfiguration - Persona Ymplemintaasje
blinking_led_slow Partial Reconfiguration - Persona Ymplemintaasje
blinking_led_empty Partial Reconfiguration - Persona Ymplemintaasje
impl_blinking_led_supr_new Partial Reconfiguration - Persona Ymplemintaasje

1.5.5.1. It ynstellen fan de basisferzje
Folgje dizze stappen om blinking_led as basisferzje yn te stellen:

  1. Klik Project ➤ Revisions.
  2. Foar Revision Type, selektearje Partial Reconfiguration - Base.

intel Agilex F-Series FPGA Development Board - RevisionsDizze stap foeget it folgjende ta oan de blinking_led.qsf:
##blinking_led.qsf set_global_assignment -name REVISION_TYPE PR_BASE
1.5.5.2. It oanmeitsjen fan ymplemintaasje Revisions
Folgje dizze stappen om de ymplemintaasjeferzjes te meitsjen:

  1. Yn it dialoochfinster Revisions dûbelklikje op < >.
  2. Yn Revision namme, spesifisearje blinking_led_default en selektearje blinking_led foar Basearre op revyzje.
  3. Selektearje foar it Revyzjetype Partial Reconfiguration - Persona Implementation.
  4. Skeakelje de Set as aktuele ferzje opsje út.
  5. Werhelje stappen 2 oant 5 om it Revyzje-type yn te stellen foar de oare útfieringsferzjes:
Revision Namme Revision Type Basearre op Revision
blinking_led_slow Partial Reconfiguration - Persona Ymplemintaasje blinking_led
blinking_led_empty Partial Reconfiguration - Persona Ymplemintaasje blinking_led
impl_blinking_led_supr_new Partial Reconfiguration - Persona Ymplemintaasje blinking_led

figuer 8. It oanmeitsjen fan útfiering Revisions

intel Agilex F-Series FPGA Development Board - Implementaasje RevisionsElke .qsf file befettet no de folgjende opdracht:
set_global_assignment -namme REVISION_TYPE PR_IMPL
set_instance_assignment -namme ENTITY_REBINDING plakhâlder -to u_top_counter
set_instance_assignment -namme ENTITY_REBINDING plakhâlder -to u_blinking_led
1.5.6. Stap 6: Kompilearje de basisferzje
Folgje dizze stappen om de basisferzje te kompilearjen en de statyske en SUPR-regio's te eksportearjen foar letter gebrûk yn ymplemintaasjeferzjes foar nije PR-persona's:

  1. Stel blinking_led yn as de aktuele revyzje as net al ynsteld.
  2. Klikje yn it finster fan ûntwerppartysjes op de (...) neist de meast rjochte kolom en skeakelje de Post Finale eksport yn File pylder. Jo kinne ek de folchoarder fan kolommen útskeakelje of feroarje.
  3. Om automatysk it definitive momintopname fan partysjes foar PR-ymplemintaasje-ûntwerp nei elke kompilaasje te eksportearjen, spesifisearje it folgjende foar de Post Finale eksportearje File opsjes foar de root- en SUPR-partysjes. De .qdb files standert eksportearje nei de projektmap.
    • root_partition—blinking_led_static.qdb
    • supr_partition—blinking_led_supr_partition_final.qdb
    figuer 9. Auto Eksportearje yn Design Partitions Finsterintel Agilex F-Series FPGA Development Board - Partitionen FinsterAs alternatyf eksportearje de folgjende .qsf-opdrachten de partysjes automatysk nei elke kompilaasje:
    set_instance_assignment -name EXPORT_PARTITION_SNAPSHOT_FINAL \ blinking_led_static.qdb -to | - entiteit top
    set_instance_assignment -name EXPORT_PARTITION_SNAPSHOT_FINAL \ blinking_led_supr_partition_final.qdb -to u_top_counter \ -entity top
  4. Om de blinking_led basisferzje te kompilearjen, klikje op Ferwurkjen ➤ Start
    Kompilaasje. As alternatyf kinne jo it folgjende kommando brûke om dizze ferzje te kompilearjen:
    quartus_sh –flow kompilearje blinking_led -c blinking_led Nei suksesfolle kompilaasje, de folgjende files ferskine yn 'e projektmap:
    • blinking_led.sof
    • blinking_led.pr_partition.rbf
    • blinking_led.supr_partition.rbf
    • blinking_led_static.qdb
    • blinking_led_supr_partition_final.qdb

1.5.7. Stap 7: Ynstelle PR-ymplemintaasjeferzjes
Jo moatte de PR-ymplemintaasjeferzjes tariede foardat jo de PR-bitstream kinne generearje foar apparaatprogrammearring. Dizze opset befettet it tafoegjen fan de statyske regio .qdb file as de boarne file foar eltse útfiering revyzje. Dêrneist moatte jo oantsjutte
de oerienkommende entiteit fan 'e PR-regio. Folgje dizze stappen om de PR-ymplemintaasjeferzjes yn te stellen:

  1.  Om de aktuele ferzje yn te stellen, klikje jo op Project ➤ Revisions, selektearje blinking_led_default as de Revisionnamme, en klik dan op Set Aktueel. As alternatyf kinne jo de aktuele ferzje selektearje op 'e haad arkbalke fan Intel Quartus Prime.
  2. Om de juste boarne foar dizze ymplemintaasjeferzje te ferifiearjen, klikje op Project ➤ Add/Remove Files yn Projekt. Befêstigje dat de blinking_led.sv file ferskynt yn 'e file list.intel Agilex F-Series FPGA Development Board - Partitionenfinster 1
  3. Om de juste boarne te ferifiearjen file foar de ymplemintaasjeferzjes, klikje op Project ➤ Add/Remove files yn Project, en foegje de folgjende boarne ta files foar de útfiering ferzjes. As oanwêzich, fuortsmite blinking_led.sv út de list fan projekt files.
    Implementation Revision Namme Boarne File
    blinking_led_empty blinking_led_empty.sv
    blinking_led_slow blinking_led_slow.sv
  4. Stel blinking_led_default yn as de aktuele revyzje.
  5. Om opjaan de .qdb file as de boarne foar root_partition, klikje Assignments ➤ Untwerp Partitions Finster. Dûbelklikke op de Partition Database File sel en spesifisearje de blinking_led_static.qdb file.
  6. Op deselde manier, spesifisearje blinking_led_supr_partition_final.qdb as de Partition Database File foar supr_partition.

    figuer 10.intel Agilex F-Series FPGA Development Board - spesifisearjeAs alternatyf, brûk de folgjende .qsf-opdrachten om de .qdb oan te jaan:
    set_instance_assignment -namme QDB_FILE_PARTISJE \ blinking_led_static.qdb -to |
    set_instance_assignment -namme QDB_FILE_PARTITION \ blinking_led_supr_partition_final.qdb -to u_top_counter

  7. Klikje yn it Finster Untwerppartysjes op de (...) neist de fierste rjochterkolom en skeakelje de Entity Re-binding kolom yn.
  8.  Spesifisearje yn 'e Entity Re-binding sel de nije entiteitsnamme foar de PR-partysje dy't jo feroarje yn' e hjoeddeistige útfieringsferzje. Foar de ferzje fan 'e blinking_led_default ymplemintaasje is de entiteitsnamme blinking_led. Yn dit gefal oerskriuwe jo de u_blinking_led-eksimplaar fan 'e basisferzje kompilearje mei de nije entiteit blinking_led. Foar oare ymplemintaasjeferzjes, ferwize nei de folgjende tabel:

    Revyzje Entiteit Re-binding Wearde
    blinking_led_slow blinking_led_slow
    blinking_led_empty blinking_led_empty

    figuer 11. Entity Rebindingintel Agilex F-Series FPGA Development Board - RebindingAs alternatyf kinne jo de folgjende rigels brûke yn 'e .qsf fan elke ferzje om de opdrachten yn te stellen:
    ##blinking_led_default.qsf
    set_instance_assignment -namme ENTITY_REBINDING blinking_led \ -to u_blinking_led
    ##blinking_led_slow.qsf
    set_instance_assignment -name ENTITY_REBINDING blinking_led_slow \ -to u_blinking_led
    ##blinking_led_empty.qsf
    set_instance_assignment -name ENTITY_REBINDING blinking_led_empty \ -to u_blinking_led

  9. Wiskje de place_holder tekst út de Entity Re-binding sel foar supr_partition.
  10. Om it ûntwerp te kompilearjen, klikje op Ferwurkjen ➤ Kompilaasje begjinne. As alternatyf, brûk it folgjende kommando om dit projekt te kompilearjen: quartus_sh –flow kompilearje blinking_led –c blinking_led_default
  11. Werhelje stappen 4 oant 11 foar it tarieden en kompilearjen fan de blinking_led_slow en blinking_led_empty ymplemintaasjeferzjes.

1.5.8. Stap 8: Feroarje de SUPR-logika
Om de funksjonaliteit fan 'e logika binnen de SUPR-partysje te feroarjen, moatte jo de SUPR-partysjeboarne feroarje. Folje de folgjende stappen om de u_top_counter-eksimplaar te ferfangen yn 'e SUPR-partysje mei de top_counter_fast entiteit.

  1. Om de SUPR-ymplemintaasjeferzje as aktueel yn te stellen, klikje jo op Project ➤ Revisions en set impl_blinking_led_supr_new yn as de aktuele ferzje, of selektearje de
    revyzje op 'e Intel Quartus Prime haadarkbalke.
  2. Om de juste boarne te ferifiearjen file foar de ymplemintaasjeferzje, klikje op Project ➤
    Taheakje / Fuortsmite files yn Project, en ferifiearje dat top_counter_fast.sv de boarne is foar de impl_blinking_led_supr_new ymplemintaasjeferzje. As oanwêzich, fuortsmite top_counter.sv út de list fan projekt files.intel Agilex F-Series FPGA Development Board - Opdrachten
  3. Om opjaan de .qdb file ferbûn mei de root-partysje, klikje Opdrachten ➤ Untwerp Partitions Finster, en dûbelklik dan op de Partition Database File sel foar in spesifisearje blinking_led_static.qdb.
    As alternatyf, brûk it folgjende kommando om dit ta te jaan file: set_instance_assignment -namme QDB_FILE_PARTISJE \ blinking_led_static.qdb -to |
  4. Spesifisearje de passende entiteitsnamme yn 'e Entity Re-binding sel foar pr_partition. Foar dizze eksample, spesifisearje de blinking_led_empty entiteit. Yn dit gefal oerskriuwe jo de u_blinking_led-eksimplaar fan 'e basisferzje kompilearje mei de nije entiteit linking_led_empty. De folgjende rigel bestiet no yn 'e .qsf:
    ##impl_blinking_led_supr_new.qsf set_instance_assignment -name ENTITY_REBINDING blinking_led_empty \ -to u_blinking_led
  5. Spesifisearje yn 'e Entity Re-binding sel foar supr_partition de top_counter_fast entiteit. top_counter_fast is de namme fan 'e statyske entiteit dy't u_top_counter ferfangt as jo de SUPR foltôgje.intel Agilex F-Series FPGA Development Board - SUPR##impl_blinking_led_supr_new.qsf set_instance_assignment -name ENTITY_REBINDING top_counter_fast \ -to u_top_counter
  6. Om it ûntwerp te kompilearjen, klikje op Ferwurkjen ➤ Kompilaasje begjinne. As alternatyf, brûk it folgjende kommando om dizze projektferzje te kompilearjen: quartus_sh –flow kompilearje blinking_led –c \ impl_blinking_led_supr_new

1.5.9. Stap 9: Programmearje it bestjoer
Folgje dizze stappen om it Intel Agilex F-Series FPGA-ûntwikkelingsboerd te ferbinen en te programmearjen.

  1. Ferbine de macht oanbod oan de Intel Agilex F-Series FPGA ûntwikkeling board.
  2. Ferbine in USB-kabel tusken jo PC USB-poarte en de USB-programmearring hardware op it ûntwikkeling board.
  3. Iepenje de Intel Quartus Prime software, en klik dan op Tools ➤ Programmer. Ferwize nei Programming in Development Board.
  4. Yn de Programmer, klik Hardware Setup, en dan selektearje USB-Blaster.
  5. Klik Auto Detect, en selektearje dan it AGFB014R24B apparaat.
  6.  Klik OK. De Intel Quartus Prime-software detektearret en fernijt de Programmer mei de trije FPGA-apparaten op it boerd.
  7.  Selektearje it apparaat AGFB014R24B, klik Feroarje File, en laad de blinking_led_default.sof file.
  8. Aktivearje Programma / Konfigurearje foar de blinking_led_default.sof file.
  9. Klikje op Start en wachtsje oant de foarútgongbalke 100% berikt.
  10.  Observearje de LED's op it boerd blinkend.
  11. Om allinich de PR-regio te programmearjen, klikje jo mei de rechtermuisknop op de blinking_led_default.sof file yn 'e Programmer en klikje PR-programmearring taheakje File. Selektearje de blinking_led_slow.pr_partition.rbf file.
  12. Skeakelje Programma / Konfigurearje foar de blinking_led_default.sof file.
  13.  Aktivearje Programma / Konfigurearje foar de blinking_led_slow.pr_partition.rbf file, en klik dan op Start. Op it boerd, observearje LED[0] en LED[1] bliuwend knipperjen. As de foarútgongbalke 100% berikt, blinke LED[2] en LED[3] stadiger.
  14. Om de PR-regio opnij te programmearjen, klikje jo mei de rechtermuisknop op de .rbf file yn de Programmer, en klik dan op Feroarje PR-programmearring File.
  15.  Selektearje de .rbf files foar de oare twa personas te observearjen it gedrach op it boerd. It laden fan de blinking_led_default.pr_partition.rbf file feroarsaket de LED's om te blinkjen op 'e oarspronklike frekwinsje, en it laden fan' e blinking_led_empty.pr_partition.rbf file feroarsaket de LEDs te bliuwen ON. 17. Om de SUPR-logika te feroarjen, werhelje stap 7 hjirboppe om de impl_blinking_led_supr_new.sof te selektearjen. Nei it feroarjen fan dit file, led [0:1] blinkt no hurder as earder. De oare PR .rbf files binne ek kompatibel mei de nije .sof.
    Noat: De Assembler genereart in .rbf file foar de SUPR-regio. Jo moatte dit lykwols net brûke file om de FPGA by runtime opnij te programmearjen, om't de SUPR-partysje de freezebrêge, PR-regiokontrôler en oare logika net ynstantiearret yn it algemiene systeem. As jo ​​meitsje feroarings oan de SUPR partition logika, Jo moatte reprogrammearje de folsleine .sof file fan 'e kompilaasje fan' e SUPR ymplemintaasje revyzje.

figuer 12. Programming in ûntwikkeling Board
intel Agilex F-Series FPGA Development Board - Board1.5.9.1. Troubleshooting PR-programmearring flaters
It garandearjen fan goede opset fan 'e Intel Quartus Prime Programmer en ferbûne hardware helpt om flaters te foarkommen tidens PR-programmearring.
As jo ​​​​fout foar PR-programmearring hawwe, ferwize dan nei "Troubleshooting PR Programming Errors" yn 'e Intel Quartus Prime Pro Edition User Guide: Partial Reconfiguration foar stap-foar-stap tips foar probleemoplossing.
Related Information

Troubleshooting PR-programmearring flaters

1.5.10. It wizigjen fan de SUPR Partition
Jo kinne in besteande SUPR-partysje wizigje. Nei it wizigjen fan de SUPR-partysje moatte jo it kompilearje, generearje de .sof file, en programmearje it bestjoer, sûnder de oare persoanen te kompilearjen. Bygelyksample, folgje dizze stappen om de module top_counter_fast.sv te feroarjen om rapper te tellen:

  1. Stel impl_blinking_led_supr_new yn as de aktuele ferzje.
  2.  Yn de top_counter_fast.sv file, ferfange de count_d + 2 statement mei count_d + 4.
  3.  Rin de folgjende kommando's út om it SUPR-blok opnij te syntetisearjen en de nije .sof te generearjen file: quartus_sh –flow kompilearje blinking_led \ -c impl_blinking_led_supr_new
    De resultearjende .sof befettet no de nije SUPR-regio, en brûkt blinking_led foar de standert (power-on) persona.

1.6. Document Revision Skiednis fan AN 987: Statyske Update Partial Reconfiguration Tutorial Revision Skiednis

Dokumint Ferzje Intel Quartus Prime Ferzje Feroarings
2022.10.24 22. Inisjele frijlitting fan it dokumint.

Updated foar Intel® Quartus®Prime Design Suite: 22.3

Antwurden op Top FAQs:

Stjoer Feedback

Q Wat is statyske update parsjele rekonfiguraasje

In Static Update Partial Reconfiguration op side 3

F Wat haw ik nedich foar dizze tutorial?

In tutorial easken op side 3

F Wêr kin ik it referinsjeûntwerp krije?

In Download Reference Design Files op side 5

F Hoe meitsje ik in SUPR-ûntwerp?

In Walkthrough foar referinsjeûntwerp op side 6

Q Wat is in PR-persona?

Definiearje Personas op side 10

F Hoe feroarje ik SUPR-logika? A Feroarje de SUPR-logika op side 16

A Feroarje de SUPR-logika op side 16

F Hoe programmearje ik it boerd?

In Programma it bestjoer op side 18

Q Wat binne de PR bekende problemen en beheiningen?

In Intel FPGA Support Forums: PR

intel Agilex F-Series FPGA Development Board - Ikoan Online Ferzje
intel Agilex F-Series FPGA Development Board - Ikoan 154 Stjoer Feedback

ID: 749443
AN-987
Ferzje: 2022.10.24

Dokuminten / Resources

intel Agilex F-Series FPGA Development Board [pdf] Brûkersgids
Agilex F-Series, Agilex F-Series FPGA Development Board, FPGA Development Board, Development Board, Board

Referinsjes

Lit in reaksje efter

Jo e-mailadres sil net publisearre wurde. Ferplichte fjilden binne markearre *