intel logoAN 987: Statisk opdatering delvis
Rekonfigurationsvejledning

Statisk opdatering Delvis rekonfigurationsvejledning til Intel® ™ Agilex F-Series FPGA Development Board

Denne applikationsnote demonstrerer statisk opdatering delvis rekonfiguration (SUPR) på Intel ® F-Series FPGA Development Board. Partial reconfiguration (PR) giver dig mulighed for at omkonfigurere en del af en Intel FPGA dynamisk, mens den resterende FPGA fortsætter med at fungere. PR implementerer flere personas i en bestemt region i dit design uden at påvirke driften i områder uden for denne region. Denne metode giver følgende fordeltager i systemer, hvor flere funktioner tidsdeler de samme FPGA-ressourcer:

  • Tillader genkonfiguration af run-time
  • Øger design skalerbarhed
  • Reducerer systemets nedetid
  • Understøtter dynamiske tidsmultipleksfunktioner i designet
  • Reducerer omkostninger og strømforbrug ved effektiv udnyttelse af bordplads

Hvad er delvis omkonfiguration af statisk opdatering?

I traditionel PR kræver enhver ændring af den statiske region genkompilering af hver persona. Men med SUPR kan du definere en specialiseret region, der tillader forandring, uden at det kræves genkompilering af personas. Denne teknik er nyttig til en del af et design, som du muligvis ønsker at ændre for at begrænse risikoen, men som aldrig kræver runtime-omkonfiguration.

1.1. Tutorial Krav
Denne tutorial kræver følgende:

  • Grundlæggende kendskab til Intel Quartus® Prime Pro Edition FPGA implementeringsflow og -projekt files.
  •  Installation af Intel Quartus Prime Pro Edition version 22.3 med Intel Agilex-enhedsunderstøttelse.
  • Til FPGA-implementering er en JTAG forbindelse med Intel Agilex F-Series FPGA-udviklingskortet på bænken.
  • Download referencedesign Files. Relateret information
  • Brugervejledning til delvis omkonfiguration
  • Selvstudier til delvis rekonfiguration
  • Delvis rekonfiguration online træning

Intel Corporation. Alle rettigheder forbeholdes. Intel, Intel-logoet og andre Intel-mærker er varemærker tilhørende Intel Corporation eller dets datterselskaber. Intel garanterer ydeevnen af ​​sine FPGA- og halvlederprodukter i henhold til de aktuelle specifikationer i overensstemmelse med Intels standardgaranti, men forbeholder sig retten til at foretage ændringer af produkter og tjenester til enhver tid uden varsel. Intel påtager sig intet ansvar eller erstatningsansvar som følge af applikationen eller brugen af ​​oplysninger, produkter eller tjenester beskrevet heri, undtagen som udtrykkeligt skriftligt aftalt af Intel. Intel-kunder rådes til at indhente den seneste version af enhedsspecifikationerne, før de stoler på nogen offentliggjort information, og før de afgiver ordrer på produkter eller tjenester. *Andre navne og mærker kan hævdes at være andres ejendom.
ISO 9001: 2015 Registreret
1.2. Reference Design Overview
Dette referencedesign består af en 32-bit tæller. På board-niveau forbinder designet uret til en 50MHz-kilde og forbinder derefter udgangen til fire LED'er på boardet. Valg af output fra tællerbittene i en bestemt rækkefølge får LED'erne til at blinke ved en bestemt frekvens. Top_counter-modulet er SUPR-regionen.
Figur 1. Fladt referencedesign

intel logo1.3. Statisk opdateringsområde overståetview
Følgende figur viser blokdiagrammet for et PR-design, der inkluderer en SUPR-region. Blok A er den øverste statiske region. Blok B er SUPR-regionen. Blok C er PR-partitionen.
Figur 2. PR Design med SUPR Region

