HDMI Arria 10 FPGA IP Design Bspample
BenutzerhandbuchHDMI Intel® Arria 10 FPGA IP
Design Bspample Benutzerhandbuch
Aktualisiert für Intel®Quartus®
Prime-Design-Suite: 22.4
IP-Version: 19.7.1
HDMI Intel® FPGA IP Design Example Kurzanleitung für Intel® Arria® 10-Geräte
Die HDMI Intel® 10-Geräte verfügen über einen simulierenden Teststand und ein Hardwaredesign, das Kompilierung und Hardwaretests unterstützt.
FPGA IP-Design Beispielample für Intel Arria®
Das HDMI Intel FPGA IP bietet folgendes Designbeispielamples:
- HDMI 2.1 RX-TX-Retransmit-Design mit aktiviertem Fixed Rate Link (FRL)-Modus
- HDMI 2.0 RX-TX-Retransmit-Design mit deaktiviertem FRL-Modus
- HDCP über HDMI 2.0-Design
Notiz: Die HDCP-Funktion ist nicht in der Intel® Quartus Prime Pro Edition-Software enthalten.
Um auf die HDCP-Funktion zuzugreifen, wenden Sie sich an Intel unter https://www.intel.com/content/www/us/en/broadcast/products/programmable/applications/connectivity-solutions.html.
Wenn Sie ein Design generieren, zample erstellt der Parametereditor automatisch die fileEs ist notwendig, das Design in Hardware zu simulieren, zu kompilieren und zu testen.
Abbildung 1. EntwicklungsschritteZugehörige Informationen
HDMI Intel FPGA IP-Benutzerhandbuch
1.1. Generieren des Designs
Verwenden Sie den HDMI Intel FPGA IP-Parametereditor in der Intel Quartus Prime-Software, um das Designbeispiel zu generieren.amples. Intel Corporation. Alle Rechte vorbehalten. Intel, das Intel-Logo und andere Intel-Marken sind Marken der Intel Corporation oder ihrer Tochtergesellschaften. Intel garantiert die Leistung seiner FPGA- und Halbleiterprodukte gemäß der aktuellen Spezifikationen gemäß der Standardgarantie von Intel, behält sich jedoch das Recht vor, jederzeit und ohne Vorankündigung Änderungen an Produkten und Dienstleistungen vorzunehmen. Intel übernimmt keine Verantwortung oder Haftung, die sich aus der Anwendung oder Verwendung der hierin beschriebenen Informationen, Produkte oder Dienstleistungen ergibt, es sei denn, Intel hat dem ausdrücklich schriftlich zugestimmt. Intel-Kunden wird empfohlen, die neueste Version der Gerätespezifikationen zu beziehen, bevor sie sich auf veröffentlichte Informationen verlassen und bevor sie Bestellungen für Produkte oder Dienstleistungen aufgeben. *Andere Namen und Marken können Eigentum anderer sein.
Beginnend mit dem Nios® II EDS in der Intel Quartus Prime Pro Edition Softwareversion 19.2 und Intel Quartus Prime Standard Edition Softwareversion 19.1 hat Intel die Cygwin-Komponente in der Windows*-Version von Nios II EDS entfernt und durch Windows* Subsytem für Linux (WSL) ersetzt. Wenn Sie ein Windows*-Benutzer sind, müssen Sie WSL installieren, bevor Sie Ihr Design erstellen.ample.
Abbildung 2. Generieren des Entwurfsflusses
- Erstellen Sie ein Projekt für die Intel Arria 10-Gerätefamilie und wählen Sie das gewünschte Gerät aus.
- Suchen Sie im IP-Katalog nach Schnittstellenprotokollen ➤ Audio und Video ➤ HDMI Intel FPGA IP und doppelklicken Sie darauf. Das Fenster Neue IP-Variante oder Neue IP-Variation wird angezeigt.
- Geben Sie einen Namen der obersten Ebene für Ihre benutzerdefinierte IP-Variation an. Der Parametereditor speichert die IP-Variationseinstellungen in a file genannt .ip oder .qsys.
- OK klicken. Der Parametereditor erscheint.
- Konfigurieren Sie auf der Registerkarte „IP“ die gewünschten Parameter für TX und RX.
- Aktivieren Sie den Parameter Support FRL, um das HDMI 2.1-Design zu generieren.ample im FRL-Modus. Schalten Sie es aus, um das HDMI 2.0-Design zu erzeugenample ohne FRL.
- Auf dem Design ExampWählen Sie auf der Registerkarte „Arria 10 HDMI RX-TX Retransmit“ aus.
- Wählen Sie Simulation, um den Teststand zu generieren, und wählen Sie Synthese, um das Hardware-Design zu generieren, z. B.ampSie müssen mindestens eine dieser Optionen auswählen, um das Designbeispiel zu generieren.ample files. Wenn Sie beides auswählen, ist die Generierungszeit länger.
- Für Generieren File Format: Wählen Sie Verilog oder VHDL.
- Wählen Sie für das Zielentwicklungskit das Intel Arria 10 GX FPGA-Entwicklungskit aus. Wenn Sie ein Entwicklungskit auswählen, ändert sich das Zielgerät (ausgewählt in Schritt 4), sodass es mit dem Gerät auf der Zielplatine übereinstimmt. Für das Intel Arria 10 GX FPGA-Entwicklungskit ist das Standardgerät 10AX115S2F4I1SG.
- Klicken Sie auf Bsp generierenample Design.
Zugehörige Informationen
Wie installiere ich das Windows*-Subsystem für Linux* (WSL) auf dem Windows*-Betriebssystem?
1.2. Simulation des Entwurfs
Der HDMI-Testbench simuliert ein serielles Loopback-Design von einer TX-Instanz zu einer RX-Instanz. Interner Videomustergenerator, Audio-SampDie Module Le-Generator, Seitenbanddatengenerator und Hilfsdatengenerator steuern die HDMI-TX-Instanz und der serielle Ausgang der TX-Instanz stellt eine Verbindung zur RX-Instanz im Testbench her.
Abbildung 3. Ablauf der Entwurfssimulation
- Gehen Sie zum gewünschten Simulationsordner.
- Führen Sie das Simulationsskript für den unterstützten Simulator Ihrer Wahl aus. Das Skript kompiliert und führt die Testbench im Simulator aus.
- Analysieren Sie die Ergebnisse.
Tabelle 1. Schritte zum Ausführen der Simulation
Simulator | Arbeitsverzeichnis | Anweisungen |
Riviera-PRO* | /simulation/aldec | Geben Sie in der Befehlszeile ein |
vsim -c -do aldec.do | ||
ModelSim* | /simulation/mentor | Geben Sie in der Befehlszeile ein |
vsim -c -do mentor.do | ||
VCS* | /simulation/synopsys/vcs | Geben Sie in der Befehlszeile ein |
Quelle vcs_sim.sh | ||
VCSMX | /simulation/synopsys/ vcsmx | Geben Sie in der Befehlszeile ein |
Quelle vcsmx_sim.sh | ||
Xcelium* Parallel | /simulation/xcelium | Geben Sie in der Befehlszeile ein |
Quelle xcelium_sim.sh |
Eine erfolgreiche Simulation endet mit der folgenden Meldung:
# SYMBOLS_PER_CLOCK = 2
# VIC = 4
# FRL_RATE = 0
# BPP = 0
# AUDIOFREQUENZ (kHz) = 48
# AUDIO_CHANNEL = 8
# Simulationsdurchlauf
1.3. Kompilieren und Testen des Designs
Zum Kompilieren und Ausführen eines Demonstrationstests auf der Hardware example design, folgen Sie diesen Schritten:
- Stellen Sie sicher, dass die Hardware exampDie Design-Generierung ist abgeschlossen.
- Starten Sie die Intel Quartus Prime Software und öffnen Sie die .qpf file.
• HDMI 2.1 Design BeispielampDatei mit aktiviertem Support FRL: Projektverzeichnis/quartus/a10_hdmi21_frl_demo.qpf
• HDMI 2.0 Design BeispielampDatei mit deaktivierter FRL-Unterstützung: projectd irectory/quartus/a10_hdmi2_demo.qpf - Klicken Sie auf Verarbeitung ➤ Kompilierung starten.
- Nach erfolgreicher Kompilierung wird eine .sof file wird im quartus/output_ generiertfiles-Verzeichnis.
- Verbinden Sie sich mit dem integrierten FMC-Port B (J2):
• HDMI 2.1 Design BeispielampDatei mit aktiviertem Support FRL: Bitec HDMI 2.1 FMC Daughter Card Rev 9
Notiz: Sie können die Revision Ihrer Bitec HDMI Tochterkarte auswählen. Unter dem Punkt Design ExampStellen Sie auf der Registerkarte „HDMI Daughter Card Revision“ entweder „Revision 9“, „Revision“ oder „keine Daughter Card“ ein. Der Standardwert ist „Revision 9“.
• HDMI 2.0 Design BeispielampDatei mit deaktivierter Unterstützung für FRL: Bitec HDMI 2.0 FMC Daughter Card Rev 11 - Verbinden Sie TX (P1) der Bitec FMC-Tochterkarte mit einer externen Videoquelle.
- Verbinden Sie RX (P2) der Bitec FMC-Tochterkarte mit einem externen Video-Sink oder Videoanalysator.
- Stellen Sie sicher, dass sich alle Schalter auf der Entwicklungsplatine in der Standardposition befinden.
- Konfigurieren Sie das ausgewählte Intel Arria 10-Gerät auf dem Entwicklungsboard mithilfe der generierten SOF-Datei. file (Extras ➤ Programmierer).
- Der Analysator sollte das aus der Quelle generierte Video anzeigen.
Zugehörige Informationen
Benutzerhandbuch für das Intel Arria 10 FPGA-Entwicklungskit
1.4. HDMI Intel FPGA IP Design Example Parameter
Tabelle 2.
HDMI Intel FPGA IP Design Example-Parameter für Intel Arria 10-Geräte. Diese Optionen sind nur für Intel Arria 10-Geräte verfügbar.
Parameter | Wert |
Beschreibung |
Verfügbare Ausführung Example | ||
Design auswählen | Arria 10 HDMI RX-TX-Weiterübertragung | Wählen Sie das Design z. B.ampDatei, die generiert werden soll. |
Design Bspample Files |
||
Simulation | An aus | Aktivieren Sie diese Option, um die erforderlichen files für den Simulationsteststand. |
Synthese | An aus | Aktivieren Sie diese Option, um die erforderlichen files für Intel Quartus Prime Kompilierung und Hardwaredemonstration. |
Generiertes HDL-Format |
||
Erzeugen File Format | Verilog, VHDL | Wählen Sie Ihr bevorzugtes HDL-Format für das generierte Design, z. B.ample fileSatz. Notiz: Diese Option bestimmt nur das Format für die generierte Top-Level-IP files. Alle anderen files (zB Example Testbenches und Top-Level files für Hardwaredemonstrationen) sind im Verilog HDL-Format |
Zielentwicklungskit |
||
Vorstand auswählen | Kein Entwicklungskit, | Wählen Sie das Board für das gewünschte Design aus, z. B.ample. |
Arria 10 GX FPGA Entwicklungskit,
Benutzerdefiniertes Entwicklungskit |
• Kein Development Kit: Diese Option schließt alle Hardwareaspekte für das Design aus, z. B.ampDer IP-Core legt alle Pin-Zuweisungen auf virtuelle Pins fest. • Arria 10 GX FPGA Development Kit: Diese Option wählt automatisch das Zielgerät des Projekts aus, das mit dem Gerät auf diesem Development Kit übereinstimmt. Sie können das Zielgerät ändern, indem Sie Zielgerät ändern Parameter, wenn Ihre Board-Revision eine andere Gerätevariante hat. Der IP-Core legt alle Pin-Zuweisungen entsprechend dem Entwicklungskit fest. |
|
•Custom Development Kit: Diese Option ermöglicht das Design exampDatei zum Testen auf einem Entwicklungskit eines Drittanbieters mit einem Intel FPGA. Möglicherweise müssen Sie die Pin-Zuweisungen selbst festlegen. |
Zielgerät |
||
Zielgerät ändern | An aus | Aktivieren Sie diese Option und wählen Sie die gewünschte Gerätevariante für das Entwicklungskit aus. |
HDMI 2.1 Design Example (Unterstützung FRL = 1)
Das HDMI 2.1 Design example im FRL-Modus demonstriert eine HDMI-Instanz mit parallelem Loopback, bestehend aus vier RX-Kanälen und vier TX-Kanälen.
Tabelle 3. HDMI 2.1 Design BeispielampDatei für Intel Arria 10-Geräte
Design Bspample | Datenrate | Kanalmodus |
Loopback-Typ |
Arria 10 HDMI RX-TX-Weiterübertragung | • 12 Gbit/s (FRL) • 10 Gbit/s (FRL) • 8 Gbit/s (FRL) • 6 Gbit/s (FRL) • 3 Gbit/s (FRL) • <6 Gbit/s (TMDS) |
Simplex | Parallel mit FIFO-Puffer |
Merkmale
- Das Design instanziiert FIFO-Puffer, um einen direkten HDMI-Videostream-Passthrough zwischen dem HDMI 2.1-Senke und der Quelle durchzuführen.
- Das Design kann während der Laufzeit zwischen FRL-Modus und TMDS-Modus wechseln.
- Das Design nutzt LED-Status für frühes Debuggen stage.
- Das Design verfügt über HDMI RX- und TX-Instanzen.
- Das Design demonstriert das Einfügen und Filtern von Dynamic Range und Mastering (HDR)-InfoFrame im RX-TX-Linkmodul.
- Das Design verhandelt die FRL-Rate zwischen dem an TX angeschlossenen Senken und der an RX angeschlossenen Quelle. Das Design leitet in der Standardkonfiguration das EDID vom externen Senken zum integrierten RX weiter. Der Nios II-Prozessor verhandelt die Verbindungsbasis auf der Grundlage der Fähigkeit des an TX angeschlossenen Senkens. Sie können auch den integrierten Schalter user_dipsw umschalten, um die TX- und RX-FRL-Fähigkeiten manuell zu steuern.
- Das Design umfasst mehrere Debugging-Funktionen.
Die RX-Instanz empfängt eine Videoquelle vom externen Videogenerator und die Daten durchlaufen dann ein Loopback-FIFO, bevor sie an die TX-Instanz übertragen werden. Sie müssen einen externen Videoanalysator, Monitor oder einen Fernseher mit HDMI-Anschluss an den TX-Kern anschließen, um die Funktionalität zu überprüfen.
2.1. Blockdiagramm des HDMI 2.1 RX-TX-Retransmit-Designs
Das HDMI RX-TX Retransmit Design example demonstriert paralleles Loopback im Simplex-Kanalmodus für HDMI 2.1 mit aktivierter FRL-Unterstützung.
Abbildung 4. HDMI 2.1 RX-TX-Retransmit-Blockdiagramm2.2. Erstellen eines Nur-RX- oder Nur-TX-Designsns
Fortgeschrittene Benutzer können mit dem HDMI 2.1-Design ein Nur-TX- oder Nur-RX-Design erstellen.
Abbildung 5. Für das Nur-RX- oder Nur-TX-Design erforderliche KomponentenUm nur RX- oder TX-Komponenten zu verwenden, entfernen Sie die irrelevanten Blöcke aus dem Design.
Tabelle 4. Designanforderungen für Nur-RX und Nur-TX
Benutzeranforderungen | Bewahren | Entfernen |
Hinzufügen |
Nur HDMI RX | RX-Oberteil | • TX-Oberteil • RX-TX-Verbindung • CPU-Subsystem • Transceiver-Schiedsrichter |
– |
Nur HDMI TX | •TX-Oberteil •CPU-Subsystem |
• RX-Oberteil • RX-TX-Verbindung •Transceiver-Schiedsrichter |
Videomustergenerator (benutzerdefiniertes Modul oder generiert aus der Video- und Bildverarbeitungssuite (VIP)) |
Neben den RTL-Änderungen müssen Sie auch das Skript main.c bearbeiten.
• Bei HDMI TX-only-Designs entkoppeln Sie das Warten auf den HDMI RX-Sperrstatus, indem Sie die folgenden Zeilen entfernen und durch ersetzen
tx_xcvr_reconfig(tx_frl_rate);
rx_hdmi_lock = READ_PIO(PIO_IN0_BASE, PIO_RX_LOCKED_OFFSET,
PIO_RX_LOCKED_WIDTH);
während (rx_hdmi_lock == 0) {
wenn (check_hpd_isr()) { brechen; }
// rx_vid_lock = READ_PIO(PIO_IN0_BASE, PIO_VID_LOCKED_OFFSET,
PIO_VID_LOCKED_WIDTH);
rx_hdmi_lock = READ_PIO(PIO_IN0_BASE, PIO_RX_LOCKED_OFFSET,
PIO_RX_LOCKED_WIDTH);
// Tx neu konfigurieren, nachdem RX gesperrt ist
wenn (rx_hdmi_lock == 1) {
wenn (READ_PIO(PIO_IN0_BASE, PIO_LOOPBACK_MODE_OFFSET,
PIO_LOOPBACK_MODE_WIDTH) == 1) {
rx_frl_rate = READ_PIO(PIO_IN0_BASE, PIO_RX_FRL_RATE_OFFSET,
PIO_RX_FRL_RATE_WIDTH);
tx_xcvr_reconfig(rx_frl_rate);
} anders {
tx_xcvr_reconfig(tx_frl_rate);
}}}
• Behalten Sie für reine HDMI-RX-Designs nur die folgenden Zeilen im main.c-Skript:
REDRIVER_INIT();
hdmi_rx_init();
2.3. Hardware- und Softwareanforderungen
Intel verwendet die folgende Hardware und Software, um das Design zu testen, zample.
Hardware
- Intel Arria 10 GX FPGA-Entwicklungskit
- HDMI 2.1-Quelle (Quantum Data 980 48G Generator)
- HDMI 2.1-Senke (Quantum Data 980 48G Analyzer)
- Bitec HDMI FMC 2.1 Tochterkarte (Revision 9)
- HDMI 2.1 Kategorie 3-Kabel (getestet mit Belkin 48 Gbps HDMI 2.1-Kabel)
Software
- Intel Quartus Prime Pro Edition-Softwareversion 20.1
2.4. Verzeichnisstruktur
Die Verzeichnisse enthalten die generierten files für das HDMI Intel FPGA IP Design Beispielample.
Abbildung 6. Verzeichnisstruktur für das Design-ExampleTabelle 5. Generiertes RTL Files
Ordner | Files/Unterordner |
gemeinsam | uhr_steuerung.ip |
clock_crosser.v | |
dcfifo_inst.v | |
edge_detector.sv | |
fifo.ip | |
output_buf_i2c.ip |
test_pattern_gen.v | |
tpg.v | |
tpg_data.v | |
gxb | gxb_rx.ip |
gxb_rx_reset.ip | |
gxb_tx.ip | |
gxb_tx_fpll.ip | |
gxb_tx_reset.ip | |
hdmi_rx | hdmi_rx.ip |
hdmi_rx_top.v | |
Panasonic.hex | |
hdmi_tx | hdmi_tx.ip |
hdmi_tx_top.v | |
i2c_slave | i2c_avl_mst_intf_gen.v |
i2c_clk_cnt.v | |
i2c_condt_det.v | |
i2c_databuffer.v | |
i2c_rxshifter.v | |
i2c_slvfsm.v | |
i2c_spksupp.v | |
i2c_txout.v | |
i2c_txshifter.v | |
i2cslave_to_avlmm_bridge.v | |
pll | pll_hdmi_reconfig.ip |
pll_frl.ip | |
pll_reconfig_ctrl.v | |
pll_tmds.ip | |
pll_vidclk.ip | |
quartus.ini | |
rxtx_link | altera_hdmi_hdr_infoframe.v |
aux_mux.qsys | |
aux_retransmit.v | |
aux_src_gen.v | |
ext_aux_filter.v |
rxtx_link.v | |
scfifo_vid.ip | |
Neukonfiguration | mr_rx_iopl_tmds/ |
herr_rxphy/ | |
herr_tx_fpll/ | |
altera_xcvr_functions.sv | |
mr_compare.sv | |
mr_rate_detect.v | |
mr_rx_rate_detect_top.v | |
mr_rx_rcfg_ctrl.v | |
mr_rx_reconfig.v | |
mr_tx_rate_detect_top.v | |
mr_tx_rcfg_ctrl.v | |
mr_tx_reconfig.v | |
rcfg_array_streamer_iopll.sv | |
rcfg_array_streamer_rxphy.sv | |
rcfg_array_streamer_rxphy_xn.sv | |
rcfg_array_streamer_txphy.sv | |
rcfg_array_streamer_txphy_xn.sv | |
rcfg_array_streamer_txpll.sv | |
DEZA | a10_hdmi2.sdc |
jtag.sdc |
Tabelle 6. Generierte Simulation Files
Weitere Informationen finden Sie im Simulationsprüfstand Abschnitt für weitere Informationen
Ordner | Files |
aldec | /aldec.do |
/rivierapro_setup.tcl | |
Kadenz | /cds.lib |
/hdl.var | |
Mentor | /mentor.do |
/msim_setup.tcl | |
Zusammenfassungen | /vcs/fileListe.f |
/vcs/vcs_setup.sh |
/vcs/vcs_sim.sh | |
/vcsmx/synopsys_sim_setup | |
/vcsmx/vcsmx_setup.sh | |
/vcsmx/vcsmx_sim.sh | |
xcelium | /cds.lib |
/hdl.var | |
/xcelium_setup.sh | |
/xcelium_sim.sh | |
gemeinsam | /Modellsim_files.tcl |
/riviera_files.tcl | |
/vcs_files.tcl | |
/vcsmx_files.tcl | |
/xcelium_files.tcl | |
hdmi_rx | /hdmi_rx.ip |
/Panasonic.hex | |
hdmi_tx | /hdmi_tx.ip |
Tabelle 7. Generierte Software Files
Ordner | Files |
tx_control_src Notiz: Der Ordner tx_control enthält auch Duplikate dieser files. |
global.h |
hdmi_rx.c | |
hdmi_rx.h | |
hdmi_tx.c | |
hdmi_tx.h | |
hdmi_tx_read_edid.c | |
hdmi_tx_read_edid.h | |
intel_fpga_i2c.c | |
intel_fpga_i2c.h | |
Haupt c | |
pio_read_write.c | |
pio_read_write.h |
2.5. Design-Komponenten
Das HDMI Intel FPGA IP Design example besteht aus den gemeinsamen Top-Level-Komponenten und den HDMI TX- und RX-Top-Komponenten.
2.5.1. HDMI TX-Komponenten
Zu den HDMI TX-Topkomponenten gehören die TX-Kernkomponenten der obersten Ebene sowie IOPLL, Transceiver-PHY-Reset-Controller, Transceiver-native PHY, TX PLL, TX-Rekonfigurationsmanagement und die Ausgabepufferblöcke.
Abbildung 7. HDMI TX-OberkomponentenTabelle 8. HDMI TX-Oberkomponenten
Modul |
Beschreibung |
HDMI TX-Kern | Das IP empfängt Videodaten von der obersten Ebene und führt eine Hilfsdatenkodierung, Audiodatenkodierung, Videodatenkodierung, Verschlüsselung, TMDS-Kodierung oder Paketierung durch. |
IOPLL | Die IOPLL (iopll_frl) generiert den FRL-Takt für den TX-Kern. Dieser Referenztakt empfängt den TX-FPLL-Ausgangstakt. FRL-Taktfrequenz = Datenrate pro Spur x 4 / (FRL-Zeichen pro Takt x 18) |
Transceiver-PHY-Reset-Controller | Der Transceiver-PHY-Reset-Controller sorgt für eine zuverlässige Initialisierung der TX-Transceiver. Der Reset-Eingang dieses Controllers wird von der obersten Ebene aus ausgelöst und generiert das entsprechende analoge und digitale Reset-Signal für den Transceiver Native PHY-Block gemäß der Reset-Sequenzierung innerhalb des Blocks. Das tx_ready-Ausgangssignal dieses Blocks fungiert auch als Reset-Signal für das HDMI Intel FPGA IP, um anzuzeigen, dass der Transceiver betriebsbereit und bereit ist, Daten vom Kern zu empfangen. |
Transceiver Native PHY | Harter Transceiver-Block, der die parallelen Daten vom HDMI TX-Kern empfängt und die Daten durch die Übertragung serialisiert. Notiz: Um die HDMI TX Inter-Channel Skew-Anforderung zu erfüllen, stellen Sie die Option TX Channel Bonding Mode im Intel Arria 10 Transceiver Native PHY Parameter-Editor auf PMA- und PCS-Bonding. Sie müssen auch die Einschränkungsanforderung für den maximalen Skew (set_max_skew) zum digitalen Reset-Signal vom Transceiver-Reset-Controller (tx_digitalreset) hinzufügen, wie in der Intel Arria 10 Transceiver PHY-Benutzerhandbuch. |
TX-PLL | Der Sender-PLL-Block stellt den seriellen schnellen Takt für den Transceiver Native PHY-Block bereit. Für dieses HDMI Intel FPGA IP-Design example, fPLL wird als TX-PLL verwendet. TX PLL hat zwei Referenzuhren. • Referenztakt 0 ist mit dem programmierbaren Oszillator (mit TMDS-Taktfrequenz) für den TMDS-Modus verbunden. In diesem Designample, RX TMDS-Takt wird verwendet, um eine Verbindung zum Referenztakt 0 für den TMDS-Modus herzustellen. Intel empfiehlt, einen programmierbaren Oszillator mit TMDS-Taktfrequenz für den Referenztakt 0 zu verwenden. • Referenztakt 1 ist für den FRL-Modus mit einem festen 100-MHz-Takt verbunden. |
TX-Neukonfigurationsmanagement | •Im TMDS-Modus konfiguriert der TX-Rekonfigurationsverwaltungsblock die TX-PLL für unterschiedliche Ausgangstaktfrequenzen entsprechend der TMDS-Taktfrequenz des jeweiligen Videos neu. •Im FRL-Modus konfiguriert der TX-Rekonfigurationsverwaltungsblock den TX-PLL neu, um gemäß dem Feld FRL_Rate im SCDC-Register 3x6 den seriellen schnellen Takt für 8 Gbit/s, 10 Gbit/s, 12 Gbit/s, 0 Gbit/s und 31 Gbit/s bereitzustellen. •Der TX-Rekonfigurationsverwaltungsblock schaltet die TX-PLL-Referenzuhr zwischen der Referenzuhr 0 für den TMDS-Modus und der Referenzuhr 1 für den FRL-Modus um. |
Ausgabepuffer | Dieser Puffer fungiert als Schnittstelle zur Interaktion mit der I2C-Schnittstelle der HDMI-DDC- und Redriver-Komponenten. |
Tabelle 9.Transceiver-Datenrate und Überschreitungenampling Faktor Jeder Taktfrequenzbereich
Modus | Datenrate | Oversampler 1 (2x Oversample) | Oversampler 2 (4x Oversample) | Oversample Faktor | OversampLED-Datenrate (Mbps) |
TMDS | 250–1000 | On | On | 8 | 2000–8000 |
TMDS | 1000–6000 | On | Aus | 2 | 2000–12000 |
FRL | 3000 | Aus | Aus | 1 | 3000 |
FRL | 6000 | Aus | Aus | 1 | 6000 |
FRL | 8000 | Aus | Aus | 1 | 8000 |
FRL | 10000 | Aus | Aus | 1 | 10000 |
FRL | 12000 | Aus | Aus | 1 | 12000 |
Abbildung 8. TX-Neukonfigurationssequenzfluss2.5.2. HDMI RX-Komponenten
Zu den HDMI RX-Topkomponenten gehören die RX-Core-Toplevel-Komponenten, optionaler I²C-Slave und EDID-RAM, IOPLL, Transceiver-PHY-Reset-Controller, RX-natives PHY und die RX-Rekonfigurationsverwaltungsblöcke.
Abbildung 9. HDMI RX-OberkomponentenTabelle 10. HDMI RX-Oberkomponenten
Modul |
Beschreibung |
HDMI RX-Kern | Das IP empfängt die seriellen Daten vom Transceiver Native PHY und führt Datenausrichtung, Kanal-Deskew, TMDS-Dekodierung, Hilfsdaten-Dekodierung, Videodaten-Dekodierung, Audiodaten-Dekodierung und Entschlüsselung durch. |
I2C-Slave | I2C ist die Schnittstelle, die für den Sink Display Data Channel (DDC) und den Status and Data Channel (SCDC) verwendet wird. Die HDMI-Quelle verwendet den DDC, um die Fähigkeiten und Eigenschaften des Sinks zu bestimmen, indem sie die Datenstruktur Enhanced Extended Display Identification Data (E-EDID) liest. Die 8-Bit-I2C-Slave-Adressen für E-EDID sind 0xA0 und 0xA1. Das LSB gibt den Zugriffstyp an: 1 für Lesen und 0 für Schreiben. Wenn ein HPD-Ereignis auftritt, reagiert der I2C-Slave auf E-EDID-Daten, indem er vom On-Chip liest. Der I2C-Slave-Only-Controller unterstützt auch SCDC für HDMI 2.0 und 2.1. Die 9-Bit-I2C-Slave-Adressen für SCDC sind 0xA8 und 0xA9. Wenn ein HPD-Ereignis auftritt, führt der I2C-Slave eine Schreib- oder Lesetransaktion zur oder von der SCDC-Schnittstelle des HDMI-RX-Kerns aus. Der Link-Trainingsprozess für Fixed Rate Link (FRL) erfolgt auch über I2C. Während eines HPD-Ereignisses oder wenn die Quelle eine andere FRL-Rate in das FRL-Rate-Register schreibt (SCDC-Register 0x31 Bit[3:0]), startet der Link-Trainingsprozess. Notiz: Dieser I2C-Slave-Only-Controller für SCDC wird nicht benötigt, wenn HDMI 2.0 oder HDMI 2.1 nicht vorgesehen ist |
EDID RAM | Das Design speichert die EDID-Informationen unter Verwendung des RAM 1-Port IP. Ein standardmäßiges serielles Zweidraht-Busprotokoll (Takt und Daten) (I2C-Slave-Only-Controller) überträgt die CEA-861-D-kompatible E-EDID-Datenstruktur. Dieser EDID-RAM speichert die E-EDID-Informationen. • Im TMDS-Modus unterstützt das Design EDID-Passthrough von TX zu RX. Während des EDID-Passthroughs, wenn TX mit dem externen Sink verbunden ist, liest der Nios II-Prozessor die EDID vom externen Sink und schreibt sie in den EDID-RAM. • Im FRL-Modus schreibt der Nios II-Prozessor die vorkonfigurierte EDID für jede Verbindungsrate basierend auf dem Parameter HDMI_RX_MAX_FRL_RATE im Skript global.h. Verwenden Sie die folgenden HDMI_RX_MAX_FRL_RATE-Eingaben für die unterstützte FRL-Rate: • 1: 3G 3 Spuren • 2: 6G 3 Spuren •3: 6G 4 Spuren • 4: 8G 4 Spuren •5: 10G 4 Spuren (Standard) •6: 12G 4 Spuren |
IOPLL | Der HDMI RX verwendet zwei IOPLLs. • Die erste IOPLL (pll_tmds) generiert den RX CDR-Referenztakt. Diese IOPLL wird nur im TMDS-Modus verwendet. Der Referenztakt dieser IOPLL empfängt den TMDS-Takt. Der TMDS-Modus verwendet diese IOPLL, da der CDR keine Referenztakte unter 50 MHz empfangen kann und die TMDS-Taktfrequenz zwischen 25 MHz und 340 MHz liegt. Diese IOPLL bietet eine Taktfrequenz, die fünfmal so hoch ist wie der Eingangsreferenztakt für den Frequenzbereich zwischen 5 MHz und 25 MHz, und bietet dieselbe Taktfrequenz wie der Eingangsreferenztakt für den Frequenzbereich zwischen 50 MHz und 50 MHz. •Die zweite IOPLL (iopll_frl) generiert den FRL-Takt für den RX-Kern. Dieser Referenztakt empfängt den vom CDR wiederhergestellten Takt. FRL-Taktfrequenz = Datenrate pro Spur x 4 / (FRL-Zeichen pro Takt x 18) |
Transceiver-PHY-Reset-Controller | Der Transceiver-PHY-Reset-Controller sorgt für eine zuverlässige Initialisierung der RX-Transceiver. Der Reset-Eingang dieses Controllers wird durch die RX-Neukonfiguration ausgelöst und generiert das entsprechende analoge und digitale Reset-Signal für den Transceiver Native PHY-Block gemäß der Reset-Sequenzierung innerhalb des Blocks. |
RX Native PHY | Hard-Transceiver-Block, der die seriellen Daten von einer externen Videoquelle empfängt. Er deserialisiert die seriellen Daten in parallele Daten, bevor er sie an den HDMI-RX-Kern weiterleitet. Dieser Block läuft auf Enhanced PCS für den FRL-Modus. RX CDR hat zwei Referenzuhren. • Referenztakt 0 ist mit dem Ausgangstakt von IOPLL TMDS (pll_tmds) verbunden, der vom TMDS-Takt abgeleitet wird. • Referenztakt 1 ist mit einem festen 100-MHz-Takt verbunden. Im TMDS-Modus wird RX CDR neu konfiguriert, um Referenztakt 0 auszuwählen, und im FRL-Modus wird RX CDR neu konfiguriert, um Referenztakt 1 auszuwählen. |
RX-Neukonfigurationsverwaltung | Im TMDS-Modus implementiert der RX-Neukonfigurationsverwaltungsblock eine Ratenerkennungsschaltung mit dem HDMI-PLL, um den RX-Transceiver so anzutreiben, dass er mit beliebigen Verbindungsraten im Bereich von 250 Mbit/s bis 6,000 Mbit/s arbeitet. Im FRL-Modus konfiguriert der RX-Rekonfigurationsverwaltungsblock den RX-Transceiver so um, dass er mit 3 Gbps, 6 Gbps, 8 Gbps, 10 Gbps oder 12 Gbps arbeitet, je nach der FRL-Rate im SCDC_FRL_RATE-Registerfeld (0x31[3:0]). Der RX-Rekonfigurationsverwaltungsblock wechselt zwischen Standard-PCS/RX für den TMDS-Modus und Enhanced PCS für den FRL-Modus.Siehe Abbildung 10 auf Seite 22. |
Abbildung 10. Sequenzablauf der RX-Neukonfiguration
Die Abbildung veranschaulicht den Sequenzfluss der Multirate-Neukonfiguration des Controllers, wenn dieser einen Eingangsdatenstrom und eine Referenztaktfrequenz empfängt oder wenn der Transceiver entsperrt wird.2.5.3. Gemeinsame Blöcke der obersten Ebene
Zu den gemeinsamen Blöcken der obersten Ebene gehören der Transceiver-Arbiter, die RX-TX-Verbindungskomponenten und das CPU-Subsystem.
Tabelle 11. Gemeinsame Blöcke der obersten Ebene
Modul |
Beschreibung |
Transceiver-Schiedsrichter | Dieser generische Funktionsblock verhindert, dass Transceiver gleichzeitig neu kalibriert werden, wenn entweder RX- oder TX-Transceiver innerhalb desselben physischen Kanals neu konfiguriert werden müssen. Die gleichzeitige Neukalibrierung wirkt sich auf Anwendungen aus, bei denen RX- und TX-Transceiver innerhalb desselben Kanals unabhängigen IP-Implementierungen zugewiesen sind. Dieser Transceiver-Arbiter ist eine Erweiterung der empfohlenen Auflösung zum Zusammenführen von Simplex TX und Simplex RX in denselben physischen Kanal. Dieser Transceiver-Arbiter hilft auch beim Zusammenführen und Arbitrieren der Avalon®-Speicherzuordnungs-RX- und TX-Neukonfigurationsanforderungen, die auf Simplex RX- und TX-Transceiver innerhalb eines Kanals abzielen, da auf den Neukonfigurationsschnittstellenport der Transceiver nur sequenziell zugegriffen werden kann. Die Schnittstellenverbindung zwischen dem Transceiver-Arbiter und den TX/RX Native PHY/PHY Reset Controller-Blöcken in diesem Design example demonstriert einen generischen Modus, der für jede IP-Kombination mit dem Transceiver-Arbiter gilt. Der Transceiver-Arbiter ist nicht erforderlich, wenn in einem Kanal nur entweder ein RX- oder ein TX-Transceiver verwendet wird. Der Transceiver-Arbiter identifiziert den Anforderer einer Neukonfiguration über seine im Avalon-Speicher abgebildeten Neukonfigurationsschnittstellen und stellt sicher, dass das entsprechende tx_reconfig_cal_busy oder rx_reconfig_cal_busy entsprechend gesteuert wird. Bei HDMI-Anwendungen leitet nur RX die Neukonfiguration ein. Indem die speicherabgebildete Avalon-Neukonfigurationsanforderung durch den Arbiter geleitet wird, erkennt der Arbiter, dass die Neukonfigurationsanforderung vom RX stammt, der dann die Aktivierung von tx_reconfig_cal_busy unterbindet und die Aktivierung von rx_reconfig_cal_busy zulässt. Die Sperrung verhindert, dass der TX-Transceiver unbeabsichtigt in den Kalibrierungsmodus versetzt wird. Notiz: Da HDMI nur eine RX-Neukonfiguration erfordert, sind die tx_reconfig_mgmt_*-Signale abgebunden. Außerdem ist die Avalon-Memory-Mapping-Schnittstelle zwischen dem Arbiter und dem TX Native PHY-Block nicht erforderlich. Die Blöcke werden der Schnittstelle im Design-Ex zugewiesen.ample zur Demonstration der generischen Transceiver-Arbiter-Verbindung zum TX/RX Native PHY/PHY Reset Controller |
RX-TX-Verbindung | • Die Videodatenausgabe- und Synchronisierungssignale vom HDMI RX-Kern werden durch einen DCFIFO über die RX- und TX-Videotaktdomänen geleitet. • Der Hilfsdatenport des HDMI TX-Kerns steuert die Hilfsdaten, die durch den DCFIFO fließen, durch Gegendruck. Der Gegendruck stellt sicher, dass sich am Hilfsdatenport kein unvollständiges Hilfspaket befindet. • Dieser Block führt auch eine externe Filterung durch: — Filtert die Audiodaten und das Audiotakt-Regenerationspaket aus dem Hilfsdatenstrom, bevor es an den Hilfsdatenanschluss des HDMI TX-Kerns übertragen wird. — Filtert den High Dynamic Range (HDR) InfoFrame aus den HDMI RX Zusatzdaten und fügt einen Ex einample HDR InfoFrame zu den Zusatzdaten des HDMI TX über den Avalon-Streaming-Multiplexer. |
CPU-Subsystem | Das CPU-Subsystem fungiert als SCDC- und DDC-Controller sowie als Quellrekonfigurations-Controller. • Der Quell-SCDC-Controller enthält den I2C-Master-Controller. Der I2C-Master-Controller überträgt die SCDC-Datenstruktur von der FPGA-Quelle zum externen Sink für den HDMI 2.0-Betrieb. Zum BeispielampWenn beispielsweise der ausgehende Datenstrom 6,000 Mbit/s beträgt, befiehlt der Nios II-Prozessor dem I2C-Mastercontroller, die Bits TMDS_BIT_CLOCK_RATIO und SCRAMBLER_ENABLE des TMDS-Konfigurationsregisters des Sink-Geräts auf 1 zu aktualisieren. • Derselbe I2C-Master überträgt auch die DDC-Datenstruktur (E-EDID) zwischen der HDMI-Quelle und dem externen Empfänger. • Die Nios II-CPU fungiert als Rekonfigurationscontroller für die HDMI-Quelle. Die CPU verlässt sich auf die periodische Ratenerkennung des RX-Rekonfigurationsmanagementmoduls, um zu bestimmen, ob der TX neu konfiguriert werden muss. Der Avalon Memory-Mapped-Slave-Übersetzer stellt die Schnittstelle zwischen der Avalon Memory-Mapped-Masterschnittstelle des Nios II-Prozessors und den Avalon Memory-Mapped-Slave-Schnittstellen der IOPLL und TX Native PHY der extern instanziierten HDMI-Quelle bereit. • Führen Sie ein Link-Training über die I2C-Masterschnittstelle mit externem Sink durch |
2.6. Dynamikbereich und Mastering (HDR) InfoFrame-Einfügung und Filterung
Das HDMI Intel FPGA IP Design exampDie Datei enthält eine Demonstration der Einfügung von HDR-InfoFrames in ein RX-TX-Loopback-System.
Die HDMI-Spezifikation Version 2.0b ermöglicht die Übertragung von Dynamic Range und Mastering InfoFrame über den HDMI-Hilfsstrom. In der Demonstration unterstützt der Block „Auxiliary Packet Generator“ die HDR-Einfügung. Sie müssen nur das gewünschte HDR-InfoFrame-Paket wie in der Signallistentabelle des Moduls angegeben formatieren und die Einfügung des HDR-InfoFrame erfolgt einmal pro Videobild.
In diesem BeispielampIn Fällen, in denen der eingehende Hilfsstrom bereits HDR-InfoFrames enthält, wird der gestreamte HDR-Inhalt gefiltert. Die Filterung vermeidet die Übertragung widersprüchlicher HDR-InfoFrames und stellt sicher, dass nur die im HDR-S angegebenen Werte übertragen werden.ampEs werden die Datenmodule verwendet.
Abbildung 11. RX-TX-Verbindung mit Dynamikbereich und Mastering-InfoFrame-Einfügung
Die Abbildung zeigt das Blockdiagramm der RX-TX-Verbindung einschließlich Dynamikbereich und Einfügung von Mastering-InfoFrames in den HDMI-TX-Kern-Hilfsstrom.Tabelle 12. Signale des zusätzlichen Dateneinfügungsblocks (aux_retransmit)
Signal | Richtung | Breite |
Beschreibung |
Uhr und Zurücksetzen | |||
klick | Eingang | 1 | Takteingang. Dieser Takt sollte mit dem Videotakt verbunden werden. |
zurücksetzen | Eingang | 1 | Eingang zurücksetzen. |
Hilfspaketsignale |
|||
tx_aux_data | Ausgabe | 72 | TX: Hilfspaketausgabe vom Multiplexer. |
tx_aux_valid | Ausgabe | 1 | |
tx_aux_bereit | Ausgabe | 1 | |
tx_aux_sop | Ausgabe | 1 | |
tx_aux_eop | Ausgabe | 1 | |
rx_aux_data | Eingang | 72 | RX: Hilfsdaten, die an das Paketfiltermodul weitergeleitet werden, bevor sie in den Multiplexer gelangen. |
rx_aux_gültig | Eingang | 1 | |
rx_aux_sop | Eingang | 1 | |
rx_aux_eop | Eingang | 1 |
Steuersignal | |||
hdmi_tx_vsync | Eingang | 1 | HDMI TX Video Vsync. Dieses Signal sollte mit der Link-Speed-Taktdomäne synchronisiert werden. Der Kern fügt den HDR-InfoFrame an der steigenden Flanke dieses Signals in den Hilfsstrom ein. |
Tabelle 13. Signale des HDR-Datenmoduls (altera_hdmi_hdr_infoframe)
Signal |
Richtung | Breite |
Beschreibung |
hb0 | Ausgabe | 8 | Header-Byte 0 des Dynamic Range- und Mastering-InfoFrame: InfoFrame-Typcode. |
hb1 | Ausgabe | 8 | Header-Byte 1 des Dynamic Range- und Mastering-InfoFrame: InfoFrame-Versionsnummer. |
hb2 | Ausgabe | 8 | Header-Byte 2 des Dynamic Range- und Mastering-InfoFrame: Länge des InfoFrame. |
pb | Eingang | 224 | Datenbyte des Dynamic Range- und Mastering-InfoFrame. |
Tabelle 14. Dynamikbereich und Mastering InfoFrame Datenbyte-Bündel Bit-Felder
Bit-Feld |
Definition |
Statischer Metadatentyp 1 |
7:0 | Datenbyte 1: {5'h0, EOTF[2:0]} | |
15:8 | Datenbyte 2: {5'h0, Static_Metadata_Descriptor_ID[2:0]} | |
23:16 | Datenbyte 3: Static_Metadata_Descriptor | display_primaries_x[0], LSB |
31:24 | Datenbyte 4: Static_Metadata_Descriptor | display_primaries_x[0], MSB |
39:32 | Datenbyte 5: Static_Metadata_Descriptor | display_primaries_y[0], LSB |
47:40 | Datenbyte 6: Static_Metadata_Descriptor | display_primaries_y[0], MSB |
55:48 | Datenbyte 7: Static_Metadata_Descriptor | display_primaries_x[1], LSB |
63:56 | Datenbyte 8: Static_Metadata_Descriptor | display_primaries_x[1], MSB |
71:64 | Datenbyte 9: Static_Metadata_Descriptor | display_primaries_y[1], LSB |
79:72 | Datenbyte 10: Static_Metadata_Descriptor | display_primaries_y[1], MSB |
87:80 | Datenbyte 11: Static_Metadata_Descriptor | display_primaries_x[2], LSB |
95:88 | Datenbyte 12: Static_Metadata_Descriptor | display_primaries_x[2], MSB |
103:96 | Datenbyte 13: Static_Metadata_Descriptor | display_primaries_y[2], LSB |
111:104 | Datenbyte 14: Static_Metadata_Descriptor | display_primaries_y[2], MSB |
119:112 | Datenbyte 15: Static_Metadata_Descriptor | Weißpunkt_x, LSB |
127:120 | Datenbyte 16: Static_Metadata_Descriptor | white_point_x, MSB |
135:128 | Datenbyte 17: Static_Metadata_Descriptor | Weißpunkt_y, LSB |
143:136 | Datenbyte 18: Static_Metadata_Descriptor | weißer_punkt_y, MSB |
151:144 | Datenbyte 19: Static_Metadata_Descriptor | max_display_mastering_luminance, LSB |
159:152 | Datenbyte 20: Static_Metadata_Descriptor | max_display_mastering_luminance, MSB |
167:160 | Datenbyte 21: Static_Metadata_Descriptor | min_display_mastering_luminance, LSB |
175:168 | Datenbyte 22: Static_Metadata_Descriptor | min_display_mastering_luminance, MSB |
183:176 | Datenbyte 23: Static_Metadata_Descriptor | Maximaler Lichtpegel im Inhalt, LSB |
191:184 | Datenbyte 24: Static_Metadata_Descriptor | Maximale Lichtintensität für Inhalte, MSB |
199:192 | Datenbyte 25: Static_Metadata_Descriptor | Maximale durchschnittliche Lichtstärke im Bild, LSB |
207:200 | Datenbyte 26: Static_Metadata_Descriptor | Maximale durchschnittliche Lichtstärke im Einzelbild, MSB |
215:208 | Reserviert | |
223:216 | Reserviert |
Deaktivieren der HDR-Einfügung und -Filterung
Durch das Deaktivieren der HDR-Einfügung und des Filters können Sie die erneute Übertragung von HDR-Inhalten überprüfen, die bereits im Quell-Hilfsstrom verfügbar sind, ohne dass Änderungen am RX-TX-Retransmit-Design vorgenommen werden müssen.ample.
So deaktivieren Sie das Einfügen und Filtern von HDR-InfoFrames:
- Setzen Sie block_ext_hdr_infoframe im rxtx_link.v auf 1'b0. file um das Filtern des HDR-InfoFrames aus dem Hilfsstream zu verhindern.
- Setzen Sie multiplexer_in0_valid der avalon_st_multiplexer-Instanz in der Datei altera_hdmi_aux_hdr.v file auf 1'b0, um zu verhindern, dass der Hilfspaketgenerator zusätzliche HDR-InfoFrames erstellt und in den TX-Hilfsstream einfügt.
2.7. Software-Flow entwerfen
Im Hauptsoftwarefluss des Designs konfiguriert der Nios II-Prozessor die TI-Redriver-Einstellung und initialisiert die TX- und RX-Pfade beim Einschalten.
Abbildung 12. Softwarefluss im main.c-Skript
Die Software führt eine While-Schleife aus, um Änderungen an Sink- und Source-Signalen zu überwachen und auf diese zu reagieren. Die Software kann eine TX-Neukonfiguration und ein TX-Link-Training auslösen und mit der Videoübertragung beginnen.
Abbildung 13. Flussdiagramm zur Initialisierung des TX-Pfads TX-Pfad initialisierenAbbildung 14. Flussdiagramm zur Initialisierung des RX-Pfads
Abbildung 15. TX-Neukonfigurations- und Link-Trainings-Flussdiagramm
Abbildung 16. Flussdiagramm des Link-Trainings LTS:3-Prozesses bei spezifischer FRL-Rate
Abbildung 17. Flussdiagramm der HDMI TX-Videoübertragung
2.8. Ausführen des Entwurfs mit unterschiedlichen FRL-Raten
Sie können Ihr Design mit anderen FRL-Raten als der Standard-FRL-Rate des externen Senkens ausführen.
So führen Sie das Design mit unterschiedlichen FRL-Raten aus:
- Schalten Sie den integrierten Schalter user_dipsw0 auf die Position „ON“.
- Öffnen Sie die Nios II-Befehlsshell und geben Sie dann nios2-terminal ein
- Geben Sie die folgenden Befehle ein und drücken Sie zur Ausführung die Eingabetaste.
Befehl |
Beschreibung |
h | Zeigt das Hilfemenü an. |
r0 | Aktualisieren Sie die maximale RX-FRL-Fähigkeit auf FRL-Rate 0 (nur TMDS). |
r1 | Aktualisieren Sie die maximale RX-FRL-Fähigkeit auf FRL-Rate 1 (3 Gbit/s). |
r2 | Aktualisieren Sie die maximale FRL-Fähigkeit von RX auf FRL-Rate 2 (6 Gbit/s, 3 Spuren). |
r3 | Aktualisieren Sie die maximale FRL-Fähigkeit von RX auf FRL-Rate 3 (6 Gbit/s, 4 Spuren). |
r4 | Aktualisieren Sie die maximale RX-FRL-Fähigkeit auf FRL-Rate 4 (8 Gbit/s). |
r5 | Aktualisieren Sie die maximale RX-FRL-Fähigkeit auf FRL-Rate 5 (10 Gbit/s). |
r6 | Aktualisieren Sie die maximale RX-FRL-Fähigkeit auf FRL-Rate 6 (12 Gbit/s). |
t1 | TX konfiguriert die Verbindungsrate auf FRL-Rate 1 (3 Gbit/s). |
t2 | TX konfiguriert die Verbindungsrate auf FRL-Rate 2 (6 Gbit/s, 3 Spuren). |
t3 | TX konfiguriert die Verbindungsrate auf FRL-Rate 3 (6 Gbit/s, 4 Spuren). |
t4 | TX konfiguriert die Verbindungsrate auf FRL-Rate 4 (8 Gbit/s). |
t5 | TX konfiguriert die Verbindungsrate auf FRL-Rate 5 (10 Gbit/s). |
t6 | TX konfiguriert die Verbindungsrate auf FRL-Rate 6 (12 Gbit/s). |
2.9. Taktschema
Das Taktschema veranschaulicht die Taktdomänen im HDMI Intel FPGA IP-Design.ample.
Abbildung 18. HDMI 2.1 Design Beispielample TaktschemaTabelle 15. Taktschemasignale
Uhr |
Signalname im Design |
Beschreibung |
Management-Uhr | mgmt_clk | Ein frei laufender 100-MHz-Takt für diese Komponenten: • Avalon-MM-Schnittstellen zur Neukonfiguration — Der erforderliche Frequenzbereich liegt zwischen 100 und 125 MHz. • PHY-Reset-Controller für Transceiver-Reset-Sequenz — Der erforderliche Frequenzbereich liegt zwischen 1 und 500 MHz. • IOPLL-Neukonfiguration — Die maximale Taktfrequenz beträgt 100 MHz. • RX-Neukonfigurationsverwaltung • TX-Neukonfigurationsmanagement • ZENTRALPROZESSOR • I2C-Master |
I2C-Uhr | i2c_clk | Ein 100-MHz-Takteingang, der I2C-Slave, Ausgabepuffer, SCDC-Register und Link-Trainingsprozesse im HDMI-RX-Kern sowie EDID-RAM taktet. |
TX PLL Referenztakt 0 | tx_tmds_clk | Referenztakt 0 für die TX PLL. Die Taktfrequenz ist die gleiche wie die erwartete TMDS-Taktfrequenz vom HDMI TX TMDS-Taktkanal. Dieser Referenztakt wird im TMDS-Modus verwendet. Für dieses HDMI-Design exampDiese Uhr ist zu Demonstrationszwecken mit der RX-TMDS-Uhr verbunden. In Ihrer Anwendung müssen Sie eine dedizierte Uhr mit TMDS-Taktfrequenz von einem programmierbaren Oszillator bereitstellen, um eine bessere Jitter-Leistung zu erzielen. |
Notiz: Verwenden Sie keinen Transceiver-RX-Pin als TX-PLL-Referenztakt. Ihr Design passt nicht, wenn Sie den HDMI-TX-Refclk auf einem RX-Pin platzieren. | ||
TX PLL Referenztakt 1 | txfpll_refclk1/ rxphy_cdr_refclk1 | Referenztakt für TX PLL und RX CDR sowie IOPLL für vid_clk. Die Taktfrequenz beträgt 100 MHz. |
TX PLL Serielle Uhr | tx_bonding_clocks | Schnelle serielle Uhr, generiert durch TX PLL. Die Taktfrequenz wird basierend auf der Datenrate eingestellt. |
TX-Transceiver-Taktausgang | tx_clk | Der Taktausgang wird vom Transceiver wiederhergestellt. Die Frequenz variiert je nach Datenrate und Symbolen pro Takt. TX-Transceiver-Taktausgangsfrequenz = Transceiver-Datenrate/ Transceiver-Breite Für dieses HDMI-Design example, der TX-Transceiver-Taktausgang von Kanal 0 taktet den TX-Transceiver-Core-Eingang (tx_coreclkin), den Link-Speed-IOPLL-Referenztakt (pll_hdmi) und den Video- und FRL-IOPLL-Referenztakt (pll_vid_frl). |
Videouhr | tx_vid_clk/rx_vid_clk | Videotakt zum TX- und RX-Kern. Der Takt läuft mit einer festen Frequenz von 225 MHz. |
TX/RX FRL-Takt | tx_frl_clk/rx_frl_clk | FRL-Takt für TX- und RX-Kern. |
RX TMDS-Uhr | rx_tmds_clk | TMDS-Taktkanal vom HDMI-RX-Anschluss und Verbindung zu einer IOPLL, um den Referenztakt für den CDR-Referenztakt 0 zu generieren. Der Kern verwendet diesen Takt, wenn er sich im TMDS-Modus befindet. |
RX CDR Referenztakt 0 | rxphy_cdr_refclk0 | Referenztakt 0 für RX CDR. Dieser Takt wird vom RX TMDS-Takt abgeleitet. Die RX TMDS-Taktfrequenz reicht von 25 MHz bis 340 MHz, während die minimale Referenztaktfrequenz von RX CDR 50 MHz beträgt. Eine IOPLL wird verwendet, um eine 5-Taktfrequenz für den TMDS-Takt zwischen 25 MHz und 50 MHz zu erzeugen und die gleiche Taktfrequenz für den TMDS-Takt zwischen 50 MHz und 340 MHz zu erzeugen. |
RX-Transceiver-Taktausgang | rx_clk | Vom Transceiver wiederhergestellter Taktausgang; die Frequenz variiert je nach Datenrate und Transceiverbreite. RX-Transceiver-Taktausgangsfrequenz = Transceiver-Datenrate/ Transceiver-Breite Für dieses HDMI-Design example, der RX-Transceiver-Taktausgang von Kanal 1 taktet den RX-Transceiver-Core-Eingang (rx_coreclkin) und den FRL IOPLL-Referenztakt (pll_frl). |
2.10. Schnittstellensignale
In den Tabellen sind die Signale für die HDMI-Ausführung aufgeführt.ampDatei mit aktiviertem FRL.
Tabelle 16. Top-Level-Signale
Signal |
Richtung | Breite |
Beschreibung |
Integriertes Oszillatorsignal | |||
clk_fpga_b3_p | Eingang | 1 | 100 MHz frei laufender Takt als Kernreferenztakt. |
refclk4_p | Eingang | 1 | 100 MHz freilaufender Takt als Referenztakt des Transceivers. |
Benutzerdrucktasten und LEDs | |||
Benutzer_pb | Eingang | 3 | Drucktaste zur Steuerung der HDMI Intel FPGA IP-Designfunktionalität. |
cpu_resetn | Eingang | 1 | Globaler Reset. |
user_led_g | Ausgabe | 8 | Grüne LED-Anzeige. Siehe Hardware-Setup auf Seite 48 für weitere Informationen zu den LED-Funktionen. |
Benutzer_dipsw | Eingang | 1 | Benutzerdefinierter DIP-Schalter. Siehe Hardware-Setup auf Seite 48 für weitere Informationen zu den DIP-Schalterfunktionen. |
HDMI FMC Tochterkarten-Pins am FMC-Port B | |||
fmcb_gbtclk_m2c_p_0 | Eingang | 1 | HDMI RX TMDS-Takt. |
fmcb_dp_m2c_p | Eingang | 4 | HDMI-RX-Takt, rote, grüne und blaue Datenkanäle. |
fmcb_dp_c2m_p | Ausgabe | 4 | HDMI TX-Takt, rote, grüne und blaue Datenkanäle. |
fmcb_la_rx_p_9 | Eingang | 1 | HDMI RX +5V Stromerkennung. |
fmcb_la_rx_p_8 | Ausgabe | 1 | HDMI RX Hot-Plug-Erkennung. |
fmcb_la_rx_n_8 | Eingang | 1 | HDMI RX I2C SDA für DDC und SCDC. |
fmcb_la_tx_p_10 | Eingang | 1 | HDMI RX I2C SCL für DDC und SCDC. |
fmcb_la_tx_p_12 | Eingang | 1 | HDMI TX Hot-Plug-Erkennung. |
fmcb_la_tx_n_12 | Eingang | 1 | HDMI I2C SDA für DDC und SCDC. |
fmcb_la_rx_p_10 | Eingang | 1 | HDMI I2C SCL für DDC und SCDC. |
fmcb_la_tx_n_9 | Eingang | 1 | HDMI I2C SDA zur Redriver-Steuerung. |
fmcb_la_rx_p_11 | Eingang | 1 | HDMI I2C SCL zur Redriver-Steuerung. |
fmcb_la_tx_n_13 | Ausgabe | 1 | HDMI-TX +5 V Notiz: Nur verfügbar, wenn Bitec HDMI-Tochterkarte Revision 9 ausgewählt ist. |
Tabelle 17. HDMI RX Top-Level-Signale
Signal | Richtung | Breite | Beschreibung |
Takt- und Reset-Signale | |||
mgmt_clk | Eingang | 1 | Systemtakteingang (100 MHz). |
zurücksetzen | Eingang | 1 | Eingang zum Zurücksetzen des Systems. |
rx_tmds_clk | Eingang | 1 | HDMI RX TMDS-Takt. |
i2c_clk | Eingang | 1 | Takteingang für DDC- und SCDC-Schnittstelle. |
Takt- und Reset-Signale | |||
rxphy_cdr_refclk1 | Eingang | 1 | Takteingang für RX CDR Referenztakt 1. Die Taktfrequenz beträgt 100 MHz. |
rx_vid_clk | Ausgabe | 1 | Videotaktausgang. |
sys_init | Ausgabe | 1 | Systeminitialisierung zum Zurücksetzen des Systems beim Einschalten. |
RX-Transceiver und IOPLL-Signale | |||
rxpll_tmds_locked | Ausgabe | 1 | Zeigt an, dass die IOPLL der TMDS-Uhr gesperrt ist. |
rxpll_frl_gesperrt | Ausgabe | 1 | Zeigt an, dass die IOPLL der FRL-Uhr gesperrt ist. |
rxphy_serial_data | Eingang | 4 | Serielle HDMI-Daten zum RX Native PHY. |
rxphy_bereit | Ausgabe | 1 | Zeigt an, dass der RX Native PHY bereit ist. |
rxphy_cal_busy_raw | Ausgabe | 4 | RX Native PHY-Kalibrierung für den Transceiver-Arbiter ist beschäftigt. |
rxphy_cal_busy_gated | Eingang | 4 | Kalibrierungs-Besetztsignal vom Transceiver-Arbiter zum RX Native PHY. |
rxphy_rcfg_slave_schreiben | Eingang | 4 | Neukonfiguration des Transceivers: Avalon-Speicherabbildungsschnittstelle vom RX Native PHY zum Transceiver-Arbiter. |
rxphy_rcfg_slave_lesen | Eingang | 4 | |
rxphy_rcfg_slave_adresse | Eingang | 40 | |
rxphy_rcfg_slave_writedata | Eingang | 128 | |
rxphy_rcfg_slave_readdata | Ausgabe | 128 | |
rxphy_rcfg_slave_waitrequest | Ausgabe | 4 |
RX-Neukonfigurationsverwaltung | |||
rxphy_rcfg_busy | Ausgabe | 1 | RX-Neukonfigurations-Besetztzeichen. |
rx_tmds_freq | Ausgabe | 24 | HDMI RX TMDS-Taktfrequenzmessung (in 10 ms). |
rx_tmds_freq_valid | Ausgabe | 1 | Zeigt an, dass die RX-TMDS-Taktfrequenzmessung gültig ist. |
rxphy_os | Ausgabe | 1 | Oversampling-Faktor: •0: 1x OverampLeng • 1: 5× OverampLeng |
rxphy_rcfg_master_write | Ausgabe | 1 | RX-Neukonfigurationsverwaltung: Avalon-Speicherabbildungsschnittstelle zum Transceiver-Arbiter. |
rxphy_rcfg_master_read | Ausgabe | 1 | |
rxphy_rcfg_master_adresse | Ausgabe | 12 | |
rxphy_rcfg_master_writedata | Ausgabe | 32 | |
rxphy_rcfg_master_readdata | Eingang | 32 | |
rxphy_rcfg_master_waitrequest | Eingang | 1 |
HDMI RX-Kernsignale | |||
rx_vid_clk_gesperrt | Eingang | 1 | Zeigt an, dass vid_clk stabil ist. |
rxcore_frl_rate | Ausgabe | 4 | Gibt die FRL-Rate an, mit der der RX-Kern ausgeführt wird. • 0: Legacy-Modus (TMDS) • 1: 3 Gbit/s, 3 Spuren • 2: 6 Gbit/s, 4 Spuren • 3: 6 Gbit/s, 4 Spuren • 4: 8 Gbit/s, 4 Spuren • 5: 10 Gbit/s, 4 Spuren • 6: 12 Gbit/s, 4 Spuren • 7-15: Reserviert |
rxcore_frl_locked | Ausgabe | 4 | Jedes Bit gibt die spezifische Spur an, die die FRL-Sperre erreicht hat. FRL ist gesperrt, wenn der RX-Kern erfolgreich Ausrichtung und Entzerrung durchführt und die Spursperre erreicht. • Im 3-Lane-Modus wird die Lane-Sperre erreicht, wenn der RX-Kern für alle 680 FRL-Zeichenperioden mindestens dreimal einen Scrambler Reset (SR) oder Start-Super-Block (SSB) empfängt. • Im 4-Lane-Modus wird die Lane-Sperre erreicht, wenn der RX-Kern für alle 510 FRL-Zeichenperioden mindestens dreimal einen Scrambler Reset (SR) oder Start-Super-Block (SSB) empfängt. |
rxcore_frl_ffe_levels | Ausgabe | 4 | Entspricht dem FFE_level-Bit im SCDC 0x31-Registerbit [7:4] im RX-Kern. |
rxcore_frl_flt_bereit | Eingang | 1 | Bestätigt, um anzuzeigen, dass der RX bereit ist, den Link-Trainingsprozess zu starten. Wenn bestätigt, wird auch das FLT_ready-Bit im SCDC-Register 0x40 Bit 6 bestätigt. |
rxcore_frl_src_test_config | Eingang | 8 | Gibt die Quelltestkonfigurationen an. Der Wert wird in das SCDC-Testkonfigurationsregister im SCDC-Register 0x35 geschrieben. |
rxcore_tbcr | Ausgabe | 1 | Gibt das TMDS-Bit-zu-Takt-Verhältnis an; entspricht dem TMDS_Bit_Clock_Ratio-Register im SCDC-Register 0x20 Bit 1. • Beim Betrieb im HDMI 2.0-Modus wird dieses Bit aktiviert. Zeigt das TMDS-Bit-Takt-Verhältnis von 40:1 an. • Beim Betrieb in HDMI 1.4b wird dieses Bit nicht aktiviert. Zeigt das TMDS-Bit-Takt-Verhältnis von 10:1 an. • Dieses Bit wird für den FRL-Modus nicht verwendet. |
rxcore_scrambler_aktivieren | Ausgabe | 1 | Gibt an, ob die empfangenen Daten verschlüsselt sind; entspricht dem Feld Scrambling_Enable im SCDC-Register 0x20, Bit 0. |
rxcore_audio_de | Ausgabe | 1 | HDMI RX Core-Audioschnittstellen Weitere Informationen finden Sie im Senkenschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
rxcore_audio_daten | Ausgabe | 256 | |
rxcore_audio_info_ai | Ausgabe | 48 | |
rxcore_audio_N | Ausgabe | 20 | |
rxcore_audio_CTS | Ausgabe | 20 | |
rxcore_audio_metadata | Ausgabe | 165 | |
rxcore_audio_format | Ausgabe | 5 | |
rxcore_aux_pkt_data | Ausgabe | 72 | HDMI RX-Core-Hilfsschnittstellen Weitere Informationen finden Sie im Senkenschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
rxcore_aux_pkt_addr | Ausgabe | 6 | |
rxcore_aux_pkt_wr | Ausgabe | 1 | |
rxcore_aux_data | Ausgabe | 72 | |
rxcore_aux_sop | Ausgabe | 1 | |
rxcore_aux_eop | Ausgabe | 1 | |
rxcore_aux_valid | Ausgabe | 1 | |
rxcore_aux_error | Ausgabe | 1 | |
rxcore_gcp | Ausgabe | 6 | HDMI RX-Kernseitenbandsignale Weitere Informationen finden Sie im Senkenschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
rxcore_info_avi | Ausgabe | 123 | |
rxcore_info_vsi | Ausgabe | 61 | |
rxcore_gesperrt | Ausgabe | 1 | HDMI RX-Core-Videoanschlüsse Keine zehn = Pixel pro Takt Weitere Informationen finden Sie im Senkenschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
rxcore_vid_daten | Ausgabe | N*48 | |
rxcore_vid_vsync | Ausgabe | N | |
rxcore_vid_hsync | Ausgabe | N | |
rxcore_vid_de | Ausgabe | N | |
rxcore_vid_gültig | Ausgabe | 1 | |
rxcore_vid_lock | Ausgabe | 1 | |
rxcore_mode | Ausgabe | 1 | HDMI RX-Kernsteuerungs- und Statusanschlüsse. Keine zehn = Symbole pro Takt Weitere Informationen finden Sie im Senkenschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
rxcore_ctrl | Ausgabe | N*6 | |
rxcore_farb_tiefe_synchronisierung | Ausgabe | 2 | |
hdmi_5v_erkennen | Eingang | 1 | HDMI RX 5V Erkennung und Hotplug Erkennung. Siehe die Senkenschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
hdmi_rx_hpd | Ausgabe | 1 | |
rx_hpd_trigger | Eingang | 1 |
I2C Signale | |||
hdmi_rx_i2c_sda | Eingang | 1 | HDMI RX DDC- und SCDC-Schnittstelle. |
hdmi_rx_i2c_scl | Eingang | 1 |
RX EDID RAM Signale | |||
edid_ram_zugriff | Eingang | 1 | HDMI RX EDID RAM-Zugriffsschnittstelle. |
edid_ram_adresse | Eingang | 8 | Setzen Sie edid_ram_access ein, wenn Sie in den EDID-RAM schreiben oder daraus lesen möchten, andernfalls sollte dieses Signal niedrig gehalten werden. Wenn Sie edid_ram_access aktivieren, wird das Hotplug-Signal deaktiviert, um das Schreiben oder Lesen in den EDID-RAM zu ermöglichen. Wenn der EDID-RAM-Zugriff abgeschlossen ist, sollten Sie edid_ram_assess deaktivieren und das Hotplug-Signal aktivieren. Die Quelle liest die neue EDID aufgrund des Umschaltens des Hotplug-Signals. |
edid_ram_write | Eingang | 1 | |
edid_ram_read | Eingang | 1 | |
edid_ram_readdata | Ausgabe | 8 | |
edid_ram_writedata | Eingang | 8 | |
edid_ram_waitrequest | Ausgabe | 1 |
Tabelle 18. HDMI TX-Signale der obersten Ebene
Signal | Richtung | Breite | Beschreibung |
Takt- und Reset-Signale | |||
mgmt_clk | Eingang | 1 | Systemtakteingang (100 MHz). |
zurücksetzen | Eingang | 1 | Eingang zum Zurücksetzen des Systems. |
tx_tmds_clk | Eingang | 1 | HDMI RX TMDS-Takt. |
txfpll_refclk1 | Eingang | 1 | Takteingang für TX PLL-Referenztakt 1. Die Taktfrequenz beträgt 100 MHz. |
tx_vid_clk | Ausgabe | 1 | Videotaktausgang. |
tx_frl_clk | Ausgabe | 1 | FRL-Taktausgang. |
sys_init | Eingang | 1 | Systeminitialisierung zum Zurücksetzen des Systems beim Einschalten. |
tx_init_done | Eingang | 1 | TX-Initialisierung zum Zurücksetzen des TX-Rekonfigurationsverwaltungsblocks und der Transceiver-Rekonfigurationsschnittstelle. |
TX-Transceiver und IOPLL-Signale | |||||||||||||
txpll_frl_gesperrt | Ausgabe | 1 | Zeigt an, dass die Verbindungsgeschwindigkeitsuhr und die FRL-Uhr IOPLL gesperrt sind. | ||||||||||
txfpll_gesperrt | Ausgabe | 1 | Zeigt an, dass die TX-PLL gesperrt ist. | ||||||||||
txphy_serielle_daten | Ausgabe | 4 | Serielle HDMI-Daten vom TX Native PHY. | ||||||||||
txphy_bereit | Ausgabe | 1 | Zeigt an, dass der TX Native PHY bereit ist. | ||||||||||
txphy_cal_busy | Ausgabe | 1 | TX Native PHY-Kalibrierungs-Besetztsignal. | ||||||||||
txphy_cal_busy_raw | Ausgabe | 4 | Kalibrierungs-Besetztsignal an den Transceiver-Schiedsrichter. | ||||||||||
txphy_cal_busy_gated | Eingang | 4 | Kalibrierungs-Besetztsignal vom Transceiver-Schiedsrichter zum TX Native PHY. | ||||||||||
txphy_rcfg_busy | Ausgabe | 1 | Zeigt an, dass die TX PHY-Neukonfiguration ausgeführt wird. | ||||||||||
txphy_rcfg_slave_schreiben | Eingang | 4 | Neukonfiguration des Transceivers: Avalon-Speicherabbildungsschnittstelle vom TX Native PHY zum Transceiver-Arbiter. | ||||||||||
txphy_rcfg_slave_lesen | Eingang | 4 | |||||||||||
txphy_rcfg_slave_adresse | Eingang | 40 | |||||||||||
|
TX-Neukonfigurationsmanagement | |||
tx_tmds_freq | Eingang | 24 | HDMI TX TMDS-Taktfrequenzwert (in 10 ms). |
tx_os | Ausgabe | 2 | Oversampling-Faktor: • 0: 1x OverampLeng •1: 2× OverampLeng •2: 8x OverampLeng |
txphy_rcfg_master_write | Ausgabe | 1 | TX-Neukonfigurationsverwaltung: Avalon-Speicherabgebildete Schnittstelle zum Transceiver-Arbiter. |
txphy_rcfg_master_read | Ausgabe | 1 | |
txphy_rcfg_master_adresse | Ausgabe | 12 | |
txphy_rcfg_master_writedata | Ausgabe | 32 | |
txphy_rcfg_master_readdata | Eingang | 32 | |
txphy_rcfg_master_waitrequest | Eingang | 1 | |
tx_reconfig_done | Ausgabe | 1 | Zeigt an, dass der TX-Neukonfigurationsprozess abgeschlossen ist. |
HDMI TX-Kernsignale | |||
tx_vid_clk_gesperrt | Eingang | 1 | Zeigt an, dass vid_clk stabil ist. |
txcore_ctrl | Eingang | N*6 | HDMI TX-Kernsteuerungsschnittstellen. Keine zehn = Pixel pro Takt Weitere Informationen finden Sie im Quellschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
txcore_mode | Eingang | 1 | |
txcore_audio_de | Eingang | 1 | HDMI TX-Core-Audioschnittstellen. Weitere Informationen finden Sie im Quellschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
txcore_audio_mute | Eingang | 1 | |
txcore_audio_daten | Eingang | 256 | |
txcore_audio_info_ai | Eingang | 49 | |
txcore_audio_N | Eingang | 20 | |
txcore_audio_CTS | Eingang | 20 | |
txcore_audio_metadata | Eingang | 166 | |
txcore_audio_format | Eingang | 5 | |
txcore_aux_bereit | Ausgabe | 1 | HDMI TX-Kern-Zusatzschnittstellen. Weitere Informationen finden Sie im Quellschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
txcore_aux_data | Eingang | 72 | |
txcore_aux_sop | Eingang | 1 | |
txcore_aux_eop | Eingang | 1 | |
txcore_aux_valid | Eingang | 1 | |
txcore_gcp | Eingang | 6 | HDMI TX-Kernseitenbandsignale. Weitere Informationen finden Sie im Quellschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
txcore_info_avi | Eingang | 123 | |
txcore_info_vsi | Eingang | 62 | |
txcore_i2c_master_write | Eingang | 1 | TX I2C-Master Avalon-Speicherabgebildete Schnittstelle zum I2C-Master innerhalb des TX-Kerns. Notiz: Diese Signale sind nur verfügbar, wenn Sie das I2C einbinden Parameter. |
txcore_i2c_master_read | Eingang | 1 | |
txcore_i2c_master_adresse | Eingang | 4 | |
txcore_i2c_master_writedata | Eingang | 32 | |
txcore_i2c_master_readdata | Ausgabe | 32 | |
txcore_vid_data | Eingang | N*48 | HDMI TX-Core-Videoanschlüsse. Keine zehn = Pixel pro TaktRef äh zum Quellschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
txcore_vid_vsync | Eingang | N | |
txcore_vid_hsync | Eingang | N | |
txcore_vid_de | Eingang | N | |
txcore_vid_bereit | Ausgabe | 1 | |
txcore_vid_overflow | Ausgabe | 1 | |
txcore_vid_gültig | Eingang | 1 | |
txcore_frl_rate | Eingang | 4 | SCDC-Registerschnittstellen. |
txcore_frl_pattern | Eingang | 16 | |
txcore_frl_start | Eingang | 1 | |
txcore_scrambler_aktivieren | Eingang | 1 | |
txcore_tbcr | Eingang | 1 |
I2C Signale | |||
nios_tx_i2c_sda_in | Ausgabe | 1 | TX I2C-Masterschnittstelle für SCDC und DDC vom Nios II-Prozessor zum Ausgabepuffer. Notiz: Wenn Sie die einschalten I2C einbinden Parameter werden diese Signale innerhalb des TX-Kerns platziert und sind auf dieser Ebene nicht sichtbar. |
nios_tx_i2c_scl_in | Ausgabe | 1 | |
nios_tx_i2c_sda_oe | Eingang | 1 | |
nios_tx_i2c_scl_oe | Eingang | 1 | |
nios_ti_i2c_sda_in | Ausgabe | 1 | TX I2C Master-Schnittstelle vom Nios II-Prozessor zum Ausgabepuffer zur Steuerung des TI-Redrivers auf der Bitec HDMI 2.1 FMC-Tochterkarte. |
nios_ti_i2c_scl_in | Ausgabe | 1 | |
nios_ti_i2c_sda_oe | Eingang | 1 | |
nios_ti_i2c_scl_oe | Eingang | 1 | |
hdmi_tx_i2c_sda | Eingang | 1 | TX I2C-Schnittstellen für SCDC- und DDC-Schnittstellen vom Ausgangspuffer zum HDMI TX-Anschluss. |
hdmi_tx_i2c_scl | Eingang | 1 | |
hdmi_tx_ti_i2c_sda | Eingang | 1 | TX I2C-Schnittstellen vom Ausgabepuffer zum TI-Redriver auf der Bitec HDMI 2.1 FMC-Tochterkarte. |
hdmi_tx_ti_i2c_scl | Eingang | 1 |
tx_hpd_req | Ausgabe | 1 | HDMI TX-Hotplug-Erkennungsschnittstellen. |
hdmi_tx_hpd_n | Eingang | 1 |
Tabelle 19. Transceiver-Arbitersignale
Signal | Richtung | Breite |
Beschreibung |
klick | Eingang | 1 | Neukonfigurationsuhr. Diese Uhr muss dieselbe Uhr wie die Rekonfigurationsverwaltungsblöcke haben. |
zurücksetzen | Eingang | 1 | Rücksetzsignal. Dieser Rücksetzvorgang muss mit den Rekonfigurationsverwaltungsblöcken identisch sein. |
rx_rcfg_de | Eingang | 1 | RX-Neukonfigurations-Aktivierungssignal. |
tx_rcfg_de | Eingang | 1 | TX-Neukonfigurations-Aktivierungssignal. |
rx_rcfg_ch | Eingang | 2 | Gibt an, welcher Kanal auf dem RX-Kern neu konfiguriert werden soll. Dieses Signal muss immer aktiviert bleiben. |
tx_rcfg_ch | Eingang | 2 | Gibt an, welcher Kanal auf dem TX-Kern neu konfiguriert werden soll. Dieses Signal muss immer aktiviert bleiben. |
rx_reconfig_mgmt_write | Eingang | 1 | Neukonfiguration der Avalon-Speicherabbildungsschnittstellen über das RX-Neukonfigurationsmanagement. |
rx_reconfig_mgmt_read | Eingang | 1 | |
rx_reconfig_mgmt_address | Eingang | 10 | |
rx_reconfig_mgmt_writedata | Eingang | 32 | |
rx_reconfig_mgmt_readdata | Ausgabe | 32 | |
rx_reconfig_mgmt_waitrequest | Ausgabe | 1 | |
tx_reconfig_mgmt_write | Eingang | 1 | Neukonfiguration der speicherabgebildeten Avalon-Schnittstellen aus dem TX-Neukonfigurationsmanagement. |
tx_reconfig_mgmt_read | Eingang | 1 | |
tx_reconfig_mgmt_address | Eingang | 10 | |
tx_reconfig_mgmt_writedata | Eingang | 32 | |
tx_reconfig_mgmt_readdata | Ausgabe | 32 | |
tx_reconfig_mgmt_waitrequest | Ausgabe | 1 | |
reconfig_write | Ausgabe | 1 | Neukonfiguration der im Avalon-Speicher abgebildeten Schnittstellen zum Transceiver. |
reconfig_read | Ausgabe | 1 | |
reconfig_address | Ausgabe | 10 | |
reconfig_writedata | Ausgabe | 32 | |
rx_reconfig_readdata | Eingang | 32 | |
rx_reconfig_waitrequest | Eingang | 1 | |
tx_reconfig_readdata | Eingang | 1 | |
tx_reconfig_waitrequest | Eingang | 1 |
rx_cal_busy | Eingang | 1 | Kalibrierungsstatussignal vom RX-Transceiver. |
tx_cal_busy | Eingang | 1 | Kalibrierungsstatussignal vom TX-Transceiver. |
rx_reconfig_cal_busy | Ausgabe | 1 | Kalibrierungsstatussignal an die PHY-Reset-Steuerung des RX-Transceivers. |
tx_reconfig_cal_busy | Ausgabe | 1 | Kalibrierungsstatussignal von der PHY-Reset-Steuerung des TX-Transceivers. |
Tabelle 20. RX-TX-Verbindungssignale
Signal | Richtung | Breite |
Beschreibung |
vid_clk | Eingang | 1 | HDMI-Videouhr. |
rx_vid_lock | Eingang | 3 | Zeigt den HDMI RX-Videosperrstatus an. |
rx_vid_gültig | Eingang | 1 | HDMI RX-Videoschnittstellen. |
rx_vid_de | Eingang | N | |
rx_vid_hsync | Eingang | N | |
rx_vid_vsync | Eingang | N | |
rx_vid_daten | Eingang | N*48 | |
rx_aux_eop | Eingang | 1 | HDMI RX-Zusatzschnittstellen. |
rx_aux_sop | Eingang | 1 | |
rx_aux_gültig | Eingang | 1 | |
rx_aux_data | Eingang | 72 | |
tx_vid_de | Ausgabe | N | HDMI TX-Videoschnittstellen. Keine zehn = Pixel pro Takt |
tx_vid_hsync | Ausgabe | N | |
tx_vid_vsync | Ausgabe | N | |
tx_vid_daten | Ausgabe | N * 48 | |
tx_vid_gültig | Ausgabe | 1 | |
tx_vid_bereit | Eingang | 1 | |
tx_aux_eop | Ausgabe | 1 | HDMI TX-Zusatzschnittstellen. |
tx_aux_sop | Ausgabe | 1 | |
tx_aux_valid | Ausgabe | 1 | |
tx_aux_data | Ausgabe | 72 | |
tx_aux_bereit | Eingang | 1 |
Tabelle 21. Systemsignale des Platform Designers
Signal | Richtung | Breite |
Beschreibung |
cpu_clk_in_clk_clk | Eingang | 1 | CPU-Takt. |
cpu_rst_in_reset_reset | Eingang | 1 | CPU-Rücksetzung. |
edid_ram_slave_translator_avalon_anti_slave_0_adresse | Ausgabe | 8 | EDID-RAM-Zugriffsschnittstellen. |
edid_ram_slave_translator_avalon_anti_slave_0_write | Ausgabe | 1 | |
edid_ram_slave_translator_avalon_anti_slave_0_read | Ausgabe | 1 | |
edid_ram_slave_translator_avalon_anti_slave_0_readdata | Eingang | 8 | |
edid_ram_slave_translator_avalon_anti_slave_0_writedata | Ausgabe | 8 | |
edid_ram_slave_translator_avalon_anti_slave_0_waitrequest | Eingang | 1 | |
hdmi_i2c_master_i2c_serial_sda_in | Eingang | 1 | I2C-Master-Schnittstellen vom Nios-II-Prozessor zum Ausgabepuffer für DDC- und SCDC-Steuerung. |
hdmi_i2c_master_i2c_serial_scl_in | Eingang | 1 | |
hdmi_i2c_master_i2c_serial_sda_oe | Ausgabe | 1 | |
hdmi_i2c_master_i2c_serial_scl_oe | Ausgabe | 1 | |
redriver_i2c_master_i2c_serial_sda_in | Eingang | 1 | I2C-Master-Schnittstellen vom Nios-II-Prozessor zum Ausgabepuffer für die Konfiguration der TI-Redriver-Einstellungen. |
redriver_i2c_master_i2c_serial_scl_in | Eingang | 1 | |
redriver_i2c_master_i2c_serial_sda_oe | Ausgabe | 1 | |
redriver_i2c_master_i2c_serial_scl_oe | Ausgabe | 1 | |
pio_in0_externe_Verbindung_export | Eingang | 32 | Parallele Eingabe-/Ausgabeschnittstellen. • Bit 0: Verbunden mit dem user_dipsw-Signal, um den EDID-Passthrough-Modus zu steuern. •Bit 1: TX HPD-Anforderung •Bit 2: TX-Transceiver bereit •Bits 3: TX-Neukonfiguration abgeschlossen •Bits 4–7: Reserviert • Bits 8–11: RX-FRL-Rate • Bit 12: RX TMDS Bit-Taktverhältnis • Bits 13–16: RX FRL gesperrt • Bits 17–20: RX FFE-Pegel • Bit 21: RX-Ausrichtung gesperrt |
Signal | Richtung | Breite | Beschreibung |
•Bit 22: RX-Videosperre • Bit 23: Benutzer drückt Taste 2, um SCDC-Register vom externen Speicher zu lesen •Bits 24–31: Reserviert |
|||
pio_out0_externe_Verbindung_export | Ausgabe | 32 | Parallele Eingabe-/Ausgabeschnittstellen. •Bit 0: TX HPD-Bestätigung •Bit 1: TX-Initialisierung ist abgeschlossen • Bits 2–7: Reserviert • Bits 8–11: TX-FRL-Rate •Bits 12–27: TX FRL-Link-Trainingsmuster • Bit 28: TX FRL-Start • Bits 29–31: Reserviert |
pio_out1_externe_Verbindung_export | Ausgabe | 32 | Parallele Eingabe-/Ausgabeschnittstellen. • Bit 0: RX EDID RAM-Zugriff • Bit 1: RX FLT bereit • Bits 2–7: Reserviert • Bits 8–15: RX FRL-Quellentestkonfiguration •Bits 16–31: Reserviert |
2.1. 1. RTL-Parameter entwerfen
Verwenden Sie die HDMI TX und RX Top RTL Parameter, um das Design anzupassen example.
Die meisten Designparameter sind verfügbar im Design Bspample Registerkarte des HDMI Intel FPGA IP-Parameter-Editors. Sie können das Design noch ändern, z. B.ample Einstellungen, die Sie im Parametereditor über die RTL-Parameter vorgenommen haben.
Tabelle 22. HDMI RX Top-Parameter
Parameter |
Wert |
Beschreibung |
UNTERSTÜTZUNG_TIEFER_FARBE | • 0: Keine tiefe Farbe • : Dunkle Farbe |
Bestimmt, ob der Kern Deep-Color-Formate kodieren kann. |
UNTERSTÜTZUNG_HILFE | • 0: Kein AUX •1: AUX |
Bestimmt, ob die Hilfskanalkodierung eingeschlossen ist. |
SYMBOLE_PRO_UHR | 8 | Unterstützt 8 Symbole pro Takt für Intel Arria 10-Geräte. |
AUDIO-UNTERSTÜTZUNG | • 0: Kein Ton • 1: Audio |
Bestimmt, ob der Kern Audio kodieren kann. |
EDID_RAM_ADDR_BREITE | 8 (Standardwert) | Logarithmus zur Basis 2 der EDID-RAM-Größe. |
BITEC_TOCHTER_KARTE_REV | •0: Nicht auf eine Bitec HDMI-Tochterkarte ausgerichtet •4: Unterstützt Bitec HDMI-Tochterkarte Revision 4 •6: Ziel ist Bitec HDMI-Tochterkarte Revision 6 • 11: Ziel ist Bitec HDMI-Tochterkarte Revision 11 (Standard) |
Gibt die Revision der verwendeten Bitec HDMI-Tochterkarte an. Wenn Sie die Revision ändern, kann das Design die Transceiverkanäle vertauschen und die Polarität entsprechend den Anforderungen der Bitec HDMI-Tochterkarte umkehren. Wenn Sie den Parameter BITEC_DAUGHTER_CARD_REV auf 0 setzen, nimmt das Design keine Änderungen an den Transceiverkanälen und der Polarität vor. |
POLARITÄTSUMKEHR | • 0: Polarität umkehren • 1: Polarität nicht umkehren |
Setzen Sie diesen Parameter auf 1, um den Wert jedes Bits der Eingabedaten umzukehren. Wenn Sie diesen Parameter auf 1 setzen, wird 4'b1111 dem rx_polinv-Port des RX-Transceivers zugewiesen. |
Tabelle 23. HDMI TX Top-Parameter
Parameter |
Wert |
Beschreibung |
USE_FPLL | 1 | Unterstützt fPLL als TX-PLL nur für Intel Arria 10-Geräte. Setzen Sie diesen Parameter immer auf 1. |
UNTERSTÜTZUNG_TIEFER_FARBE | •0: Keine tiefe Farbe
• 1: Tiefe Farbe |
Bestimmt, ob der Kern Deep-Color-Formate kodieren kann. |
UNTERSTÜTZUNG_HILFE | • 0: Kein AUX • 1: AUX |
Bestimmt, ob die Hilfskanalkodierung eingeschlossen ist. |
SYMBOLE_PRO_UHR | 8 | Unterstützt 8 Symbole pro Takt für Intel Arria 10-Geräte. |
AUDIO-UNTERSTÜTZUNG | • 0: Kein Ton • 1: Audio |
Bestimmt, ob der Kern Audio kodieren kann. |
BITEC_TOCHTER_KARTE_REV | • 0: Nicht auf eine Bitec HDMI-Tochterkarte ausgerichtet • 4: Unterstützt Bitec HDMI-Tochterkarte Revision 4 • 6: Ziel ist Bitec HDMI-Tochterkarte Revision 6 • 11: Ziel ist Bitec HDMI-Tochterkarte Revision 11 (Standard) |
Gibt die Revision der verwendeten Bitec HDMI-Tochterkarte an. Wenn Sie die Revision ändern, kann das Design die Transceiverkanäle vertauschen und die Polarität entsprechend den Anforderungen der Bitec HDMI-Tochterkarte umkehren. Wenn Sie den Parameter BITEC_DAUGHTER_CARD_REV auf 0 setzen, nimmt das Design keine Änderungen an den Transceiverkanälen und der Polarität vor. |
POLARITÄTSUMKEHR | • 0: Polarität umkehren • 1: Polarität nicht umkehren |
Setzen Sie diesen Parameter auf 1, um den Wert jedes Bits der Eingabedaten umzukehren. Wenn Sie diesen Parameter auf 1 setzen, wird 4'b1111 dem tx_polinv-Port des TX-Transceivers zugewiesen. |
2.12. Hardware-Setup
Das HDMI FRL-fähige Design example ist HDMI 2.1-fähig und führt eine Loopthrough-Demonstration für einen Standard-HDMI-Videostream durch.
Um den Hardwaretest durchzuführen, schließen Sie ein HDMI-fähiges Gerät – beispielsweise eine Grafikkarte mit HDMI-Schnittstelle – an den HDMI-Sink-Eingang an. Das Design unterstützt sowohl HDMI 2.1- als auch HDMI 2.0/1.4b-Quelle und -Sink.
- Der HDMI-Senke dekodiert den Port in einen Standard-Videostream und sendet ihn an den Taktwiederherstellungskern.
- Der HDMI RX-Kern dekodiert die Video-, Hilfs- und Audiodaten, die parallel über den DCFIFO an den HDMI TX-Kern zurückgesendet werden sollen.
- Der HDMI-Quellanschluss der FMC-Tochterkarte überträgt das Bild an einen Monitor.
Notiz:
Wenn Sie ein anderes Intel FPGA-Entwicklungsboard verwenden möchten, müssen Sie die Gerätezuweisungen und die Pinbelegungen ändern. Die analoge Transceiver-Einstellung wurde für das Intel Arria 10 FPGA-Entwicklungskit und die Bitec HDMI 2.1-Tochterkarte getestet. Sie können die Einstellungen für Ihr eigenes Board ändern.
Tabelle 24. Onboard-Druckknopf- und Benutzer-LED-Funktionen
Drucktaster/LED |
Funktion |
cpu_resetn | Einmal drücken, um einen Systemreset durchzuführen. |
Benutzer_dipsw | Benutzerdefinierter DIP-Schalter zum Umschalten des Passthrough-Modus. •AUS (Standardposition) = Passthrough HDMI RX auf dem FPGA erhält die EDID vom externen Senke und präsentiert sie der externen Quelle, mit der es verbunden ist. • EIN = Sie können die maximale RX-FRL-Rate vom Nios II-Terminal aus steuern. Der Befehl ändert die RX-EDID, indem er den Wert der maximalen FRL-Rate manipuliert. Weitere Informationen zum Festlegen der unterschiedlichen FRL-Raten finden Sie unter „Ausführen des Designs mit unterschiedlichen FRL-Raten“ auf Seite 33. |
Benutzer_pb[0] | Einmal drücken, um das HPD-Signal auf die Standard-HDMI-Quelle umzuschalten. |
Benutzer_pb[1] | Reserviert. |
Benutzer_pb[2] | Drücken Sie einmal, um die SCDC-Register vom Sink zu lesen, der mit dem TX der Bitec HDMI 2.1 FMC-Tochterkarte verbunden ist. Notiz: Um das Lesen zu aktivieren, müssen Sie DEBUG_MODE in der Software auf 1 setzen. |
USER_LED[0] | PLL-Sperrstatus des RX TMDS-Takts. •0 = Entsperrt • 1 = Gesperrt |
USER_LED[1] | Status „RX-Transceiver bereit“. •0 = Nicht bereit • 1 = Bereit |
USER_LED[2] | PLL-Taktgeber für RX-Verbindungsgeschwindigkeit sowie PLL-Sperrstatus für RX-Video- und FRL-Taktgeber. • 0 = Eine der RX-Takt-PLLs ist entsperrt • 1 = Beide RX-Takt-PLLs sind gesperrt |
USER_LED[3] | RX-HDMI-Kernausrichtung und Deskew-Lock-Status. • 0 = Mindestens 1 Kanal ist freigeschaltet • 1 = Alle Kanäle sind gesperrt |
USER_LED[4] | RX HDMI-Videosperrstatus. • 0 = Entsperrt • 1 = Gesperrt |
USER_LED[5] | TX-Verbindungsgeschwindigkeitstakt PLL und TX-Video- und FRL-Takt PLL-Sperrstatus. •0 = Eine der TX-Takt-PLLs ist entsperrt • 1 = Beide TX-Takt-PLLs sind gesperrt |
BENUTZER_LED[6] BENUTZER_LED[7] | TX-Transceiver-Bereitschaftsstatus. • 0 = Nicht bereit • 1 = Bereit TX-Link-Trainingsstatus. • 0 = Fehlgeschlagen • 1 = Bestanden |
2.13. Simulationsprüfstand
Der Simulationsteststand simuliert den seriellen HDMI TX-Loopback zum RX-Kern.
Notiz:
Dieser Simulationsteststand wird für Designs mit aktiviertem Parameter „I2C einschließen“ nicht unterstützt.
Abbildung 19. Blockdiagramm des HDMI Intel FPGA IP-SimulationstestbenchTabelle 25. Testbench-Komponenten
Komponente |
Beschreibung |
Video TPG | Der Video-Testmustergenerator (TPG) liefert den Videostimulus. |
Audio S.ample Gen | Die Audio-SampDer Audiogenerator liefert Audiosignaleample-Stimulus. Der Generator erzeugt ein inkrementelles Testdatenmuster, das über den Audiokanal übertragen werden soll. |
Aux Sample Gen | Der AUX-SampDer Generator stellt die Hilfsenergie bereitampDer Generator erzeugt feste Daten, die vom Sender übertragen werden. |
CRC-Prüfung | Dieser Checker überprüft, ob die vom TX-Transceiver wiederhergestellte Taktfrequenz mit der gewünschten Datenrate übereinstimmt. |
Audiodatenprüfung | Bei der Audiodatenprüfung wird verglichen, ob das inkrementelle Testdatenmuster korrekt empfangen und dekodiert wird. |
AUX-Datenprüfung | Die AUX-Datenprüfung vergleicht, ob die erwarteten AUX-Daten auf der Empfängerseite korrekt empfangen und dekodiert werden. |
Der HDMI-Simulationsteststand führt die folgenden Verifizierungstests durch:
HDMI-Funktion |
Überprüfung |
Videodaten | • Der Teststand implementiert eine CRC-Prüfung des Eingangs- und Ausgangsvideos. • Es vergleicht den CRC-Wert der übertragenen Daten mit dem in den empfangenen Videodaten berechneten CRC. • Der Teststand führt die Prüfung dann durch, nachdem 4 stabile V-SYNC-Signale vom Empfänger erkannt wurden. |
Hilfsdaten | • Die AUX-ampDer Dateigenerator erzeugt feste Daten, die vom Sender übertragen werden. • Auf der Empfängerseite vergleicht der Generator, ob die erwarteten Zusatzdaten korrekt empfangen und dekodiert werden. |
Audiodaten | •Die Audio-sampDer Dateigenerator erzeugt ein inkrementelles Testdatenmuster, das über den Audiokanal übertragen werden soll. • Auf der Empfängerseite prüft und vergleicht der Audiodatenprüfer, ob das inkrementelle Testdatenmuster korrekt empfangen und dekodiert wird. |
Eine erfolgreiche Simulation endet mit der folgenden Meldung:
# SYMBOLS_PER_CLOCK = 2
# VIC = 4
# FRL_RATE = 0
# BPP = 0
# AUDIOFREQUENZ (kHz) = 48
# AUDIO_CHANNEL = 8
# Simulationsdurchlauf
Tabelle 26. HDMI Intel FPGA IP Design Example Unterstützte Simulatoren
Simulator |
Verilog HDL |
VHDL |
ModelSim – Intel FPGA Edition/ ModelSim – Intel FPGA Starter Edition | Ja | Ja |
VCS/VCS MX | Ja | Ja |
Riviera-PRO | Ja | Ja |
Xcelium Parallel | Ja | NEIN |
2.14. Designbeschränkungen
Bei der Implementierung des HDMI 2.1-Designs müssen Sie einige Einschränkungen berücksichtigen.ample.
- TX kann im Nicht-Passthrough-Modus nicht im TMDS-Modus betrieben werden. Um im TMDS-Modus zu testen, schalten Sie den user_dipsw-Schalter zurück in den Passthrough-Modus.
- Der Nios II-Prozessor muss das TX-Link-Training ohne Unterbrechung durch andere Prozesse abschließen.
2.15. Debugging-Funktionen
Dieses Design zample bietet bestimmte Debugging-Funktionen, die Sie unterstützen.
2.15.1. Software-Debugging-Meldung
Sie können die Debugmeldung in der Software aktivieren, um Laufzeitunterstützung zu erhalten.
Um die Debugmeldung in der Software zu aktivieren, gehen Sie folgendermaßen vor:
- Ändern Sie den DEBUG_MODE im Skript global.h auf 1.
- Führen Sie script/build_sw.sh in der Nios II-Eingabeaufforderung aus.
- Neuprogrammierung der generierten software/tx_control/tx_control.elf file indem Sie den Befehl in der Nios II-Eingabeaufforderung ausführen:
nios2-download -r -g software/tx_control/tx_control.elf - Führen Sie den Nios II-Terminalbefehl in der Nios II-Eingabeaufforderung aus:
nios2-terminal
Wenn Sie die Debugmeldung aktivieren, werden die folgenden Informationen ausgedruckt:
- Die TI-Redriver-Einstellungen auf TX und RX werden einmalig nach der ELF-Programmierung gelesen und angezeigt. file.
- Statusmeldung zur RX EDID Konfiguration und zum Hotplug-Vorgang
- Auflösung mit oder ohne FRL-Unterstützungsinformationen, die aus EDID auf dem mit dem TX verbundenen Sink extrahiert wurden. Diese Informationen werden für jeden TX-Hotplug angezeigt.
- Statusmeldung für den TX-Link-Trainingsprozess während des TX-Link-Trainings.
2.15.2. SCDC-Informationen vom an TX angeschlossenen Sink
Mit dieser Funktion können Sie SCDC-Informationen abrufen.
- Führen Sie den Nios II-Terminalbefehl in der Nios II-Befehlsshell aus: nios2-terminal
- Drücken Sie user_pb[2] auf dem Intel Arria 10 FPGA-Entwicklungskit.
Die Software liest und zeigt die SCDC-Informationen auf dem mit TX verbundenen Sink auf dem Nios II-Terminal an.
2.15.3. Taktfrequenzmessung
Verwenden Sie diese Funktion, um die Frequenz der verschiedenen Uhren zu überprüfen.
- Im hdmi_rx_top und hdmi_tx_top files, heben Sie die Kommentierung von „//`define DEBUG_EN 1“ auf.
- Fügen Sie das Signal „refclock_measure“ von jeder „mr_rate_detect“-Instanz zum Signal Tap Logic Analyzer hinzu, um die Taktfrequenz jeder Uhr (in 10 ms Dauer) zu erhalten.
- Kompilieren Sie das Design mit dem Signal Tap Logic Analyzer.
- Programmieren des SOF file und führen Sie den Signal Tap Logic Analyzer aus.
Tabelle 27. Uhren
Modul | mr_rate_detect-Instanz |
Zu messende Uhr |
hdmi_rx_top | rx_pll_tmds | RX CDR Referenztakt 0 |
rx_clk0_freq | RX-Transceiver-Taktausgang von Kanal 0 | |
rx_vid_clk_freq | RX-Videouhr | |
rx_frl_clk_freq | RX FRL-Uhr | |
rx_hsync_freq | Hsync-Frequenz des empfangenen Videobildes | |
hdmi_tx_top | tx_clk0_freq | TX-Transceiver-Taktausgang von Kanal 0 |
vid_clk_freq | TX-Videouhr | |
frl_clk_freq | TX FRL-Uhr | |
tx_hsync_freq | Hsync-Frequenz des zu übertragenden Videobildes |
2.16. Aktualisieren Ihres Designs
Tabelle 28. HDMI-Design BeispielampKompatibilität mit vorheriger Intel Quartus Prime Pro Edition Softwareversion
Design Bspampdie Variante | Möglichkeit zum Upgrade auf Intel Quartus Prime Pro Edition 20.3 |
HDMI 2.1 Design Example (Unterstützung FRL = 1) | NEIN |
Für jedes nicht kompatible Design examples müssen Sie Folgendes tun:
- Generieren Sie ein neues Design, z. B.ample in der aktuellen Softwareversion von Intel Quartus Prime Pro Edition mit denselben Konfigurationen Ihres vorhandenen Designs.
- Vergleichen Sie das gesamte Design z.ampDateiverzeichnis mit dem Design exampDatei, die mit der vorherigen Softwareversion von Intel Quartus Prime Pro Edition generiert wurde. Portieren Sie die gefundenen Änderungen.
HDMI 2.0 Design Example (Unterstützung FRL = 0)
Das HDMI Intel FPGA IP Design example demonstriert eine HDMI-Instanz mit parallelem Loopback, bestehend aus drei RX-Kanälen und vier TX-Kanälen.
Tabelle 29. HDMI Intel FPGA IP Design ExampDatei für Intel Arria 10-Geräte
Design Bspample | Datenrate | Kanalmodus | Loopback-Typ |
Arria 10 HDMI RX-TX-Weiterübertragung | < 6,000 Mbit/s | Simplex | Parallel mit FIFO-Puffer |
Merkmale
- Das Design instanziiert FIFO-Puffer, um einen direkten HDMI-Videostream-Passthrough zwischen HDMI-Senke und -Quelle durchzuführen.
- Das Design nutzt LED-Status für frühes Debuggen stage.
- Das Design ist nur mit RX- und TX-Optionen erhältlich.
- Das Design demonstriert das Einfügen und Filtern von Dynamic Range und Mastering (HDR)-InfoFrame im RX-TX-Linkmodul.
- Das Design demonstriert die Verwaltung der EDID-Passthrough von einem externen HDMI-Senke zu einer externen HDMI-Quelle, wenn diese durch ein TX-Hot-Plug-Ereignis ausgelöst wird.
- Das Design ermöglicht eine Laufzeitsteuerung über DIP-Schalter und Druckknopf zur Verwaltung der HDMI-TX-Kernsignale:
— Modussignal zur Auswahl eines DVI- oder HDMI-kodierten Videobilds
— info_avi[47], info_vsi[61] und audio_info_ai[48] Signale zur Auswahl der zusätzlichen Paketübertragung über Seitenbänder oder zusätzliche Datenports
Die RX-Instanz empfängt eine Videoquelle vom externen Videogenerator und die Daten durchlaufen dann ein Loopback-FIFO, bevor sie an die TX-Instanz übertragen werden.
Um die Funktionalität zu überprüfen, müssen Sie einen externen Videoanalysator, Monitor oder Fernseher mit HDMI-Anschluss an den TX-Kern anschließen.
3.1. Blockdiagramm des HDMI 2.0 RX-TX-Retransmit-Designs
Das HDMI 2.0 RX-TX Retransmit Design example demonstriert paralleles Loopback im Simplex-Kanalmodus für HDMI Intel FPGA IP.
Abbildung 20. Blockdiagramm der HDMI RX-TX-Weiterübertragung (Intel Quartus Prime Pro Edition)Abbildung 21. Blockdiagramm der HDMI RX-TX-Weiterübertragung (Intel Quartus Prime Standard Edition)
Zugehörige Informationen
Jitter der PLL-Kaskadierung oder des nicht dedizierten Taktpfads für Arria 10 PLL-Referenztaktgeber. Verwenden Sie diese Lösung als Workaround, wenn Ihre Designtaktgeber zusätzliche
Jitter.
3.2. Hardware- und Softwareanforderungen
Intel verwendet die folgende Hardware und Software, um das Design zu testen, zample.
Hardware
- Intel Arria 10 GX FPGA-Entwicklungskit
- HDMI-Quelle (Grafikprozessoreinheit (GPU))
- HDMI-Senke (Monitor)
- Bitec HDMI FMC 2.0 Tochterkarte (Revision 11)
- HDMI-Kabel
Notiz:
Sie können die Revision Ihrer Bitec HDMI-Tochterkarte auswählen. Setzen Sie den lokalen Parameter BITEC_DAUGHTER_CARD_REV auf 4, 6 oder 11 in der obersten Ebene file (a10_hdmi2_demo.v). Wenn Sie die Revision ändern, kann das Design die Transceiverkanäle austauschen und die Polarität entsprechend den Anforderungen der Bitec HDMI-Tochterkarte umkehren. Wenn Sie den Parameter BITEC_DAUGHTER_CARD_REV auf 0 setzen, nimmt das Design keine Änderungen an den Transceiverkanälen und der Polarität vor. Für HDMI 2.1-Design z. B.amples, unter dem Design ExampLegen Sie auf der Registerkarte „HDMI Daughter Card Revision“ entweder Revision 9, Revision 4 oder keine Tochterkarte fest. Der Standardwert ist Revision 9.
Software
- Intel Quartus Prime Version 18.1 und höher (für Hardwaretests)
- ModelSim – Intel FPGA Edition, ModelSim – Intel FPGA Starter Edition, RivieraPRO, VCS (nur Verilog HDL)/VCS MX oder Xcelium Parallel-Simulator
3.3. Verzeichnisstruktur
Die Verzeichnisse enthalten die generierten files für das HDMI Intel FPGA IP Design Beispielample.
Abbildung 22. Verzeichnisstruktur für das Design-ExampleTabelle 30. Generiertes RTL Files
Ordner | Files |
gxb | • /gxb_rx.qsys (Intel Quartus Prime Standard Edition) • /gxb_rx.ip (Intel Quartus Prime Pro Edition) |
• /gxb_rx_reset.qsys (Intel Quartus Prime Standard Edition) • /gxb_rx_reset.ip (Intel Quartus Prime Pro Edition) |
|
• /gxb_tx.qsys (Intel Quartus Prime Standard Edition) • /gxb_tx.ip (Intel Quartus Prime Pro Edition) |
|
• /gxb_tx_fpll.qsys (Intel Quartus Prime Standard Edition) • /gxb_tx_fpll.ip (Intel Quartus Prime Pro Edition) |
|
• /gxb_tx_reset.qsys (Intel Quartus Prime Standard Edition) • /gxb_tx_reset.ip (Intel Quartus Prime Pro Edition) |
|
hdmi_rx | •/hdmi_rx.qsys (Intel Quartus Prime Standard Edition) •/hdmi_rx.ip (Intel Quartus Prime Pro Edition) |
/hdmi_rx_top.v | |
/mr_clock_sync.v (Intel Quartus Prime Standard Edition) | |
/mr_hdmi_rx_core_top.v (Intel Quartus Prime Standard Edition) | |
/mr_rx_oversample.v (Intel Quartus Prime Standard Edition) | |
/symbol_aligner.v | |
Panasonic.hex (Intel Quartus Prime Pro Edition) | |
hdmi_tx | • /hdmi_tx.qsys (Intel Quartus Prime Standard Edition) •/hdmi_tx.ip (Intel Quartus Prime Pro Edition) |
/hdmi_tx_top.v | |
/mr_ce.v (Intel Quartus Prime Standard Edition) | |
/mr_hdmi_tx_core_top.v (Intel Quartus Prime Standard Edition) | |
/herr_tx_oversample.v (Intel Quartus Prime Standard Edition) | |
i2c_master
(Intel Quartus Prime Standard Edition) |
/i2c_master_bit_ctrl.v |
/i2c_master_byte_ctrl.v | |
/i2c_master_defines.v | |
/i2c_master_top.v | |
/oc_i2c_master.v | |
/oc_i2c_master_hw.tcl | |
/Zeitskala.v | |
i2c_slave | /edid_ram.qsys (Intel Quartus Prime Standard Edition) |
/Panasonic.hex (Intel Quartus Prime Standard Edition) | |
/i2c_avl_mst_intf_gen.v | |
/i2c_clk_cnt.v | |
/i2c_condt_det.v | |
/i2c_databuffer.v | |
/i2c_rxshifter.v | |
/i2c_slvfsm.v | |
/i2c_spksupp.v | |
/i2c_txout.v | |
/i2c_txshifter.v | |
/i2cslave_to_avlmm_bridge.v | |
pll | • /pll_hdmi.qsys (Intel Quartus Prime Standard Edition) • /pll_hdmi.ip (Intel Quartus Prime Pro Edition) |
• /pll_hdmi_reconfig.qsys (Intel Quartus Prime Standard Edition) • /pll_hdmi_reconfig.ip (Intel Quartus Prime Pro Edition) |
|
quartus.ini | |
gemeinsam | • /clock_control.qsys (Intel Quartus Prime Standard Edition) • /clock_control.ip (Intel Quartus Prime Pro Edition) |
• /fifo.qsys (Intel Quartus Prime Standard Edition) • /fifo.ip (Intel Quartus Prime Pro Edition) |
|
• /output_buf_i2c.qsys (Intel Quartus Prime Standard Edition) •/output_buf_i2c.ip (Intel Quartus Prime Pro Edition) |
|
/reset_controller.qsys (Intel Quartus Prime Standard Edition) | |
/clock_crosser.v |
dcfifo_inst.v | |
debouncer.sv (Intel Quartus Prime Pro Edition) | |
hdr | /altera_hdmi_aux_hdr.v |
/altera_hdmi_aux_snk.v | |
/altera_hdmi_aux_src.v | |
/altera_hdmi_hdr_infoframe.v | |
/avalon_st_mutiplexer.qsys | |
Neukonfiguration_Verwaltung | /mr_compare_pll.v |
/mr_compare_rx.v | |
/mr_rate_detect.v | |
/mr_reconfig_master_pll.v | |
/mr_reconfig_master_rx.v | |
/mr_reconfig_mgmt.v | |
/mr_rom_pll_dprioaddr.v | |
/mr_rom_pll_valuemask_8bpc.v | |
/mr_rom_pll_valuemask_10bpc.v | |
/mr_rom_pll_valuemask_12bpc.v | |
/mr_rom_pll_valuemask_16bpc.v | |
/mr_rom_rx_dprioaddr_bitmask.v | |
/mr_rom_rx_valuemask.v | |
/mr_state_machine.v | |
DEZA | /a10_hdmi2.sdc |
/mr_reconfig_mgmt.sdc | |
/jtag.sdc | |
/rxtx_link.sdc | |
/mr_clock_sync.sdc (Intel Quartus Prime Standard Edition) |
Tabelle 31. Generierte Simulation Files
Weitere Informationen finden Sie im Abschnitt „Simulationstestbench“.
Ordner | Files |
aldec | /aldec.do |
/rivierapro_setup.tcl | |
Kadenz | /cds.lib |
/hdl.var | |
<Ordner „cds_libs“> |
Mentor | /mentor.do |
/msim_setup.tcl | |
Zusammenfassungen | /vcs/fileListe.f |
/vcs/vcs_setup.sh | |
/vcs/vcs_sim.sh | |
/vcsmx/vcsmx_setup.sh | |
/vcsmx/vcsmx_sim.sh | |
/vcsmx/synopsys_sim_setup | |
xcelium
(Intel Quartus Prime Pro Edition) |
/cds.lib |
/hdl.var | |
/xcelium_setup.sh | |
/xcelium_sim.sh | |
gemeinsam
(Intel Quartus Prime Pro Edition) |
/Modellsim_files.tcl |
/riviera_files.tcl | |
/vcs_files.tcl | |
/vcsmx_files.tcl | |
/xcelium_files.tcl | |
hdmi_rx | • /hdmi_rx.qsys (Intel Quartus Prime Standard Edition) • /hdmi_rx.ip (Intel Quartus Prime Pro Edition) |
/hdmi_rx.sopcinfo (Intel Quartus Prime Standard Edition) | |
/Panasonic.hex (Intel Quartus Prime Pro Edition) | |
/symbol_aligner.v (Intel Quartus Prime Pro Edition) | |
hdmi_tx | • /hdmi_tx.qsys (Intel Quartus Prime Standard Edition) • /hdmi_tx.ip (Intel Quartus Prime Pro Edition) |
/hdmi_tx.sopcinfo (Intel Quartus Prime Standard Edition) |
Tabelle 32.Generierte Software Files
Ordner | Files |
tx_control_src Notiz: Der Ordner tx_control enthält auch Duplikate dieser files. |
/intel_fpga_i2c.c (Intel Quartus Prime Pro Edition) |
/intel_fpga_i2c.h (Intel Quartus Prime Pro Edition) | |
/i2c.c (Intel Quartus Prime Standard Edition) | |
/i2c.h (Intel Quartus Prime Standard Edition) | |
/main.c | |
/xcvr_gpll_rcfg.c /xcvr_gpll_rcfg.h /ti_i2c.c (Intel Quartus Prime Standard Edition) /ti_i2c.h (Intel Quartus Prime Standard Edition) |
3.4. Design-Komponenten
Das HDMI Intel FPGA IP Design example erfordert diese Komponenten.
Tabelle 33. HDMI RX-Oberkomponenten
Modul |
Beschreibung |
HDMI RX-Kern | Das IP empfängt die seriellen Daten vom Transceiver Native PHY und führt Datenausrichtung, Kanal-Deskew, TMDS-Dekodierung, Hilfsdaten-Dekodierung, Videodaten-Dekodierung, Audiodaten-Dekodierung und Entschlüsselung durch. |
I2 | I2C ist die Schnittstelle, die für den Sink Display Data Channel (DDC) und den Status and Data Channel (SCDC) verwendet wird. Die HDMI-Quelle verwendet den DDC, um die Fähigkeiten und Eigenschaften des Sinks zu bestimmen, indem sie die Datenstruktur Enhanced Extended Display Identification Data (E-EDID) liest. • Die 8-Bit-I2C-Slave-Adressen für E-EDID sind 0xA0 und 0xA1. Das LSB gibt den Zugriffstyp an: 1 für Lesen und 0 für Schreiben. Wenn ein HPD-Ereignis auftritt, reagiert der I2C-Slave auf E-EDID-Daten, indem er aus dem On-Chip-RAM liest. • Der I2C-Slave-Only-Controller unterstützt auch SCDC für HDMI 2.0-Operationen. Die 8-Bit-I2C-Slave-Adressen für SCDC sind 0xA8 und 0xA9. Wenn ein HPD-Ereignis auftritt, führt der I2C-Slave eine Schreib- oder Lesetransaktion zur oder von der SCDC-Schnittstelle des HDMI RX-Kerns durch. Notiz: Dieser I2C-Slave-Only-Controller für SCDC wird nicht benötigt, wenn HDMI 2.0b nicht vorgesehen ist. Wenn Sie den I2C einbinden Parameter wird dieser Block in den Kern aufgenommen und ist auf dieser Ebene nicht sichtbar. |
EDID RAM | Das Design speichert die EDID-Informationen mithilfe des RAM-1-Port-IP-Kerns. Ein standardmäßiges serielles Zweidraht-Busprotokoll (Takt und Daten) (I2C-Slave-Only-Controller) überträgt die CEA-861-D-kompatible E-EDID-Datenstruktur. Dieser EDID-RAM speichert die E-EDID-Informationen. Notiz: Wenn Sie die einschalten EDID RAM einschließen Parameter wird dieser Block in den Kern aufgenommen und ist auf dieser Ebene nicht sichtbar. |
IOPLL | Die IOPLL generiert den RX-CDR-Referenztakt, den Verbindungsgeschwindigkeitstakt und den Videotakt für den eingehenden TMDS-Takt. • Ausgangstakt 0 (CDR-Referenztakt) • Ausgangstakt 1 (Verbindungsgeschwindigkeitstakt) • Ausgangstakt 2 (Videotakt) Notiz: Die standardmäßige IOPLL-Konfiguration ist für keine HDMI-Auflösung gültig. Die IOPLL wird beim Einschalten auf die entsprechenden Einstellungen neu konfiguriert. |
Transceiver-PHY-Reset-Controller | Der Transceiver-PHY-Reset-Controller sorgt für eine zuverlässige Initialisierung der RX-Transceiver. Der Reset-Eingang dieses Controllers wird durch die RX-Neukonfiguration ausgelöst und generiert das entsprechende analoge und digitale Reset-Signal für den Transceiver Native PHY-Block gemäß der Reset-Sequenzierung innerhalb des Blocks. |
RX Native PHY | Harter Transceiverblock, der die seriellen Daten von einer externen Videoquelle empfängt. Er deserialisiert die seriellen Daten in parallele Daten, bevor er sie an den HDMI RX-Kern weiterleitet. |
RX-Neukonfigurationsverwaltung | RX-Neukonfigurationsverwaltung, die eine Ratenerkennungsschaltung mit der HDMI-PLL implementiert, um den RX-Transceiver so anzutreiben, dass er mit beliebigen Verbindungsraten im Bereich von 250 Mbit/s bis 6,000 Mbit/s arbeitet. Siehe Abbildung 23 auf Seite 63 unten. |
IOPLL-Neukonfiguration | Der IOPLL-Neukonfigurationsblock ermöglicht die dynamische Echtzeit-Neukonfiguration von PLLs in Intel FPGAs. Dieser Block aktualisiert die Ausgangstaktfrequenz und die PLL-Bandbreite in Echtzeit, ohne das gesamte FPGA neu zu konfigurieren. Dieser Block läuft in Intel Arria 100-Geräten mit 10 MHz. Aufgrund der IOPLL-Neukonfigurationsbeschränkung wenden Sie während der IOPLL-Neukonfigurations-IP-Generierung die Quartus INI allow_nf_pll_reconfig_out_of_lock=on an. Um die Quartus INI anzuwenden, fügen Sie „permit_nf_pll_reconfig_out_of_lock=on“ in die quartus.ini ein. file und Platz in der file das Intel Quartus Prime-Projektverzeichnis. Sie sollten eine Warnmeldung sehen, wenn Sie den IOPLL-Neukonfigurationsblock (pll_hdmi_reconfig) in der Quartus Prime-Software mit der INI bearbeiten. Notiz: Ohne diese Quartus INI kann die IOPLL-Neukonfiguration nicht abgeschlossen werden, wenn die IOPLL während der Neukonfiguration die Sperre verliert. |
PIO | Der parallele Eingabe-/Ausgabeblock (PIO) fungiert als Steuer-, Status- und Reset-Schnittstelle zum oder vom CPU-Subsystem. |
Abbildung 23. Sequenzablauf der Multi-Rate-Rekonfiguration
Die Abbildung veranschaulicht den Sequenzfluss der Multirate-Neukonfiguration des Controllers, wenn dieser einen Eingangsdatenstrom und eine Referenztaktfrequenz empfängt oder wenn der Transceiver entsperrt wird.Tabelle 34. HDMI TX-Oberkomponenten
Modul |
Beschreibung |
HDMI TX-Kern | Der IP-Kern empfängt Videodaten von der obersten Ebene und führt TMDS-Kodierung, Hilfsdatenkodierung, Audiodatenkodierung, Videodatenkodierung und Verschlüsselung durch. |
I2C-Meister | I2C ist die Schnittstelle, die für den Sink Display Data Channel (DDC) und den Status and Data Channel (SCDC) verwendet wird. Die HDMI-Quelle verwendet den DDC, um die Fähigkeiten und Eigenschaften des Sinks zu bestimmen, indem sie die Datenstruktur Enhanced Extended Display Identification Data (E-EDID) liest. • Als DDC liest der I2C-Master die EDID vom externen Sink, um die EDID-Informationen im EDID-RAM im HDMI RX Top zu konfigurieren oder für die Videoverarbeitung. • Als SCDC überträgt der I2C-Master die SCDC-Datenstruktur von der FPGA-Quelle zum externen Senken für den HDMI 2.0b-Betrieb. Zum BeispielampWenn beispielsweise der ausgehende Datenstrom über 3,400 Mbit/s liegt, befiehlt der Nios II-Prozessor dem I2C-Master, die Bits TMDS_BIT_CLOCK_RATIO und SCRAMBLER_ENABLE des Sink-SCDC-Konfigurationsregisters auf 1 zu aktualisieren. |
IOPLL | Die IOPLL liefert den Verbindungsgeschwindigkeitstakt und den Videotakt aus dem eingehenden TMDS-Takt. • Ausgangstakt 1 (Verbindungsgeschwindigkeitstakt) • Ausgangstakt 2 (Videotakt) Notiz: Die standardmäßige IOPLL-Konfiguration ist für keine HDMI-Auflösung gültig. Die IOPLL wird beim Einschalten auf die entsprechenden Einstellungen neu konfiguriert. |
Transceiver-PHY-Reset-Controller | Der Transceiver-PHY-Reset-Controller sorgt für eine zuverlässige Initialisierung der TX-Transceiver. Der Reset-Eingang dieses Controllers wird von der obersten Ebene aus ausgelöst und generiert das entsprechende analoge und digitale Reset-Signal für den Transceiver Native PHY-Block gemäß der Reset-Sequenzierung innerhalb des Blocks. Das tx_ready-Ausgangssignal dieses Blocks fungiert auch als Reset-Signal für das HDMI Intel FPGA IP, um anzuzeigen, dass der Transceiver betriebsbereit und bereit ist, Daten vom Kern zu empfangen. |
Transceiver Native PHY | Harter Transceiver-Block, der die parallelen Daten vom HDMI TX-Kern empfängt und die Daten durch die Übertragung serialisiert. Die Neukonfigurationsschnittstelle ist im TX Native PHY-Block aktiviert, um die Verbindung zwischen TX Native PHY und Transceiver-Arbiter zu demonstrieren. Für TX Native PHY wird keine Neukonfiguration durchgeführt. Notiz: Um die HDMI TX Inter-Channel Skew-Anforderung zu erfüllen, stellen Sie die Option TX Channel Bonding Mode im Intel Arria 10 Transceiver Native PHY Parameter-Editor auf PMA- und PCS-Bonding. Sie müssen auch die Einschränkungsanforderung für den maximalen Skew (set_max_skew) zum digitalen Reset-Signal vom Transceiver-Reset-Controller (tx_digitalreset) hinzufügen, wie in der Intel Arria 10 Transceiver PHY-Benutzerhandbuch. |
TX-PLL | Der Sender-PLL-Block stellt den seriellen schnellen Takt für den Transceiver Native PHY-Block bereit. Für dieses HDMI Intel FPGA IP-Design example, fPLL wird als TX-PLL verwendet. |
IOPLL-Neukonfiguration | Der IOPLL-Neukonfigurationsblock ermöglicht die dynamische Echtzeit-Neukonfiguration von PLLs in Intel FPGAs. Dieser Block aktualisiert die Ausgangstaktfrequenz und die PLL-Bandbreite in Echtzeit, ohne das gesamte FPGA neu zu konfigurieren. Dieser Block läuft in Intel Arria 100-Geräten mit 10 MHz. Aufgrund der IOPLL-Neukonfigurationsbeschränkung wenden Sie während der IOPLL-Neukonfigurations-IP-Generierung die Quartus INI allow_nf_pll_reconfig_out_of_lock=on an. Um die Quartus INI anzuwenden, fügen Sie „permit_nf_pll_reconfig_out_of_lock=on“ in die quartus.ini ein. file und Platz in der file das Intel Quartus Prime-Projektverzeichnis. Sie sollten eine Warnmeldung sehen, wenn Sie den IOPLL-Neukonfigurationsblock (pll_hdmi_reconfig) in der Intel Quartus Prime-Software mit der INI bearbeiten. Notiz: Ohne diese Quartus INI kann die IOPLL-Neukonfiguration nicht abgeschlossen werden, wenn die IOPLL während der Neukonfiguration die Sperre verliert. |
PIO | Der parallele Eingabe-/Ausgabeblock (PIO) fungiert als Steuer-, Status- und Reset-Schnittstelle zum oder vom CPU-Subsystem. |
Tabelle 35. Datenrate und Überschreitungen des Transceiversampling-Faktor für jeden TMDS-Taktfrequenzbereich
TMDS-Taktfrequenz (MHz) | TMDS Bit-Takt-Verhältnis | Oversampling Faktor | Transceiver-Datenrate (Mbps) |
85–150 | 1 | Nicht zutreffend. | 3400–6000 |
100–340 | 0 | Nicht zutreffend. | 1000–3400 |
50–100 | 0 | 5 | 2500–5000 |
35–50 | 0 | 3 | 1050–1500 |
30–35 | 0 | 4 | 1200–1400 |
25–30 | 0 | 5 | 1250–1500 |
Tabelle 36. Gemeinsame Blöcke der obersten Ebene
Modul |
Beschreibung |
Transceiver-Schiedsrichter | Dieser generische Funktionsblock verhindert, dass Transceiver gleichzeitig neu kalibriert werden, wenn entweder RX- oder TX-Transceiver innerhalb desselben physischen Kanals neu konfiguriert werden müssen. Die gleichzeitige Neukalibrierung wirkt sich auf Anwendungen aus, bei denen RX- und TX-Transceiver innerhalb desselben Kanals unabhängigen IP-Implementierungen zugewiesen sind. Dieser Transceiver-Arbiter ist eine Erweiterung der empfohlenen Auflösung zum Zusammenführen von Simplex TX und Simplex RX im selben physischen Kanal. Dieser Transceiver-Arbiter hilft auch beim Zusammenführen und Arbitrieren der Avalon-MM RX- und TX-Neukonfigurationsanforderungen, die auf Simplex RX- und TX-Transceiver innerhalb eines Kanals abzielen, da auf den Neukonfigurationsschnittstellenport der Transceiver nur sequenziell zugegriffen werden kann. Die Schnittstellenverbindung zwischen dem Transceiver-Arbiter und den TX/RX Native PHY/PHY Reset Controller-Blöcken in diesem Design example demonstriert einen generischen Modus, der für jede IP-Kombination mit dem Transceiver-Arbiter gilt. Der Transceiver-Arbiter ist nicht erforderlich, wenn in einem Kanal nur entweder ein RX- oder ein TX-Transceiver verwendet wird. Der Transceiver-Arbiter identifiziert den Anforderer einer Neukonfiguration über seine Avalon-MM-Neukonfigurationsschnittstellen und stellt sicher, dass das entsprechende tx_reconfig_cal_busy oder rx_reconfig_cal_busy entsprechend gesteuert wird. Bei HDMI-Anwendungen leitet nur RX die Neukonfiguration ein. Indem die Avalon-MM-Neukonfigurationsanforderung durch den Arbiter geleitet wird, erkennt der Arbiter, dass die Neukonfigurationsanforderung vom RX stammt, der dann tx_reconfig_cal_busy vom Durchsetzen aussperrt und rx_reconfig_cal_busy zum Durchsetzen zulässt. Die Steuerung verhindert, dass der TX-Transceiver unbeabsichtigt in den Kalibrierungsmodus versetzt wird. |
Notiz: Da HDMI nur eine RX-Neukonfiguration erfordert, sind die tx_reconfig_mgmt_*-Signale abgebunden. Außerdem ist die Avalon-MM-Schnittstelle zwischen dem Arbiter und dem TX Native PHY-Block nicht erforderlich. Die Blöcke werden der Schnittstelle im Design-Ex zugewiesen.ample, um die Verbindung des generischen Transceiver-Arbiters zum TX/RX Native PHY/PHY Reset Controller zu demonstrieren. | |
RX-TX-Verbindung | • Die Videodatenausgabe- und Synchronisierungssignale vom HDMI RX-Kern werden durch einen DCFIFO über die RX- und TX-Videotaktdomänen geleitet. • Das General Control Packet (GCP), die InfoFrames (AVI, VSI und AI), die Zusatzdaten und die Audiodaten durchlaufen DCFIFOs über die RX- und TX-Link-Speed-Taktdomänen. • Der Hilfsdatenport des HDMI TX-Kerns steuert die Hilfsdaten, die durch den DCFIFO fließen, durch Gegendruck. Der Gegendruck stellt sicher, dass sich am Hilfsdatenport kein unvollständiges Hilfspaket befindet. • Dieser Block führt auch eine externe Filterung durch: — Filtert die Audiodaten und das Audiotakt-Regenerationspaket aus dem Hilfsdatenstrom, bevor es an den Hilfsdatenanschluss des HDMI TX-Kerns übertragen wird. Notiz: Um diese Filterung zu deaktivieren, drücken Sie user_pb[2]. Aktivieren Sie diese Filterung, um sicherzustellen, dass es im erneut übertragenen Hilfsdatenstrom keine Duplizierung von Audiodaten und Audiotakt-Regenerationspaketen gibt. — Filtert den High Dynamic Range (HDR) InfoFrame aus den HDMI RX Zusatzdaten und fügt einen Ex einample HDR InfoFrame zu den Zusatzdaten des HDMI TX über den Avalon ST-Multiplexer. |
CPU-Subsystem | Das CPU-Subsystem fungiert als SCDC- und DDC-Controller sowie als Quellrekonfigurations-Controller. • Der Quell-SCDC-Controller enthält den I2C-Master-Controller. Der I2C-Master-Controller überträgt die SCDC-Datenstruktur von der FPGA-Quelle zum externen Sink für den HDMI 2.0b-Betrieb. Zum BeispielampWenn beispielsweise der ausgehende Datenstrom 6,000 Mbit/s beträgt, befiehlt der Nios II-Prozessor dem I2C-Mastercontroller, die Bits TMDS_BIT_CLOCK_RATIO und SCRAMBLER_ENABLE des TMDS-Konfigurationsregisters des Sink-Geräts auf 1 zu aktualisieren. • Derselbe I2C-Master überträgt auch die DDC-Datenstruktur (E-EDID) zwischen der HDMI-Quelle und dem externen Empfänger. • Die Nios II-CPU fungiert als Rekonfigurationscontroller für die HDMI-Quelle. Die CPU verlässt sich auf die periodische Ratenerkennung des RX-Rekonfigurationsmanagementmoduls, um zu bestimmen, ob der TX neu konfiguriert werden muss. Der Avalon-MM-Slave-Übersetzer stellt die Schnittstelle zwischen der Avalon-MM-Masterschnittstelle des Nios II-Prozessors und den Avalon-MM-Slave-Schnittstellen der IOPLL und TX Native PHY der extern instanziierten HDMI-Quelle bereit. • Der Rekonfigurationssequenzfluss für TX ist der gleiche wie für RX, mit der Ausnahme, dass die PLL- und Transceiver-Rekonfiguration und die Reset-Sequenz nacheinander durchgeführt werden. Siehe Abbildung 24 auf Seite 67. |
Abbildung 24. Sequenzablauf der Neukonfiguration
Die Abbildung veranschaulicht den Nios II-Softwarefluss, der die Steuerelemente für I2C-Master und HDMI-Quelle umfasst.3.5. Dynamikbereich und Mastering (HDR) InfoFrame-Einfügung und Filterung
Das HDMI Intel FPGA IP Design exampDie Datei enthält eine Demonstration der Einfügung von HDR-InfoFrames in ein RX-TX-Loopback-System.
Die HDMI-Spezifikation Version 2.0b ermöglicht die Übertragung von Dynamic Range und Mastering InfoFrame über den HDMI-Hilfsstrom. In der Demonstration unterstützt der Block „Auxiliary Data Insertion“ die HDR-Einfügung. Sie müssen nur das gewünschte HDR-InfoFrame-Paket wie in der Signallistentabelle des Moduls angegeben formatieren und das bereitgestellte Modul „AUX Insertion Control“ verwenden, um die Einfügung des HDR-InfoFrame einmal pro Videobild zu planen.
In diesem BeispielampIn Fällen, in denen der eingehende Hilfsstrom bereits HDR-InfoFrames enthält, wird der gestreamte HDR-Inhalt gefiltert. Die Filterung vermeidet die Übertragung widersprüchlicher HDR-InfoFrames und stellt sicher, dass nur die im HDR-S angegebenen Werte übertragen werden.ampEs werden die Datenmodule verwendet.
Abbildung 25. RX-TX-Verbindung mit Dynamikbereich und Mastering-InfoFrame-Einfügung
Die Abbildung zeigt das Blockdiagramm der RX-TX-Verbindung einschließlich Dynamikbereich und Einfügung von Mastering-InfoFrames in den HDMI-TX-Kern-Hilfsstrom.
Tabelle 37. Signale des zusätzlichen Dateneinfügungsblocks (altera_hdmi_aux_hdr)
Signal | Richtung | Breite |
Beschreibung |
Uhr und Zurücksetzen | |||
klick | Eingang | 1 | Takteingang. Dieser Takt sollte mit dem Link-Speed-Takt verbunden werden. |
zurücksetzen | Eingang | 1 | Eingang zurücksetzen. |
Hilfspaketgenerator- und Multiplexersignale | |||
Multiplexer-Ausgangsdaten | Ausgabe | 72 | Avalon-Streaming-Ausgabe vom Multiplexer. |
Multiplexer_out_valid | Ausgabe | 1 | |
Multiplexer_Ausgang_bereit | Ausgabe | 1 | |
multiplexer_out_startofpacket | Ausgabe | 1 | |
multiplexer_out_endofpacket | Ausgabe | 1 | |
Multiplexer-Ausgangskanal | Ausgabe | 11 | |
Multiplexer in Daten | Eingang | 72 | Avalon-Streaming-Eingang zum In1-Port des Multiplexers. HDMI TX Video Vsync. Dieses Signal sollte mit der Link-Speed-Taktdomäne synchronisiert werden. Der Kern fügt den HDR-InfoFrame an der steigenden Flanke dieses Signals in den Hilfsstrom ein. |
Multiplexer ungültig | Eingang | 1 | |
Multiplexer_bereit | Eingang | 1 | |
Multiplexer_in_StartofPacket | Eingang | 1 | |
Multiplexer_in_Ende des Pakets hdmi_tx_vsync |
Eingang Eingang |
1 1 |
Tabelle 38. Signale des HDR-Datenmoduls (altera_hdmi_hdr_infoframe)
Signal | Richtung | Breite |
Beschreibung |
hb0 | Ausgabe | 8 | Header-Byte 0 des Dynamic Range- und Mastering-InfoFrame: InfoFrame-Typcode. |
hb1 | Ausgabe | 8 | Header-Byte 1 des Dynamic Range- und Mastering-InfoFrame: InfoFrame-Versionsnummer. |
hb2 | Ausgabe | 8 | Header-Byte 2 des Dynamic Range- und Mastering-InfoFrame: Länge des InfoFrame. |
pb | Eingang | 224 | Datenbyte des Dynamic Range- und Mastering-InfoFrame. |
Tabelle 39. Dynamikbereich und Mastering InfoFrame Datenbyte-Bündel Bit-Felder
Bit-Feld |
Definition |
Statischer Metadatentyp 1 |
7:0 | Datenbyte 1: {5'h0, EOTF[2:0]} | |
15:8 | Datenbyte 2: {5'h0, Static_Metadata_Descriptor_ID[2:0]} | |
23:16 | Datenbyte 3: Static_Metadata_Descriptor | display_primaries_x[0], LSB |
31:24 | Datenbyte 4: Static_Metadata_Descriptor | display_primaries_x[0], MSB |
39:32 | Datenbyte 5: Static_Metadata_Descriptor | display_primaries_y[0], LSB |
47:40 | Datenbyte 6: Static_Metadata_Descriptor | display_primaries_y[0], MSB |
55:48 | Datenbyte 7: Static_Metadata_Descriptor | display_primaries_x[1], LSB |
63:56 | Datenbyte 8: Static_Metadata_Descriptor | display_primaries_x[1], MSB |
71:64 | Datenbyte 9: Static_Metadata_Descriptor | display_primaries_y[1], LSB |
79:72 | Datenbyte 10: Static_Metadata_Descriptor | display_primaries_y[1], MSB |
87:80 | Datenbyte 11: Static_Metadata_Descriptor | display_primaries_x[2], LSB |
95:88 | Datenbyte 12: Static_Metadata_Descriptor | display_primaries_x[2], MSB |
103:96 | Datenbyte 13: Static_Metadata_Descriptor | display_primaries_y[2], LSB |
111:104 | Datenbyte 14: Static_Metadata_Descriptor | display_primaries_y[2], MSB |
119:112 | Datenbyte 15: Static_Metadata_Descriptor | Weißpunkt_x, LSB |
127:120 | Datenbyte 16: Static_Metadata_Descriptor | white_point_x, MSB |
135:128 | Datenbyte 17: Static_Metadata_Descriptor | Weißpunkt_y, LSB |
143:136 | Datenbyte 18: Static_Metadata_Descriptor | weißer_punkt_y, MSB |
151:144 | Datenbyte 19: Static_Metadata_Descriptor | max_display_mastering_luminance, LSB |
159:152 | Datenbyte 20: Static_Metadata_Descriptor | max_display_mastering_luminance, MSB |
167:160 | Datenbyte 21: Static_Metadata_Descriptor | min_display_mastering_luminance, LSB |
175:168 | Datenbyte 22: Static_Metadata_Descriptor | min_display_mastering_luminance, MSB |
183:176 | Datenbyte 23: Static_Metadata_Descriptor | Maximaler Lichtpegel im Inhalt, LSB |
191:184 | Datenbyte 24: Static_Metadata_Descriptor | Maximale Lichtintensität für Inhalte, MSB |
199:192 | Datenbyte 25: Static_Metadata_Descriptor | Maximale durchschnittliche Lichtstärke im Bild, LSB |
207:200 | Datenbyte 26: Static_Metadata_Descriptor | Maximale durchschnittliche Lichtstärke im Einzelbild, MSB |
215:208 | Reserviert | |
223:216 | Reserviert |
Deaktivieren der HDR-Einfügung und -Filterung
Durch das Deaktivieren der HDR-Einfügung und des Filters können Sie die erneute Übertragung von HDR-Inhalten überprüfen, die bereits im Quell-Hilfsstrom verfügbar sind, ohne dass Änderungen am RX-TX-Retransmit-Design vorgenommen werden müssen.ample.
So deaktivieren Sie das Einfügen und Filtern von HDR-InfoFrames:
- Setzen Sie block_ext_hdr_infoframe im rxtx_link.v auf 1'b0. file um das Filtern des HDR-InfoFrames aus dem Hilfsstream zu verhindern.
- Setzen Sie multiplexer_in0_valid der avalon_st_multiplexer-Instanz in der Datei altera_hdmi_aux_hdr.v file auf 1'b0, um zu verhindern, dass der Hilfspaketgenerator zusätzliche HDR-InfoFrames erstellt und in den TX-Hilfsstream einfügt.
3.6. Taktschema
Das Taktschema veranschaulicht die Taktdomänen im HDMI Intel FPGA IP-Design.ample.
Abbildung 26. HDMI Intel FPGA IP Design Example Taktschema (Intel Quartus Prime Pro Edition)Abbildung 27. HDMI Intel FPGA IP Design Example Taktschema (Intel Quartus Prime Standard Edition)
Tabelle 40. Taktschemasignale
Uhr | Signalname im Design |
Beschreibung |
TX IOPLL/ TX PLL Referenztakt 1 | hdmi_clk_in | Referenztakt für TX IOPLL und TX PLL. Die Taktfrequenz entspricht der erwarteten TMDS-Taktfrequenz vom HDMI TX TMDS-Taktkanal. Für dieses HDMI Intel FPGA IP Design exampDiese Uhr ist zu Demonstrationszwecken mit der RX-TMDS-Uhr verbunden. In Ihrer Anwendung müssen Sie eine dedizierte Uhr mit TMDS-Taktfrequenz von einem programmierbaren Oszillator bereitstellen, um eine bessere Jitter-Leistung zu erzielen. Notiz: Verwenden Sie keinen Transceiver-RX-Pin als TX-PLL-Referenztakt. Ihr Design passt nicht, wenn Sie den HDMI-TX-Refclk auf einem RX-Pin platzieren. |
TX-Transceiver-Taktausgang | tx_clk | Der Taktausgang wird vom Transceiver wiederhergestellt. Die Frequenz variiert je nach Datenrate und Symbolen pro Takt. TX-Transceiver-Taktausgangsfrequenz = Transceiver-Datenrate/ (Symbol pro Takt*10) |
TX PLL Serielle Uhr | tx_bonding_clocks | Schnelle serielle Uhr, generiert durch TX PLL. Die Taktfrequenz wird basierend auf der Datenrate eingestellt. |
TX/RX-Verbindungsgeschwindigkeitsuhr | ls_clk | Link-Geschwindigkeitstakt. Die Link-Geschwindigkeitstaktfrequenz hängt von der erwarteten TMDS-Taktfrequenz ab, überampling-Faktor, Symbole pro Takt und TMDS-Bittaktverhältnis. |
TMDS-Bittaktverhältnis | Verbindungsgeschwindigkeit Taktfrequenz | ||
0 | TMDS-Taktfrequenz/Symbol pro Takt | ||
1 | TMDS-Taktfrequenz *4 / Symbol pro Takt | ||
TX/RX-Videotakt | vid_clk | Videodatentakt. Die Frequenz des Videodatentakts wird basierend auf der Farbtiefe vom TX-Link-Geschwindigkeitstakt abgeleitet. | |
TMDS-Bittaktverhältnis | Videodaten-Taktfrequenz | ||
0 | TMDS-Takt/Symbol pro Takt/Farbtiefenfaktor | ||
1 | TMDS-Takt *4 / Symbol pro Takt / Farbtiefenfaktor | ||
Bits pro Farbe | Farbtiefenfaktor | ||
8 | 1 | ||
10 | 1.25 | ||
12 | 1.5 | ||
16 | 2.0 | ||
RX TMDS-Uhr | tmds_clk_in | TMDS-Taktkanal vom HDMI RX und Verbindung zum Referenztakt zum IOPLL. | |
RX CDR Referenztakt 0 /TX PLL Referenztakt 0 | fr_clk | Freilaufender Referenztakt für RX CDR und TX PLL. Dieser Takt wird für die Einschaltkalibrierung benötigt. | |
RX CDR Referenztakt 1 | iopll_outclk0 | Referenztakt zum RX CDR des RX-Transceivers. | |
Datenrate | RX-Referenztaktfrequenz | ||
Datenrate <1 Gbit/s | 5× TMDS-Taktfrequenz | ||
1 Gbit/s< Datenrate
<3.4 Gbit/s |
TMDS-Taktfrequenz | ||
Datenrate >3.4 Gbit/s | 4× TMDS-Taktfrequenz | ||
• Datenrate <1 Gbps: Für überampling, um die Mindestdatenrateanforderung des Transceivers zu erfüllen. • Datenrate > 3.4 Gbit/s: Zum Ausgleich des TMDS-Bitraten-Taktverhältnisses von 1/40, um das Datenraten-Taktverhältnis des Transceivers bei 1/10 zu halten. Notiz: Verwenden Sie keinen Transceiver-RX-Pin als CDR-Referenztakt. Ihr Design passt nicht, wenn Sie den HDMI-RX-Refclk auf einem RX-Pin platzieren. |
|||
RX-Transceiver-Taktausgang | rx_clk | Der Taktausgang wird vom Transceiver wiederhergestellt. Die Frequenz variiert je nach Datenrate und Symbolen pro Takt.
RX-Transceiver-Taktausgangsfrequenz = Transceiver-Datenrate/ (Symbol pro Takt*10) |
|
Management-Uhr | mgmt_clk | Ein frei laufender 100-MHz-Takt für diese Komponenten: |
• Avalon-MM-Schnittstellen zur Neukonfiguration — Der erforderliche Frequenzbereich liegt zwischen 100 und 125 MHz. • PHY-Reset-Controller für Transceiver-Reset-Sequenz — Der erforderliche Frequenzbereich liegt zwischen 1 und 500 MHz. • IOPLL-Neukonfiguration — Die maximale Taktfrequenz beträgt 100 MHz. • RX-Neukonfiguration für das Management • ZENTRALPROZESSOR • I2C-Master |
||
I2C-Uhr | i2c_clk | Ein 100-MHz-Takteingang, der I2C-Slave, SCDC-Register im HDMI-RX-Kern und EDID-RAM taktet. |
Zugehörige Informationen
- Verwenden des Transceiver-RX-Pins als CDR-Referenztakt
- Verwenden des Transceiver-RX-Pins als TX-PLL-Referenztakt
3.7. Schnittstellensignale
Die Tabellen listen die Signale für das HDMI Intel FPGA IP Design auf.ample.
Tabelle 41. Top-Level-Signale
Signal | Richtung | Breite |
Beschreibung |
Integriertes Oszillatorsignal | |||
clk_fpga_b3_p | Eingang | 1 | 100 MHz freilaufender Takt als Kern-Referenztakt |
REFCLK_FMCB_P (Intel Quartus Prime Pro Edition) | Eingang | 1 | 625 MHz freilaufender Taktgeber als Referenztaktgeber des Transceivers; dieser Taktgeber kann eine beliebige Frequenz haben |
Benutzerdrucktasten und LEDs | |||
Benutzer_pb | Eingang | 1 | Drucktaste zur Steuerung der HDMI Intel FPGA IP-Designfunktionalität |
cpu_resetn | Eingang | 1 | Globaler Reset |
user_led_g | Ausgabe | 4 | Grüne LED-Anzeige Weitere Informationen zu den LED-Funktionen finden Sie unter „Hardware-Setup“ auf Seite 89. |
Benutzer_LED_R | Ausgabe | 4 | Rote LED-Anzeige Weitere Informationen zu den LED-Funktionen finden Sie unter „Hardware-Setup“ auf Seite 89. |
HDMI FMC Tochterkarten-Pins am FMC-Port B | |||
fmcb_gbtclk_m2c_p_0 | Eingang | 1 | HDMI RX TMDS-Takt |
fmcb_dp_m2c_p | Eingang | 3 | HDMI RX-Datenkanäle (rot, grün und blau) • Bitec Tochterkarte Revision 11 — [0]: RX TMDS Kanal 1 (Grün) — [1]: RX TMDS Kanal 2 (Rot) — [2]: RX TMDS Kanal 0 (Blau) • Bitec Tochterkarte Revision 4 oder 6 — [0]: RX TMDS Kanal 1 (Grün)— Polarität invertiert — [1]: RX TMDS Kanal 0 (Blau)— Polarität invertiert — [2]: RX TMDS Kanal 2 (Rot)— Polarität invertiert |
fmcb_dp_c2m_p | Ausgabe | 4 | HDMI TX-Takt, rote, grüne und blaue Datenkanäle • Bitec Tochterkarte Revision 11 — [0]: TX TMDS Kanal 2 (Rot) — [1]: TX TMDS Kanal 1 (Grün) — [2]: TX TMDS Kanal 0 (Blau) — [3]: TX TMDS Taktkanal • Bitec Tochterkarte Revision 4 oder 6 — [0]: TX TMDS Taktkanal — [1]: TX TMDS Kanal 0 (Blau) — [2]: TX TMDS Kanal 1 (Grün) — [3]: TX TMDS Kanal 2 (Rot) |
fmcb_la_rx_p_9 | Eingang | 1 | HDMI RX +5V Stromerkennung |
fmcb_la_rx_p_8 | Ein/Aus | 1 | HDMI RX Hot-Plug-Erkennung |
fmcb_la_rx_n_8 | Ein/Aus | 1 | HDMI RX I2C SDA für DDC und SCDC |
fmcb_la_tx_p_10 | Eingang | 1 | HDMI RX I2C SCL für DDC und SCDC |
fmcb_la_tx_p_12 | Eingang | 1 | HDMI TX Hot-Plug-Erkennung |
fmcb_la_tx_n_12 | Ein/Aus | 1 | HDMI I2C SDA für DDC und SCDC |
fmcb_la_rx_p_10 | Ein/Aus | 1 | HDMI I2C SCL für DDC und SCDC |
fmcb_la_tx_p_11 | Ein/Aus | 1 | HDMI I2C SDA zur Redriver-Steuerung |
fmcb_la_rx_n_9 | Ein/Aus | 1 | HDMI I2C SCL zur Redriver-Steuerung |
Tabelle 42. HDMI RX Top-Level-Signale
Signal | Richtung | Breite |
Beschreibung |
Takt- und Reset-Signale | |||
mgmt_clk | Eingang | 1 | Systemtakteingang (100 MHz) |
fr_clk (Intel Quartus Prime Pro Edition) | Eingang | 1 | Freilaufender Takt (625 MHz) als primärer Referenztakt des Transceivers. Dieser Takt wird für die Transceiver-Kalibrierung während des Einschaltzustands benötigt. Dieser Takt kann eine beliebige Frequenz haben. |
zurücksetzen | Eingang | 1 | Eingang zum Zurücksetzen des Systems |
Signal |
Richtung | Breite |
Beschreibung |
Takt- und Reset-Signale | |||
reset_xcvr_powerup (Intel Quartus Prime Pro Edition) | Eingang | 1 | Transceiver-Reset-Eingang. Dieses Signal wird während des Referenztakt-Umschaltvorgangs (vom freilaufenden Takt zum TMDS-Takt) im Einschaltzustand aktiviert. |
tmds_clk_in | Eingang | 1 | HDMI RX TMDS-Takt |
i2c_clk | Eingang | 1 | Takteingang für DDC- und SCDC-Schnittstelle |
vid_clk_out | Ausgabe | 1 | Videotaktausgang |
ls_clk_out | Ausgabe | 1 | Link-Geschwindigkeitstaktausgang |
sys_init | Ausgabe | 1 | Systeminitialisierung zum Zurücksetzen des Systems beim Einschalten |
RX-Transceiver und IOPLL-Signale | |||
rx_serial_data | Eingang | 3 | Serielle HDMI-Daten zum RX Native PHY |
gxb_rx_ready | Ausgabe | 1 | Zeigt an, dass RX Native PHY bereit ist |
gxb_rx_cal_busy_out | Ausgabe | 3 | RX Native PHY-Kalibrierung für den Transceiver-Arbiter ist aktiv |
gxb_rx_cal_busy_in | Eingang | 3 | Kalibrierungs-Busy-Signal vom Transceiver-Arbiter zum RX Native PHY |
iopll_gesperrt | Ausgabe | 1 | Zeigen Sie an, dass IOPLL gesperrt ist |
gxb_reconfig_write | Eingang | 3 | Transceiver-Neukonfiguration Avalon-MM-Schnittstelle vom RX Native PHY zum Transceiver-Arbiter |
gxb_reconfig_read | Eingang | 3 | |
gxb_reconfig_address | Eingang | 30 | |
gxb_reconfig_writedata | Eingang | 96 | |
gxb_reconfig_readdata | Ausgabe | 96 | |
gxb_reconfig_waitrequest | Ausgabe | 3 |
RX-Neukonfigurationsverwaltung | |||
rx_reconfig_de | Ausgabe | 1 | RX-Neukonfiguration aktiviert Signal |
messen | Ausgabe | 24 | HDMI RX TMDS Taktfrequenzmessung (in 10 ms) |
Maßnahme_gültig | Ausgabe | 1 | Zeigt an, dass das Messsignal gültig ist |
os | Ausgabe | 1 | Oversampling-Faktor: • 0: Keine OversampLeng • 1: 5× OverampLeng |
reconfig_mgmt_write | Ausgabe | 1 | RX-Neukonfigurationsverwaltung Avalon-Memory-Mapped-Schnittstelle zum Transceiver-Arbiter |
reconfig_mgmt_read | Ausgabe | 1 | |
reconfig_mgmt_address | Ausgabe | 12 |
reconfig_mgmt_writedata | Ausgabe | 32 | |
reconfig_mgmt_readdata | Eingang | 32 | |
reconfig_mgmt_waitrequest | Eingang | 1 |
HDMI RX-Kernsignale | |||
TMDS_Bit_Takt_Verhältnis | Ausgabe | 1 | SCDC-Registerschnittstellen |
audio_de | Ausgabe | 1 | HDMI RX Core-Audioschnittstellen Weitere Informationen finden Sie im Abschnitt „Sink-Schnittstellen“ im HDMI Intel FPGA IP-Benutzerhandbuch. |
Audiodaten | Ausgabe | 256 | |
audio_info_ai | Ausgabe | 48 | |
audio_N | Ausgabe | 20 | |
audio_CTS | Ausgabe | 20 | |
Audio-Metadaten | Ausgabe | 165 | |
Audioformat | Ausgabe | 5 | |
zusätzliche_pkt_daten | Ausgabe | 72 | HDMI RX-Core-Hilfsschnittstellen Weitere Informationen finden Sie im Abschnitt „Sink-Schnittstellen“ im HDMI Intel FPGA IP-Benutzerhandbuch. |
aux_pkt_addr | Ausgabe | 6 | |
aux_pkt_wr | Ausgabe | 1 | |
zusätzliche Daten | Ausgabe | 72 | |
aux_sop | Ausgabe | 1 | |
aux_eop | Ausgabe | 1 | |
aux_valid | Ausgabe | 1 | |
aux_error | Ausgabe | 1 | |
gcp | Ausgabe | 6 | HDMI RX-Kernseitenbandsignale Weitere Informationen finden Sie im Abschnitt „Sink-Schnittstellen“ im HDMI Intel FPGA IP-Benutzerhandbuch. |
info_avi | Ausgabe | 112 | |
info_vsi | Ausgabe | 61 | |
Farbtiefe_Verwaltung_Sync | Ausgabe | 2 | |
Videodaten | Ausgabe | N*48 | HDMI RX-Core-Videoanschlüsse Keine zehn = Symbole pro Takt Weitere Informationen finden Sie im Senkenschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
vid_vsync | Ausgabe | N | |
vid_hsync | Ausgabe | N | |
vid_de | Ausgabe | N | |
Modus | Ausgabe | 1 | HDMI RX-Core-Steuerungs- und Status-Ports Keine zehn = Symbole pro Takt Weitere Informationen finden Sie im Senkenschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
Strg | Ausgabe | N*6 | |
gesperrt | Ausgabe | 3 | |
Videosperre | Ausgabe | 1 | |
in_5v_power | Eingang | 1 | HDMI RX 5V Erkennung und Hotplug Erkennung Siehe die Senkenschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
hdmi_rx_hpd_n | Ein/Aus | 1 |
hdmi_rx_i2c_sda | Ein/Aus | 1 | HDMI RX DDC- und SCDC-Schnittstelle |
hdmi_rx_i2c_scl | Ein/Aus | 1 |
RX EDID RAM Signale | |||
edid_ram_zugriff | Eingang | 1 | HDMI RX EDID RAM-Zugriffsschnittstelle. Setzen Sie edid_ram_access ein, wenn Sie in den EDID-RAM schreiben oder daraus lesen möchten, andernfalls sollte dieses Signal niedrig gehalten werden. |
edid_ram_adresse | Eingang | 8 | |
edid_ram_write | Eingang | 1 | |
edid_ram_read | Eingang | 1 | |
edid_ram_readdata | Ausgabe | 8 | |
edid_ram_writedata | Eingang | 8 | |
edid_ram_waitrequest | Ausgabe | 1 |
Tabelle 43. HDMI TX Top-Level-Signale
Signal | Richtung | Breite | Beschreibung |
Takt- und Reset-Signale | |||
mgmt_clk | Eingang | 1 | Systemtakteingang (100 MHz) |
fr_clk (Intel Quartus Prime Pro Edition) | Eingang | 1 | Freilaufender Takt (625 MHz) als primärer Referenztakt des Transceivers. Dieser Takt wird für die Transceiver-Kalibrierung während des Einschaltzustands benötigt. Dieser Takt kann eine beliebige Frequenz haben. |
zurücksetzen | Eingang | 1 | Eingang zum Zurücksetzen des Systems |
hdmi_clk_in | Eingang | 1 | Referenztakt für TX IOPLL und TX PLL. Die Taktfrequenz ist die gleiche wie die TMDS-Taktfrequenz. |
vid_clk_out | Ausgabe | 1 | Videotaktausgang |
ls_clk_out | Ausgabe | 1 | Link-Geschwindigkeitstaktausgang |
sys_init | Ausgabe | 1 | Systeminitialisierung zum Zurücksetzen des Systems beim Einschalten |
zurücksetzen_xcvr | Eingang | 1 | Auf TX-Transceiver zurücksetzen |
zurücksetzen_pll | Eingang | 1 | Auf IOPLL und TX PLL zurücksetzen |
Reset_pll_reconfig | Ausgabe | 1 | Zurücksetzen auf PLL-Neukonfiguration |
TX-Transceiver und IOPLL-Signale | |||
tx_serial_data | Ausgabe | 4 | Serielle HDMI-Daten vom TX Native PHY |
gxb_tx_bereit | Ausgabe | 1 | Zeigt an, dass TX Native PHY bereit ist |
gxb_tx_cal_busy_out | Ausgabe | 4 | TX Native PHY-Kalibrierungs-Busy-Signal an den Transceiver-Arbiter |
gxb_tx_cal_busy_in | Eingang | 4 | Kalibrierungs-Besetztsignal vom Transceiver-Arbiter zum TX Native PHY |
TX-Transceiver und IOPLL-Signale | |||
iopll_gesperrt | Ausgabe | 1 | Zeigen Sie an, dass IOPLL gesperrt ist |
txpll_gesperrt | Ausgabe | 1 | Zeigt an, dass TX PLL gesperrt ist |
gxb_reconfig_write | Eingang | 4 | Transceiver-Neukonfiguration Avalon Memory-Mapping-Schnittstelle vom TX Native PHY zum Transceiver-Arbiter |
gxb_reconfig_read | Eingang | 4 | |
gxb_reconfig_address | Eingang | 40 | |
gxb_reconfig_writedata | Eingang | 128 | |
gxb_reconfig_readdata | Ausgabe | 128 | |
gxb_reconfig_waitrequest | Ausgabe | 4 |
TX IOPLL- und TX PLL-Neukonfigurationssignale | |||
pll_reconfig_write/ tx_pll_reconfig_write | Eingang | 1 | TX IOPLL/TX PLL-Neukonfiguration Avalon Memory-Mapping-Schnittstellen |
pll_reconfig_read/ tx_pll_reconfig_read | Eingang | 1 | |
pll_reconfig_address/ tx_pll_reconfig_address | Eingang | 10 | |
pll_reconfig_writedata/ tx_pll_reconfig_writedata | Eingang | 32 | |
pll_reconfig_readdata/ tx_pll_reconfig_readdata | Ausgabe | 32 | |
pll_reconfig_waitrequest/ tx_pll_reconfig_waitrequest | Ausgabe | 1 | |
os | Eingang | 2 | Oversampling-Faktor: • 0: Keine OversampLeng • 1: 3× OverampLeng • 2: 4× OverampLeng • 3: 5× OverampLeng |
messen | Eingang | 24 | Gibt die TMDS-Taktfrequenz der übertragenen Videoauflösung an. |
HDMI TX-Kernsignale | |||
Strg | Eingang | 6*N | HDMI TX-Core-Steuerschnittstellen Keine zehn = Symbole pro Takt Weitere Informationen finden Sie im Abschnitt „Quellschnittstellen“ im HDMI Weitere Informationen finden Sie im Intel FPGA IP-Benutzerhandbuch. |
Modus | Eingang | 1 | |
TMDS_Bit_Takt_Verhältnis | Eingang | 1 | SCDC-Register-Schnittstellen
Weitere Informationen finden Sie im Abschnitt „Quellschnittstellen“ im HDMI Intel FPGA IP-Benutzerhandbuch. |
Scrambler_Aktivieren | Eingang | 1 | |
audio_de | Eingang | 1 | HDMI TX Core-Audioschnittstellen
Weitere Informationen finden Sie im Quellschnittstellen im HDMI Intel FPGA IP-Benutzerhandbuch für weitere Informationen. |
Audio stummschalten | Eingang | 1 | |
Audiodaten | Eingang | 256 | |
Fortsetzung… |
HDMI TX-Kernsignale | |||
audio_info_ai | Eingang | 49 | |
audio_N | Eingang | 22 | |
audio_CTS | Eingang | 22 | |
Audio-Metadaten | Eingang | 166 | |
Audioformat | Eingang | 5 | |
i2c_master_schreiben | Eingang | 1 | TX I2C-Master Avalon-Speicherabgebildete Schnittstelle zum I2C-Master innerhalb des TX-Kerns. Notiz: Diese Signale sind nur verfügbar, wenn Sie das I2C einbinden Parameter. |
i2c_master_lesen | Eingang | 1 | |
i2c_master_adresse | Eingang | 4 | |
i2c_master_writedata | Eingang | 32 | |
i2c_master_readdata | Ausgabe | 32 | |
aux_bereit | Ausgabe | 1 | HDMI TX-Core-Zusatzschnittstellen
Weitere Informationen finden Sie im Abschnitt „Quellschnittstellen“ im HDMI Intel FPGA IP-Benutzerhandbuch. |
zusätzliche Daten | Eingang | 72 | |
aux_sop | Eingang | 1 | |
aux_eop | Eingang | 1 | |
aux_valid | Eingang | 1 | |
gcp | Eingang | 6 | HDMI TX-Kernseitenbandsignale Weitere Informationen finden Sie im Abschnitt „Quellschnittstellen“ im HDMI Intel FPGA IP-Benutzerhandbuch. |
info_avi | Eingang | 113 | |
info_vsi | Eingang | 62 | |
Videodaten | Eingang | N*48 | HDMI TX-Core-Videoanschlüsse Hinweis: N = Symbole pro Takt Weitere Informationen finden Sie im Abschnitt „Quellschnittstellen“ im HDMI Intel FPGA IP-Benutzerhandbuch. |
vid_vsync | Eingang | N | |
vid_hsync | Eingang | N | |
vid_de | Eingang | N |
I2C- und Hot-Plug-Erkennungssignale | |||
nios_tx_i2c_sda_in (Intel Quartus Prime Pro Edition) Notiz: Wenn Sie das einschalten I2C einbinden Parameter, dieses Signal wird im TX-Kern platziert und ist auf dieser Ebene nicht sichtbar. |
Ausgabe | 1 | I2C Master Avalon-Speicherabgebildete Schnittstellen |
nios_tx_i2c_scl_in (Intel Quartus Prime Pro Edition) Notiz: Wenn Sie das einschalten I2C einbinden Parameter, dieses Signal wird im TX-Kern platziert und ist auf dieser Ebene nicht sichtbar. |
Ausgabe | 1 | |
nios_tx_i2c_sda_oe (Intel Quartus Prime Pro Edition) Notiz: Wenn Sie das einschalten I2C einbinden Parameter, dieses Signal wird im TX-Kern platziert und ist auf dieser Ebene nicht sichtbar. |
Eingang | 1 | |
Fortsetzung… |
I2C- und Hot-Plug-Erkennungssignale | |||
nios_tx_i2c_scl_oe (Intel Quartus Prime Pro Edition) Notiz: Wenn Sie das einschalten I2C einbinden Parameter, dieses Signal wird im TX-Kern platziert und ist auf dieser Ebene nicht sichtbar. |
Eingang | 1 | |
nios_ti_i2c_sda_in (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
nios_ti_i2c_scl_in (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
nios_ti_i2c_sda_oe (Intel Quartus Prime Pro Edition) | Eingang | 1 | |
nios_ti_i2c_scl_oe (Intel Quartus Prime Pro Edition) | Eingang | 1 | |
hdmi_tx_i2c_sda | Ein/Aus | 1 | HDMI TX DDC- und SCDC-Schnittstellen |
hdmi_tx_i2c_scl | Ein/Aus | 1 | |
hdmi_ti_i2c_sda (Intel Quartus Prime Pro Edition) | Ein/Aus | 1 | I2C-Schnittstelle für Bitec Daughter Card Revision 11 TI181 Control |
hdmi_tx_ti_i2c_sda (Intel Quartus Prime Standard Edition) | Ein/Aus | 1 | |
hdmi_ti_i2c_scl (Intel Quartus Prime Pro Edition) | Ein/Aus | 1 | |
hdmi_tx_ti_i2c_scl (Intel Quartus Prime Standard Edition) | Ein/Aus | 1 | |
tx_i2c_avalon_waitrequest | Ausgabe | 1 | Avalon-Speicherabgebildete Schnittstellen des I2C-Masters |
tx_i2c_avalon_address (Intel Quartus Prime Standard Edition) | Eingang | 3 | |
tx_i2c_avalon_writedata (Intel Quartus Prime Standard Edition) | Eingang | 8 | |
tx_i2c_avalon_readdata (Intel Quartus Prime Standard Edition) | Ausgabe | 8 | |
tx_i2c_avalon_chipselect (Intel Quartus Prime Standard Edition) | Eingang | 1 | |
tx_i2c_avalon_write (Intel Quartus Prime Standard Edition) | Eingang | 1 | |
tx_i2c_irq (Intel Quartus Prime Standard Edition) | Ausgabe | 1 | |
tx_ti_i2c_avalon_waitrequest
(Intel Quartus Prime Standard Edition) |
Ausgabe | 1 | |
tx_ti_i2c_avalon_address (Intel Quartus Prime Standard Edition) | Eingang | 3 | |
tx_ti_i2c_avalon_writedata (Intel Quartus Prime Standard Edition) | Eingang | 8 | |
tx_ti_i2c_avalon_readdata (Intel Quartus Prime Standard Edition) | Ausgabe | 8 | |
Fortsetzung… |
I2C- und Hot-Plug-Erkennungssignale | |||
tx_ti_i2c_avalon_chipselect (Intel Quartus Prime Standard Edition) | Eingang | 1 | |
tx_ti_i2c_avalon_write (Intel Quartus Prime Standard Edition) | Eingang | 1 | |
tx_ti_i2c_irq (Intel Quartus Prime Standard Edition) | Ausgabe | 1 | |
hdmi_tx_hpd_n | Eingang | 1 | HDMI TX Hotplug-Erkennungsschnittstellen |
tx_hpd_ack | Eingang | 1 | |
tx_hpd_req | Ausgabe | 1 |
Tabelle 44. Transceiver-Arbitersignale
Signal | Richtung | Breite | Beschreibung |
klick | Eingang | 1 | Neukonfigurationsuhr. Diese Uhr muss dieselbe Uhr wie die Rekonfigurationsverwaltungsblöcke haben. |
zurücksetzen | Eingang | 1 | Rücksetzsignal. Dieser Rücksetzvorgang muss mit den Rekonfigurationsverwaltungsblöcken identisch sein. |
rx_rcfg_de | Eingang | 1 | RX-Neukonfigurations-Aktivierungssignal |
tx_rcfg_de | Eingang | 1 | TX-Neukonfigurations-Aktivierungssignal |
rx_rcfg_ch | Eingang | 2 | Gibt an, welcher Kanal auf dem RX-Kern neu konfiguriert werden soll. Dieses Signal muss immer aktiviert bleiben. |
tx_rcfg_ch | Eingang | 2 | Gibt an, welcher Kanal auf dem TX-Kern neu konfiguriert werden soll. Dieses Signal muss immer aktiviert bleiben. |
rx_reconfig_mgmt_write | Eingang | 1 | Neukonfiguration Avalon-MM-Schnittstellen aus dem RX-Rekonfigurationsmanagement |
rx_reconfig_mgmt_read | Eingang | 1 | |
rx_reconfig_mgmt_address | Eingang | 10 | |
rx_reconfig_mgmt_writedata | Eingang | 32 | |
rx_reconfig_mgmt_readdata | Ausgabe | 32 | |
rx_reconfig_mgmt_waitrequest | Ausgabe | 1 | |
tx_reconfig_mgmt_write | Eingang | 1 | Neukonfiguration Avalon-MM-Schnittstellen aus dem TX-Rekonfigurationsmanagement |
tx_reconfig_mgmt_read | Eingang | 1 | |
tx_reconfig_mgmt_address | Eingang | 10 | |
tx_reconfig_mgmt_writedata | Eingang | 32 | |
tx_reconfig_mgmt_readdata | Ausgabe | 32 | |
tx_reconfig_mgmt_waitrequest | Ausgabe | 1 | |
reconfig_write | Ausgabe | 1 | Neukonfiguration der Avalon-MM-Schnittstellen zum Transceiver |
reconfig_read | Ausgabe | 1 | |
Fortsetzung… |
Signal | Richtung | Breite | Beschreibung |
reconfig_address | Ausgabe | 10 | |
reconfig_writedata | Ausgabe | 32 | |
rx_reconfig_readdata | Eingang | 32 | |
rx_reconfig_waitrequest | Eingang | 1 | |
tx_reconfig_readdata | Eingang | 1 | |
tx_reconfig_waitrequest | Eingang | 1 | |
rx_cal_busy | Eingang | 1 | Kalibrierungsstatussignal vom RX-Transceiver |
tx_cal_busy | Eingang | 1 | Kalibrierungsstatussignal vom TX-Transceiver |
rx_reconfig_cal_busy | Ausgabe | 1 | Kalibrierungsstatussignal an die PHY-Reset-Steuerung des RX-Transceivers |
tx_reconfig_cal_busy | Ausgabe | 1 | Kalibrierungsstatussignal von der TX-Transceiver-PHY-Reset-Steuerung |
Tabelle 45. RX-TX-Verbindungssignale
Signal | Richtung | Breite | Beschreibung |
zurücksetzen | Eingang | 1 | Auf den FIFO-Puffer für Video/Audio/Hilfssignale/Seitenbänder zurücksetzen. |
hdmi_tx_ls_clk | Eingang | 1 | HDMI TX-Verbindungsgeschwindigkeitstakt |
hdmi_rx_ls_clk | Eingang | 1 | HDMI RX-Verbindungsgeschwindigkeitstakt |
hdmi_tx_vid_clk | Eingang | 1 | HDMI TX-Videotakt |
hdmi_rx_vid_clk | Eingang | 1 | HDMI RX-Videouhr |
hdmi_rx_gesperrt | Eingang | 3 | Zeigt den HDMI RX-Sperrstatus an |
hdmi_rx_de | Eingang | N | HDMI RX-Videoschnittstellen Keine zehn = Symbole pro Takt |
hdmi_rx_hsync | Eingang | N | |
hdmi_rx_vsync | Eingang | N | |
HDMI-RX-Daten | Eingang | N * 48 | |
rx_audio_format | Eingang | 5 | HDMI RX-Audioschnittstellen |
rx_audio_metadata | Eingang | 165 | |
rx_audio_info_ai | Eingang | 48 | |
rx_audio_CTS | Eingang | 20 | |
rx_audio_N | Eingang | 20 | |
rx_audio_de | Eingang | 1 | |
rx_audio_daten | Eingang | 256 | |
rx_gcp | Eingang | 6 | HDMI RX-Seitenbandschnittstellen |
rx_info_avi | Eingang | 112 | |
rx_info_vsi | Eingang | 61 | |
Fortsetzung… |
Signal | Richtung | Breite | Beschreibung |
rx_aux_eop | Eingang | 1 | HDMI RX-Zusatzschnittstellen |
rx_aux_sop | Eingang | 1 | |
rx_aux_gültig | Eingang | 1 | |
rx_aux_data | Eingang | 72 | |
hdmi_tx_de | Ausgabe | N | HDMI TX-Videoschnittstellen
Keine zehn = Symbole pro Takt |
hdmi_tx_hsync | Ausgabe | N | |
hdmi_tx_vsync | Ausgabe | N | |
hdmi_tx_daten | Ausgabe | N * 48 | |
tx_audio_format | Ausgabe | 5 | HDMI TX-Audioschnittstellen |
tx_audio_metadata | Ausgabe | 165 | |
tx_audio_info_ai | Ausgabe | 48 | |
tx_audio_CTS | Ausgabe | 20 | |
tx_audio_N | Ausgabe | 20 | |
tx_audio_de | Ausgabe | 1 | |
tx_audio_daten | Ausgabe | 256 | |
tx_gcp | Ausgabe | 6 | HDMI TX-Seitenbandschnittstellen |
tx_info_avi | Ausgabe | 112 | |
tx_info_vsi | Ausgabe | 61 | |
tx_aux_eop | Ausgabe | 1 | HDMI TX-Zusatzschnittstellen |
tx_aux_sop | Ausgabe | 1 | |
tx_aux_valid | Ausgabe | 1 | |
tx_aux_data | Ausgabe | 72 | |
tx_aux_bereit | Ausgabe | 1 |
Tabelle 46. Systemsignale des Platform Designers
Signal | Richtung | Breite | Beschreibung |
cpu_clk (Intel Quartus Prime Standard Edition) | Eingang | 1 | CPU-Takt |
clock_bridge_0_in_clk_clk (Intel Quartus Prime Pro Edition) | |||
cpu_clk_reset_n (Intel Quartus Prime Standard Edition) | Eingang | 1 | CPU zurückgesetzt |
reset_bridge_0_reset_reset_n (Intel Quartus Prime Pro Edition) | |||
tmds_bit_clock_ratio_pio_external_connectio n_export | Eingang | 1 | TMDS-Bittaktverhältnis |
Measure_pio_external_connection_export | Eingang | 24 | Erwartete TMDS-Taktfrequenz |
Fortsetzung… |
Signal | Richtung | Breite | Beschreibung |
Maßnahme_gültige_PIO_externe_Verbindung_Export | Eingang | 1 | Zeigt an, dass die Maßnahme PIO gültig ist |
i2c_master_i2c_serial_sda_in (Intel Quartus Prime Pro Edition) | Eingang | 1 | I2C-Master-Schnittstellen |
i2c_master_i2c_serial_scl_in (Intel Quartus Prime Pro Edition) | Eingang | 1 | |
i2c_master_i2c_serial_sda_oe (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
i2c_master_i2c_serial_scl_oe (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
i2c_master_ti_i2c_serial_sda_in (Intel Quartus Prime Pro Edition) | Eingang | 1 | |
i2c_master_ti_i2c_serial_scl_in (Intel Quartus Prime Pro Edition) | Eingang | 1 | |
i2c_master_ti_i2c_serial_sda_oe (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
i2c_master_ti_i2c_serial_scl_oe (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_address (Intel Quartus Prime Pro Edition) | Ausgabe | 3 | I2C Master Avalon-Speicherabgebildete Schnittstellen für DDC und SCDC |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_write (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_readdata (Intel Quartus Prime Pro Edition) | Eingang | 32 | |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_writedata (Intel Quartus Prime Pro Edition) | Ausgabe | 32 | |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_waitrequest (Intel Quartus Prime Pro Edition) | Eingang | 1 | |
oc_i2c_master_av_slave_translator_avalon_an ti_slave_0_chipselect (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
oc_i2c_master_ti_avalon_anti_slave_address (Intel Quartus Prime Standard Edition) | Ausgabe | 3 | I2C Master Avalon Memory-Mapped-Schnittstellen für Bitec-Tochterkarte Revision 11, T1181-Steuerung |
oc_i2c_master_ti_avalon_anti_slave_write (Intel Quartus Prime Standard Edition) | Ausgabe | 1 | |
oc_i2c_master_ti_avalon_anti_slave_readdata (Intel Quartus Prime Standard Edition) | Eingang | 32 | |
oc_i2c_master_ti_avalon_anti_slave_writedat a (Intel Quartus Prime Standard Edition) | Ausgabe | 32 | |
oc_i2c_master_ti_avalon_anti_slave_waitrequest (Intel Quartus Prime Standard Edition) | Eingang | 1 | |
oc_i2c_master_ti_avalon_anti_slave_chipsel ct (Intel Quartus Prime Standard Edition) | Ausgabe | 1 | |
Fortsetzung… |
Signal | Richtung | Breite | Beschreibung |
edid_ram_access_pio_external_connection_export | Ausgabe | 1 | EDID-RAM-Zugriffsschnittstellen. Setzen Sie edid_ram_access_pio_ external_connection_ export, wenn Sie in den EDID-RAM auf der RX-Oberseite schreiben oder daraus lesen möchten. Verbinden Sie den EDID-RAM-Zugriff des Avalon-MM-Slaves im Platform Designer mit der EDID-RAM-Schnittstelle auf den RX-Modulen der obersten Ebene. |
edid_ram_slave_translator_address | Ausgabe | 8 | |
edid_ram_slave_translator_write | Ausgabe | 1 | |
edid_ram_slave_translator_read | Ausgabe | 1 | |
edid_ram_slave_translator_readdata | Eingang | 8 | |
edid_ram_slave_translator_writedata | Ausgabe | 8 | |
edid_ram_slave_translator_waitrequest | Eingang | 1 | |
powerup_cal_done_export (Intel Quartus Prime Pro Edition) | Eingang | 1 | RX PMA Neukonfiguration Avalon Memory-Mapping-Schnittstellen |
rx_pma_cal_busy_export (Intel Quartus Prime Pro Edition) | Eingang | 1 | |
rx_pma_ch_export (Intel Quartus Prime Pro Edition) | Ausgabe | 2 | |
rx_pma_rcfg_mgmt_address (Intel Quartus Prime Pro Edition) | Ausgabe | 12 | |
rx_pma_rcfg_mgmt_write (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
rx_pma_rcfg_mgmt_read (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
rx_pma_rcfg_mgmt_readdata (Intel Quartus Prime Pro Edition) | Eingang | 32 | |
rx_pma_rcfg_mgmt_writedata (Intel Quartus Prime Pro Edition) | Ausgabe | 32 | |
rx_pma_rcfg_mgmt_waitrequest (Intel Quartus Prime Pro Edition) | Eingang | 1 | |
rx_pma_waitrequest_export (Intel Quartus Prime Pro Edition) | Eingang | 1 | |
rx_rcfg_en_export (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
rx_rst_xcvr_export (Intel Quartus Prime Pro Edition) | Ausgabe | 1 | |
tx_pll_rcfg_mgmt_translator_avalon_anti_slave_waitrequest | Eingang | 1 | TX PLL-Neukonfiguration Avalon-Speicherabbildungsschnittstellen |
tx_pll_rcfg_mgmt_translator_avalon_anti_slave_writedata | Ausgabe | 32 | |
tx_pll_rcfg_mgmt_translator_avalon_anti_slave_address | Ausgabe | 10 | |
tx_pll_rcfg_mgmt_translator_avalon_anti_slave_write | Ausgabe | 1 | |
tx_pll_rcfg_mgmt_translator_avalon_anti_slave_read | Ausgabe | 1 | |
tx_pll_rcfg_mgmt_translator_avalon_anti_slave_readdata | Eingang | 32 | |
Fortsetzung… |
Signal | Richtung | Breite | Beschreibung |
tx_pll_waitrequest_pio_external_connection_export | Eingang | 1 | TX PLL Warteanforderung |
tx_pma_rcfg_mgmt_translator_avalon_anti_slave_address | Ausgabe | 12 | TX PMA-Neukonfiguration Avalon-Speicherabbildungsschnittstellen |
tx_pma_rcfg_mgmt_translator_avalon_anti_slave_write | Ausgabe | 1 | |
tx_pma_rcfg_mgmt_translator_avalon_anti_slave_read | Ausgabe | 1 | |
tx_pma_rcfg_mgmt_translator_avalon_anti_slave_readdata | Eingang | 32 | |
tx_pma_rcfg_mgmt_translator_avalon_anti_slave_writedata | Ausgabe | 32 | |
tx_pma_rcfg_mgmt_translator_avalon_anti_slave_waitrequest | Eingang | 1 | |
tx_pma_waitrequest_pio_external_connection_export | Eingang | 1 | TX PMA Warteanforderung |
tx_pma_cal_busy_pio_external_connection_export | Eingang | 1 | TX PMA Neukalibrierung Beschäftigt |
tx_pma_ch_export | Ausgabe | 2 | TX PMA-Kanäle |
tx_rcfg_en_pio_external_connection_export | Ausgabe | 1 | TX PMA-Neukonfiguration aktivieren |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_writedata | Ausgabe | 32 | TX IOPLL Neukonfiguration Avalon Memory-Mapping-Schnittstellen |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_readdata | Eingang | 32 | |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_waitrequest | Eingang | 1 | |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_adresse | Ausgabe | 9 | |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_write | Ausgabe | 1 | |
tx_iopll_rcfg_mgmt_translator_avalon_anti_s lave_read | Ausgabe | 1 | |
tx_os_pio_external_connection_export | Ausgabe | 2 | Oversampling-Faktor: • 0: Keine OversampLeng • 1: 3× OverampLeng • 2: 4× OverampLeng • 3: 5× OverampLeng |
tx_rst_pll_pio_external_connection_export | Ausgabe | 1 | Auf IOPLL und TX PLL zurücksetzen |
tx_rst_xcvr_pio_external_connection_export | Ausgabe | 1 | Auf TX Native PHY zurücksetzen |
wd_timer_resetrequest_reset | Ausgabe | 1 | Watchdog-Timer zurücksetzen |
Farbtiefe_PIO_externe_Verbindung_Export | Eingang | 2 | Farbtiefe |
tx_hpd_ack_pio_external_connection_export | Ausgabe | 1 | Für TX Hotplug Handshake erkennen |
tx_hpd_req_pio_external_connection_export | Eingang | 1 |
3.8. RTL-Parameter entwerfen
Verwenden Sie die HDMI TX und RX Top RTL Parameter, um das Design anzupassen example.
Die meisten Designparameter sind im Design Ex verfügbarampRegisterkarte des HDMI Intel FPGA IP-Parameter-Editors. Sie können das Design noch ändern, z. B.ample Einstellungen
Die Änderungen werden im Parametereditor über die RTL-Parameter vorgenommen.
Tabelle 47. HDMI RX Top-Parameter
Parameter | Wert | Beschreibung |
UNTERSTÜTZUNG_TIEFER_FARBE | • 0: Keine tiefe Farbe • 1: Tiefe Farbe |
Bestimmt, ob der Kern Deep-Color-Formate kodieren kann. |
UNTERSTÜTZUNG_HILFE | • 0: Kein AUX • 1: AUX |
Bestimmt, ob die Hilfskanalkodierung eingeschlossen ist. |
SYMBOLE_PRO_UHR | 8 | Unterstützt 8 Symbole pro Takt für Intel Arria 10-Geräte. |
AUDIO-UNTERSTÜTZUNG | • 0: Kein Ton • 1: Audio |
Bestimmt, ob der Kern Audio kodieren kann. |
EDID_RAM_ADDR_WIDTH (Intel Quartus Prime Standard Edition) | 8 (Standardwert) | Logarithmus zur Basis 2 der EDID-RAM-Größe. |
BITEC_TOCHTER_KARTE_REV | • 0: Nicht auf eine Bitec HDMI-Tochterkarte ausgerichtet • 4: Unterstützt Bitec HDMI-Tochterkarte Revision 4 • 6: Ziel ist Bitec HDMI-Tochterkarte Revision 6 •11: Ziel ist Bitec HDMI-Tochterkarte Revision 11 (Standard) |
Gibt die Revision der verwendeten Bitec HDMI-Tochterkarte an. Wenn Sie die Revision ändern, kann das Design die Transceiverkanäle vertauschen und die Polarität entsprechend den Anforderungen der Bitec HDMI-Tochterkarte umkehren. Wenn Sie den Parameter BITEC_DAUGHTER_CARD_REV auf 0 setzen, nimmt das Design keine Änderungen an den Transceiverkanälen und der Polarität vor. |
POLARITÄTSUMKEHR | • 0: Polarität umkehren • 1: Polarität nicht umkehren |
Setzen Sie diesen Parameter auf 1, um den Wert jedes Bits der Eingabedaten umzukehren. Wenn Sie diesen Parameter auf 1 setzen, wird 4'b1111 dem rx_polinv-Port des RX-Transceivers zugewiesen. |
Tabelle 48. HDMI TX Top-Parameter
Parameter | Wert | Beschreibung |
USE_FPLL | 1 | Unterstützt fPLL als TX-PLL nur für Intel Cyclone® 10 GX-Geräte. Setzen Sie diesen Parameter immer auf 1. |
UNTERSTÜTZUNG_TIEFER_FARBE | • 0: Keine tiefe Farbe • 1: Tiefe Farbe |
Bestimmt, ob der Kern Deep-Color-Formate kodieren kann. |
UNTERSTÜTZUNG_HILFE | • 0: Kein AUX • 1: AUX |
Bestimmt, ob die Hilfskanalkodierung eingeschlossen ist. |
SYMBOLE_PRO_UHR | 8 | Unterstützt 8 Symbole pro Takt für Intel Arria 10-Geräte. |
Fortsetzung… |
Parameter | Wert | Beschreibung |
AUDIO-UNTERSTÜTZUNG | • 0: Kein Ton • 1: Audio |
Bestimmt, ob der Kern Audio kodieren kann. |
BITEC_TOCHTER_KARTE_REV | • 0: Nicht auf eine Bitec HDMI-Tochterkarte ausgerichtet • 4: Unterstützt Bitec HDMI-Tochterkarte Revision 4 • 6: Ziel ist Bitec HDMI-Tochterkarte Revision 6 • 11: Ziel ist Bitec HDMI-Tochterkarte Revision 11 (Standard) |
Gibt die Revision der verwendeten Bitec HDMI-Tochterkarte an. Wenn Sie die Revision ändern, kann das Design die Transceiverkanäle vertauschen und die Polarität entsprechend den Anforderungen der Bitec HDMI-Tochterkarte umkehren. Wenn Sie den Parameter BITEC_DAUGHTER_CARD_REV auf 0 setzen, nimmt das Design keine Änderungen an den Transceiverkanälen und der Polarität vor. |
POLARITÄTSUMKEHR | • 0: Polarität umkehren • 1: Polarität nicht umkehren |
Setzen Sie diesen Parameter auf 1, um den Wert jedes Bits der Eingabedaten umzukehren. Wenn Sie diesen Parameter auf 1 setzen, wird 4'b1111 dem tx_polinv-Port des TX-Transceivers zugewiesen. |
3.9. Hardware-Setup
Das HDMI Intel FPGA IP Design example ist HDMI 2.0b-fähig und führt eine Loopthrough-Demonstration für einen Standard-HDMI-Videostream durch.
Um den Hardwaretest durchzuführen, schließen Sie ein HDMI-fähiges Gerät – beispielsweise eine Grafikkarte mit HDMI-Schnittstelle – an den Transceiver Native PHY RX-Block und den HDMI-Sink an.
Eingang.
- Der HDMI-Senke dekodiert den Port in einen Standard-Videostream und sendet ihn an den Taktwiederherstellungskern.
- Der HDMI RX-Kern dekodiert die Video-, Hilfs- und Audiodaten, die parallel über den DCFIFO an den HDMI TX-Kern zurückgesendet werden sollen.
- Der HDMI-Quellanschluss der FMC-Tochterkarte überträgt das Bild an einen Monitor.
Notiz:
Wenn Sie ein anderes Intel FPGA-Entwicklungsboard verwenden möchten, müssen Sie die Gerätezuweisungen und die Pinbelegungen ändern. Die analoge Transceiver-Einstellung wurde für das Intel Arria 10 FPGA-Entwicklungskit und die Bitec HDMI 2.0-Tochterkarte getestet. Sie können die Einstellungen für Ihr eigenes Board ändern.
Tabelle 49. Onboard-Druckknopf- und Benutzer-LED-Funktionen
Drucktaster/LED | Funktion |
cpu_resetn | Einmal drücken, um einen Systemreset durchzuführen. |
Benutzer_pb[0] | Einmal drücken, um das HPD-Signal auf die Standard-HDMI-Quelle umzuschalten. |
Benutzer_pb[1] | • Gedrückt halten, um den TX-Kern anzuweisen, das DVI-codierte Signal zu senden. • Loslassen, um das HDMI-codierte Signal zu senden. |
Benutzer_pb[2] | • Drücken und halten, um den TX-Kern anzuweisen, das Senden der InfoFrames aus den Seitenbandsignalen zu beenden. • Lassen Sie die Taste los, um das Senden der InfoFrames aus den Seitenbandsignalen fortzusetzen. |
USER_LED[0] | RX HDMI PLL-Sperrstatus. • 0 = Entsperrt • 1 = Gesperrt |
USER_LED[1] | Status „RX-Transceiver bereit“. |
Fortsetzung… |
Drucktaster/LED | Funktion |
• 0 = Nicht bereit • 1 = Bereit |
|
USER_LED[2] | RX HDMI-Kernsperrstatus. • 0 = Mindestens 1 Kanal freigeschaltet • 1 = Alle 3 Kanäle gesperrt |
USER_LED[3] | RX-Übergängeampling-Status. • 0 = Nicht-OversampLED (Datenrate > 1,000 Mbit/s im Intel Arria 10-Gerät) • 1 = ÜberampLED (Datenrate < 100 Mbit/s im Intel Arria 10-Gerät) |
USER_LED[4] | TX HDMI PLL-Sperrstatus. • 0 = Entsperrt • 1 = Gesperrt |
USER_LED[5] | TX-Transceiver-Bereitschaftsstatus. • 0 = Nicht bereit • 1 = Bereit |
USER_LED[6] | PLL-Sperrstatus des TX-Transceivers. • 0 = Entsperrt • 1 = Gesperrt |
USER_LED[7] | TX-Überampling-Status. • 0 = Nicht-OversampLED (Datenrate > 1,000 Mbit/s im Intel Arria 10-Gerät) • 1 = ÜberampLED (Datenrate < 1,000 Mbit/s im Intel Arria 10-Gerät) |
3.10. Simulationsprüfstand
Der Simulationsteststand simuliert den seriellen HDMI TX-Loopback zum RX-Kern.
Notiz:
Dieser Simulationsteststand wird für Designs mit aktiviertem Parameter „I2C einschließen“ nicht unterstützt.
3. HDMI 2.0 Design Beispielample (Unterstützung FRL = 0)
683156 | 2022.12.27
Abbildung 28. Blockdiagramm der HDMI Intel FPGA IP-Simulationstestbank
Tabelle 50. Testbench-Komponenten
Komponente | Beschreibung |
Video TPG | Der Video-Testmustergenerator (TPG) liefert den Videostimulus. |
Audio S.ample Gen | Die Audio-SampDer Audiogenerator liefert Audiosignaleample-Stimulus. Der Generator erzeugt ein inkrementelles Testdatenmuster, das über den Audiokanal übertragen werden soll. |
Aux Sample Gen | Der AUX-SampDer Generator stellt die Hilfsenergie bereitampDer Generator erzeugt feste Daten, die vom Sender übertragen werden. |
CRC-Prüfung | Dieser Checker überprüft, ob die vom TX-Transceiver wiederhergestellte Taktfrequenz mit der gewünschten Datenrate übereinstimmt. |
Audiodatenprüfung | Bei der Audiodatenprüfung wird verglichen, ob das inkrementelle Testdatenmuster korrekt empfangen und dekodiert wird. |
AUX-Datenprüfung | Die AUX-Datenprüfung vergleicht, ob die erwarteten AUX-Daten auf der Empfängerseite korrekt empfangen und dekodiert werden. |
Der HDMI-Simulationsteststand führt die folgenden Verifizierungstests durch:
HDMI-Funktion | Überprüfung |
Videodaten | • Der Teststand implementiert eine CRC-Prüfung des Eingangs- und Ausgangsvideos. • Es vergleicht den CRC-Wert der übertragenen Daten mit dem in den empfangenen Videodaten berechneten CRC. • Der Teststand führt die Prüfung dann durch, nachdem 4 stabile V-SYNC-Signale vom Empfänger erkannt wurden. |
Hilfsdaten | • Die AUX-ampDer Dateigenerator erzeugt feste Daten, die vom Sender übertragen werden. • Auf der Empfängerseite vergleicht der Generator, ob die erwarteten Zusatzdaten korrekt empfangen und dekodiert werden. |
Audiodaten | • Die Audio-sampDer Dateigenerator erzeugt ein inkrementelles Testdatenmuster, das über den Audiokanal übertragen werden soll. • Auf der Empfängerseite prüft und vergleicht der Audiodatenprüfer, ob das inkrementelle Testdatenmuster korrekt empfangen und dekodiert wird. |
Eine erfolgreiche Simulation endet mit der folgenden Meldung:
# SYMBOLS_PER_CLOCK = 2
# VIC = 4
# FRL_RATE = 0
# BPP = 0
# AUDIOFREQUENZ (kHz) = 48
# AUDIO_CHANNEL = 8
# Simulationsdurchlauf
Tabelle 51. HDMI Intel FPGA IP Design Example Unterstützte Simulatoren
Simulator | Verilog HDL | VHDL |
ModelSim – Intel FPGA Edition/ ModelSim – Intel FPGA Starter Edition | Ja | Ja |
VCS/VCS MX | Ja | Ja |
Riviera-PRO | Ja | Ja |
Xcelium Parallel | Ja | NEIN |
3.11. Aktualisieren Ihres Designs
Tabelle 52. HDMI-Design BeispielampKompatibilität mit vorheriger Intel Quartus Prime Pro Edition Softwareversion
Design Bspampdie Variante | Möglichkeit zum Upgrade auf Intel Quartus Prime Pro Edition 20.3 |
HDMI 2.0 Design Example (Unterstützung FRL = 0) | NEIN |
Für jedes nicht kompatible Design examples müssen Sie Folgendes tun:
- Generieren Sie ein neues Design, z. B.ample in der aktuellen Softwareversion von Intel Quartus Prime Pro Edition mit denselben Konfigurationen Ihres vorhandenen Designs.
- Vergleichen Sie das gesamte Design z.ampDateiverzeichnis mit dem Design exampDatei, die mit der vorherigen Softwareversion von Intel Quartus Prime Pro Edition generiert wurde. Portieren Sie die gefundenen Änderungen.
HDCP über HDMI 2.0/2.1 Design Example
Das HDCP über HDMI-Hardwaredesign, z. B.ample hilft Ihnen, die Funktionalität der HDCP-Funktion zu bewerten und ermöglicht Ihnen, die Funktion in Ihren Intel Arria 10-Designs zu verwenden.
Notiz:
Die HDCP-Funktion ist nicht in der Intel Quartus Prime Pro Edition-Software enthalten. Um auf die HDCP-Funktion zuzugreifen, wenden Sie sich an Intel unter https://www.intel.com/content/www/us/en/broadcast/products/programmable/applications/connectivity-solutions.html.
4.1. Schutz digitaler Inhalte mit hoher Bandbreite (HDCP)
High-bandwidth Digital Content Protection (HDCP) ist eine Form des digitalen Rechteschutzes, um eine sichere Verbindung zwischen der Quelle und dem Display herzustellen.
Intel hat die ursprüngliche Technologie entwickelt, die von der Digital Content Protection LLC-Gruppe lizenziert ist. HDCP ist eine Kopierschutzmethode, bei der der Audio-/Videostream zwischen Sender und Empfänger verschlüsselt wird, um ihn vor illegalem Kopieren zu schützen.
Die HDCP-Funktionen entsprechen der HDCP-Spezifikation Version 1.4 und der HDCP-Spezifikation Version 2.3.
Die HDCP 1.4- und HDCP 2.3-IPs führen alle Berechnungen innerhalb der Hardware-Kernlogik durch, wobei von außerhalb der verschlüsselten IP keine vertraulichen Werte (wie etwa privater Schlüssel und Sitzungsschlüssel) zugänglich sind.
Tabelle 53. HDCP-IP-Funktionen
HDCP-IP | Funktionen |
HDCP 1.4 IP | • Authentifizierungsaustausch — Berechnung des Hauptschlüssels (Km) — Erzeugung von zufälligen An — Berechnung des Sitzungsschlüssels (Ks), M0 und R0. • Authentifizierung mit Repeater — Berechnung und Überprüfung von V und V' • Überprüfung der Linkintegrität — Berechnung des Bildschlüssels (Ki), Mi und Ri. |
Fortsetzung… |
Intel Corporation. Alle Rechte vorbehalten. Intel, das Intel-Logo und andere Intel-Marken sind Marken der Intel Corporation oder ihrer Tochtergesellschaften. Intel garantiert die Leistung seiner FPGA- und Halbleiterprodukte gemäß den aktuellen Spezifikationen gemäß Intels Standardgewährleistung, behält sich jedoch das Recht vor, jederzeit ohne Vorankündigung Änderungen an Produkten und Diensten vorzunehmen. Intel übernimmt keine Verantwortung oder Haftung, die sich aus der Anwendung oder Verwendung von hierin beschriebenen Informationen, Produkten oder Diensten ergeben, es sei denn, Intel hat ausdrücklich schriftlich zugestimmt. Intel-Kunden wird empfohlen, die neueste Version der Gerätespezifikationen zu beschaffen, bevor sie sich auf veröffentlichte Informationen verlassen und bevor sie Produkte oder Dienstleistungen bestellen.
*Andere Namen und Marken können Eigentum Dritter sein.
ISO
9001:2015
Eingetragen
HDCP-IP | Funktionen |
• Alle Verschlüsselungsmodi, einschließlich hdcpBlockCipher, hdcpStreamCipher, hdcpRekeyCipher und hdcpRngCipher • Originale Verschlüsselungsstatussignalisierung (DVI) und verbesserte Verschlüsselungsstatussignalisierung (HDMI) • Echter Zufallszahlengenerator (TRNG) — Hardwarebasierte, vollständig digitale Implementierung und nicht-deterministischer Zufallszahlengenerator |
|
HDCP 2.3 IP | • Generierung von Masterschlüssel (km), Sitzungsschlüssel (ks) und Nonce (rn, riv) — Konform mit NIST.SP800-90A Zufallszahlengenerierung • Authentifizierung und Schlüsselaustausch — Generierung von Zufallszahlen für RTX und RRX gemäß NIST.SP800-90A Zufallszahlengenerierung — Signaturprüfung des Empfängerzertifikats (certrx) mithilfe des öffentlichen DCP-Schlüssels (kpubdcp) — 3072 Bit RSASSA-PKCS#1 v1.5 — RSAES-OAEP (PKCS#1 v2.1) Verschlüsselung und Entschlüsselung des Hauptschlüssels (km) — Ableitung von kd (dkey0, dkey1) im AES-CTR-Modus — Berechnung und Überprüfung von H und H' — Berechnung von Ekh(km) und km (Paarung) • Authentifizierung mit Repeater — Berechnung und Überprüfung von V und V' — Berechnung und Verifikation von M und M' • Systemerneuerbarkeit (SRM) — SRM-Signaturüberprüfung mit kpubdcp — 3072 Bit RSASSA-PKCS#1 v1.5 • Sitzungsschlüsselaustausch • Generierung und Berechnung von Edkey(ks) und riv. • Ableitung von dkey2 im AES-CTR-Modus • Lokalitätsprüfung — Berechnung und Überprüfung von L und L' — Generierung von Nonce (rn) • Datenstromverwaltung — AES-CTR-Modus-basierte Schlüsselstromgenerierung • Asymmetrische Kryptoalgorithmen — RSA mit einer Modullänge von 1024 (kpubrx) und 3072 (kpubdcp) Bit — RSA-CRT (Chinese Remainder Theorem) mit einer Modullänge von 512 (kprivrx) Bits und einer Exponentenlänge von 512 (kprivrx) Bits • Kryptografische Funktion auf niedriger Ebene — Symmetrische Kryptoalgorithmen • AES-CTR-Modus mit einer Schlüssellänge von 128 Bit — Hash-, MGF- und HMAC-Algorithmen • SHA256 • HMAC-SHA256 • MGF1-SHA256 — Echter Zufallszahlengenerator (TRNG) • NIST.SP800-90A-konform • Hardwarebasierte, vollständig digitale Implementierung und nicht-deterministischer Zufallszahlengenerator |
4.1.1. HDCP über HDMI-Design-Beispielampdie Architektur
Die HDCP-Funktion schützt Daten während der Datenübertragung zwischen Geräten, die über HDMI oder andere HDCP-geschützte digitale Schnittstellen verbunden sind.
Die HDCP-geschützten Systeme umfassen drei Gerätetypen:
4. HDCP über HDMI 2.0/2.1 Design Beispielample
683156 | 2022.12.27
• Quellen (TX)
• Waschbecken (RX)
• Repeater
Dieses Design zample demonstriert das HDCP-System in einem Repeater-Gerät, wo es Daten akzeptiert, entschlüsselt, dann wieder verschlüsselt und schließlich erneut überträgt. Repeater haben sowohl HDMI-Eingänge als auch -Ausgänge. Es instanziiert die FIFO-Puffer, um einen direkten HDMI-Videostream-Pass-Through zwischen HDMI-Senke und -Quelle durchzuführen. Es kann einige Signalverarbeitungen durchführen, wie z. B. die Konvertierung von Videos in ein Format mit höherer Auflösung, indem es die FIFO-Puffer durch die IP-Kerne der Video- und Bildverarbeitungs-Suite (VIP) ersetzt.
Abbildung 29. HDCP über HDMI-Design-Beispielampdas Blockdiagramm
Die folgenden Beschreibungen zur Architektur des Entwurfsampentsprechen dem HDCP über HDMI Design z.B.ampWenn SUPPORT FRL = 1 oder
UNTERSTÜTZUNG HDCP KEY MANAGEMENT = 1, das Design exampDie Hierarchie der Dateien unterscheidet sich geringfügig von der Abbildung 29 auf Seite 95, aber die zugrunde liegenden HDCP-Funktionen bleiben gleich.
Dasselbe.
- HDCP1x und HDCP2x sind IPs, die über den HDMI Intel FPGA IP-Parametereditor verfügbar sind. Wenn Sie die HDMI-IP im Parametereditor konfigurieren, können Sie entweder HDCP1x oder HDCP2x oder beide IPs als Teil des Subsystems aktivieren und einschließen. Wenn beide HDCP-IPs aktiviert sind, konfiguriert sich die HDMI-IP selbst in der Kaskadentopologie, in der die HDCP2x- und HDCP1x-IPs Rücken an Rücken verbunden sind.
• Die HDCP-Ausgangsschnittstelle des HDMI TX sendet unverschlüsselte Audio-Video-Daten.
• Die unverschlüsselten Daten werden vom aktiven HDCP-Block verschlüsselt und zur Übertragung über die HDCP-Ingress-Schnittstelle an den HDMI TX zurückgesendet.
• Das CPU-Subsystem als Authentifizierungs-Mastercontroller stellt sicher, dass zu einem bestimmten Zeitpunkt immer nur eine der HDCP-TX-IPs aktiv und die andere passiv ist.
• In ähnlicher Weise entschlüsselt der HDCP RX auch über die Verbindung von einem externen HDCP TX empfangene Daten. - Sie müssen die HDCP-IPs mit von Digital Content Protection (DCP) ausgestellten Produktionsschlüsseln programmieren. Laden Sie die folgenden Schlüssel:
Tabelle 54. Von DCP ausgestellte Produktionsschlüssel
HDCP TX / RX Schlüssel HDCP2x TX 16 Bytes: Globale Konstante (lc128) RX • 16 Bytes (dasselbe wie TX): Globale Konstante (lc128)
• 320 Bytes: Privater RSA-Schlüssel (kprivrx)
• 522 Bytes: RSA-Public-Key-Zertifikat (certrx)HDCP1x TX • 5 Bytes: TX-Schlüsselauswahlvektor (Aksv)
• 280 Bytes: TX Private Geräteschlüssel (Akeys)RX • 5 Bytes: RX-Schlüsselauswahlvektor (Bksv)
• 280 Bytes: RX Private Geräteschlüssel (Bkeys)Das Design zample implementiert die Schlüsselspeicher als einfaches Dual-Port-, Dual-Clock-Synchron-RAM. Für kleine Schlüsselgrößen wie HDCP2x TX implementiert die IP den Schlüsselspeicher mithilfe von Registern in regulärer Logik.
Hinweis: Intel liefert die HDCP-Produktionsschlüssel nicht mit dem Design example oder Intel FPGA IPs unter keinen Umständen. Um die HDCP IPs oder das Design ex zu verwendenample, Sie müssen HDCP-Anwender werden und die Produktionsschlüssel direkt von Digital Content Protection LLC (DCP) erwerben.
So führen Sie das Design-Ex ausampSie können entweder den Schlüsselspeicher bearbeiten files zur Kompilierzeit, um die Produktionsschlüssel einzubinden oder Logikblöcke zu implementieren, um die Produktionsschlüssel sicher von einem externen Speichergerät zu lesen und sie zur Laufzeit in die Schlüsselspeicher zu schreiben. - Sie können die im HDCP2x IP implementierten kryptografischen Funktionen mit einer beliebigen Frequenz bis zu 200 MHz takten. Die Frequenz dieses Takts bestimmt, wie schnell die
Die HDCP2x-Authentifizierung funktioniert. Sie können sich dafür entscheiden, den 100-MHz-Takt zu teilen, der für den Nios II-Prozessor verwendet wird, aber die Authentifizierungslatenz würde sich im Vergleich zur Verwendung eines 200-MHz-Takts verdoppeln. - Die zwischen dem HDCP TX und dem HDCP RX auszutauschenden Werte werden über die HDMI DDC Schnittstelle (I2 C serielle Schnittstelle) des HDCP-
geschützte Schnittstelle. Der HDCP RX muss für jede unterstützte Verbindung ein logisches Gerät auf dem I2C-Bus präsentieren. Der I2C-Slave wird für den HDCP-Port mit der Geräteadresse 0x74 dupliziert. Er steuert den HDCP-Registerport (Avalon-MM) der HDCP2x- und HDCP1x-RX-IPs. - Der HDMI TX verwendet den IC-Master, um die EDID von RX zu lesen und die für den HDMI 2.0-Betrieb erforderlichen SCDC-Daten an RX zu übertragen. Derselbe I2C-Master, der vom Nios II-Prozessor gesteuert wird, wird auch zum Übertragen der HDCP-Nachrichten zwischen TX und RX verwendet. Der I2C-Master ist in das CPU-Subsystem eingebettet.
- Der Nios II-Prozessor fungiert als Master im Authentifizierungsprotokoll und steuert die Steuer- und Statusregister (Avalon-MM) sowohl des HDCP2x- als auch des HDCP1x-TX
IPs. Die Softwaretreiber implementieren die Zustandsmaschine des Authentifizierungsprotokolls, einschließlich Zertifikatsignaturüberprüfung, Hauptschlüsselaustausch, Lokalitätsprüfung, Sitzungsschlüsselaustausch, Paarung, Verbindungsintegritätsprüfung (HDCP1x) und Authentifizierung mit Repeatern, wie z. B. Verbreitung von Topologieinformationen und Verbreitung von Stream-Management-Informationen. Die Softwaretreiber implementieren keine der vom Authentifizierungsprotokoll benötigten kryptografischen Funktionen. Stattdessen implementiert die HDCP-IP-Hardware alle kryptografischen Funktionen und stellt sicher, dass keine vertraulichen Werte abgerufen werden können.
7. In einer echten Repeater-Demonstration, bei der die Verbreitung von Topologieinformationen stromaufwärts erforderlich ist, steuert der Nios II-Prozessor den Repeater Message Port (Avalon-MM) von HDCP2x- und HDCP1x-RX-IPs. Der Nios II-Prozessor löscht das RX REPEATER-Bit auf 0, wenn er erkennt, dass der angeschlossene Downstream nicht HDCP-fähig ist oder wenn kein Downstream angeschlossen ist. Ohne Downstream-Verbindung ist das RX-System jetzt ein Endpunkt-Empfänger und kein Repeater. Umgekehrt setzt der Nios II-Prozessor das RX REPEATER-Bit auf 1, wenn er erkennt, dass der Downstream HDCP-fähig ist.
4.2. Softwareablauf des Nios II-Prozessors
Das Flussdiagramm der Nios II-Software umfasst die HDCP-Authentifizierungskontrollen über die HDMI-Anwendung.
Abbildung 30. Flussdiagramm der Nios II-Prozessorsoftware
- Die Nios II-Software initialisiert und setzt den HDMI TX PLL, den TX-Transceiver PHY, den I2C-Master und den externen TI-Retimer zurück.
- Die Nios II-Software fragt periodisch das gültige Ratenerkennungssignal vom RX-Ratenerkennungsschaltkreis ab, um festzustellen, ob sich die Videoauflösung geändert hat und ob eine TX-Neukonfiguration erforderlich ist. Die Software fragt auch das TX-Hot-Plug-Erkennungssignal ab, um festzustellen, ob ein TX-Hot-Plug-Ereignis aufgetreten ist.
- Wenn ein gültiges Signal vom RX-Ratenerkennungsschaltkreis empfangen wird, liest die Nios II-Software die SCDC- und Takttiefenwerte vom HDMI RX und ruft das Taktfrequenzband basierend auf der erkannten Rate ab, um zu bestimmen, ob eine Neukonfiguration von HDMI TX PLL und Transceiver PHY erforderlich ist. Wenn eine TX-Neukonfiguration erforderlich ist, befiehlt die Nios II-Software dem I2C-Master, den SCDC-Wert an den externen RX zu senden. Anschließend befiehlt sie, die HDMI TX PLL und den TX-Transceiver neu zu konfigurieren.
PHY, gefolgt von einer Neukalibrierung des Geräts und einer Reset-Sequenz. Wenn sich die Rate nicht ändert, ist weder eine TX-Neukonfiguration noch eine HDCP-Neuauthentifizierung erforderlich. - Wenn ein TX-Hot-Plug-Ereignis aufgetreten ist, befiehlt die Nios II-Software dem I2C-Master, den SCDC-Wert an den externen RX zu senden und dann EDID vom RX zu lesen.
und aktualisiert den internen EDID-RAM. Die Software gibt die EDID-Informationen dann an den Upstream weiter. - Die Nios II-Software startet die HDCP-Aktivität, indem sie dem I2C-Master befiehlt, den Offset 0x50 vom externen RX zu lesen, um festzustellen, ob der Downstream HDCP-fähig ist, oder
ansonsten:
• Wenn der zurückgegebene HDCP2Version-Wert 1 ist, ist der Downstream HDCP2x-fähig.
• Wenn der zurückgegebene Wert aller 0x50-Lesevorgänge Nullen sind, ist der Downstream HDCP0x-fähig.
• Wenn die zurückgegebenen Werte aller 0x50-Lesevorgänge Einsen sind, ist der Downstream entweder nicht HDCP-fähig oder inaktiv.
• Wenn der Downstream zuvor nicht HDCP-fähig oder inaktiv war, aktuell aber HDCP-fähig ist, setzt die Software das REPEATER-Bit des Repeater-Upstreams (RX) auf 1, um anzuzeigen, dass der RX jetzt ein Repeater ist.
• Wenn der Downstream zuvor HDCP-fähig war, derzeit aber nicht HDCP-fähig oder inaktiv ist, setzt die Software das REPEATER-Bit auf 0, um anzuzeigen, dass der RX jetzt ein Endpunkt-Empfänger ist. - Die Software initiiert das HDCP2x-Authentifizierungsprotokoll, das die Überprüfung der RX-Zertifikatssignatur, den Austausch des Hauptschlüssels, eine Lokalitätsprüfung, den Austausch von Sitzungsschlüsseln, die Kopplung und die Authentifizierung mit Repeatern sowie die Verbreitung von Topologieinformationen umfasst.
- Im authentifizierten Zustand befiehlt die Nios II-Software dem I2C-Master, das RxStatus-Register vom externen RX abzufragen. Wenn die Software erkennt, dass das Bit REAUTH_REQ gesetzt ist, leitet sie eine erneute Authentifizierung ein und deaktiviert die TX-Verschlüsselung.
- Wenn der Downstream ein Repeater ist und das READY-Bit des RxStatus-Registers auf 1 gesetzt ist, weist dies normalerweise darauf hin, dass sich die Downstream-Topologie geändert hat. Daher befiehlt die Nios II-Software dem I2C-Master, die ReceiverID_List vom Downstream zu lesen und die Liste zu überprüfen. Wenn die Liste gültig ist und kein Topologiefehler erkannt wird, fährt die Software mit dem Content Stream Management-Modul fort. Andernfalls leitet sie eine erneute Authentifizierung ein und deaktiviert die TX-Verschlüsselung.
- Die Nios II-Software bereitet die ReceiverID_List- und RxInfo-Werte vor und schreibt sie dann in den Avalon-MM Repeater Message-Port des Repeater-Upstreams (RX). Der RX leitet die Liste dann an den externen TX (Upstream) weiter.
- Die Authentifizierung ist an dieser Stelle abgeschlossen. Die Software aktiviert die TX-Verschlüsselung.
- Die Software initiiert das HDCP1x-Authentifizierungsprotokoll, das den Schlüsselaustausch und die Authentifizierung mit Repeatern umfasst.
- Die Nios II-Software führt eine Verbindungsintegritätsprüfung durch, indem sie Ri' und Ri vom externen RX (Downstream) bzw. HDCP1x TX liest und vergleicht. Wenn die Werte
nicht übereinstimmen, weist dies auf einen Verlust der Synchronisierung hin und die Software leitet eine erneute Authentifizierung ein und deaktiviert die TX-Verschlüsselung. - Wenn der Downstream ein Repeater ist und das READY-Bit des Bcaps-Registers auf 1 gesetzt ist, deutet dies normalerweise darauf hin, dass sich die Downstream-Topologie geändert hat. Daher befiehlt die Nios II-Software dem I2C-Master, den KSV-Listenwert vom Downstream zu lesen und die Liste zu überprüfen. Wenn die Liste gültig ist und kein Topologiefehler erkannt wird, bereitet die Software die KSV-Liste und den Bstatus-Wert vor und schreibt sie in den Avalon-MM Repeater Message-Port des Repeater-Upstreams (RX). Der RX leitet die Liste dann an den externen TX (Upstream) weiter. Andernfalls leitet er eine erneute Authentifizierung ein und deaktiviert die TX-Verschlüsselung.
4.3. Entwurfs-Komplettlösung
Einrichten und Ausführen des HDCP über HDMI-Designbeispielsample besteht aus fünf stages.
- Richten Sie die Hardware ein.
- Erstellen Sie das Design.
- Bearbeiten des HDCP-Schlüsselspeichers files, um Ihre HDCP-Produktionsschlüssel einzuschließen.
a. Einfache HDCP-Produktionsschlüssel im FPGA speichern (Support HDCP Key Management = 0)
b. Speichern Sie verschlüsselte HDCP-Produktionsschlüssel im externen Flash-Speicher oder EEPROM (Support HDCP Key Management = 1) - Erstellen Sie den Entwurf.
- View die Ergebnisse.
4.3.1. Einrichten der Hardware
Die erstentagDer Zweck der Demonstration besteht darin, die Hardware einzurichten.
Wenn SUPPORT FRL = 0, befolgen Sie diese Schritte, um die Hardware für die Demonstration einzurichten:
- Verbinden Sie die Bitec HDMI 2.0 FMC-Tochterkarte (Revision 11) mit dem Arria 10 GX-Entwicklungskit am FMC-Anschluss B.
- Verbinden Sie das Arria 10 GX-Entwicklungskit mithilfe eines USB-Kabels mit Ihrem PC.
- Verbinden Sie den HDMI RX-Anschluss der Bitec HDMI 2.0 FMC-Tochterkarte über ein HDMI-Kabel mit einem HDCP-fähigen HDMI-Gerät, beispielsweise einer Grafikkarte mit HDMI-Ausgang.
- Verbinden Sie ein weiteres HDMI-Kabel vom HDMI TX-Anschluss der Bitec HDMI 2.0 FMC-Tochterkarte mit einem HDCP-fähigen HDMI-Gerät, beispielsweise einem Fernseher mit HDMI-Eingang.
Wenn SUPPORT FRL = 1 ist, folgen Sie diesen Schritten, um die Hardware für die Demonstration:
- Verbinden Sie die Bitec HDMI 2.1 FMC-Tochterkarte (Revision 9) mit dem Arria 10 GX-Entwicklungskit am FMC-Anschluss B.
- Verbinden Sie das Arria 10 GX-Entwicklungskit mithilfe eines USB-Kabels mit Ihrem PC.
- Verbinden Sie ein HDMI 2.1 Kategorie 3-Kabel vom HDMI RX-Anschluss der Bitec HDMI 2.1 FMC-Tochterkarte mit einer HDCP-fähigen HDMI 2.1-Quelle, beispielsweise dem Quantum Data 980 48G Generator.
- Verbinden Sie ein weiteres HDMI 2.1 Kategorie 3 Kabel vom HDMI TX Anschluss der Bitec HDMI 2.1 FMC Tochterkarte mit einem HDCP-fähigen HDMI 2.1 Empfänger, wie z.B.
Quantum Data 980 48G-Analysator.
4.3.2. Entwurf generieren
Nachdem Sie die Hardware eingerichtet haben, müssen Sie das Design erstellen.
Bevor Sie beginnen, stellen Sie sicher, dass Sie die HDCP-Funktion in der Intel Quartus Prime Pro Edition-Software installieren.
- Klicken Sie auf Tools ➤ IP-Katalog und wählen Sie Intel Arria 10 als Zielgerätefamilie aus.
Notiz: Das HDCP-Design example unterstützt nur Intel Arria 10- und Intel Stratix® 10-Geräte. - Suchen Sie im IP-Katalog nach HDMI Intel FPGA IP und doppelklicken Sie darauf. Das Fenster „Neue IP-Variante“ wird angezeigt.
- Geben Sie einen Namen der obersten Ebene für Ihre benutzerdefinierte IP-Variation an. Der Parametereditor speichert die IP-Variationseinstellungen in a file namens .qsys oder .ip.
- OK klicken. Der Parametereditor erscheint.
- Konfigurieren Sie auf der Registerkarte „IP“ die gewünschten Parameter für TX und RX.
- Aktivieren Sie den Parameter „Support HDCP 1.4“ oder „Support HDCP 2.3“, um das HDCP-Design-Beispiel zu generieren.ample.
- Aktivieren Sie den Parameter „Support HDCP Key Management“, wenn Sie den HDCP-Produktionsschlüssel in einem verschlüsselten Format im externen Flash-Speicher oder EEPROM speichern möchten. Andernfalls deaktivieren Sie den Parameter „Support HDCP Key Management“, um den HDCP-Produktionsschlüssel im Klartextformat im FPGA zu speichern.
- Auf dem Design ExampWählen Sie auf der Registerkarte „Arria 10 HDMI RX-TX Retransmit“ aus.
- Wählen Sie Synthese, um das Hardware-Design zu generieren, z. B.ample.
- Für Generieren File Format: Wählen Sie Verilog oder VHDL.
- Wählen Sie für das Target Development Kit das Arria 10 GX FPGA Development Kit aus. Wenn Sie das Development Kit auswählen, ändert sich das Zielgerät (ausgewählt in Schritt 4), sodass es mit dem Gerät auf dem Development Kit übereinstimmt. Für das Arria 10 GX FPGA Development Kit ist das Standardgerät 10AX115S2F45I1SG.
- Klicken Sie auf Bsp generierenample Design zur Generierung des Projekts files und die Software Executable and Linking Format (ELF) Programmierung file.
4.3.3. HDCP-Produktionsschlüssel einschließen
4.3.3.1. Einfache HDCP-Produktionsschlüssel im FPGA speichern (Support HDCP Key Management = 0)
Nach der Erstellung des Designs bearbeiten Sie den HDCP-Schlüsselspeicher files, um Ihre Produktionsschlüssel einzuschließen.
Um die Produktionsschlüssel einzuschließen, befolgen Sie diese Schritte.
- Suchen Sie den folgenden Schlüsselspeicher files im /rtl/hdcp/-Verzeichnis:
• hdcp2x_tx_kmem.v
• hdcp2x_rx_kmem.v
• hdcp1x_tx_kmem.v
• hdcp1x_rx_kmem.v - Öffnen Sie die Datei hdcp2x_rx_kmem.v file und suchen Sie den vordefinierten Faxschlüssel R1 für das öffentliche Empfängerzertifikat und den privaten RX-Schlüssel und die globale Konstante, wie im Beispiel gezeigt.ampDateien unten.
Abbildung 31. Wire Array des Faxschlüssels R1 für das öffentliche Empfängerzertifikat
Abbildung 32. Wire Array des Faxschlüssels R1 für RX-Privatschlüssel und globale Konstante
- Suchen Sie den Platzhalter für die Produktionsschlüssel und ersetzen Sie ihn durch Ihre eigenen Produktionsschlüssel im jeweiligen Wire-Array im Big-Endian-Format.
Abbildung 33. Kabelarray der HDCP-Produktionsschlüssel (Platzhalter)
- Wiederholen Sie Schritt 3 für alle anderen Schlüsselspeicher files. Wenn Sie mit der Aufnahme Ihrer Produktionsschlüssel in alle Schlüsselspeicher fertig sind fileStellen Sie sicher, dass der Parameter USE_FACSIMILE beim Entwurf auf 0 gesetzt ist.ampdie oberste Ebene file (a10_hdmi2_demo.v)
4.3.3.1.1. HDCP-Schlüsselzuordnung vom DCP-Schlüssel Files
Im Folgenden wird die Zuordnung der im DCP-Schlüssel gespeicherten HDCP-Produktionsschlüssel beschrieben. files in das Kabelarray des HDCP kmem files.
4.3.3.1.2. hdcp1x_tx_kmem.v und hdcp1x_rx_kmem.v files
Für hdcp1x_tx_kmem.v und hdcp1x_rx_kmem.v files
- Diese beiden files haben dasselbe Format.
- So identifizieren Sie den richtigen HDCP1 TX DCP-Schlüssel file Stellen Sie für hdcp1x_tx_kmem.v sicher, dass die ersten 4 Bytes des file sind „0x01, 0x00, 0x00, 0x00“.
- So identifizieren Sie den richtigen HDCP1 RX DCP-Schlüssel file Stellen Sie für hdcp1x_rx_kmem.v sicher, dass die ersten 4 Bytes des file sind „0x02, 0x00, 0x00, 0x00“.
- Die Schlüssel im DCP-Schlüssel files sind im Little-Endian-Format. Zur Verwendung in kmem files, müssen Sie sie in Big-Endian konvertieren.
Abbildung 34. Byte-Mapping vom HDCP1 TX DCP-Schlüssel file in hdcp1x_tx_kmem.v
Notiz:
Die Bytenummer wird im folgenden Format angezeigt:
- Schlüsselgröße in Bytes * Schlüsselnummer + Bytenummer in der aktuellen Zeile + konstanter Offset + Zeilengröße in Bytes * Zeilennummer.
- 308*n gibt an, dass jeder Schlüsselsatz 308 Bytes hat.
- 7*y gibt an, dass jede Zeile 7 Bytes hat.
Abbildung 35. HDCP1 TX DCP-Schlüssel file Auffüllen mit Junk-Werten
Abbildung 36. Wire Arrays von hdcp1x_tx_kmem.v
Example von hdcp1x_tx_kmem.v und wie seine Wire-Arrays auf die Ex abgebildet werdenamplinke Seite des HDCP1 TX DCP-Schlüssels file in Abbildung 35 auf Seite 105.
4.3.3.1.3. hdcp2x_rx_kmem.v file
Für hdcp2x_rx_kmem.v file
- So identifizieren Sie den richtigen HDCP2 RX DCP-Schlüssel file Stellen Sie für hdcp2x_rx_kmem.v sicher, dass die ersten 4 Bytes des file sind „0x00, 0x00, 0x00, 0x02“.
- Die Schlüssel im DCP-Schlüssel files sind im Little-Endian-Format.
Abbildung 37. Byte-Mapping vom HDCP2 RX DCP-Schlüssel file in hdcp2x_rx_kmem.v
Die folgende Abbildung zeigt die genaue Bytezuordnung vom HDCP2 RX DCP-Schlüssel file in hdcp2x_rx_kmem.v.
Notiz:
Die Bytenummer wird im folgenden Format angezeigt:
- Schlüsselgröße in Bytes * Schlüsselnummer + Bytenummer in der aktuellen Zeile + konstanter Offset + Zeilengröße in Bytes * Zeilennummer.
- 862*n gibt an, dass jeder Schlüsselsatz 862 Bytes hat.
- 16*y gibt an, dass jede Zeile 16 Bytes hat. Es gibt eine Ausnahme in cert_rx_prod, wo Zeile 32 nur 10 Bytes hat.
Abbildung 38. HDCP2 RX DCP-Schlüssel file Auffüllen mit Junk-Werten
Abbildung 39. Wire Arrays von hdcp2x_rx_kmem.v
Diese Abbildung zeigt die Wire-Arrays für hdcp2x_rx_kmem.v (cert_rx_prod, kprivrx_qinv_prod und lc128_prod) zum Examplinke Seite des HDCP2 RX DCP-Schlüssels file in
Abbildung 38 auf Seite 108.
4.3.3.1.4. hdcp2x_tx_kmem.v file
Für hdcp2x_tx_kmem.v file:
- So identifizieren Sie den richtigen HDCP2 TX DCP-Schlüssel file Stellen Sie für hdcp2x_tx_kmem.v sicher, dass die ersten 4 Bytes des file sind „0x00, 0x00, 0x00, 0x01“.
- Die Schlüssel im DCP-Schlüssel files sind im Little-Endian-Format.
- Alternativ können Sie lc128_prod aus hdcp2x_rx_kmem.v direkt in hdcp2x_tx_kmem.v anwenden. Die Schlüssel haben dieselben Werte.
Abbildung 40. Drahtarray von hdcp2x_tx_kmem.v
Diese Abbildung zeigt die genaue Bytezuordnung vom HDCP2 TX DCP-Schlüssel file in hdcp2x_tx_kmem.v.
4.3.3.2. Speichern Sie verschlüsselte HDCP-Produktionsschlüssel im externen Flash-Speicher oder EEPROM (unterstützt HDCP-Schlüsselverwaltung = 1)
Abbildung 41. Hoher Pegel überview des HDCP-Schlüsselmanagements
Wenn der Parameter „Support HDCP Key Management“ aktiviert ist, behalten Sie die Kontrolle über die Verschlüsselung des HDCP-Produktionsschlüssels, indem Sie das von Intel bereitgestellte Schlüsselverschlüsselungs-Softwaredienstprogramm (KEYENC) und das Schlüsselprogrammierdesign verwenden. Sie müssen die HDCP-Produktionsschlüssel und einen 128-Bit-HDCP-Schutzschlüssel bereitstellen. Der HDCP-Schutzschlüssel
verschlüsselt den HDCP-Produktionsschlüssel und speichert den Schlüssel im externen Flash-Speicher (z. B.ample, EEPROM) auf der HDMI-Tochterkarte.
Aktivieren Sie den Parameter „Support HDCP Key Management“ (HDCP-Schlüsselverwaltung unterstützen), und die Schlüsselentschlüsselungsfunktion (KEYDEC) wird in den HDCP-IP-Kernen verfügbar. Derselbe HDCP-Schutz
Der Schlüssel sollte im KEYDEC verwendet werden, um die HDCP-Produktionsschlüssel zur Laufzeit für Verarbeitungsmaschinen abzurufen. KEYENC und KEYDEC unterstützen serielles Atmel AT24CS32 32-Kbit-EEPROM, serielles Atmel AT24C16A 16-Kbit-EEPROM und kompatible I2C-EEPROM-Geräte mit mindestens 16-Kbit-ROM-Größe.
Notiz:
- Stellen Sie bei der HDMI 2.0 FMC-Tochterkarte Revision 11 sicher, dass das EEPROM auf der Tochterkarte Atmel AT24CS32 ist. Auf der Bitec HDMI 2.0 FMC-Tochterkarte Revision 11 werden zwei verschiedene EEPROM-Größen verwendet.
- Wenn Sie zuvor KEYENC zum Verschlüsseln der HDCP-Produktionsschlüssel verwendet und die Unterstützung für HDCP-Schlüsselverwaltung in Version 21.2 oder früher aktiviert haben, müssen Sie die HDCP-Produktionsschlüssel mit dem KEYENC-Softwaredienstprogramm erneut verschlüsseln und die HDCP-IPs aus Version 21.3 neu generieren.
ab.
4.3.3.2.1. Intel KEYENC
KEYENC ist ein Befehlszeilenprogramm, mit dem Intel die HDCP-Produktionsschlüssel mit einem von Ihnen bereitgestellten 128-Bit-HDCP-Schutzschlüssel verschlüsselt. KEYENC gibt verschlüsselte HDCP-Produktionsschlüssel in Hex- oder Binär- oder Header-Format aus. file Format. KEYENC generiert auch mif file enthält Ihren bereitgestellten 128-Bit-HDCP-Schutzschlüssel. KEYDEC
erfordert die mif file.
Systemanforderungen:
- x86 64-Bit-Maschine mit Windows 10-Betriebssystem
- Visual C++ Redistributable-Paket für Visual Studio 2019 (x64)
Notiz:
Sie müssen Microsoft Visual C++ für VS 2019 installieren. Sie können unter Windows ➤ Systemsteuerung ➤ Programme und Funktionen überprüfen, ob Visual C++ Redistributable installiert ist. Wenn Microsoft Visual C++ installiert ist, sehen Sie Visual C++ xxxx
Weiterverteilbar (x64). Andernfalls können Sie Visual C++ herunterladen und installieren
Weiterverteilbar von Microsoft webWebsite. Den Download-Link finden Sie in den zugehörigen Informationen.
Tabelle 55. KEYENC-Befehlszeilenoptionen
Befehlszeilenoptionen | Argument/Beschreibung |
-k | <HDCP protection key file> Text file enthält nur den 128-Bit-HDCP-Schutzschlüssel in Hexadezimalzahl. Beispielample: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff |
-hdcp1tx | <HDCP 1.4 TX production keys file> HDCP 1.4 Sender-Produktionsschlüssel file von DCP (.bin file) |
-hdcp1rx | <HDCP 1.4 RX production keys file> HDCP 1.4-Receiver-Produktionsschlüssel file von DCP (.bin file) |
-hdcp2tx | <HDCP 2.3 TX production keys file> HDCP 2.3 Sender-Produktionsschlüssel file von DCP (.bin file) |
-hdcp2rx | <HDCP 2.3 RX production keys file> HDCP 2.3-Receiver-Produktionsschlüssel file von DCP (.bin file) |
-hdcp1txkeys | Geben Sie den Tonumfang für die ausgewählte Eingabe an (.bin). files -hdcp1txkeys|hdcp1rxkeys|hdcp2rxkeys nm wobei n = Tastenanfang (1 oder >1) m = Tastenende (n oder >n) Exampauf: Wählen Sie 1 bis 1000 Schlüssel aus jedem HDCP 1.4 TX, HDCP 1.4 RX und HCDP 2.3 RX-Produktionsschlüssel file. „-hdcp1txkeys 1-1000 -hdcp1rxkeys 1-1000 -hdcp2rxkeys 1-1000“ |
-hdcp1rxkeys | |
-hdcp2rxkeys | |
Fortsetzung… |
Befehlszeilenoptionen | Argument/Beschreibung |
Notiz: 1. Wenn Sie keine HDCP-Produktionsschlüssel verwenden file, benötigen Sie den HDCP-Schlüsselbereich nicht. Wenn Sie das Argument in der Befehlszeile nicht verwenden, ist der Standardschlüsselbereich 0. 2. Sie können auch einen anderen Index der Schlüssel für HDCP-Produktionsschlüssel auswählen file. Die Anzahl der Schlüssel muss jedoch mit den ausgewählten Optionen übereinstimmen. Example: Wählen Sie verschiedene 100 Schlüssel Wählen Sie die ersten 100 Schlüssel aus den HDCP 1.4 TX-Produktionsschlüsseln aus file „-hdcp1txkeys 1-100“ Wählen Sie die Schlüssel 300 bis 400 für HDCP 1.4 RX-Produktionsschlüssel file „-hdcp1rxkeys 300-400“ Wählen Sie die Schlüssel 600 bis 700 für HDCP 2.3 RX-Produktionsschlüssel file „-hdcp2rxkeys 600-700“ |
|
-o | Ausgabe file Format . Standard ist Hex file. Generieren Sie verschlüsselte HDCP-Produktionsschlüssel im Binärformat file Format: -o bin Generieren Sie verschlüsselte HDCP-Produktionsschlüssel in Hex file Format: -o hex Verschlüsselte HDCP-Produktionsschlüssel im Header generieren file Format: -oh |
–Schlüssel überprüfen | Anzahl der in der Eingabe verfügbaren Tasten drucken fileS. Exampauf: |
keyenc.exe -hdcp1tx file> -hdcp1rx <HDCP 1.4 RX production keys file> -hdcp2tx file> -hdcp2rx file> –Schlüssel überprüfen |
|
Notiz: Verwenden Sie den Parameter –check-keys am Ende der Befehlszeile, wie im obigen Beispiel beschrieben.ample. | |
-Version | KEYENC-Versionsnummer drucken |
Sie können selektiv HDCP 1.4- und/oder HDCP 2.3-Produktionsschlüssel zur Verschlüsselung auswählen. Zum BeispielampUm nur HDCP 2.3 RX-Produktionsschlüssel zum Verschlüsseln zu verwenden, verwenden Sie nur -hdcp2rx
<HDCP 2.3 RX production keys file> -hdcp2rxkeys in Kommandozeilenparametern.
Tabelle 56. KEYENC-Richtlinie zu häufigen Fehlermeldungen
Fehlermeldung | Richtlinie |
FEHLER: HDCP-Schutzschlüssel file fehlen | Fehlender Kommandozeilenparameter -k file> |
FEHLER: Der Schlüssel sollte aus 32 Hexadezimalziffern bestehen (z. B. f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff). | HDCP-Schutzschlüssel file sollte nur den HDCP-Schutzschlüssel in 32 Hexadezimalziffern enthalten. |
FEHLER: Bitte geben Sie den Tonumfang an | Für die angegebenen HDCP-Produktionsschlüssel ist kein Schlüsselbereich angegeben. file. |
FEHLER: Ungültiger Schlüsselbereich | Der für -hdcp1txkeys oder -hdcp1rxkeys oder -hdcp2rxkeys angegebene Schlüsselbereich ist nicht korrekt. |
FEHLER: kann nicht erstellt werdenFileName> | Überprüfen Sie die Ordnerberechtigung, während keyenc.exe ausgeführt wird. |
FEHLER: -hdcp1txkeys-Eingabe ist ungültig | Das Format des Eingabeschlüsselbereichs für HDCP 1.4 TX-Produktionsschlüssel ist ungültig. Das korrekte Format ist „-hdcp1txkeys nm“, wobei n >= 1, m >= n |
FEHLER: -hdcp1rxkeys-Eingabe ist ungültig | Das Format des Eingabeschlüsselbereichs für HDCP 1.4 RX-Produktionsschlüssel ist ungültig. Das korrekte Format ist „-hdcp1rxkeys nm“, wobei n >= 1, m >= n |
FEHLER: -hdcp2rxkeys-Eingabe ist ungültig | Das Format des Eingabeschlüsselbereichs für HDCP 2.3 RX-Produktionsschlüssel ist ungültig. Das korrekte Format ist „-hdcp2rxkeys nm“, wobei n >= 1, m >= n |
Fortsetzung… |
Fehlermeldung | Richtlinie |
FEHLER: Ungültig file <fileName> | Ungültige HDCP-Produktionsschlüssel file. |
FEHLER: file Typ fehlt für Option -o | Kommandozeilenparameter für –o fehlt . |
FEHLER: ungültig fileName -fileName> | <filename> ist ungültig, bitte verwenden Sie den gültigen fileName ohne Sonderzeichen. |
Einzelnen Schlüssel für einzelnes EEPROM verschlüsseln
Führen Sie die folgende Befehlszeile in der Windows-Eingabeaufforderung aus, um einen einzelnen Schlüssel von HDCP 1.4 TX, HDCP 1.4 RX, HDCP 2.3 TX und HDCP 2.3 RX mit Ausgabe zu verschlüsseln file Format des Headers file für einzelnes EEPROM:
keyenc.exe -k file> -hdcp1tx file> -hdcp1rx file> -hdcp2tx file> -hdcp2rx file> -hdcp1txkeys 1-1 -hdcp1rxkeys 1-1 -hdcp2rxkeys 1-1 -oh
N Schlüssel für N EEPROMs verschlüsseln
Führen Sie die folgende Befehlszeile in der Windows-Eingabeaufforderung aus, um N Schlüssel (beginnend mit Schlüssel 1) von HDCP 1.4 TX, HDCP 1.4 RX, HDCP 2.3 TX und HDCP 2.3 RX mit Ausgabe zu verschlüsseln file Format von Hex file für N EEPROMs:
keyenc.exe -k file> -hdcp1tx file> -hdcp1rx file> -hdcp2tx file> -hdcp2rx file> -hdcp1txkeys 1 -hdcp1rxkeys 1- -hdcp2rxkeys 1- -o hex, wobei N >= 1 ist und für alle Optionen gelten sollte.
Zugehörige Informationen
Microsoft Visual C++ für Visual Studio 2019
Stellt das Microsoft Visual C++ x86 Redistributable-Paket (vc_redist.x86.exe) zum Download bereit. Wenn sich der Link ändert, empfiehlt Intel, in der Microsoft-Suchmaschine nach „Visual C++ Redistributable“ zu suchen.
4.3.3.2.2. Schlüsselprogrammierer
Um die verschlüsselten HDCP-Produktionsschlüssel auf das EEPROM zu programmieren, gehen Sie folgendermaßen vor:
- Kopieren Sie das Schlüsselprogrammierer-Design files vom folgenden Pfad zu Ihrem Arbeitsverzeichnis: /hdcp2x/hw_demo/Schlüsselprogrammierer/
- Kopieren des Software-Headers file (hdcp_Schlüssel .h), die vom Software-Dienstprogramm KEYENC (Abschnitt „Einzelnen Schlüssel für einzelnen EEPROM verschlüsseln“ auf Seite 113) generiert wurde, in das Verzeichnis software/key_programmer_src/ und benennen Sie sie in hdcp_key.h um.
- Führen Sie ./runall.tcl aus. Dieses Skript führt die folgenden Befehle aus:
• IP-Katalog generieren files
• Generieren Sie das Platform Designer-System
• Erstellen Sie ein Intel Quartus Prime-Projekt
• Erstellen Sie einen Software-Arbeitsbereich und entwickeln Sie die Software
• Führen Sie eine vollständige Kompilierung durch - Laden Sie das Softwareobjekt herunter File (.sof) zum FPGA, um die verschlüsselten HDCP-Produktionsschlüssel auf das EEPROM zu programmieren.
Generieren Sie das Stratix 10 HDMI RX-TX Retransmit Design exampDatei mit aktivierten Parametern „Support HDCP 2.3“ und „Support HDCP 1.4“ und führen Sie dann die folgenden Schritte aus, um den HDCP-Schutzschlüssel einzuschließen.
- Kopieren Sie die MIF file (hdcp_kmem.mif) generiert aus dem KEYENC Software-Dienstprogramm (Abschnitt Encrypt Single Key for Single EEPROM auf Seite 113) an die /quartus/hdcp/-Verzeichnis.
4.3.4. Kompilieren des Designs
Nachdem Sie Ihre eigenen einfachen HDCP-Produktionsschlüssel in das FPGA aufgenommen oder die verschlüsselten HDCP-Produktionsschlüssel in das EEPROM programmiert haben, können Sie nun das Design kompilieren.
- Starten Sie die Intel Quartus Prime Pro Edition Software und öffnen Sie /quartus/a10_hdmi2_demo.qpf.
- Klicken Sie auf Verarbeitung ➤ Kompilierung starten.
4.3.5. View die Ergebnisse
Am Ende der Demonstration können Sie view die Ergebnisse auf dem externen HDCP-fähigen HDMI-Senk.
Zu view Um die Ergebnisse der Demonstration zu sehen, gehen Sie folgendermaßen vor:
- Schalten Sie die Intel FPGA-Platine ein.
- Wechseln Sie in das Verzeichnis /quartus/.
- Geben Sie den folgenden Befehl in die Nios II-Befehlsshell ein, um das Softwareobjekt herunterzuladen File (.sof) zum FPGA. nios2-configure-sof output_fileS/ .sof
- Schalten Sie die externe HDMI-Quelle und den externen HDMI-Senk mit HDCP-Unterstützung ein (falls Sie dies noch nicht getan haben). Der externe HDMI-Senk zeigt die Ausgabe Ihrer externen HDMI-Quelle an.
4.3.5.1. Drucktasten und LED-Funktionen
Nutzen Sie zur Steuerung Ihrer Demonstration die Drucktasten und LED-Funktionen auf der Platine.
Tabelle 57. Drucktasten und LED-Anzeigen (SUPPORT FRL = 0)
Drucktaster/LED | Funktionen |
cpu_resetn | Einmal drücken, um einen Systemreset durchzuführen. |
Benutzer_pb[0] | Einmal drücken, um das HPD-Signal auf die Standard-HDMI-Quelle umzuschalten. |
Benutzer_pb[1] | • Gedrückt halten, um den TX-Kern anzuweisen, das DVI-codierte Signal zu senden. • Loslassen, um das HDMI-codierte Signal zu senden. • Stellen Sie sicher, dass das eingehende Video im 8-Bit-RGB-Farbraum vorliegt. |
Benutzer_pb[2] | • Drücken und halten, um den TX-Kern anzuweisen, das Senden der InfoFrames aus den Seitenbandsignalen zu beenden. • Lassen Sie die Taste los, um das Senden der InfoFrames aus den Seitenbandsignalen fortzusetzen. |
benutzergeführt[0] | RX HDMI PLL-Sperrstatus. • 0: Entsperrt • 1: Gesperrt |
benutzergeführt[1] | RX HDMI-Kernsperrstatus • 0: Mindestens 1 Kanal freigeschaltet • 1: Alle 3 Kanäle gesperrt |
benutzergeführt[2] | RX HDCP1x IP-Entschlüsselungsstatus. • 0: Inaktiv • 1: Aktiv |
benutzergeführt[3] | RX HDCP2x IP-Entschlüsselungsstatus. • 0: Inaktiv • 1: Aktiv |
benutzergeführt[4] | TX HDMI PLL-Sperrstatus. • 0: Entsperrt • 1: Gesperrt |
benutzergeführt[5] | PLL-Sperrstatus des TX-Transceivers. • 0: Entsperrt • 1: Gesperrt |
benutzergeführt[6] | TX HDCP1x IP-Verschlüsselungsstatus. • 0: Inaktiv • 1: Aktiv |
benutzergeführt[7] | TX HDCP2x IP-Verschlüsselungsstatus. • 0: Inaktiv • 1: Aktiv |
Tabelle 58. Drucktasten und LED-Anzeigen (SUPPORT FRL = 1)
Drucktaster/LED | Funktionen |
cpu_resetn | Einmal drücken, um einen Systemreset durchzuführen. |
Benutzer_dipsw | Benutzerdefinierter DIP-Schalter zum Umschalten des Passthrough-Modus. • AUS (Standardposition) = Passthrough HDMI RX auf dem FPGA erhält die EDID vom externen Senke und präsentiert sie der externen Quelle, mit der es verbunden ist. • EIN = Sie können die maximale RX-FRL-Rate vom Nios II-Terminal aus steuern. Der Befehl ändert die RX-EDID, indem er den Wert der maximalen FRL-Rate manipuliert. Siehe Ausführen des Designs mit unterschiedlichen FRL-Raten auf Seite 33. |
Fortsetzung… |
Drucktaster/LED | Funktionen |
Benutzer_pb[0] | Einmal drücken, um das HPD-Signal auf die Standard-HDMI-Quelle umzuschalten. |
Benutzer_pb[1] | Reserviert. |
Benutzer_pb[2] | Drücken Sie einmal, um die SCDC-Register vom Sink zu lesen, der mit dem TX der Bitec HDMI 2.1 FMC-Tochterkarte verbunden ist. Notiz: Um das Lesen zu aktivieren, müssen Sie DEBUG_MODE in der Software auf 1 setzen. |
Benutzer_led_g[0] | PLL-Sperrstatus des RX-FRL-Takts. • 0: Entsperrt • 1: Gesperrt |
Benutzer_led_g[1] | RX HDMI-Videosperrstatus. • 0: Entsperrt • 1: Gesperrt |
Benutzer_led_g[2] | RX HDCP1x IP-Entschlüsselungsstatus. • 0: Inaktiv • 1: Aktiv |
Benutzer_led_g[3] | RX HDCP2x IP-Entschlüsselungsstatus. • 0: Inaktiv • 1: Aktiv |
Benutzer_led_g[4] | TX FRL-Takt PLL-Sperrstatus. • 0: Entsperrt • 1: Gesperrt |
Benutzer_led_g[5] | TX HDMI-Video-Sperrstatus. • 0 = Entsperrt • 1 = Gesperrt |
Benutzer_led_g[6] | TX HDCP1x IP-Verschlüsselungsstatus. • 0: Inaktiv • 1: Aktiv |
Benutzer_led_g[7] | TX HDCP2x IP-Verschlüsselungsstatus. • 0: Inaktiv • 1: Aktiv |
4.4. Schutz des im FPGA-Design eingebetteten Verschlüsselungsschlüssels
Viele FPGA-Designs implementieren Verschlüsselung und es besteht häufig die Notwendigkeit, geheime Schlüssel in den FPGA-Bitstream einzubetten. In neueren Gerätefamilien wie Intel Stratix 10 und Intel Agilex gibt es einen Secure Device Manager-Block, der diese geheimen Schlüssel sicher bereitstellen und verwalten kann. Wo diese Funktionen nicht vorhanden sind, können Sie den Inhalt des FPGA-Bitstreams, einschließlich aller eingebetteten geheimen Benutzerschlüssel, durch Verschlüsselung sichern.
Die Benutzerschlüssel sollten in Ihrer Designumgebung sicher aufbewahrt und idealerweise mithilfe eines automatisierten, sicheren Prozesses zum Design hinzugefügt werden. Die folgenden Schritte zeigen, wie Sie einen solchen Prozess mit Intel Quartus Prime-Tools implementieren können.
- Entwickeln und optimieren Sie das HDL in Intel Quartus Prime in einer nicht sicheren Umgebung.
- Übertragen Sie das Design in eine sichere Umgebung und implementieren Sie einen automatisierten Prozess zum Aktualisieren des geheimen Schlüssels. Der On-Chip-Speicher bettet den Schlüsselwert ein. Wenn der Schlüssel aktualisiert wird, wird der Speicher initialisiert. file (.mif) kann sich ändern und der Assemblerfluss „quartus_cdb –update_mif“ kann den HDCP-Schutzschlüssel ändern, ohne dass er neu kompiliert werden muss. Dieser Schritt ist sehr schnell auszuführen und behält das ursprüngliche Timing bei.
- Der Intel Quartus Prime-Bitstream wird dann mit dem FPGA-Schlüssel verschlüsselt, bevor der verschlüsselte Bitstream zur abschließenden Prüfung und Bereitstellung zurück in die nicht sichere Umgebung übertragen wird.
Es wird empfohlen, alle Debug-Zugriffe zu deaktivieren, die den geheimen Schlüssel vom FPGA wiederherstellen können. Sie können die Debug-Funktionen vollständig deaktivieren, indem Sie die JTAG Port oder selektiv deaktivieren und erneutview dass keine Debug-Funktionen wie der systeminterne Speichereditor oder Signal Tap den Schlüssel wiederherstellen können. Weitere Informationen zur Verwendung von FPGA-Sicherheitsfunktionen, einschließlich spezifischer Schritte zum Verschlüsseln des FPGA-Bitstreams und zum Konfigurieren von Sicherheitsoptionen wie dem Deaktivieren von J finden Sie unter AN 556: Verwenden der Design-Sicherheitsfunktionen in Intel FPGAs.TAG Zugang.
Notiz:
Sie können den zusätzlichen Schritt der Verschleierung oder Verschlüsselung mit einem weiteren Schlüssel des geheimen Schlüssels im MIF-Speicher in Betracht ziehen.
Zugehörige Informationen
AN 556: Verwenden der Design-Sicherheitsfunktionen in Intel FPGAs
4.5. Sicherheitsüberlegungen
Beachten Sie bei der Verwendung der HDCP-Funktion die folgenden Sicherheitsaspekte.
- Beim Entwurf eines Repeatersystems müssen Sie unter folgenden Bedingungen verhindern, dass das empfangene Video in die TX-IP gelangt:
— Wenn das empfangene Video HDCP-verschlüsselt ist (d. h. der Verschlüsselungsstatus hdcp1_enabled oder hdcp2_enabled von der RX-IP wird bestätigt) und das übertragene Video nicht HDCP-verschlüsselt ist (d. h. der Verschlüsselungsstatus hdcp1_enabled oder hdcp2_enabled von der TX-IP wird nicht bestätigt).
— Wenn das empfangene Video HDCP TYPE 1 ist (d. h. streamid_type von der RX-IP wird bestätigt) und das übertragene Video HDCP 1.4-verschlüsselt ist (d. h. Verschlüsselungsstatus hdcp1_enabled von der TX-IP wird bestätigt) - Sie sollten die Vertraulichkeit und Integrität Ihrer HDCP-Produktionsschlüssel und aller Benutzerverschlüsselungsschlüssel wahren.
- Intel empfiehlt Ihnen dringend, alle Intel Quartus Prime Projekte und Design-Source files, die Verschlüsselungsschlüssel in einer sicheren Computerumgebung enthalten, um die Schlüssel zu schützen.
- Intel empfiehlt dringend, die Design-Sicherheitsfunktionen in FPGAs zu verwenden, um das Design, einschließlich aller eingebetteten Verschlüsselungsschlüssel, vor unbefugtem Kopieren, Reverse Engineering und t zu schützen.ampRing.
Zugehörige Informationen
AN 556: Verwenden der Design-Sicherheitsfunktionen in Intel FPGAs
4.6. Debug-Richtlinien
In diesem Abschnitt werden die nützlichen HDCP-Statussignale und Softwareparameter beschrieben, die zum Debuggen verwendet werden können. Außerdem enthält er häufig gestellte Fragen (FAQ) zum Ausführen des Designbeispiels.ample.
4.6.1. HDCP-Statussignale
Es gibt mehrere Signale, die nützlich sind, um den Betriebszustand der HDCP-IP-Kerne zu identifizieren. Diese Signale sind im Design-Ex verfügbarample oberster Ebene und sind an die integrierten LEDs gebunden:
Signalname | Funktion |
hdcp1_enabled_rx | RX HDCP1x IP-Entschlüsselungsstatus 0: Inaktiv 1: Aktiv |
hdcp2_enabled_rx | RX HDCP2x IP-Entschlüsselungsstatus 0: Inaktiv 1: Aktiv |
hdcp1_enabled_tx | TX HDCP1x IP-Verschlüsselungsstatus 0: Inaktiv 1: Aktiv |
hdcp2_enabled_tx | TX HDCP2x IP-Verschlüsselungsstatus 0: Inaktiv 1: Aktiv |
Informationen zur jeweiligen LED-Platzierung finden Sie in Tabelle 57 auf Seite 115 und Tabelle 58 auf Seite 115.
Der aktive Zustand dieser Signale zeigt an, dass die HDCP-IP authentifiziert ist und verschlüsselte Videostreams empfängt/sendet. Für jede Richtung nur HDCP1x oder HDCP2x
Verschlüsselungs-/Entschlüsselungsstatussignale sind aktiv. Zum BeispielampWenn also entweder hdcp1_enabled_rx oder hdcp2_enabled_rx aktiv ist, wird HDCP auf der RX-Seite aktiviert und entschlüsselt den verschlüsselten Videostream von der externen Videoquelle.
4.6.2. Ändern der HDCP-Softwareparameter
Um den HDCP-Debugging-Prozess zu erleichtern, können Sie die Parameter in hdcp.c ändern.
Die folgende Tabelle fasst die Liste der konfigurierbaren Parameter und ihrer Funktionen zusammen.
Parameter | Funktion |
UNTERSTÜTZUNG_HDCP1X | Aktivieren Sie HDCP 1.4 auf der TX-Seite |
UNTERSTÜTZUNG_HDCP2X | Aktivieren Sie HDCP 2.3 auf der TX-Seite |
DEBUG_MODE_HDCP | Aktivieren Sie Debug-Meldungen für TX HDCP |
REPEATER_MODE | Aktivieren Sie den Repeater-Modus für HDCP-Design, z. B.ample |
Um die Parameter zu ändern, ändern Sie die Werte in hdcp.c auf die gewünschten Werte. Nehmen Sie vor dem Beginn der Kompilierung die folgende Änderung in build_sw_hdcp.sh vor:
- Suchen Sie die folgende Zeile und kommentieren Sie sie aus, um zu verhindern, dass die geänderte file wird durch das Original ersetzt files aus dem Installationspfad der Intel Quartus Prime-Software.
- Führen Sie „./build_sw_hdcp.sh“ aus, um die aktualisierte Software zu kompilieren.
- Die generierte .elf file kann auf zwei Arten in das Design integriert werden:
a. Führen Sie „nios2-download -g“ aus. file Name>“. Setzen Sie das System nach Abschluss des Downloadvorgangs zurück, um die ordnungsgemäße Funktionalität sicherzustellen.
b. Führen Sie „quartus_cdb –-update_mif“ aus, um die Speicherinitialisierung zu aktualisieren files. Führen Sie Assembler aus, um eine neue SOF-Datei zu generieren file welches die aktualisierte Software enthält.
4.6.3. Häufig gestellte Fragen (FAQ)
Tabelle 59. Fehlersymptome und Richtlinien
Nummer | Fehlersymptom | Richtlinie |
1. | Der RX empfängt verschlüsseltes Video, aber der TX sendet ein statisches Video in Blau oder Schwarz. | Dies liegt an der erfolglosen TX-Authentifizierung mit externem Sink. Ein HDCP-fähiger Repeater darf das Video nicht unverschlüsselt übertragen, wenn das eingehende Video vom Upstream verschlüsselt ist. Um dies zu erreichen, ersetzt ein statisches Video in blauer oder schwarzer Farbe das ausgehende Video, wenn das TX-HDCP-Verschlüsselungsstatussignal inaktiv ist, während das RX-HDCP-Entschlüsselungsstatussignal aktiv ist. Genauere Richtlinien finden Sie unter Sicherheitsüberlegungen auf Seite 117. Dieses Verhalten kann jedoch den Debugging-Prozess bei der Aktivierung des HDCP-Designs behindern. Nachfolgend finden Sie die Methode zum Deaktivieren der Videoblockierung im Design-Beispielampauf: 1. Suchen Sie die folgende Portverbindung auf der obersten Ebene des Entwurfsbeispielsample. Dieser Port gehört zum Modul hdmi_tx_top. 2. Ändern Sie die Portverbindung in die folgende Zeile: |
2. | Das TX-HDCP-Verschlüsselungsstatussignal ist aktiv, aber am Downstream-Sink wird ein Schneebild angezeigt. | Dies liegt daran, dass der Downstream-Sink das ausgehende verschlüsselte Video nicht richtig entschlüsselt. Stellen Sie sicher, dass Sie der TX HDCP IP die globale Konstante (LC128) bereitstellen. Der Wert muss dem Produktionswert entsprechen und korrekt sein. |
3. | Das TX HDCP-Verschlüsselungsstatussignal ist instabil oder immer inaktiv. | Dies liegt an der fehlgeschlagenen TX-Authentifizierung mit Downstream-Sink. Um den Debugging-Prozess zu erleichtern, können Sie die DEBUG_MODE_HDCP Parameter in hdcp.c. Siehe Ändern der HDCP-Softwareparameter auf Seite 118 zu den Richtlinien. Die folgenden 3a-3c könnten die möglichen Ursachen für eine fehlgeschlagene TX-Authentifizierung sein. |
3a. | Das Software-Debugprotokoll druckt ständig die Meldung „HDCP 1.4 wird vom Downstream (Rx) nicht unterstützt“ aus. | Die Meldung zeigt an, dass der Downstream-Sink weder HDCP 2.3 noch HDCP 1.4 unterstützt. Stellen Sie sicher, dass der Downstream-Sink HDCP 2.3 oder HDCP 1.4 unterstützt. |
3b. | Die TX-Authentifizierung schlägt auf halbem Weg fehl. | Dies liegt daran, dass Teile der TX-Authentifizierung, wie Signaturüberprüfung, Lokalitätsprüfung usw., fehlschlagen können. Stellen Sie sicher, dass der Downstream-Sink den Produktionsschlüssel und nicht den Faxschlüssel verwendet. |
3c. | Das Software-Debug-Protokoll druckt ständig „Neue Authentifizierung | Diese Meldung zeigt an, dass der Downstream-Sink eine erneute Authentifizierung angefordert hat, da das empfangene Video nicht korrekt entschlüsselt wurde. Stellen Sie sicher, dass Sie der TX HDCP IP die globale Konstante (LC128) bereitstellen. Der Wert muss der Produktionswert sein und der Wert ist korrekt. |
Fortsetzung… |
Nummer | Fehlersymptom | Richtlinie |
ist erforderlich“, nachdem die HDCP-Authentifizierung abgeschlossen ist. | ||
4. | Das RX-HDCP-Entschlüsselungsstatussignal ist inaktiv, obwohl die Upstream-Quelle HDCP aktiviert hat. | Dies zeigt an, dass die RX HDCP IP den authentifizierten Status nicht erreicht hat. Standardmäßig ist die REPEATER_MODE Der Parameter ist im Design aktiviert, z. B.ampWenn die REPEATER_MODE aktiviert ist, stellen Sie sicher, dass die TX HDCP IP authentifiziert ist.
Wenn das REPEATER_MODE Parameter aktiviert ist, versucht die RX HDCP IP die Authentifizierung als Repeater, wenn der TX mit einem HDCP-fähigen Sink verbunden ist. Die Authentifizierung wird auf halbem Weg angehalten, während darauf gewartet wird, dass die TX HDCP IP die Authentifizierung mit dem Downstream-Sink abschließt und die RECEIVERID_LIST an die RX HDCP IP übergibt. Das Timeout beträgt gemäß der HDCP-Spezifikation 2 Sekunden. Wenn die TX HDCP IP die Authentifizierung in diesem Zeitraum nicht abschließen kann, behandelt die Upstream-Quelle die Authentifizierung als fehlgeschlagen und leitet eine erneute Authentifizierung gemäß der HDCP-Spezifikation ein. |
Notiz: • Beziehen auf Ändern der HDCP-Softwareparameter auf Seite 118 für die Methode zum Deaktivieren der REPEATER_MODE Parameter für Debugging-Zwecke. Nach dem Deaktivieren des REPEATER_MODE Parameter: Die RX HDCP IP versucht immer, sich als Endpunktempfänger zu authentifizieren. Die TX HDCP IP steuert den Authentifizierungsprozess nicht. | ||
• Wenn die REPEATER_MODE Der Parameter ist nicht aktiviert. Stellen Sie sicher, dass der der HDCP-IP bereitgestellte HDCP-Schlüssel der Produktionswert ist und der Wert korrekt ist. | ||
5. | Das RX HDCP-Entschlüsselungsstatussignal ist instabil. | Dies bedeutet, dass die RX HDCP IP eine erneute Authentifizierung angefordert hat, gleich nachdem der authentifizierte Status erreicht wurde. Dies liegt wahrscheinlich daran, dass das eingehende verschlüsselte Video von der RX HDCP IP nicht richtig entschlüsselt wird. Stellen Sie sicher, dass die dem RX HDCP IP-Kern bereitgestellte globale Konstante (LC128) ein Produktionswert ist und der Wert korrekt ist. |
HDMI Intel Arria 10 FPGA IP Design Example Archiv des Benutzerhandbuchs
Die neuesten und vorherigen Versionen dieses Benutzerhandbuchs finden Sie unter HDMI Intel® Arria 10 FPGA IP Design Example Benutzerhandbuch. Wenn eine IP- oder Softwareversion nicht aufgeführt ist, gilt das Benutzerhandbuch für die vorherige IP- oder Softwareversion.
IP-Versionen sind die gleichen wie die Intel Quartus Prime Design Suite Softwareversionen bis v19.1. Ab Intel Quartus Prime Design Suite Softwareversion 19.2 oder höher, IP
Kerne haben ein neues IP-Versionierungsschema.
Revisionsverlauf für HDMI Intel Arria 10 FPGA IP Design Example Benutzerhandbuch
Dokumentversion | Intel Quartus Prime-Version | IP-Version | Änderungen |
2022.12.27 | 22.4 | 19.7.1 | Ein neuer Parameter zur Auswahl der HDMI-Tochterkartenrevision wurde dem Abschnitt „Hardware- und Softwareanforderungen“ des Design-Ex hinzugefügt.ample für HDMI 2.0 (Nicht-FRL-Modus). |
2022.07.29 | 22.2 | 19.7.0 | • Benachrichtigung über die Entfernung der Cygwin-Komponente aus der Windows*-Version von Nios II EDS und die Anforderung, WSL für Windows*-Benutzer zu installieren. • Aktualisierte Tochterkartenversion von Revision 4 bis 9, soweit im gesamten Dokument zutreffend. |
2021.11.12 | 21.3 | 19.6.1 | • Der Unterabschnitt „Verschlüsselte HDCP-Produktionsschlüssel im externen Flash-Speicher oder EEPROM speichern (Support HDCP Key Management = 1)“ wurde aktualisiert, um das neue Software-Dienstprogramm zur Schlüsselverschlüsselung (KEYENC) zu beschreiben. • Folgende Figuren wurden entfernt: — Datenarray des Faksimile-Schlüssels R1 für RX Private Key — Datenarrays von HDCP-Produktionsschlüsseln (Platzhalter) — Datenarray des HDCP-Schutzschlüssels (vordefinierter Schlüssel) — HDCP-Schutzschlüssel initialisiert in hdcp2x_tx_kmem.mif — HDCP-Schutzschlüssel initialisiert in hdcp1x_rx_kmem.mif — HDCP-Schutzschlüssel initialisiert in hdcp1x_tx_kmem.mif • Unterabschnitt „HDCP Key Mapping“ von „DCP Key“ verschoben Files aus den Debug-Richtlinien zum Speichern einfacher HDCP-Produktionsschlüssel im FPGA (Support HDCP Key Management = 0). |
2021.09.15 | 21.1 | 19.6.0 | Verweis auf NCSIM entfernt |
2021.05.12 | 21.1 | 19.6.0 | • Hinzugefügt: Wenn SUPPORT FRL = 1 oder SUPPORT HDCP KEY MANAGEMENT = 1 zur Beschreibung für Abbildung 29 HDCP über HDMI Design Exampdas Blockdiagramm. • Die Schritte wurden im HDCP-Schlüsselspeicher hinzugefügt files im Design-Walkthrough. • Wenn SUPPORT FRL = 0, zum Abschnitt „Setup der Hardware“ hinzugefügt. • Der Schritt zum Aktivieren des Parameters „HDCP-Schlüsselverwaltung unterstützen“ in „Design generieren“ wurde hinzugefügt. • Neuer Unterabschnitt hinzugefügt: „Verschlüsselte HDCP-Produktionsschlüssel im externen Flash-Speicher oder EEPROM speichern (Support HDCP Key Management = 1)“. |
Fortsetzung… |
Dokumentversion | Intel Quartus Prime-Version | IP-Version | Änderungen |
• Tabelle „Drucktaster und LED-Anzeigen“ in „Drucktaster und LED-Anzeigen“ umbenannt (SUPPORT FRL = 0). • Tischdruckknopf und LED-Anzeigen hinzugefügt (SUPPORT FRL = 1). • Ein neues Kapitel zum Schutz des im FPGA-Design eingebetteten Verschlüsselungsschlüssels wurde hinzugefügt. • Ein neues Kapitel „Debug-Richtlinien“ und die Unterabschnitte „HDCP-Statussignale“, „Ändern der HDCP-Softwareparameter“ und „Häufig gestellte Fragen“ hinzugefügt. |
|||
2021.04.01 | 21.1 | 19.6.0 | • Aktualisierte Abbildungskomponenten, die für Nur-RX- oder Nur-TX-Design erforderlich sind. • Aktualisierte Tabelle Generierte RTL Files. • Aktualisierte Abbildung der HDMI RX-Topkomponenten. • Abschnitt „HDMI RX Top Link-Trainingsprozess“ entfernt. • Die Schritte zum Ausführen des Designs in unterschiedlichen FRL-Raten wurden aktualisiert. • Aktualisierte Abbildung HDMI 2.1 Design Example Taktschema. • Aktualisierte Signale des Tabellentaktschemas. • Abbildung HDMI RX-TX-Blockdiagramm aktualisiert, um eine Verbindung vom Transceiver-Arbiter zum TX-Top hinzuzufügen. |
2020.09.28 | 20.3 | 19.5.0 | • Der Hinweis, dass das HDMI 2.1-Design example im FRL-Modus unterstützt nur Geräte der Geschwindigkeitsklasse –1 im HDMI Intel FPGA IP Design Example Kurzanleitung für Intel Arria 10-Geräte und HDMI 2.1 Design Example (unterstützt FRL = 1)-Abschnitte. Das Design unterstützt alle Geschwindigkeitsklassen. • ls_clk-Informationen aus allen HDMI 2.1-Designs entfernt, z. B.ampDie ls_clk-Domäne wird im Design nicht mehr verwendet.ample. • Die Blockdiagramme für das HDMI 2.1-Design wurden aktualisiert, z. B.ample im FRL-Modus im HDMI 2.1 Design Example (unterstützt FRL = 1), Erstellen von Nur-RX- oder Nur-TX-Designs, Designkomponenten und Abschnitte zum Taktschema. • Die Verzeichnisse wurden aktualisiert und files-Liste in den Abschnitten zur Verzeichnisstruktur. • Irrelevante Signale entfernt und die Beschreibung des folgenden HDMI 2.1-Designs hinzugefügt oder bearbeitetample-Signale im Abschnitt Schnittstellensignale: — sys_init — txpll_frl_locked — tx_os — txphy_rcfg* Signale — tx_reconfig_done — txcore_tbcr — pio_in0_external_connection_export • Im Abschnitt „Design-RTL-Parameter“ wurden die folgenden Parameter hinzugefügt: — EDID_RAM_ADDR_WIDTH — BITEC_TOCHTER_KARTE_REV — VERWENDEN SIE FPLL — POLARITÄTSUMKEHR |
Fortsetzung… |
Dokumentversion | Intel Quartus Prime-Version | IP-Version | Änderungen |
• Die Blockdiagramme für das HDMI 2.0-Design wurden aktualisiert, z. B.ample für Intel Quartus Prime Pro Edition Software im HDMI 2.0 Design Example (unterstützt FRL = 0), Erstellen von Nur-RX- oder Nur-TX-Designs, Designkomponenten und Abschnitte zum Taktschema. • Die Namen der Takt- und Reset-Signale wurden im Abschnitt „Einfügen und Filtern von InfoFrames für Dynamikbereich und Mastering (HDR)“ aktualisiert. • Irrelevante Signale entfernt und die Beschreibung des folgenden HDMI 2.0-Designs hinzugefügt oder bearbeitet (Beispiel)ample-Signale im Abschnitt Schnittstellensignale: — clk_fpga_b3_p — REFCLK_FMCB_P — fmcb_la_tx_p_11 — fmcb_la_rx_n_9e — fr_clck — reset_xcvr_powerup — nios_tx_i2c*-Signale — hdmi_ti_i2c*-Signale — tx_i2c_avalon* Signale — clock_bridge_0_in_clk_clk — reset_bridge_0_reset_reset_n — i2c_master*-Signale — nios_tx_i2c*-Signale — Maßnahme_gültiger_PIO_externer_Anschluss_Export — oc_i2c_av_slave_translator_avalon_an ti_slave_0* Signale — powerup_cal_done_export — rx_pma_cal_busy_export — rx_pma_ch_export — rx_pma_rcfg_mgmt* Signale • Es wurde ein Hinweis hinzugefügt, dass die Simulationstestbench für Designs mit dem I2C einbinden Parameter aktiviert und die Simulationsnachricht im Abschnitt „Simulation Testbench“ aktualisiert. • Der Abschnitt „Ihr Design aktualisieren“ wurde aktualisiert. |
|||
2020.04.13 | 20.1 | 19.4.0 | • Es wurde ein Hinweis hinzugefügt, dass das HDMI 2.1-Design example im FRL-Modus unterstützt nur Geräte der Geschwindigkeitsklasse –1 im HDMI Intel FPGA IP Design Example Kurzanleitung für Intel Arria 10-Geräte und detaillierte Beschreibung für HDMI 2.1 Design Example (Support FRL = 1) Abschnitte. • Verschoben das HDCP Over HDMI Design ExampDatei für Intel Arria 10-Geräte im HDMI Intel FPGA IP-Benutzerhandbuch. • Der Abschnitt „Simulation des Designs“ wurde bearbeitet, um die Audio-SampDateigenerator, Seitenbanddatengenerator und Hilfsdatengenerator und aktualisierte die Meldung „Erfolgreiche Simulation“. • Der Hinweis, dass die angegebene Simulation nur verfügbar ist für FRL unterstützen Hinweis zu deaktivierten Designs. Simulation ist jetzt verfügbar für FRL unterstützen aktivierte Designs. • Die Funktionsbeschreibung in der detaillierten Beschreibung für HDMI 2.1 Design Ex wurde aktualisiert.ample (Support FRL aktiviert). |
Fortsetzung… |
Dokumentversion | Intel Quartus Prime-Version | IP-Version | Änderungen |
• Das Blockdiagramm in den Abschnitten „HDMI 2.1 RX-TX Design Block Diagram“, „Design Components“ und „Creating RX-Only or TX-Only Designs“ für das HDMI 2.1-Design wurde bearbeitet.ample. Neue Komponenten hinzugefügt und nicht mehr zutreffende Komponenten entfernt. • Die Skriptanweisung main.c im Abschnitt „Erstellen von Nur-RX- oder Nur-TX-Designs“ wurde bearbeitet. • Die Abschnitte zur Verzeichnisstruktur wurden aktualisiert, um neue Ordner hinzuzufügen und files für HDMI 2.0 und HDMI 2.1 Entwurfsbeispielamples. • Abschnitt „Hardware- und Softwareanforderungen“ für HDMI 2.1-Design aktualisiert (Beispiel)ample. • Das Blockdiagramm und die Signalbeschreibungen im Abschnitt „Dynamic Range and Mastering (HDR) InfoFrame Insertion and Filtering“ für das HDMI 2.1-Design wurden aktualisiert, z. B.ample. • Neuer Abschnitt „Ausführen des Designs in verschiedenen FRL-Raten“ für das HDMI 2.1-Design hinzugefügt (Beispiel)amples. • Das Blockdiagramm und die Signalbeschreibungen im Abschnitt „Taktschema“ für das HDMI 2.1-Design wurden aktualisiert, z. B.ample. • Beschreibung des Benutzer-DIP-Schalters im Abschnitt „Hardware-Setup“ für HDMI 2.1-Design hinzugefügt (Beispiel)ample. • Der Abschnitt „Designbeschränkungen“ für HDMI 2.1-Design wurde aktualisiert.ample. • Der Abschnitt „Ihr Design aktualisieren“ wurde aktualisiert. • Aktualisierte die Simulation Testbench-Abschnitte für HDMI 2.0 und HDMI 2.1 Design examples. |
|||
2020.01.16 | 19.4 | 19.3.0 | • Aktualisiert das HDMI Intel FPGA IP Design Example Abschnitt „Schnellstartanleitung für Intel Arria 10-Geräte“ mit Informationen zum neu hinzugefügten HDMI 2.1-Design, z. B.ampDatei mit FRL-Modus. • Neues Kapitel hinzugefügt, Detaillierte Beschreibung für HDMI 2.1 Design Example (Support FRL Enabled), das alle relevanten Informationen über das neu hinzugefügte Design enthält, z.ample. • Umbenennung des HDMI Intel FPGA IP Design ExampDetaillierte Beschreibung zu Detaillierte Beschreibung für HDMI 2.0 Design Example zur besseren Übersicht. |
2019.10.31 | 18.1 | 18.1 | • Hinzugefügt generiert files im Ordner tx_control_src: ti_i2c.c und ti_i2c.h. • Unterstützung für FMC-Tochterkarte Revision 11 in den Abschnitten „Hardware- und Softwareanforderungen“ und „Kompilieren und Testen des Designs“ hinzugefügt. • Der Abschnitt „Design-Beschränkung“ wurde entfernt. Die Beschränkung bezüglich der Zeitüberschreitung bei den maximalen Skew-Beschränkungen wurde in Version 18.1 der HDMI Intel FPGA IP. • Ein neuer RTL-Parameter, BITEC_DAUGHTER_CARD_REV, wurde hinzugefügt, damit Sie die Revision der Bitec HDMI-Tochterkarte auswählen können. |
Fortsetzung… |
Dokumentversion | Intel Quartus Prime-Version | IP-Version | Änderungen |
• Die Beschreibung für die Signale fmcb_dp_m2c_p und fmcb_dp_c2m_p wurde aktualisiert, um Informationen zu den FMC-Tochterkartenrevisionen 11, 6 und 4 aufzunehmen. • Folgende neuen Signale für Bitec-Tochterkarte Revision 11 hinzugefügt: — hdmi_tx_ti_i2c_sda — hdmi_tx_ti_i2c_scl — oc_i2c_master_ti_avalon_anti_slave_a Adresse — oc_i2c_master_ti_avalon_anti_slave_write — oc_i2c_master_ti_avalon_anti_slave_readdata — oc_i2c_master_ti_avalon_anti_slave_writedata — oc_i2c_master_ti_avalon_anti_slave_w aitrequest • Abschnitt zum Aktualisieren Ihres Designs hinzugefügt. |
|||
2017.11.06 | 17.1 | 17.1 | • HDMI IP-Core gemäß Intel-Rebranding in HDMI Intel FPGA IP umbenannt. • Der Begriff „Qsys“ wurde in „Platform Designer“ geändert. • Informationen zur Einfügungs- und Filterfunktion für Dynamic Range und Mastering InfoFrame (HDR) hinzugefügt. • Die Verzeichnisstruktur wurde aktualisiert: — Skript- und Softwareordner hinzugefügt und files. — Common und HDR aktualisiert files. — ATX entfernt files. — Differenziert files für Intel Quartus Prime Standard Edition und Intel Quartus Prime Pro Edition. • Der Abschnitt „Generieren des Designs“ wurde aktualisiert, um das als 10AX115S2F4I1SG verwendete Gerät hinzuzufügen. • Die Transceiver-Datenrate für 50-100 MHz TMDS-Taktfrequenz wurde auf 2550-5000 Mbit/s bearbeitet. • Die RX-TX-Link-Informationen wurden aktualisiert, sodass Sie die Schaltfläche user_pb[2] loslassen können, um die externe Filterung zu deaktivieren. • Das Flussdiagramm der Nios II-Software wurde aktualisiert und umfasst die Steuerelemente für I2C-Master und HDMI-Quelle. • Zusätzliche Informationen über die Design Bspample GUI-Parameter. • HDMI RX- und TX Top-Designparameter hinzugefügt. • Diese HDMI RX- und TX-Top-Level-Signale wurden hinzugefügt: — mgmt_clk - zurücksetzen — i2c_clk — hdmi_clk_in — Diese HDMI RX- und TX-Top-Level-Signale wurden entfernt: • Version • i2c_clk |
Fortsetzung… |
Dokumentversion | Intel Quartus Prime-Version | IP-Version | Änderungen |
• Es wurde ein Hinweis hinzugefügt, dass die analoge Transceiver-Einstellung für das Intel Arria 10 FPGA Development Kit und die Bitec HDMI 2.0-Tochterkarte getestet wurde. Sie können die analoge Einstellung für Ihre Platine ändern. • Ein Link für eine Problemumgehung wurde hinzugefügt, um Jitter durch PLL-Kaskadierung oder nicht dedizierte Taktpfade für den Intel Arria 10 PLL-Referenztakt zu vermeiden. • Hinweis hinzugefügt, dass Sie einen Transceiver-RX-Pin nicht als CDR-Refclk für HDMI RX oder als TX-PLL-Refclk für HDMI TX verwenden können. • Ein Hinweis hinzugefügt, wie die set_max_skew-Beschränkung für Designs hinzugefügt wird, die TX PMA- und PCS-Bonding verwenden. |
|||
2017.05.08 | 17.0 | 17.0 | • Umbenennung in Intel. • Teilenummer geändert. • Die Verzeichnisstruktur wurde aktualisiert: — HDR hinzugefügt files. – qsys_vip_passthrough.qsys in nios.qsys geändert. — Hinzugefügt files für die Intel Quartus Prime Pro Edition vorgesehen. • Aktualisierte Informationen, dass der RX-TX Link-Block auch eine externe Filterung des High Dynamic Range (HDR)-Infoframes aus den HDMI RX-Hilfsdaten durchführt und ein Ex einfügtample HDR-Infoframe zu den Zusatzdaten des HDMI TX über den Avalon ST-Multiplexer. • Für die Beschreibung des Transceiver Native PHY wurde ein Hinweis hinzugefügt, dass zur Erfüllung der HDMI TX Inter-Channel Skew-Anforderung die Option TX Channel Bonding Mode im Arria 10 Transceiver Native PHY Parameter-Editor auf PMA- und PCS-Bonding. • Aktualisierte Beschreibung für OS- und Messsignale. • Die Overs wurden geändertampling-Faktor für unterschiedliche Transceiver-Datenraten in jedem TMDS-Taktfrequenzbereich, um das TX FPLL-Direkttaktschema zu unterstützen. • Das Kaskadentaktschema von TX IOPLL wurde in das direkte TX FPLL-Schema geändert. • TX PMA-Neukonfigurationssignale hinzugefügt. • Bearbeitete USER_LED[7] Oversampling-Status. 1 bedeutet ÜberschreitungenampLED (Datenrate < 1,000 Mbit/s im Arria 10-Gerät). • Aktualisiertes HDMI-Design Example Tabelle „Unterstützte Simulatoren“. VHDL wird für NCSim nicht unterstützt. • Link zur archivierten Version des Arria 10 HDMI IP Core Design Ex hinzugefügtample Benutzerhandbuch. |
2016.10.31 | 16.1 | 16.1 | Erstveröffentlichung. |
Intel Corporation. Alle Rechte vorbehalten. Intel, das Intel-Logo und andere Intel-Marken sind Marken der Intel Corporation oder ihrer Tochtergesellschaften. Intel garantiert die Leistung seiner FPGA- und Halbleiterprodukte gemäß den aktuellen Spezifikationen gemäß der Standardgarantie von Intel, behält sich jedoch das Recht vor, jederzeit ohne Vorankündigung Änderungen an Produkten und Diensten vorzunehmen. Intel übernimmt keine Verantwortung oder Haftung, die sich aus der Anwendung oder Verwendung von hierin beschriebenen Informationen, Produkten oder Diensten ergeben, es sei denn, Intel hat ausdrücklich schriftlich zugestimmt. Intel-Kunden wird empfohlen, die neueste Version der Gerätespezifikationen zu beschaffen, bevor sie sich auf veröffentlichte Informationen verlassen und bevor sie Produkte oder Dienstleistungen bestellen. *Andere Namen und Marken können als Eigentum anderer beansprucht werden.
Online Version
Feedback senden
Artikel-Nr.: 683156
Version: 2022.12.27
Dokumente / Ressourcen
![]() |
Intel HDMI Arria 10 FPGA IP-Design Bspample [pdf] Benutzerhandbuch HDMI Arria 10 FPGA IP Design Bspample, HDMI Arria, 10 FPGA IP Design Example, Design Bspample |