Intel logo 1

Indhold skjule

Brugervejledning til GPIO Intel® FPGA IP


Intel® Arria® 10 og Intel® Cyclone® 10 GX-enheder

Opdateret til Intel® Quartus® Prime Design Suite: 21.2
IP-version: 20.0.0

GPIO Intel FPGA IP - Feedback Online Version                                                               ID: 683136
GPIO Intel FPGA IP - Worldwide Send feedback             ug-altera_gpio            Version: 2021.07.15


GPIO Intel® FPGA IP-kernen understøtter de generelle I/O-funktioner (GPIO) og komponenter. Du kan bruge GPIO'er i generelle applikationer, der ikke er specifikke for transceivere, hukommelsesgrænseflader eller LVDS.

GPIO IP-kernen er kun tilgængelig for Intel Arria® 10- og Intel Cyclone® 10 GX-enheder. Hvis du migrerer design fra Stratix® V-, Arria V- eller Cyclone V-enheder, skal du migrere ALTDDIO_IN-, ALTDDIO_OUT-, ALTDDIO_BIDIR- eller ALTIOBUF IP-kernerne.

Relateret information

Udgivelsesoplysninger for GPIO Intel FPGA IP

Intel FPGA IP-versioner matcher Intel Quartus® Prime Design Suite-softwareversionerne indtil v19.1. Startende i Intel Quartus Prime Design Suite-softwareversion 19.2 har Intel FPGA IP et nyt versionssystem.


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

Intel FPGA IP-versionsnummeret (XYZ) kan ændres med hver Intel Quartus Prime-softwareversion. En ændring i:

  • X angiver en større revision af IP. Hvis du opdaterer Intel Quartus Prime-softwaren, skal du genskabe IP'en.
  • Y angiver, at IP'en indeholder nye funktioner. Gendan din IP for at inkludere disse nye funktioner.
  • Z angiver, at IP'en indeholder mindre ændringer. Gendan din IP for at inkludere disse ændringer.

Tabel 1. GPIO Intel FPGA IP Core aktuelle udgivelsesoplysninger

Punkt

Beskrivelse

IP version 20.0.0
Intel Quartus Prime-version 21.2
Udgivelsesdato 2021.06.23
GPIO Intel FPGA IP-funktioner

GPIO IP-kernen indeholder funktioner, der understøtter enhedens I/O-blokke. Du kan bruge Intel Quartus Prime-parametereditoren til at konfigurere GPIO IP-kernen.

GPIO IP-kernen indeholder disse komponenter:

  • Dobbelt datahastighed input/output (DDIO) - en digital komponent, der fordobler eller halverer datahastigheden for en kommunikationskanal.
  • Forsinkelseskæder – konfigurer forsinkelseskæderne til at udføre specifik forsinkelse og hjælpe med I/O-timinglukning.
  • I/O-buffere—tilslut pads til FPGA.
GPIO Intel FPGA IP-datastier

Figur 1. Højt niveau View af Single-Ended GPIO

GPIO Intel FPGA IP - Figur 1

Tabel 2. GPIO IP Core Data Path Modes

Datasti

Registreringstilstand
Bypass Enkelt register

DDR I/O

Fuld pris

Halv pris

Input Data går fra forsinkelseselementet til kernen og omgår alle I/O'er med dobbelt datahastighed (DDIO'er). DDIO'en med fuld hastighed fungerer som et simpelt register, der omgår halvhastigheds DDIO'er. Montøren vælger, om registret skal pakkes i I/O'en eller implementeres i kernen, afhængigt af området og timing-afvejninger. DDIO'en med fuld hastighed fungerer som en almindelig DDIO og omgår halvhastigheds DDIO'erne. DDIO'en med fuld rate fungerer som en almindelig DDIO. Halvhastigheds-DDIO'erne konverterer fuldhastighedsdata til halvhastighedsdata.
Produktion Data går fra kernen direkte til forsinkelseselementet og omgår alle DDIO'er. DDIO'en med fuld hastighed fungerer som et simpelt register, der omgår halvhastigheds DDIO'er. Montøren vælger, om registret skal pakkes i I/O'en eller implementeres i kernen, afhængigt af området og timing-afvejninger. DDIO'en med fuld hastighed fungerer som en almindelig DDIO og omgår halvhastigheds DDIO'erne. DDIO'en med fuld rate fungerer som en almindelig DDIO. Halvhastigheds-DDIO'erne konverterer fuldhastighedsdata til halvhastighedsdata.
Tovejs Outputbufferen driver både en output-pin og en inputbuffer. DDIO'en med fuld hastighed fungerer som et simpelt register. Outputbufferen driver både en output-pin og en inputbuffer. DDIO'en med fuld rate fungerer som en almindelig DDIO. Outputbufferen driver både en output-pin og en inputbuffer. Indgangsbufferen driver et sæt af tre flip-flops. DDIO'en med fuld rate fungerer som en almindelig DDIO. Halvhastigheds-DDIO'erne konverterer fuldhastighedsdata til halvhastighedsdata. Outputbufferen driver både en output-pin og en inputbuffer. Indgangsbufferen driver et sæt af tre flip-flops.

Hvis du bruger asynkrone klare og forudindstillede signaler, deler alle DDIO'er de samme signaler.

Halvhastigheds- og fuldhastigheds-DDIO'er forbindes til separate ure. Når du bruger halvhastigheds- og fuldhastigheds-DDIO'er, skal fuldhastighedsuret køre med dobbelt så høj frekvens som halvhastighedsfrekvensen. Du kan bruge forskellige faseforhold til at opfylde tidskravene.

Relateret information
Input og Output Bus High og Low Bits på side 12

Indtastningssti