intel Agilex F-Series FPGA Development Board - Region

  • Et statisk topområde—indeholder designlogik, der ikke ændres. Ændring af denne region kræver genkompilering af alle tilknyttede personer. Det statiske område inkluderer den del af designet, der ikke ændres for nogen persona. Denne region kan omfatte periferi og kerneenhedsressourcer. Du skal registrere al kommunikation mellem SUPR- og PR-partitionerne i det statiske område. Dette krav hjælper med at sikre timing af lukning for enhver personas med hensyn til den statiske region.
  • B SUPR-region - indeholder kun kernelogik, der muligvis kan ændres for at reducere risikoen, men som aldrig kræver runtime-rekonfiguration. SUPR-regionen har de samme krav og begrænsninger som PR-partitionen. SUPR-partitionen kan kun indeholde kerneressourcer. Derfor skal SUPR-partitionen være en underordnet partition af rodpartitionen på øverste niveau, der indeholder designperiferien og ure. Ændring af SUPR-regionen producerer et SRAM-objekt File (.sof), der er kompatibel med alle eksisterende kompilerede Raw Binary File (.rbf) files til PR-partition C.
  • C PR-partition - indeholder vilkårlig logik, som du kan omprogrammere under kørsel med enhver designlogik, der passer og opnår timing-lukning under kompilering.

1.4. Download referencedesign Files
Selvstudiet til delvis rekonfiguration er tilgængeligt på følgende placering: https://github.com/intel/fpga-partial-reconfig
Sådan downloader du selvstudiet:

  1. Klik på Klon eller download.
  2. Klik på Download ZIP. Udpak fpga-partial-reconfig-master.zip file.
  3. Naviger til undermappen tutorials/agilex_pcie_devkit_blinking_led_supr for at få adgang til referencedesignet.
    Den flade mappe består af følgende files:
    Tabel 1. Referencedesign Files
File Navn Beskrivelse
top. sv Top-niveau file indeholdende den flade implementering af designet. Dette modul instansierer blinking_led-underpartitionen og top_counter-modulet.
t op_tæller . sv Topniveau 32-bit tæller, der styrer LED [1] direkte. Det registrerede output fra tælleren styrer LED [0] og forsyner også LED [2] og LED [3] via det blinkende_led-modul.
blinkende_led. sdc Definerer tidsbegrænsningerne for projektet.
blinkende_led. sv I denne tutorial konverterer du dette modul til en overordnet PR-partition. Modulet modtager det registrerede output fra top_counter-modulet, som styrer LED [2] og LED [3].
blinking_led.qpf Intel Quartus Prime-projekt file indeholdende listen over alle revisioner i projektet.
blinkende_led . qs f Intel Quartus Prime-indstillinger file indeholdende opgaverne og indstillingerne for projektet.

Note: Mappen supr indeholder det komplette sæt af files du opretter ved hjælp af denne applikation note. Henvis til disse files på ethvert tidspunkt under gennemgangen.
1.5. Reference Design Walkthrough
Følgende trin beskriver implementering af SUPR med et fladt design:

  • Trin 1: Kom godt i gang
  • Trin 2: Opret designpartitioner
  • Trin 3: Tildel placerings- og ruteområder
  • Trin 4: Definer Personas
  • Trin 5: Opret revisioner
  • Trin 6: Kompiler basisrevisionen
  • Trin 7: Opsætning af PR-implementeringsrevisioner
  • Trin 8: Skift SUPR-logikken
  • Trin 9: Programmer bestyrelsen

Figur 3. SUPR Compilation Flow

intel Agilex F-Series FPGA Development Board - Flow

1.5.1. Trin 1: Kom godt i gang
For at kopiere referencedesignet files til dit arbejdsmiljø og kompiler det blinking_led flade design:

  1. Inden du begynder, skal du downloade referencedesign Files på side 5.
  2. Opret mappen agilex_pcie_devkit_blinking_led_supr i dit arbejdsmiljø.
  3. Kopier de downloadede tutorials/agilex_pcie_devkit_blinking_led/flat undermappe til agilex_pcie_devkit_blinking_led_supr-mappen.
  4. Klik på i Intel Quartus Prime Pro Edition-softwaren File ➤ Åbn Project og åbn /flat/blinking_led.qpf.
  5. For at kompilere basisdesignet skal du klikke på Behandling ➤ Start kompilering. Timing Analyzer-rapporterne åbner automatisk, når kompileringen er færdig. Du kan lukke Timing Analyzer indtil videre.