Pad'en sender data til inputbufferen, og inputbufferen føder forsinkelseselementet. Når dataene går til udgangen af ​​forsinkelseselementet, vælger de programmerbare bypass-multipleksere de funktioner og stier, der skal bruges. Hver inputsti indeholder to stages af DDIO'er, som er fuld-rate og halv-rate.

Figur 2. Forenklet View af Single-Ended GPIO Input Path

GPIO Intel FPGA IP - Figur 2

  1. Puden modtager data.
  2. DDIO IN (1) fanger data på de stigende og faldende kanter af ck_fr og sender dataene, signalerne (A) og (B) i den følgende kurvefigur med en enkelt datahastighed.
  3. DDIO IN (2) og DDIO IN (3) halverer datahastigheden.
  4. dout[3:0] præsenterer dataene som en halvhastighedsbus.

Figur 3. Input Path Waveform i DDIO Mode med Half-Rate Conversion

I denne figur går dataene fra fuldhastighedsur ved dobbelt datahastighed til halvhastighedsur ved enkelt datahastighed. Datahastigheden divideres med fire, og busstørrelsen øges med samme forhold. Den samlede gennemstrømning gennem GPIO IP-kernen forbliver uændret.

Det faktiske timingforhold mellem forskellige signaler kan variere afhængigt af det specifikke design, forsinkelser og faser, som du vælger for ure med fuld hastighed og halv hastighed.

GPIO Intel FPGA IP - Figur 3

Bemærk: GPIO IP-kernen understøtter ikke dynamisk kalibrering af tovejs ben. For applikationer, der kræver dynamisk kalibrering af tovejsstifter, henvises til de relaterede oplysninger.

Relateret information

Output og Output Aktiver stier

Udgangsforsinkelseselementet sender data til puden gennem outputbufferen.

Hver outputsti indeholder to stages af DDIO'er, som er halv-rate og fuld-rate.

Figur 4. Forenklet View af Single-Ended GPIO Output Path

GPIO Intel FPGA IP - Figur 4

Figur 5. Output Path Waveform i DDIO Mode med Half-Rate Conversion

GPIO Intel FPGA IP - Figur 5

Figur 6. Forenklet View af Output Enable Path

GPIO Intel FPGA IP - Figur 6

Forskellen mellem output-stien og output-aktiveringsstien (OE) er, at OE-stien ikke indeholder fuldhastigheds-DDIO. For at understøtte implementeringer af pakket register i OE-stien fungerer et simpelt register som DDIO med fuld hastighed. Af samme grund er der kun en halv-rate DDIO til stede.

OE-stien fungerer i følgende tre grundlæggende tilstande:

  • Bypass - kernen sender data direkte til forsinkelseselementet og omgår alle DDIO'er.
  • Pakket register—omgår halv-rate DDIO.
  • SDR-output ved halv hastighed – DDIO'er med halv hastighed konverterer data fra fuld hastighed til halv hastighed.

Bemærk: GPIO IP-kernen understøtter ikke dynamisk kalibrering af tovejs ben. For applikationer, der kræver dynamisk kalibrering af tovejsstifter, henvises til de relaterede oplysninger.

Relateret information

GPIO Intel FPGA IP-interfacesignaler

Afhængigt af de parameterindstillinger, du angiver, er forskellige interfacesignaler tilgængelige for GPIO IP-kernen.

Figur 7. GPIO IP Core Interfaces

GPIO Intel FPGA IP - Figur 7

Figur 8. GPIO-grænsefladesignaler

GPIO Intel FPGA IP - Figur 8

Tabel 3. Pad-interfacesignaler

Pad-interfacet er den fysiske forbindelse fra GPIO IP-kernen til puden. Denne grænseflade kan være en input-, output- eller tovejsgrænseflade, afhængigt af IP-kernekonfigurationen. I denne tabel er SIZE den databredde, der er angivet i IP-kerneparametereditoren.

Signal navn

Retning

Beskrivelse

pad_in[SIZE-1:0]

Input

Indgangssignal fra puden.
pad_in_b[SIZE-1:0]

Input

Negativ knude på det differentielle indgangssignal fra puden. Denne port er tilgængelig, hvis du tænder for Brug differentiel buffer valgmulighed. 
pad_out[SIZE-1:0]

Produktion

Udgangssignal til puden.
pad_out_b[SIZE-1:0]

Produktion

Negativ knudepunkt for det differentielle udgangssignal til puden. Denne port er tilgængelig, hvis du tænder for Brug differentiel buffer valgmulighed.
pad_io[SIZE-1:0]

Tovejs

Tovejs signalforbindelse med puden.
pad_io_b[SIZE-1:0]

Tovejs

Negativ knude på den differentielle tovejssignalforbindelse med puden. Denne port er tilgængelig, hvis du tænder for Brug differentiel buffer valgmulighed.

Tabel 4. Datagrænsefladesignaler

Datagrænsefladen er en input- eller outputgrænseflade fra GPIO IP-kernen til FPGA-kernen. I denne tabel er SIZE den databredde, der er angivet i IP-kerneparametereditoren.

Signal navn

Retning

Beskrivelse

din[DATA_SIZE-1:0]

Input

Datainput fra FPGA-kernen i output- eller tovejstilstand.
DATA_SIZE afhænger af registreringstilstanden:
  • Bypass eller simpelt register—DATA_SIZE = SIZE
  • DDIO uden halvhastighedslogik – DATA_SIZE = 2 × STØRRELSE
  • DDIO med halvhastighedslogik—DATA_SIZE = 4 × STØRRELSE
dout[DATA_SIZE-1:0]

Produktion

Dataoutput til FPGA-kernen i input- eller tovejstilstand,
DATA_SIZE afhænger af registreringstilstanden:
  • Bypass eller simpelt register—DATA_SIZE = SIZE
  • DDIO uden halvhastighedslogik – DATA_SIZE = 2 × STØRRELSE
  • DDIO med halvhastighedslogik—DATA_SIZE = 4 × STØRRELSE
oe[OE_SIZE-1:0]

Input

OE input fra FPGA kernen i output mode med Aktiver udgangsaktiveringsport tændt eller tovejstilstand. OE er aktiv høj.
Når du sender data, skal du indstille dette signal til 1. Når du modtager data, skal du indstille dette signal til 0. OE_SIZE afhænger af registertilstanden:
  • Bypass eller simpelt register—DATA_SIZE = SIZE
  • DDIO uden halvhastighedslogik – DATA_SIZE = SIZE
  • DDIO med halvhastighedslogik—DATA_SIZE = 2 × STØRRELSE

Tabel 5. Urgrænsefladesignaler

Ur-interfacet er et input-clock-interface. Den består af forskellige signaler, afhængigt af konfigurationen. GPIO IP-kernen kan have nul, en, to eller fire clock-indgange. Urporte vises forskelligt i forskellige konfigurationer for at afspejle den faktiske funktion, der udføres af ursignalet.

Signal navn

Retning

Beskrivelse

ck

Input

I input- og output-stier føder dette ur et pakket register eller DDIO, hvis du slukker for Halv sats logik parameter.
I tovejstilstand er dette ur det unikke ur for input- og outputstierne, hvis du slukker for Separate input/output ure parameter.
ck_fr

Input

I input- og outputstier leverer disse ure DDIO'erne med fuld hastighed og halv hastighed, hvis du tænder for Halv sats logik parameter.
I tovejstilstand bruger input- og outputstierne disse ure, hvis du slukker for Separate input/output ure parameter.

ck_hr

ck_in

Input

I tovejstilstand leverer disse ure et pakket register eller DDIO i input- og outputstierne, hvis du angiver begge disse indstillinger:
  • Sluk for Halv sats logik parameter.
  • Tænd for Separate input/output ure parameter.
ck_out
ck_fr_in

Input

I tovejstilstand leverer disse ure en fuld- og halvhastigheds DDIOS i input- og outputstierne, hvis du angiver begge disse indstillinger
  • Tænd for Halv sats logik parameter.
  • Tænd for Separate input/output ure parameter.

F.eksample, ck_fr_out føder fuldhastigheds-DDIO'en i outputstien.

ck_fr_out
ck_hr_in
ck_hr_out
bro

Input

Ur aktiveret.

Tabel 6. Termineringsgrænsefladesignaler

Termineringsgrænsefladen forbinder GPIO IP-kernen til I/O-bufferne.

Signal navn

Retning

Beskrivelse

serietermineringskontrol

Input

Input fra termineringskontrolblokken (OCT) til bufferne. Den indstiller bufferseriens impedansværdi.
paralleltermineringskontrol

Input

Input fra termineringskontrolblokken (OCT) til bufferne. Den indstiller bufferens parallelle impedansværdi.

Tabel 7. Nulstil grænsefladesignaler

Nulstillingsgrænsefladen forbinder GPIO IP-kernen til DDIO'erne.

Signal navn

Retning

Beskrivelse

sclr

Input

Synkron klar input. Ikke tilgængelig, hvis du aktiverer sset.
aclr

Input

Asynkron klar input. Aktiv høj. Ikke tilgængelig, hvis du aktiverer aset.
asset

Input

Asynkron sæt input. Aktiv høj. Ikke tilgængelig, hvis du aktiverer aclr.
sset

Input

Synkron sæt input. Ikke tilgængelig, hvis du aktiverer sclr.

Relateret information
Input og Output Bus High og Low Bits på side 12

Delte signaler
  • Input-, output- og OE-stierne deler de samme klare og forudindstillede signaler.
  • Outputtet og OE-stien deler de samme kloksignaler.
Data Bit-Order for Data Interface

Figur 9. Data Bit-Order-konvention

Denne figur viser bitrækkefølgen for din, dout og oe datasignalerne.

GPIO Intel FPGA IP - Figur 9

  • Hvis databusstørrelsesværdien er SIZE, er LSB'en længst til højre.
  • Hvis databusstørrelsesværdien er 2 × STØRRELSE, er bussen lavet af to ord af STØRRELSE.
  • Hvis databusstørrelsen er 4 × STØRRELSE, er bussen lavet af fire ord af STØRRELSE.
  • LSB er i positionen længst til højre for hvert ord.
  • Ordet længst til højre angiver det første ord, der går ud for udgangsbusser og det første ord, der kommer ind for inputbusser.

Relateret information
Indtastningssti på side 5

Input og Output Bus High og Low Bits

De høje og lave bits i input- eller outputsignalerne er inkluderet i din og dout input- og outputbusserne.

Input bus

For din-bussen, hvis datain_h og datain_l er de høje og lave bits, hvor hver bredde er datain_width:

  • datain_h = din[(2 × datain_width – 1):datain_width]
  • datain_l = din[(datain_width – 1):0]

F.eksample, for din[7:0] = 8'b11001010:

  • datain_h = 4'b1100
  • datain_l = 4'b1010

Output bus

For dout-bussen, hvis dataout_h og dataout_l er de høje og lave bits, hvor hver bredde er dataout_width:

  • dataout_h = dout[(2 × dataout_width – 1):dataout_width]
  • dataout_l = dout[(dataout_width – 1):0]

F.eksample, for dout[7:0] = 8'b11001010:

  • dataout_h = 4'b1100
  • dataout_l = 4'b1010
Datagrænsefladesignaler og tilsvarende ure

Tabel 8. Datagrænsefladesignaler og tilsvarende ure

Signal navn 

Parameterkonfiguration Ur
Registreringstilstand Halv sats

Separate ure

din
  • Enkelt register
  • DDIO

Slukket

Slukket

ck
DDIO

On

Slukket

ck_hr
  • Enkelt register
  • DDIO