1.5.2. Trin 2: Opret designpartitioner
Opret designpartitioner for hver region, som du vil delvist omkonfigurere. Du kan oprette et hvilket som helst antal uafhængige partitioner eller PR-regioner i dit projekt. Følg disse trin for at oprette designpartitioner for u_blinking_led-forekomsten som PR-partitionen og u_top_counter-forekomsten som SUPR-regionen:

  1. Højreklik på u_blinking_led-forekomsten i Project Navigator, og klik på Design Partition
    ➤ Rekonfigurerbar. Et designpartitionsikon vises ud for hver forekomst, der er indstillet som en partition.
    Figur 4. Oprettelse af designpartitionerintel Agilex F-Series FPGA Development Board - Partitioner
  2. Gentag trin 1 for at oprette en partition til u_top_counter-forekomsten.
  3. Klik på Assignments ➤ Design Partitions Window. Vinduet viser alle designpartitioner i projektet.
    Figur 5. Vinduet Designpartitioner
    intel Agilex F-Series FPGA Development Board - Vindue
  4. Dobbeltklik på cellen blinking_led Partition Name for at omdøbe den til pr_partition. Omdøb på samme måde top_counter-partitionen til supr_partition.
    Alternativt oprettes disse partitioner ved at tilføje følgende linjer til blinking_led.qsf:
    set_instance_assignment -navn 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 -navn 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. Trin 3: Tildel placerings- og ruteområder
For hver basisrevision, du opretter, bruger compileren PR-partitionsregionallokeringen til at placere den tilsvarende persona-kerne i den reserverede region. Følg disse trin for at finde og tildele en PR-region i enhedens grundplan for din basisrevision:

  1. På fanen Project Navigator Hierarki skal du højreklikke på u_blinking_led-forekomsten og derefter klikke på Logic Lock Region ➤ Create New Logic Lock Region. Regionen vises i vinduet Logic Lock Regions.
  2. Angiv en regions bredde på 5 og højde på 5.
  3. Angiv placeringsregionskoordinaterne for u_blinking_led i kolonnen Oprindelse. Oprindelsen svarer til det nederste venstre hjørne af regionen. Angiv oprindelsen som X166_Y199. Compileren beregner (X170 Y203) som den øverste højre koordinat.
  4. Aktiver indstillingerne Reserveret og Kun kerne for regionen.
  5. Dobbeltklik på indstillingen Routing Region. Dialogboksen Logic Lock Routing Region Settings vises.
  6. For Routing Type skal du vælge Fast med udvidelse. Denne indstilling tildeler automatisk en udvidelseslængde på én.
  7. Gentag de foregående trin for at allokere følgende ressourcer til u_top_counter-partitionen:
    • Højde—5
    • Bredde—5
    • Oprindelse—X173_Y199
    • Routing Region — Fast med udvidelse med udvidelseslængde på én.
    • Reserveret – Til
    • Kun kerne—Til
    Figur 6. Vinduet Logic Lock Regions
    intel Agilex F-Series FPGA Development Board - Regions Window
    Note: Routingområdet skal være større end placeringsområdet for at give ekstra fleksibilitet til compilerens routing stage, når compileren dirigerer forskellige personas.
  8. Dit placeringsområde skal omslutte blinking_led-logikken. For at vælge placeringsregionen ved at lokalisere noden i Chip Planner skal du højreklikke på u_blinking_led regionsnavnet i vinduet Logic Lock Regions og derefter klikke på Find node ➤ Find i Chip Planner.
  9.  Dobbeltklik på Rapportdesign-partitioner under Partitionsrapporter. Chipplanlæggeren fremhæver og farvekoder området.