Slukket

On

ck_in
DDIO

On

On

ck_hr_in
  • dout
  • oe
  • Enkelt register
  • DDIO

Slukket

Slukket

ck
DDIO

On

Slukket

ck_hr
  • Enkelt register
  • DDIO

Slukket

On

ck_out
DDIO

On

On

ck_hr_out
  • sclr
  • sset
  • Alle pad-signaler
  • Enkelt register
  • DDIO

Slukket

Slukket

ck
DDIO

On

Slukket

ck_fr
  • Enkelt register
  • DDIO

Slukket

On

  • Inputsti: ck_in
  • Outputsti: ck_out
DDIO

On

On

  • Inputsti: ck_fr_in
  • Outputsti: ck_fr_out
Verifikation af ressourceudnyttelse og designydelse

Du kan henvise til Intel Quartus Prime-kompileringsrapporterne for at få detaljer om ressourceforbruget og ydeevnen af ​​dit design.

  1. Klik på i menuen Behandler ➤ Start kompilering at køre en fuld kompilering.
  2. Efter at have kompileret designet, klik Behandling ➤ Kompileringsrapport.
  3. Ved hjælp af Indholdsfortegnelse, naviger til Montør ➤ Ressourcesektion.
    en. Til view ressourceforbrugsoplysningerne, skal du vælge Ressourceforbrug Resumé.
    b. Til view oplysninger om ressourceudnyttelse skal du vælge Ressourceudnyttelse efter enhed.
GPIO Intel FPGA IP-parameterindstillinger

Du kan indstille parameterindstillingerne for GPIO IP-kernen i Intel Quartus Prime-softwaren. Der er tre grupper af muligheder: Generel, Buffer, og Registre.

Tabel 9. GPIO IP-kerneparametre – Generelt

Parameter

Tilstand Tilladte værdier

Beskrivelse

Dataretning

  • Input
  • Produktion 
  • Bidir
Angiver dataretningen for GPIO'en.
Data bredde

1 til 128 Angiver databredden.
Brug ældre portnavne på øverste niveau

  • On
  • Slukket
Brug samme portnavne som i Stratix V-, Arria V- og Cyclone V-enheder.
F.eksample, dout bliver dataout_h og dataout_l, og din bliver datain_h og datain_l.
Bemærk: Disse portes adfærd er anderledes end i Stratix V-, Arria V- og Cyclone V-enhederne. For migrationsvejledningen henvises til de relaterede oplysninger.

Tabel 10. GPIO IP Core Parameters – Buffer

Parameter

Tilstand Tilladte værdier

Beskrivelse

Brug differentiel buffer

  • On 
  • Slukket
Hvis den er slået til, aktiveres differentielle I/O-buffere.
Brug pseudo differentiel buffer
  • Dataretning = Output
  • Brug differentiel buffer = Til 
  • On 
  • Slukket
Hvis den er slået til i outputtilstand, aktiveres pseudo-differentielle outputbuffere.
Denne indstilling aktiveres automatisk for tovejstilstand, hvis du tænder Brug differentiel buffer.
Brug bushold-kredsløb
  • Dataretning = Input eller Bidir
  • Brug differentiel buffer = Fra
  • On 
  • Slukket
Hvis det er slået til, kan bushold-kredsløbet svagt holde signalet på en I/O-pin i sin sidst drevne tilstand, hvor outputbuffertilstanden vil være 1 eller 0, men ikke højimpedans.
Brug åben afløbsudgang
  • Dataretning = Output eller Bidir
  • Brug differentiel buffer = Fra
  • On 
  • Slukket
Hvis det er slået til, gør det åbne afløbsudgang enheden i stand til at levere kontrolsignaler på systemniveau, såsom afbrydelses- og skriveaktiveringssignaler, der kan påstås af flere enheder i dit system.
Aktiver udgangsaktiveringsport Dataretning = Output
  • On 
  • Slukket
Hvis den er slået til, aktiveres brugerinput til OE-porten. Denne indstilling aktiveres automatisk for tovejstilstand.
Aktiver serieterminering / paralleltermineringsporte

  • On 
  • Slukket
Hvis den er slået til, aktiveres serietermineringskontrol- og paralleltermineringskontrolportene på outputbufferen.

Tabel 11. GPIO IP-kerneparametre – registre

Parameter Tilstand Tilladte værdier Beskrivelse
Registreringstilstand

  • Ingen 
  • Simpelt register 
  • DDIO
Angiver registertilstanden for GPIO IP-kernen:
  • Ingen— specificerer en simpel ledningsforbindelse fra/til bufferen.
  • Simpelt register— specificerer, at DDIO'en bruges som et simpelt register i single data-rate mode (SDR). Montøren kan pakke dette register i I/O'en.
  • DDIO— angiver, at IP-kernen bruger DDIO.
Aktiver synkron clear/forudindstillet port
  • Registreringstilstand = DDIO
  • Ingen 
  • Klar 
  • Forudindstillet
Angiver, hvordan synkron nulstillingsport implementeres.
  • Ingen— Deaktiverer synkron nulstillingsport.
  • Klar— Aktiverer SCLR-porten til synkron sletning.
  • Forudindstillet— Aktiverer SSET-porten til synkron forudindstilling.
Aktiver asynkron clear/forudindstillet port
  • Registreringstilstand = DDIO
  • Ingen 
  • Klar 
  • Forudindstillet
Angiver, hvordan asynkron nulstillingsport skal implementeres.
  • Ingen— Deaktiverer asynkron nulstillingsport.
  • Klar— Aktiverer ACLR-porten til asynkron sletning.
  • Forudindstillet— Aktiverer ASET-porten til asynkron forudindstilling.

ACLR- og ASET-signaler er aktive høje.

Aktiver uraktiverede porte Registreringstilstand = DDIO
  • On 
  • Slukket
  • On— afslører clock enable (CKE) porten for at give dig mulighed for at kontrollere, hvornår data clockes ind eller ud. Dette signal forhindrer data i at blive sendt igennem uden din kontrol.
  • Slukket— porten til aktivering af ur er ikke eksponeret, og data passerer altid automatisk gennem registret.
Halv sats logik Registreringstilstand = DDIO
  • On 
  • Slukket
Hvis den er slået til, aktiveres halvhastigheds DDIO.
Separat input/output ure
  • Dataretning = Bidir 
  • Registreringstilstand = Simpelt register eller DDIO
  • On 
  • Slukket
Hvis den er slået til, aktiveres separate ure (CK_IN og CK_OUT) for input- og outputstierne i tovejstilstand.

Relateret information

  • Input og Output Bus High og Low Bits på side 12
  • Retningslinje: Skift datain_h og datain_l porte i migreret IP på side 23
Registrer pakning

GPIO IP-kernen giver dig mulighed for at pakke register ind i periferien for at spare areal og ressourceudnyttelse.

Du kan konfigurere fuldhastigheds-DDIO'en på input- og outputstien som en flip flop. For at gøre det skal du tilføje .qsf-tildelingerne, der er angivet i denne tabel.

Tabel 12. Register Packing QSF Assignments

Sti

QSF opgave

Indtastningsregisterpakning QSF Assignment set_instance_assignment -navn FAST_INPUT_REGISTER ON -to
Output register pakning set_instance_assignment -navn FAST_OUTPUT_REGISTER TIL -til
Output aktivere registerpakning set_instance_assignment -navn FAST_OUTPUT_ENABLE_REGISTER TIL -til

Bemærk: Disse opgaver garanterer ikke registerpakning. Disse opgaver gør det dog muligt for montøren at finde en lovlig placering. Ellers holder Fitteren flip-floppen i kernen.

GPIO Intel FPGA IP-timing

Ydeevnen af ​​GPIO IP-kernen afhænger af I/O-begrænsningerne og clock-faserne. For at validere timingen for din GPIO-konfiguration anbefaler Intel, at du bruger Timing Analyzer.

Relateret information
Intel Quartus Prime Timing Analyzer

Timing komponenter

GPIO IP kerne timing komponenterne består af tre stier.

  • I/O-grænsefladestier - fra FPGA'en til eksterne modtageenheder og fra eksterne sendeenheder til FPGA'en.
  • Kernegrænsefladestier for data og ur – fra I/O til kernen og fra kernen til I/O.
  • Overførselsstier - fra halv-rate til fuld-rate DDIO og fra fuld-rate til halv-rate DDIO.

Bemærk: Timing Analyzer behandler stien inde i DDIO_IN- og DDIO_OUT-blokkene som sorte bokse.

Figur 10. Input Path Timing Components

GPIO Intel FPGA IP - Figur 10

Figur 11. Output Path Timing Components

GPIO Intel FPGA IP - Figur 11

Figur 12. Output Enable Path Timing Components

GPIO Intel FPGA IP - Figur 12

Forsinkelseselementer

Intel Quartus Prime-softwaren indstiller ikke automatisk forsinkelseselementer for at maksimere slæk i I/O-timinganalysen. For at lukke timingen eller maksimere slæk, skal du indstille forsinkelseselementerne manuelt i Intel Quartus Prime-indstillingerne file (.qsf).

Tabel 13. Forsinkelseselementer .qsf-tildelinger

Angiv disse tildelinger i .qsf for at få adgang til forsinkelseselementerne.

Forsinkelseselement .qsf Opgave
Indgangsforsinkelseselement set_instance_assignment til -navn INPUT_DELAY_CHAIN ​​<0..63>
Udgangsforsinkelseselement set_instance_assignment til -navn OUTPUT_DELAY_CHAIN ​​<0..15>
Output Enable Delay Element set_instance_assignment til -navn OE_DELAY_CHAIN ​​<0..15>
Tidsanalyse

Intel Quartus Prime-softwaren genererer ikke automatisk SDC-timingsbegrænsningerne for GPIO IP-kernen. Du skal manuelt indtaste tidsbegrænsningerne.

Følg tidsretningslinjerne og f.eksamples for at sikre, at Timing Analyzer analyserer I/O-timingen korrekt.

  • For at udføre korrekt timinganalyse for I/O-grænsefladestierne skal du angive systemniveaubegrænsningerne for datastifterne mod systemurpinden i .sdc. file.
  • For at udføre korrekt timinganalyse for kernegrænsefladestierne skal du definere disse urindstillinger i .sdc file:
    — Ur til kerneregistrene
    — Ur til I/O-registrene for de simple register- og DDIO-tilstande

Relateret information
AN 433: Begrænsning og analyse af kildesynkrone grænseflader
Beskriver teknikker til at begrænse og analysere kildesynkrone grænseflader.

Single Data Rate Input Register

Figur 13. Single Data Rate Input Register

GPIO Intel FPGA IP - Figur 13

Tabel 14. Single Data Rate Input Register .sdc Kommando Eksamples

Kommando Kommando Eksample Beskrivelse
oprette_ur oprette_ur -navn sdr_in_clk -periode
"100 MHz" sdr_in_clk
Opretter urindstilling for input-uret.
set_input_delay set_input_delay -ur sdr_in_clk
0.15 sdr_in_data
Instruerer Timing Analyzer til at analysere timingen af ​​input I/O med en inputforsinkelse på 0.15 ns.
Full-Rate eller Half-Rate DDIO Input Register

Indgangssiden af ​​DDIO-indgangsregistrene med fuld hastighed og halv hastighed er den samme. Du kan begrænse systemet korrekt ved at bruge et virtuelt ur til at modellere off-chip-senderen til FPGA'en.