Figur 7. Chip Planner Node Placering for blinking_led
intel Agilex F-Series FPGA Development Board -blinking_ledAlternativt oprettes disse områder ved at tilføje følgende linjer til blinking_led.qsf:
set_instance_assignment -navn 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 -navn PARTITION supr_partition -to u_top_counter \ -entity top
set_instance_assignment -navn 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 -name RESERVE_PLACE_REGION ON -to u_blinking_led
set_instance_assignment -name CORE_ONLY_PLACE_REGION ON -to u_blinking_led
set_instance_assignment -navn 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 -navn 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 -name RESERVE_PLACE_REGION ON -to u_top_counter
set_instance_assignment -name CORE_ONLY_PLACE_REGION ON -to u_top_counter
set_instance_assignment -navn 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 -navn RESERVE_ROUTE_REGION OFF -to u_top_counter
1.5.4. Trin 4: Definer Personas

Dette referencedesign definerer tre separate personas for den enkelte PR-partition og en SUPR-persona for SUPR-regionen. Følg disse trin for at definere og inkludere disse personas i dit projekt. Hvis du bruger Intel Quartus Prime Text Editor, skal du deaktivere Tilføj file
til nuværende projekt, når du gemmer files.

  1. Opret nye blinking_led_slow.sv, blinking_led_empty.sv og top_counter_fast.sv SystemVerilog files i din arbejdsmappe. Bekræft, at blinking_led.sv allerede er til stede i arbejdsmappen.
  2.  Indtast følgende indhold for SystemVerilog files:
    Tabel 2. Reference Design Personas SystemVerilog
    File Navn Beskrivelse Kode
    blinking_led_slow. sv LED'er blinker langsommere tidsskala 1 ps / 1 ps 'default_nettype none
    modul blinking_led_slow // ur
    input wire ur, input wire reset, input wire [31:01 counter,
    // Styresignaler for LED'ernes udgangsledning led_two_on,
    output wire led_three_on localparam COUNTER_TAP = 27;
    reg led_two_on_r; ben led_tre_på_r; tildele led_two_on = led_two_on_r; tildele led_three_on = led_three_on_r; always_ff @(posedge clock) start led_two_on_r <= counter[COUNTER_TAP]; led_three_on_r <= tæller[COUNTER_TAP]; slut endemodul
    blinkende_led_tom. sv LED'er forbliver ON tidsskala 1 ps / 1 ps 'default_nettype none modul blinking_led_empty( // clock input wire clock, input wire reset, input wire [31:01 counter, // Styresignaler for LEC- output wire led_two_on, output wire led_three_on
    fortsatte…
    File Navn Beskrivelse Kode
    // LED er aktiv lav tildele led_two_on = l'IDO; tildele led_three_on = 11b0; slutmodul
    top_counter_fast.sv Anden SUPR 'tidsskala 1 ps / 1 ps
    persona Thdefault_nettype none modul top_counter_fast
    // Styresignaler for LED'ernes udgangsledning led_one_on, udgangsledning [31:0] tæller, // urindgangsledningsur
    ); localparam COUNTER TAP = 23; reg [31:0] count_d; tildele count = count_d; tildel led_one_on = ount_d[COUNTER_TAP]; always_ff @(posedge clock) start count_d <= count_d + 2; ende
    .:modul
  3.  Klik File ➤ Gem som og gem .sv files i den aktuelle projektmappe.

1.5.5. Trin 5: Opret revisioner
PR-designflowet bruger projektrevisionsfunktionen i Intel Quartus Prime-softwaren. Dit oprindelige design er basisrevisionen, hvor du definerer de statiske regionsgrænser og rekonfigurerbare regioner på FPGA'en. Fra basisrevisionen opretter du yderligere revisioner. Disse revisioner indeholder de forskellige implementeringer for PR-regionerne. Alle PR-implementeringsrevisioner bruger dog de samme placerings- og routingresultater på øverste niveau fra basisrevisionen. For at kompilere et PR-design opretter du en PR-implementeringsrevision for hver persona. Derudover skal du tildele enten Revisionstypen Delvis Rekonfiguration – Basis eller Delvis Rekonfiguration – Personaimplementering for hver af revisionerne. Følgende tabel viser revisionsnavnet og revisionstypen for hver af revisionerne. Impl_blinking_led_supr_new.qsf revisionen er implementeringen af ​​SUPR persona.
Tabel 3. Revisionsnavne og -typer

Revisionsnavn Revisionstype
blinkende_led Delvis rekonfiguration – base
blinking_led_default Delvis rekonfiguration – Persona-implementering
blinking_led_slow Delvis rekonfiguration – Persona-implementering
blinkende_led_tom Delvis rekonfiguration – Persona-implementering
impl_blinking_led_supr_new Delvis rekonfiguration – Persona-implementering

1.5.5.1. Indstilling af basisrevisionen
Følg disse trin for at indstille blinking_led som basisrevision:

  1. Klik på Projekt ➤ Revisioner.
  2. For revisionstype skal du vælge Delvis rekonfiguration – base.

intel Agilex F-Series FPGA Development Board - RevisionerDette trin tilføjer følgende til blinking_led.qsf:
##blinking_led.qsf set_global_assignment -navn REVISION_TYPE PR_BASE
1.5.5.2. Oprettelse af implementeringsrevisioner
Følg disse trin for at oprette implementeringsrevisionerne:

  1. Dobbeltklik på < i dialogboksen Revisioner >.
  2. Angiv blinking_led_default i revisionsnavn og vælg blinking_led for Baseret på revision.
  3. For revisionstypen skal du vælge Delvis rekonfiguration – Personaimplementering.
  4. Deaktiver indstillingen Indstil som aktuel revision.
  5. Gentag trin 2 til 5 for at indstille revisionstypen for de andre implementeringsrevisioner:
Revisionsnavn Revisionstype Baseret på Revision
blinking_led_slow Delvis rekonfiguration – Persona-implementering blinkende_led
blinkende_led_tom Delvis rekonfiguration – Persona-implementering blinkende_led
impl_blinking_led_supr_new Delvis rekonfiguration – Persona-implementering blinkende_led

Figur 8. Oprettelse af implementeringsrevisioner

intel Agilex F-Series FPGA Development Board - ImplementeringsrevisionerHver .qsf file indeholder nu følgende opgave:
set_global_assignment -navn REVISION_TYPE PR_IMPL
set_instance_assignment -name ENTITY_REBINDING place_holder -to u_top_counter
set_instance_assignment -name ENTITY_REBINDING place_holder -to u_blinking_led
1.5.6. Trin 6: Kompiler basisrevisionen
Følg disse trin for at kompilere basisrevisionen og eksportere de statiske og SUPR-regioner til senere brug i implementeringsrevisioner for nye PR-personas:

  1. Indstil blinking_led som den aktuelle revision, hvis den ikke allerede er indstillet.
  2. I vinduet Designpartitioner skal du klikke på (...) ved siden af ​​kolonnen længst til højre og aktivere Post Final Export File kolonne. Du kan også deaktivere eller ændre rækkefølgen af ​​kolonner.
  3. For automatisk at eksportere det endelige snapshot af PR-implementeringsdesignpartitioner efter hver kompilering skal du angive følgende for Post Final Export File muligheder for root- og SUPR-partitionerne. .qdb files eksport til projektbiblioteket som standard.
    • root_partition—blinking_led_static.qdb
    • supr_partition—blinking_led_supr_partition_final.qdb
    Figur 9. Autoeksport i vinduet Designpartitionerintel Agilex F-Series FPGA Development Board - PartitionsvindueAlternativt eksporterer følgende .qsf-tildelinger partitionerne automatisk efter hver kompilering:
    set_instance_assignment -navn EXPORT_PARTITION_SNAPSHOT_FINAL \ blinking_led_static.qdb -to | -entity top
    set_instance_assignment -navn EXPORT_PARTITION_SNAPSHOT_FINAL \ blinking_led_supr_partition_final.qdb -to u_top_counter \ -entity top
  4. For at kompilere blinking_led basisrevisionen skal du klikke på Behandling ➤ Start
    Samling. Alternativt kan du bruge følgende kommando til at kompilere denne revision:
    quartus_sh –flow kompilering blinking_led -c blinking_led Efter vellykket kompilering, følgende files vises i projektbiblioteket:
    • 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. Trin 7: Opsæt PR-implementeringsrevisioner
Du skal forberede PR-implementeringsrevisionerne, før du kan generere PR-bitstrømmen til enhedsprogrammering. Denne opsætning inkluderer tilføjelse af det statiske område .qdb file som kilde file for hver implementeringsrevision. Derudover skal du specificere
den tilsvarende enhed i PR-regionen. Følg disse trin for at opsætte PR-implementeringsrevisionerne:

  1.  For at indstille den aktuelle revision skal du klikke på Projekt ➤ Revisioner, vælge blinking_led_default som revisionsnavn og derefter klikke på Indstil aktuel. Alternativt kan du vælge den aktuelle revision på Intel Quartus Prime-hovedværktøjslinjen.
  2. For at bekræfte den korrekte kilde til denne implementeringsrevision skal du klikke på Projekt ➤ Tilføj/fjern Files i Projekt. Bekræft, at blinking_led.sv file vises i file liste.intel Agilex F-Series FPGA Development Board - Partitionsvindue 1
  3. For at verificere den korrekte kilde file for implementeringsrevisionerne skal du klikke på Projekt ➤ Tilføj/fjern files i Project, og tilføj følgende kilde files for implementeringsrevisionerne. Hvis det er til stede, fjern blinking_led.sv fra listen over projekter files.
    Iimplementeringsrevisionsnavn Kilde File
    blinkende_led_tom blinking_led_empty.sv
    blinking_led_slow blinking_led_slow.sv
  4. Indstil blinking_led_default som den aktuelle revision.
  5. For at angive .qdb file som kilden til root_partition, skal du klikke på Assignments ➤ Design Partitions Window. Dobbeltklik på partitionsdatabasen File celle og angiv blinking_led_static.qdb file.
  6. På samme måde skal du angive blinking_led_supr_partition_final.qdb som partitionsdatabasen File for supr_partition.

    Figur 10.intel Agilex F-Series FPGA Development Board - specificerAlternativt kan du bruge følgende .qsf-tildelinger til at angive .qdb:
    set_instance_assignment -navn QDB_FILE_PARTITION \ blinking_led_static.qdb -to |
    set_instance_assignment -navn QDB_FILE_PARTITION \ blinking_led_supr_partition_final.qdb -to u_top_counter

  7. I vinduet Designpartitioner skal du klikke på (...) ved siden af ​​kolonnen længst til højre og aktivere kolonnen Entity Re-binding.
  8.  I cellen Entity Re-binding skal du angive det nye enhedsnavn for den PR-partition, du ændrer i den aktuelle implementeringsrevision. For implementeringsrevisionen blinking_led_default er enhedsnavnet blinking_led. I dette tilfælde overskriver du u_blinking_led-forekomsten fra basisrevisionskompileringen med den nye enhed blinking_led. For andre implementeringsrevisioner henvises til følgende tabel:

    Revision Entitets genbindingsværdi
    blinking_led_slow blinking_led_slow
    blinkende_led_tom blinkende_led_tom

    Figur 11. Entity Rebindingintel Agilex F-Series FPGA Development Board - RebindingAlternativt kan du bruge følgende linjer i hver revisions .qsf til at angive opgaverne:
    ##blinking_led_default.qsf
    set_instance_assignment -navn ENTITY_REBINDING blinking_led \ -to u_blinking_led
    ##blinking_led_slow.qsf
    set_instance_assignment -navn ENTITY_REBINDING blinking_led_slow \ -to u_blinking_led
    ##blinking_led_empty.qsf
    set_instance_assignment -navn ENTITY_REBINDING blinking_led_empty \ -to u_blinking_led

  9. Slet pladsholderteksten fra Entity Re-binding cellen for supr_partition.
  10. For at kompilere designet skal du klikke på Behandling ➤ Start kompilering. Alternativt kan du bruge følgende kommando til at kompilere dette projekt: quartus_sh –flow compile blinking_led –c blinking_led_default
  11. Gentag trin 4 til 11 for at forberede og kompilere implementeringsrevisionerne blinking_led_slow og blinking_led_empty.

1.5.8. Trin 8: Skift SUPR-logikken
For at ændre funktionaliteten af ​​logikken i SUPR-partitionen skal du ændre SUPR-partitionskilden. Udfør følgende trin for at erstatte u_top_counter-forekomsten i SUPR-partitionen med entiteten top_counter_fast.

  1. For at indstille SUPR-implementeringsrevisionen som aktuel skal du klikke på Projekt ➤ Revisioner og indstille impl_blinking_led_supr_new som den aktuelle revision, eller vælge
    revision på Intel Quartus Prime-hovedværktøjslinjen.
  2. For at verificere den korrekte kilde file for implementeringsrevisionen, klik på Projekt ➤
    Tilføj/fjern files i Project, og bekræft, at top_counter_fast.sv er kilden til impl_blinking_led_supr_new implementeringsrevisionen. Hvis det findes, skal du fjerne top_counter.sv fra listen over projekter files.intel Agilex F-Series FPGA Development Board - Opgaver
  3. For at angive .qdb file knyttet til rodpartitionen, klik på Assignments ➤ Design Partitions Window, og dobbeltklik derefter på Partition Database File celle for at angive blinking_led_static.qdb.
    Alternativt kan du bruge følgende kommando til at tildele dette file: set_instance_assignment -navn QDB_FILE_PARTITION \ blinking_led_static.qdb -to |
  4. Angiv det relevante enhedsnavn i cellen Entity Re-binding for pr_partition. For denne example, angiv entiteten blinking_led_empty. I dette tilfælde overskriver du u_blinking_led-forekomsten fra basisrevisionskompileringen med den nye enhed linking_led_empty. Følgende linje findes nu i .qsf:
    ##impl_blinking_led_supr_new.qsf set_instance_assignment -navn ENTITY_REBINDING blinking_led_empty \ -to u_blinking_led
  5. I cellen Entity Re-binding for supr_partition skal du angive top_counter_fast entiteten. top_counter_fast er navnet på den statiske enhed, der erstatter u_top_counter, når du fuldfører SUPR.intel Agilex F-Series FPGA Development Board - SUPR##impl_blinking_led_supr_new.qsf set_instance_assignment -navn ENTITY_REBINDING top_counter_fast \ -to u_top_counter
  6. For at kompilere designet skal du klikke på Behandling ➤ Start kompilering. Alternativt kan du bruge følgende kommando til at kompilere denne projektrevision: quartus_sh –flow compile blinking_led –c \ impl_blinking_led_supr_new

1.5.9. Trin 9: Programmer bestyrelsen
Følg disse trin for at tilslutte og programmere Intel Agilex F-Series FPGA-udviklingskortet.

  1. Tilslut strømforsyningen til Intel Agilex F-Series FPGA-udviklingskortet.
  2. Tilslut et USB-kabel mellem din PC USB-port og USB-programmeringshardwaren på udviklingskortet.
  3. Åbn Intel Quartus Prime-softwaren, og klik derefter på Værktøjer ➤ Programmer. Se Programmering af en udviklingstavle.
  4. I programmeringsenheden skal du klikke på Hardwareopsætning og derefter vælge USB-Blaster.
  5. Klik på Auto Detect, og vælg derefter AGFB014R24B-enheden.
  6.  Klik på OK. Intel Quartus Prime-softwaren registrerer og opdaterer programmeringsenheden med de tre FPGA-enheder på kortet.
  7.  Vælg AGFB014R24B-enheden, klik på Skift File, og indlæs blinking_led_default.sof file.
  8. Aktiver Program/Configure for blinking_led_default.sof file.
  9. Klik på Start og vent på, at statuslinjen når 100 %.
  10.  Bemærk LED'erne på tavlen blinke.
  11. For kun at programmere PR-regionen skal du højreklikke på blinking_led_default.sof file i programmøren og klik på Tilføj PR-programmering File. Vælg blinking_led_slow.pr_partition.rbf file.
  12. Deaktiver Program/Configure for blinking_led_default.sof file.
  13.  Aktiver Program/Configure for blinking_led_slow.pr_partition.rbf file, og klik derefter på Start. På tavlen skal du observere LED[0] og LED[1] fortsætte med at blinke. Når statuslinjen når 100 %, blinker LED[2] og LED[3] langsommere.
  14. For at omprogrammere PR-regionen skal du højreklikke på .rbf file i programmeringsenheden, og klik derefter på Skift PR-programmering File.
  15.  Vælg .rbf files for de to andre personas at observere adfærden på tavlen. Indlæser blinking_led_default.pr_partition.rbf file får LED'erne til at blinke ved den oprindelige frekvens og indlæser blinking_led_empty.pr_partition.rbf file får LED'erne til at blive tændt. 17. For at ændre SUPR-logikken, gentag trin 7 ovenfor for at vælge impl_blinking_led_supr_new.sof. Efter at have ændret dette file, LED [0:1] blinker nu hurtigere end før. Den anden PR .rbf files er også kompatible med den nye .sof.
    Note: Assembleren genererer en .rbf file for SUPR-regionen. Du bør dog ikke bruge dette file at omprogrammere FPGA'en under kørsel, fordi SUPR-partitionen ikke instansierer frysebroen, PR-regionscontrolleren og anden logik i det overordnede system. Når du foretager ændringer i SUPR-partitionslogikken, skal du omprogrammere hele .sof file fra SUPR implementering revision kompilering.

Figur 12. Programmering af en udviklingstavle
intel Agilex F-Series FPGA Development Board - Board1.5.9.1. Fejlfinding af PR-programmeringsfejl
At sikre korrekt opsætning af Intel Quartus Prime Programmer og tilsluttet hardware hjælper med at undgå fejl under PR-programmering.
Hvis du står over for PR-programmeringsfejl, se "Fejlfinding af PR-programmeringsfejl" i Intel Quartus Prime Pro Edition-brugervejledningen: Delvis omkonfiguration for trinvise fejlfindingstip.
Relateret information

Fejlfinding af PR-programmeringsfejl

1.5.10. Ændring af SUPR-partitionen
Du kan ændre en eksisterende SUPR-partition. Efter at have ændret SUPR-partitionen, skal du kompilere den, generere .sof file, og programmer bestyrelsen, uden at kompilere de andre personas. F.eksample, følg disse trin for at ændre top_counter_fast.sv-modulet til at tælle hurtigere:

  1. Indstil impl_blinking_led_supr_new som den aktuelle revision.
  2.  I top_counter_fast.sv file, erstat sætningen count_d + 2 med count_d + 4.
  3.  Kør følgende kommandoer for at gensyntetisere SUPR-blokken og generere den nye .sof file: quartus_sh –flow kompiler blinking_led \ -c impl_blinking_led_supr_new
    Den resulterende .sof indeholder nu den nye SUPR-region og bruger blinking_led som standardpersona (power-on).

1.6. Dokumentrevisionshistorik for AN 987: Revisionshistorik for statisk opdatering, delvis rekonfiguration

Dokumentversion Intel Quartus Prime-version Ændringer
2022.10.24 22. Første udgivelse af dokumentet.

Opdateret til Intel® Quartus®Prime Design Suite: 22.3

Svar på de mest stillede spørgsmål:

Send feedback

Q Hvad er delvis omkonfiguration af statisk opdatering

En delvis omkonfiguration af statisk opdatering på side 3

Q Hvad skal jeg bruge til denne øvelse?

Et vejledningskrav på side 3

Q Hvor kan jeg få referencedesignet?

Et download-referencedesign Files på side 5

Q Hvordan opretter jeg et SUPR-design?

En referencedesigngennemgang på side 6

Q Hvad er en PR-persona?

Definer Personas på side 10

Q Hvordan ændrer jeg SUPR-logik? A Skift SUPR-logikken på side 16

A Skift SUPR-logikken på side 16

Q Hvordan programmerer jeg tavlen?

A Programmer bestyrelsen på side 18

Q Hvad er de kendte PR-problemer og begrænsninger?

A Intel FPGA Support Forums: PR

intel Agilex F-Series FPGA Development Board - Ikon Online Version
intel Agilex F-Series FPGA Development Board - Ikon 154 Send feedback

ID: 749443
AN-987
Version: 2022.10.24

Dokumenter/ressourcer

Intel Agilex F-Series FPGA Development Board [pdfBrugervejledning
Agilex F-Series, Agilex F-Series FPGA Development Board, FPGA Development Board, Development Board, Board

Referencer

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Påkrævede felter er markeret *