Figur 14. DDIO-inputregister med fuld hastighed eller halv hastighed

GPIO Intel FPGA IP - Figur 14

Tabel 15. Full-Rate eller Half-Rate DDIO Input Register .sdc Command Examples

Kommando Kommando Eksample Beskrivelse
oprette_ur create_clock -navn virtuelt_ur
-periode "200 MHz"
create_clock -navn ddio_in_clk
-periode "200 MHz" ddio_in_clk
Opret urindstilling for det virtuelle ur og DDIO-uret.
set_input_delay set_input_delay -ur virtuelt_ur
0.25 ddio_in_data
set_input_delay -add_delay
-clock_fall -clock virtual_clock 0.25
ddio_in_data
Instruer Timing Analyzer til at analysere den positive urflanke og den negative urflanke af overførslen. Bemærk -add_delay i den anden set_input_delay kommando.
sæt_falsk_sti sæt_falsk_sti -fald_fra
virtual_clock -rise_to ddio_in_clk
sæt_falsk_sti -stige_fra
virtual_clock -fall_to ddio_in_clk
Instruer Timing Analyzer om at ignorere den positive clock-flanke til det negative flanke triggede register, og den negative clock edge til det positive flanke triggede register.

Bemærk: ck_hr-frekvensen skal være halvdelen af ​​ck_fr-frekvensen. Hvis I/O PLL'en driver urene, kan du overveje at bruge kommandoen derive_pll_clocks .sdc.

Single Data Rate Output Register

Figur 15. Single Data Rate Output Register

GPIO Intel FPGA IP - Figur 15

Tabel 16. Single Data Rate Output Register .sdc Kommando Eksamples

Kommando Kommando Eksample Beskrivelse
create_clock og create_generated_clock oprette_ur -navn sdr_out_clk
-periode “100 MHz” sdr_out_clk
create_generated_clock -kilde
sdr_out_clk -navn sdr_out_outclk
sdr_out_outclk
Generer kildeuret og output-uret til at transmittere.
set_output_delay set_output_delay -clock sdr_out_clk
0.45 sdr_out_data
Instruerer timinganalysatoren til at analysere outputdataene, der skal transmitteres i forhold til output-uret, der skal transmitteres.
DDIO-outputregister med fuld hastighed eller halv hastighed

Udgangssiden af ​​DDIO-outputregistrene med fuld hastighed og halv hastighed er den samme.

Tabel 17. DDIO Output Register .sdc Kommando Eksamples

Kommando Kommando Eksample Beskrivelse
create_clock og create_generated_clock create_clock -navn ddio_out_fr_clk
-periode “200 MHz” ddio_out_fr_clk
create_generated_clock -kilde
ddio_out_fr_clk -navn
ddio_out_fr_outclk
ddio_out_fr_outclk
Generer urene til DDIO og uret til at sende.
set_output_delay set_output_delay -ur
ddio_out_fr_outclk 0.55
ddio_out_fr_data
set_output_delay -add_delay
-ur_fald -ur
ddio_out_fr_outclk 0.55
ddio_out_fr_data
Instruer Timing Analyzer til at analysere de positive og negative data i forhold til output-uret.
sæt_falsk_sti sæt_falsk_sti -stige_fra
ddio_out_fr_clk -fall_to
ddio_out_fr_outclk
sæt_falsk_sti -fald_fra
ddio_out_fr_clk -rise_to
ddio_out_fr_outclk
Instruer Timing Analyzer til at ignorere den stigende flanke af kildeuret mod den faldende flanke af outputuret, og den faldende flanke af kildeuret mod stigende flanke af outputuret
Retningslinjer for lukning af timing

For GPIO-indgangsregistrene vil input-I/O-overførslen sandsynligvis mislykkes med holdetiden, hvis du ikke indstiller inputforsinkelseskæden. Denne fejl skyldes, at urforsinkelsen er større end dataforsinkelsen.

For at overholde holdetiden skal du tilføje forsinkelse til inputdatastien ved hjælp af inputforsinkelseskæden. Generelt er input-forsinkelseskæden omkring 60 ps pr. trin ved 1 hastighedsgraden. For at få en omtrentlig input forsinkelse kæde indstilling til at passere timingen, dividere den negative hold slack med 60 ps.

Men hvis I/O PLL'en driver urene i GPIO-indgangsregistrene (simpelt register eller DDIO-tilstand), kan du indstille kompensationstilstanden til kildesynkrontilstand. Montøren vil forsøge at konfigurere I/O PLL'en for en bedre opsætning og holde slæk for input I/O-timinganalysen.

For GPIO-output- og outputaktiveringsregistre kan du tilføje forsinkelse til outputdata og ur ved hjælp af output- og outputaktiveringsforsinkelseskæderne.

  • Hvis du observerer en overtrædelse af opsætningstiden, kan du øge indstillingen af ​​output-urforsinkelseskæden.
  • Hvis du observerer en overtrædelse af holdetiden, kan du øge kædeindstillingen for outputdataforsinkelse.
GPIO Intel FPGA IP Design Eksamples

GPIO IP-kernen kan generere design f.eksampfiler, der matcher din IP-konfiguration i parametereditoren. Du kan bruge disse design f.eksamples som referencer til at instansiere IP-kernen og den forventede adfærd i simuleringer.

Du kan generere designet f.eksampfiler fra GPIO IP-kerneparametereditoren. Når du har indstillet de ønskede parametre, skal du klikke Generer eksample Design. IP-kernen genererer designet f.eksampkilden files i den mappe, du angiver.

Figur 16. Kilde Files i Generated Design Example Vejviser

GPIO Intel FPGA IP - Figur 16

Bemærk: .qsys files er til internt brug under design exampkun generation. Du kan ikke redigere disse .qsys files.

GPIO IP Core Synthesizable Intel Quartus Prime Design Example

Det syntetiserbare design example er et kompileringsklart Platform Designer-system, som du kan inkludere i et Intel Quartus Prime-projekt.

Generering og brug af designet Example

For at generere det syntetiserbare Intel Quartus Prime-design, f.eksample fra kilden files, kør følgende kommando i designeksampkataloget:

quartus_sh -t make_qii_design.tcl

For at angive en nøjagtig enhed, der skal bruges, skal du køre følgende kommando:

quartus_sh -t make_qii_design.tcl [enhedsnavn]

TCL-scriptet opretter en qii-mappe, der indeholder ed_synth.qpf-projektet file. Du kan åbne og kompilere dette projekt i Intel Quartus Prime-softwaren.

GPIO IP Core Simulation Design Example

Simuleringsdesignet example bruger dine GPIO IP-kerneparameterindstillinger til at bygge IP-instansen forbundet til en simuleringsdriver. Chaufføren genererer tilfældig trafik og kontrollerer internt lovligheden af ​​de udgående data.

Ved at bruge designet example, kan du køre en simulering ved hjælp af en enkelt kommando, afhængigt af den simulator, du bruger. Simuleringen viser, hvordan du kan bruge GPIO IP-kernen.

Generering og brug af designet Example

For at generere simuleringsdesignet f.eksample fra kilden files for en Verilog simulator, køre følgende kommando i design exampkataloget:

quartus_sh -t make_sim_design.tcl

For at generere simuleringsdesignet f.eksample fra kilden fileFor en VHDL-simulator skal du køre følgende kommando i designeksampkataloget:

quartus_sh -t make_sim_design.tcl VHDL

TCL-scriptet opretter en sim-mappe, der indeholder undermapper - en for hvert understøttet simuleringsværktøj. Du kan finde scripts for hvert simuleringsværktøj i de tilsvarende mapper.

IP-migreringsflow for Arria V-, Cyclone V- og Stratix V-enheder

IP-migreringsflowet giver dig mulighed for at migrere ALTDDIO_IN-, ALTDDIO_OUT-, ALTDDIO_BIDIR- og ALTIOBUF IP-kernerne af Arria V-, Cyclone V- og Stratix V-enheder til GPIO IP-kernen af ​​Intel Arria 10- og Intel Cyclone 10 GX-enheder.

Dette IP-migreringsflow konfigurerer GPIO IP-kernen til at matche indstillingerne for ALTDDIO_IN-, ALTDDIO_OUT-, ALTDDIO_BIDIR- og ALTIOBUF IP-kernerne, så du kan regenerere IP-kernen.

Bemærk: Nogle IP-kerner understøtter kun IP-migreringsflowet i specifikke tilstande. Hvis din IP-kerne er i en tilstand, der ikke understøttes, skal du muligvis køre IP Parameter Editor for GPIO IP-kernen og konfigurere IP-kernen manuelt.

Migrering af dine ALTDDIO_IN-, ALTDDIO_OUT-, ALTDDIO_BIDIR- og ALTIOBUF IP-kerner

Følg disse trin for at migrere dine ALTDDIO_IN-, ALTDDIO_OUT-, ALTDDIO_BIDIR- og ALTIOBUF IP-kerner til GPIO Intel FPGA IP IP-kernen:

  1. Åbn din ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR eller ALTIOBUF IP-kerne i IP Parameter Editor.
  2. I den I øjeblikket valgt enhedsfamilie, vælg Intel Arria 10 or Intel Cyclone 10 GX.
  3. Klik Slutte for at åbne GPIO IP Parameter Editor.
    IP Parameter Editor konfigurerer GPIO IP-kerneindstillingerne svarende til ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR eller ALTIOBUF kerneindstillingerne.
  4. Hvis der er nogen inkompatible indstillinger mellem de to, skal du vælge nye understøttede indstillinger.
  5. Klik Slutte at regenerere IP-kernen.
  6. Udskift din ALTDDIO_IN-, ALTDDIO_OUT-, ALTDDIO_BIDIR- eller ALTIOBUF IP-kerneforekomst i RTL med GPIO IP-kernen.

Bemærk: GPIO IP-kerneportnavnene matcher muligvis ikke ALTDDIO_IN-, ALTDDIO_OUT-, ALTDDIO_BIDIR- eller ALTIOBUF IP-kerneportnavnene. Derfor er det måske ikke tilstrækkeligt blot at ændre IP-kernenavnet i instansieringen.

Relateret information
Input og Output Bus High og Low Bits på side 12

Retningslinje: Skift datain_h og datain_l porte i migreret IP

Når du migrerer din GPIO IP fra tidligere enheder til GPIO IP-kernen, kan du tænde Brug ældre portnavne på øverste niveau mulighed i GPIO IP-kerneparametereditoren. Opførselen af ​​disse porte i GPIO IP-kernen er dog anderledes end i de IP-kerner, der bruges til Stratix V-, Arria V- og Cyclone V-enhederne.

GPIO IP-kernen driver disse porte til outputregistrene på disse clock-kanter:

  • datain_h—på den stigende kant af outclock
  • datain_l—på den faldende kant af outclock

Hvis du migrerede din GPIO IP fra Stratix V-, Arria V- og Cyclone V-enheder, skal du bytte datain_h- og datain_l-portene, når du instansierer den IP, der genereres af GPIO IP-kernen.

Relateret information
Input og Output Bus High og Low Bits på side 12

GPIO Intel FPGA IP Brugervejledning Arkiver

IP-versioner er de samme som Intel Quartus Prime Design Suite-softwareversioner op til v19.1. Fra Intel Quartus Prime Design Suite-softwareversion 19.2 eller nyere har IP-kerner et nyt IP-versionssystem.

Hvis en IP-kerneversion ikke er angivet, gælder brugervejledningen til den tidligere IP-kerneversion.

IP Core version

Brugervejledning

20.0.0 GPIO Intel FPGA IP Brugervejledning: Intel Arria 10 og Intel Cyclone 10 GX-enheder
19.3.0 GPIO Intel FPGA IP Brugervejledning: Intel Arria 10 og Intel Cyclone 10 GX-enheder
19.3.0 GPIO Intel FPGA IP Brugervejledning: Intel Arria 10 og Intel Cyclone 10 GX-enheder
18.1 GPIO Intel FPGA IP Brugervejledning: Intel Arria 10 og Intel Cyclone 10 GX-enheder
18.0 GPIO Intel FPGA IP Brugervejledning: Intel Arria 10 og Intel Cyclone 10 GX-enheder
17.1 Intel FPGA GPIO IP Core brugervejledning
17.0 Altera GPIO IP Core brugervejledning
16.1 Altera GPIO IP Core brugervejledning
16.0 Altera GPIO IP Core brugervejledning
14.1 Altera GPIO Megafunktion Brugervejledning
13.1 Altera GPIO Megafunktion Brugervejledning
Dokumentrevisionshistorik for GPIO Intel FPGA IP Brugervejledning: Intel Arria 10 og Intel Cyclone 10 GX-enheder

Dokumentversion

Intel Quartus Prime-version IP version

Ændringer

2021.07.15

21.2

20.0.0

Opdateret diagrammet, der viser det forenklede view af den single-ended GPIO-inputsti for at opdatere dout[0] til dout[3] og dout[3] til dout[0].

2021.03.29

21.1

20.0.0

Opdaterede GPIO IP-versionsnummeret til 20.0.0.

2021.03.12

20.4

19.3.0

Opdaterede IP-migreringsretningslinjen for at specificere, at GPIO IP'en driver datain_h på den stigende kant og datain_l på den faldende kant.

2019.10.01

19.3

19.3.0

Rettet typografiske fejl i .qsf tildelingskoderne i emnet om forsinkelseselementer.

2019.03.04

18.1

18.1

I emnerne om inputstien og output- og outputaktiveringsstier:
  • Rettede bemærkningerne i emnerne for at specificere, at GPIO Intel FPGA IP ikke understøtter dynamisk kalibrering af tovejs ben.
  • Tilføjet links til PHY Lite til parallelle grænseflader Intel FPGA IP Core-brugervejledning: Intel Stratix 10, Intel Arria 10 og Intel Cyclone 10 GX-enheder for mere information om applikationer, der kræver dynamisk kalibrering for tovejs ben.

2018.08.28

18.0

18.0

  • Omdannede dokumentet fra Intel FPGA GPIO IP Core User Guide til GPIO Intel FPGA IP User Guide: Intel Arria 10 og Intel Cyclone 10 GX-enheder.
  • Tilføjet et link til Intel Stratix 10 GPIO IP-brugervejledningen. 
  • Omdøbt IP fra "Intel FPGA GPIO" til "GPIO Intel FPGA IP". 
  • Rettede forekomster af "clk_fr" og "clk_hr" til "ck_fr" og "ck_hr". 
  • Opdaterede GPIO IP-inputsti- og outputstidiagrammerne for at vise de faktiske IP-kernesignalnavne.
Dato Version Ændringer
november 2017 2017.11.06
  • Tilføjet understøttelse af Intel Cyclone 10 GX-enheder.
  • Opdaterede signalnavnene i figurer, så de matcher signalnavnene i GPIO IP-kernen.
  • Tilføjet udgangsstibølgeformen.
  • Omdøbt "Altera GPIO IP core" til "Intel FPGA GPIO IP core".
  • Omdøbt "Altera IOPLL IP core" til "Intel FPGA IOPLL IP core".
  • Omdøbt "TimeQuest Timing Analyzer" til "Timing Analyzer".
  • Omdøbt "Qsys" til "Platform Designer".
  • Afklaret, at ASET- og ACLR-signalerne er aktive høje.
maj 2017 2017.05.08
  • Opdaterede tabellen med GPIO-bufferparametrene for at specificere betingelserne for Brug bushold-kredsløb parameter mulighed.
  • Omdøbt som Intel.
oktober 2016 2016.10.31
  • Opdaterede inputstibølgeformen.
  • Tilføjet et emne, der beskriver de høje og lave bits i din og dout busserne.
august 2016 2016.08.05
  • Tilføjede noter om dynamisk OCT-understøttelse i GPIO IP-kernen.
  • Opdaterede emnet om parameterindstillinger for at forbedre nøjagtigheden og klarheden.
  • Opdaterede afsnittet om generering af designet f.eksample.
  • Tilføjet et vejledende emne om adfærd for de ældre porte, når du migrerer til GPIO IP-kernen fra Stratix V-, Arria V- og Cyclone V-enheder.
  • Omskrev og omstrukturerede dokumentet for at forbedre klarheden og for at lette referencen.
  • Ændrede forekomster af Quartus II til Quartus Prime.
august 2014 2014.08.18
  • Tilføjet timing information.
  • Tilføjet registerpakningsoplysninger.
  • Tilføjet Brug ældre portnavne på øverste niveau parameter. Dette er en ny parameter.
  • Tilføjet registerpakningsoplysninger.
  • Udskiftede betegnelsen megafunktion med IP-kerne.
november 2013 2013.11.29 Første udgivelse.

GPIO Intel FPGA IP - Feedback Send feedback

GPIO Intel FPGA IP Brugervejledning: Intel Arria 10 og Intel Cyclone 10 GX-enheder

Dokumenter/ressourcer

intel GPIO Intel FPGA IP [pdfBrugervejledning
GPIO Intel FPGA IP, GPIO, Intel FPGA IP, FPGA IP

Referencer

Efterlad en kommentar

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