This design article gives you complete in-depth information that how the FPGA HDMI works. This will eventually cover FPGA board HDMI circuitry information, Vivado pipeline design, SDK application writing, and running the design on the board.
Keep reading!
You might be familiar with the different versions of HDMI. You might want to follow this Ref. to get more information. Out of several HDMI versions, this article will especially focus on HDMI1.4 Standard in order to interface with FPGA designs. For this purpose, I am considering some popular FPGA Evaluation/Development boards, for example, ZedBoard, ZC706, ZC702, VC707, KC705, AC701, and SP701. Because the HDMI output of these boards is HDMI1.4a Standard. Finally, I am going to use the standalone design approach. However, the same design can also be used in the Xilinx petalinux design approach with few design modifications. For a complete demonstration, I will take ZedBoard design as a reference. However, whichever FPGA boards use such a Transmitter IC, this article is still valid except for a few things.
After completing this article, you will be able to develop an HDMI video output interface on your own in order to display video/image processing output. I have skipped the detailed vivado pipeline design and SDK application development steps, as I am assuming that you guys have a general knowledge of it. Similarly, I am using Vivado/Vitis 2021.1.
HDMI1.4 in Xilinx FPGA BoardsThe Xilinx FPGA Development boards implement the HDMI1.4 standard using mostly Analog Devices HDMI ICs. These are ADV7611 and ADV7511. The first one is the HDMI Receiver IC while the second one is the HDMI Transmitter IC. If you notice, Xilinx FPGA boards mostly have HDMI output interfaces and ADV7511 HDMI ICs are already there. You must not get confused with HDMI2.0 and HDMI1.3 which some FPGA boards have. For lower-end FPGA boards, some board vendors include the HDMI1.3 interface. On the other hand, higher-end FPGA boards, such as Zynq UltraScale+ MPSoC boards, can support high-speed HDMI interface. So, they have HDMI2.0 interfaces. I will discuss both interfaces in future articles.
Let's come back to our topics.
If you are thinking why Xilinx FPGA boards are using Analog Devices ICs while there are other vendors. Well, this is because Analog Devices offers Linux drivers so that Xilinx's customers can leverage the Xilinx Petalinux tool to develop Linux applications on their own for HDMI-based designs.
ADV7511 HDMI Transmitter IC
Here are the key features of the ADV7511 HDMI IC.
- Low power and high-speed HDMI Transmitter with Audio return channel (ARC)
- It is compatible with HDMI 1.4 and DVI 1.0 standard
- Programmable through slave I2C communication protocol.
- Supports input data rate up to 165MHz and output data rate upto 225MHz
- Supports the video format upto Full HD, 1080p@60Hz with maximum 36 bits per pixel
- Supports both S/PDIF and 8-channel I2S audio. The S/PDIF can carry compressed audio including Dolby® Digital, DTS®, and THX®.
- Supports a wide range of input and output formats as listed below,
Few Input formats
- 36, 30, or 24 bit RGB 4:4:4 (separate syncs)
- 36, 30, or 24 bit YCbCr 4:4:4 (separate syncs)
- 24, 20, or 16 bit YCbCr 4:2:2 (embedded or separate syncs)
- 36, 30, or 24 bit RGB 4:4:4 (separate syncs)
- 36, 30, or 24 bit YCbCr 4:4:4 (separate syncs)
- 24, 20, or 16 bit YCbCr 4:2:2 (embedded or separate syncs)
Few Output formats
- 36, 30, or 24 bit RGB 4:4:4
- 24 bit YCbCr 4:2:2
- And so on
To get more information, you can find the datasheet link in the reference section of this article.
The IC is basically performing parallel to serial data conversion. Meaning, the IC receives the parallel video data from the FPGA logic as input and encodes them, and outputs them as an HDMI signal as shown in the picture below.
The IC supports a wide variety of input formats. For example, the input data bit can be from as few as 8-bit to as many as 36-bit. It can have either separate syncs or embedded syncs in the style of the ITU BT.656, SMPTE 274M, and SMPTE 296M specifications. The "Separate Syncs" means the IC has distinct pins for sync signal input. So, the input data and sync signals are separated from each other. On the other hand, the "Embedded Syncs" means the IC still has pins for sync signals but they are not used or grounded. Therefore, the input data has sync information embedded with the parallel data.
This can be observed in the following picture, highlighted by Blue Colors.
The following table summarizes various input formats supported by HDMI IC,
Whichever FPGA boards or any other devices use ADV7511 HDMI IC, will have one of the above pin configurations.
Let's see how HDMI IC is configured in Zedboard, ZC702, ZC706, AC701, SP701, and VC707 boards.
Zedboard, KC705 & ZC702 HDMI ConfigurationOn these boards, the HDMI ICis configured with Input ID 1, that is, YCbCr 4:2:2 16-bit input with Separate Sync signals as you can notice in the above table.
The following picture is clearly showing the detailed pin configuration
These boards' HDMI supports 3-styles of input data with right justification, as highlighted in the above picture. This information will also be needed while doing the register programming. Out of 36 bits, the bits from 8 to 23 are used for 16-bit parallel input data. The color component(Y, Cb and Cr) to be included in the parallel data is totally dependent on input data style and the no. of pixel. For example, in input style-1 with pixel 1, the bits from 8-15 are used for Y color component and bits from 16-23 are used for Cb color component as shown in the above picture.
To understand the above thing at the circuit level, let’s look at the HDMI schematics.
The following picture shows the ADV7511 HDMI Transmitter circuit schematic of ZedBoard/ZC702 and KC705 FPGA boards.
Let's identify each signal as following
Data Lines and Separate Syncs
Just like we noticed in the above input data mapping table, only the pins from 8 to 23 are used for 16-bit parallel YUV422 input data and there is also an HDMI clock. These are highlighted in Green Color. Meanwhile, other pins, highlighted in Gray Color, are not available to use. Similarly, as we learned that there are Separate Sync signals, these signals are highlighted by Blue Color in the above picture. There would not be such signals if the data pin was configured with Embedded Sync signals.
Programming Interface
ADV7511 IC is the programmable IC. Meaning, IC needs to be configured in order to work properly. This is done by doing the IC register programming by I2C Communication protocol. In the above image, the pins are highlighted in Yellow Color. The register programming details are discussed in the Code section of this article.
You can notice that the I2C pins are already pulled-up, we will not have to pull up these pins from the constraints.
HDMI Output Interface
The HDMI Output interface signals are highlighted in Red Color. These signals are generated after encoding the parallel data, sync signals and audio signals (if included). These signals go straight to the HDMI connector and are ready to be displayed on our HDMI monitor.
OtherInterfaces
This includes Audio Interface (SPDIF IN/OUT) and Interrupt(HDMI INT). In most, FPGA video designs, these signals are rarely used.
ZC706, AC701 and SP701 HDMI ConfigurationHDMI Transmitter IC on these boards is configured with Input ID 0, that is, RGB/YCbCr 4:4:4 24-bit input with Separate Sync signals. To understand this, let's look at the following picture.
Out of 36 bits, the bits from 4 to 11 are used for B/Cb color component, the bits from 16 to 23 are used for G/Y color component and the bits from 28 to 35 are used for R/Cr color component. Even though the Xilinx FPGA board's user guide is saying YCbCr format support, the pin configuration can also support RGB color format.
Let's look at the schematics.
The following picture shows the ZC706/AC701/SP701 HDMI Transmitter Signal Identification.
Just like we identified the signals in Zedboard, KC705, and ZC702 HDMI Transmitter schematic, we have similar signals in ZC706, AC701, and SP701 HDMI Transmitters.
- Data Lines signals are highlighted in Green Color while Separate Sync signals are highlighted in Blue Color.
- Programming Interface signals are highlighted in Yellow Color
- HDMI Output Interface is highlighted by Red Color
- Other interfaces are Audio Interface(HDMI_SPDIF IN/OUT) and HDMI Interrupt(HDMI_INT)
HDMI Transmitter IC on VC707 boards is configured with Input ID 0, that is, RGB/YCbCr 4:4:4 36-bit input with Separate Sync signals.
This is almost the same configuration as ZC706, AC701, and SP701 HDMI Transmitter but with 36-bit mode. However, VC707 HDMI Transmitter can support lower bit modes, for example, 30-bit and 24-bit modes, as shown in the above picture. These modes can be achieved by doing the bit manipulation in vivado block design.
The following picture shows the ADV7511 HDMI Transmitter circuit schematic of VC707 FPGA boards.
VC707 ADV7511 HDMI Transmitter has similar signals as we discussed in the previous sections. The following picture shows the signal identification.
The signals that we have just identified in the above sections are really important to create the FPGA HDMI Output Display Pipeline correctly and efficiently. In this section, we will cover Vivado Pipeline Design by utilizing the above information.
The following picture shows the general view of interfacing between FPGA and ADV7511 HDMI Transmitter IC.
On the FPGA side, the above picture represents the base-level pipeline that any ADV7511-based FPGA-HDMI design should have at least whether there is Zynq PS or Microblaze. However, this is only valid if FPGA ADV7511 HDMI Transmitter has been configured with separate sync signals.
Therefore, the following picture would be the least pipeline, if the Embedded Sync configuration is used. On the FPGA side, we will require Custom Logic/IP to get parallel data with embedded sync signals with it.
The following section gives you a brief description of each hardware block
Stream source
This represents the AXI4-Stream source, which can be the stream from HDMI input, Media devices, Memory buffers, or Test pattern generation IP block. In most cases, in the early stage of video pipeline design, the test pattern stream source is used, for example, Xilinx Video Test Pattern Generator (VTPG) IP is mostly used to replace the actual stream source and to verify/debug pipeline design. If the source has an RGB stream, it has to be converted into YUV422/YUV444 color format. If the source is directly able to give YUV422/YUV444, then obviously, the color conversion won't be necessary.
Video Timing
It includes the generation of video-related timing parameters, such as synchronization pulses, polarity, blanking period, active video signals, etc, as shown in the above picture. It is required to synchronize the processes and control the video data. Xilinx’s Video Timing Controller (VTC) IP can be used to generate timing signals for different video resolutions.
AXIS2Video
The AXI4-Stream conversion into Native video formats takes place here by the Xilinx AXI4-Stream to Video Out IP. This IP utilizes video timing information as well as streams to convert video data into displayable video format. This format includes parallel data and separate sync signals. The IP has one of the customization options to set desired output video color formats such as RGB, different YUV formats, etc.
In most cases, the parallel data width is set according to the color format selected. For the current design case, the format is set in YUV422 (for ZedBoard, KC705, ZC702 HDMI Transmitter) will have 16-bit data and YUV444 (for ZC706, SP701, AC701, VC707 HDMI Transmitter) will have 24-bit data. In such a scenario, the source stream must have YUV422/YUV444 color format or if the source stream has RGB color format, then color conversion must be required to convert into YUV422 or YUV444 respectively before AXI4-Stream to Video Out IP.
Custom Logic/IP (Embedded Sync only)
If the ADV7511 HDMI Transmitter IC is done with Embedded Sync configuration, the AXIS2Video IP's output signals (parallel data + sync signals) will be required to convert and generate final parallel data output with embedded syncs.
IIC
Xilinx's AXI IIC IP plays a major role in implementing the I2C communication protocol in order to program the HDMI Transmitter IC.
Clock Generator
This is necessary for the design to get the required clock signals to drive the entire FPGA pipeline including the video clock. Xilinx’s Clocking Wizard IP is most popularly used in such a case. The IP can get clock input from an external clock oscillator or the Zynq PS block and then generate various user-defined clock outputs. The video clock is generated according to the output video resolution.
Zynq PS/Microblaze
This forms the processing system of the design, where the application will be loaded and run to control and configure the processing system itself, board peripherals, and the pipelines in the programmable logic(PL).
You can find all of the above IPs' product guide links in the reference section.
Finally, when we acknowledge the above pipeline design flow, we get the vivado pipeline designs as follows.
Here, the color conversion has been avoided, because VTPG will be configured to give YUV422/YUV444 stream.
The following design represents the base-level design for ZedBoard, ZC706, and ZC702
The following design represents the base-level design for SP701, AC701, KC705, and VC707
The pipeline is designed to generate the 1080p@60Hz video output, which will be fed to ADV7511 IC to get HDMI output to display on the HDMI monitor. The pipeline will only be able to work properly, when
- The video clock is 148.5MHz (for 1080p@60Hz) and AXI4 Stream Clock is greater or at least equal to Video Clock
- the VTC IP is configured with generation mode with 1080p video mode. Note that AXI4-Lite has not been enabled in the above design.
- VTPG IP is configured to give output in YUV422 (for ZedBoard, KC705, ZC702) or YUV444 (for ZC706, AC701, SP701, VC707) color format
- AXIS2 Video Out IP is configured with output color format YUV422 (for ZedBoard, KC705, ZC702) or YUV444 (for ZC706, AC701, SP701, VC707), as we discussed in the previous sections of this article.
- ADV7511 IC is properly programmed by I2C.
Without constraints, the signal will never be able to come out from the FPGA chip and Vivado also does not allow the generation of design until the design is properly constrained. Whenever the designs have floated pins or ports, constraint mapping must be done.
While manufacturing the FPGA boards, some of the FPGA physical pins are already soldered to some specific board peripherals, for example, external clock, HDMI Input/Output, etc and the constraint helps the FPGA design signals to be physically connected to those FPGA physical pins safely. That’s why the FPGA development boards have the master constraints file, which can conveniently be used in the design to map the pins and ports quickly.
Zedboard, KC705, ZC702, ZC706, AC701, SP701, and VC707 FPGA board already have the master constraint files, you can find its link in the reference section of this article.
When you open the XDC file, you can find the details of the above pin, which includes, I2C, DE, HSync, Vsync, 16-bit data, interrupt(INT), and audio pins mapping. Note that, when you open Xilinx's Master XDC file, you will find ungrouped constraints. Therefore, except for Zedboard HDMI constraints, I have grouped and ordered all the HDMI constraints of the rest of the boards to make you feel easy.
The Blue highlighted pins are the actual FPGA physical pins, which are already soldered with the ADV7511 IC input signal pins (as highlighted in the schematics). The Red highlighted pins are the ports of our pipeline that we just created in Vivado. And finally, the Yellow Highlighted constraint line is really important that you must not forget. Because it sets the IOSTANDARD for our ports. However, most master constraint files already have this constraint line included. So, you might not need to worry.
Once this constraint is applied, the red highlighted pins will be connected to blue highlighted pins with specified IOSTANDARDs so that, the video data signals get their way to the HDMI IC safely.
IMPORTANT! Probably, you might have noticed that in the above constraint description, Zedboard andSP701 has a dedicated I2C constraint while ZC702,ZC706,AC701,KC705, andVC707 do not have I2C constraint information.
Let's look once yourself. Did you find the difference?
I believe yes.
This is because ZC702, ZC706, AC701, KC705, and VC707 have an onboard I2C Switch to communicate various peripherals including HDMI Transmitter IC. Xilinx has mostly used TI Semiconductor PCA9548 1-to-8 channel I2C bus switch. This information will also be required while programming.
The following pictures show the I2C switch used in the ZC702/706/AC701/KC705/VC707 boards
The Red highlights show the HDMI I2C path from FPGA.
SDK ApplicationOnce the design generation completes, we can move to SDK Application development using Vitis. As we proceed with this, the following two things have to be done.
- Initialization and configuration TPG to generate YUV422 (for Zedboard/KC705/ZC702) or YUV444 (for ZC706/AC701/SP701/VC707) color bar pattern in 1080p resolution
- AXI IIC IP Initialization and Configuration to program the ADV7511 HDMI TX IC. Here, we do the programming of various registers of HDMI IC according to IC programming guide. Check the reference section. Here, we also need to have the information of I2C path, I2C switch address (0x74) and the address of the IC itself (0x72). For the case of ZedBoard/SP701 board, we directly program the ADV7511 IC. For the case of ZC702/706/AC701/KC705/VC707, we have to setup a complete I2C path from FPGA to IC. For this, we have to program the I2C switch to open HDMI I2C channel and then program the ADV7511 IC. For example, if we considered ZC706, the I2C switch has to be programmed 0x02 (00000010). This is because, If we look at the I2C switch block diagram as shown in the above picture, Out of 8 I2C channels, the HDMI I2C lies at channel 1. You can also follow the same way for other boards, After this, we have to program the ADV7511 IC as discussed in the following section.
The following shows the quick information on register programming that should be done at least.
IMPORTANT! The first two registers (0x15 and 0x16) are programmed according to the ADV7511 Input Data configuration as shown in picture 6 above.
All the values are in HEX.
<IC address> <Register Address> <Value>
72 15 01; Input color format YUV422 with Separate Syncs (for Zedboard/KC705/ZC702)
Or,
72 15 00; Input color format RGB or YUV444 with Separate Syncs (for ZC706/AC701/SP701/VC707)
Similarly,
72 16 B8; 0x16[7]- Output color format 422, 0x16[5:4]-Input Color Depth 8 bits, 0x16[3:2]-Input Video Style 1 (for Zedboard/KC705/ZC702)
If you remember, just as we discussed in the previous section, Zedboard/KC705/ZC702 boards' HDMI supports 3-styles of input data. 0x16[3:2] value can be varied according to this information.
Or,
72 16 30; 0x16[7]- Output color format 444, 0x16[5:4]-Input Color Depth 8 bits, 0x16[3:2]- Style not valid (for ZC706/AC701/SP701)
Or,
72 16 20; 0x16[7]- Output color format 444, 0x16[5:4]-Input Color Depth 12 bits, 0x16[3:2]- Style not valid (for VC707)
0x16[5:4] value can be varied to support 8-bit/10-bit color depth.
Following register programming is done to set the coefficients for Color Conversion from YUV to RGB. The value is set according to the value given in tables 56 and 57 (from the ADV7511 programming guide) for HDTV. Currently, table 56 register values are used.
72 18 AC
72 19 53
72 1A 08
72 1B 00
72 1C 00
72 1D 00
72 1E 19
72 1F D6
72 20 1C
72 21 56
72 22 08
72 23 00
72 24 1E
72 25 88
72 26 02
72 27 91
72 28 1F
72 29 FF
72 2A 08
72 2B 00
72 2C 0E
72 2D 85
72 2E 18
72 2F BE
other register programs.
72 41 10; Power down
72 48 08; Right justification of video input (for only Zedboard/KC705/ZC702)
72 55 00; Set RGB in AVinfo Frame
72 56 28; Set Aspect Ratio 16:9, Active Format Aspect Ratio as Aspect Ratio
72 98 03; ADI Recommended Write
72 9A E0; ADI Recommended Write
72 9C 30; PLL Filter R1 Value
72 9D 61; Set Clock Divide
72 A2 A4; ADI Recommended Write
72 A3 A4; ADI Recommended Write
72 AF 04; HDMI Mode, HDCP Disable, Frame Encryption Disable
72 BA 60; No input video clock delay
72 E0 D0; Must be set to 0xD0 for proper operation
72 F9 00; This should be set to a non-conflicting I2C address (set to 0x00)
Finally, once we cover the above programming steps, it completes our SDK application development.
Remember! VTC does not need to be programmed becauseAXI4-Lite is not enabled.
We have to build and run the design on the board. This development flow is valid for all the above-mentioned boards. So, for the complete code reference and the output demonstration, I have used the ZedBoard. Check the Demonstration section for a complete step-by-step design video on ZedBoard. Check CodeSection for a complete code reference.
OutputWhen everything is set, we should get the color bars output as shown in the following picture.
----------------------------------
ZedBoard-ADV7511 HDMI Output Demo
----------------------------------
TPG Configuration
HDMI Configuration
Register Programming...DONE!
Register Programming Verification
Reg Addr: 0x15------Write Data: 0x1------Read Data: 0x1------Matched
Reg Addr: 0x16------Write Data: 0x38------Read Data: 0x38------Matched
Reg Addr: 0x41------Write Data: 0x10------Read Data: 0x10------Matched
Reg Addr: 0x48------Write Data: 0x8------Read Data: 0x8------Matched
Reg Addr: 0x55------Write Data: 0x0------Read Data: 0x0------Matched
Reg Addr: 0x56------Write Data: 0x28------Read Data: 0x28------Matched
Reg Addr: 0x98------Write Data: 0x3------Read Data: 0x3------Matched
Reg Addr: 0x9A------Write Data: 0xE0------Read Data: 0xE0------Matched
Reg Addr: 0x9C------Write Data: 0x30------Read Data: 0x30------Matched
Reg Addr: 0x9D------Write Data: 0x61------Read Data: 0x61------Matched
Reg Addr: 0xA2------Write Data: 0xA4------Read Data: 0xA4------Matched
Reg Addr: 0xA3------Write Data: 0xA4------Read Data: 0xA4------Matcheda
Reg Addr: 0xAF------Write Data: 0x6------Read Data: 0x6------Matched
Reg Addr: 0xBA------Write Data: 0x60------Read Data: 0x60------Matcheda
Reg Addr: 0xE0------Write Data: 0xD0------Read Data: 0xD0------Matched
Reg Addr: 0xF9------Write Data: 0x0------Read Data: 0x0------Matched
Reg Addr: 0x18------Write Data: 0xAC------Read Data: 0xAC------Matched
Reg Addr: 0x19------Write Data: 0x53------Read Data: 0x53------Matched
Reg Addr: 0x1A------Write Data: 0x8------Read Data: 0x8------Matched
Reg Addr: 0x1B------Write Data: 0x0------Read Data: 0x0------Matched
Reg Addr: 0x1C------Write Data: 0x0------Read Data: 0x0------Matched
Reg Addr: 0x1D------Write Data: 0x0------Read Data: 0x0------Matched
Reg Addr: 0x1E------Write Data: 0x19------Read Data: 0x19------Matched
Reg Addr: 0x1F------Write Data: 0xD6------Read Data: 0xD6------Matched
Reg Addr: 0x20------Write Data: 0x1C------Read Data: 0x1C------Matched
Reg Addr: 0x21------Write Data: 0x56------Read Data: 0x56------Matched
Reg Addr: 0x22------Write Data: 0x8------Read Data: 0x8------Matched
Reg Addr: 0x23------Write Data: 0x0------Read Data: 0x0------Matched
Reg Addr: 0x24------Write Data: 0x1E------Read Data: 0x1E------Matched
Reg Addr: 0x25------Write Data: 0x88------Read Data: 0x88------Matched
Reg Addr: 0x26------Write Data: 0x2------Read Data: 0x2------Matched
Reg Addr: 0x27------Write Data: 0x91------Read Data: 0x91------Matched
Reg Addr: 0x28------Write Data: 0x1F------Read Data: 0x1F------Matched
Reg Addr: 0x29------Write Data: 0xFF------Read Data: 0xFF------Matched
Reg Addr: 0x2A------Write Data: 0x8------Read Data: 0x8------Matched
Reg Addr: 0x2B------Write Data: 0x0------Read Data: 0x0------Matched
Reg Addr: 0x2C------Write Data: 0xE------Read Data: 0xE------Matched
Reg Addr: 0x2D------Write Data: 0x85------Read Data: 0x85------Matched
Reg Addr: 0x2E------Write Data: 0x18------Read Data: 0x18------Matched
Reg Addr: 0x2F------Write Data: 0xBE------Read Data: 0xBE------Matched
Register Programming Successful!
DemonstrationYou can visit the following link to see a complete design demonstration.
References- https://en.wikipedia.org/wiki/HDMI#Versions
- https://github.com/Digilent/digilent-xdc
- https://www.analog.com/media/en/technical-documentation/data-sheets/ADV7511.pdf
- https://www.analog.com/media/en/technical-documentation/user-guides/ADV7511_Hardware_Users_Guide.pdf
- https://www.analog.com/media/en/technical-documentation/user-guides/ADV7511_Programming_Guide.pdf
- https://www.xilinx.com/content/dam/xilinx/support/documents/ip_documentation/v_tpg/v8_1/pg103-v-tpg.pdf
- https://www.xilinx.com/content/dam/xilinx/support/documents/ip_documentation/v_tc/v6_2/pg016_v_tc.pdf
- https://www.xilinx.com/content/dam/xilinx/support/documents/ip_documentation/v_axi4s_vid_out/v4_0/pg044_v_axis_vid_out.pdf
- https://digilent.com/reference/_media/reference/programmable-logic/zedboard/zedboard_ug.pdf
- https://docs.xilinx.com/v/u/en-US/ug1319-sp701-eval-bd
- https://docs.xilinx.com/v/u/en-US/ug952-ac701-a7-eval-bd
- https://www.xilinx.com/support/documents/ip_documentation/axi_iic/v2_1/pg090-axi-iic.pdf
- https://www.xilinx.com/content/dam/xilinx/support/documents/ip_documentation/clk_wiz/v6_0/pg065-clk-wiz.pdf
- https://www.xilinx.com/products/intellectual-property/processing_system7.html
- https://www.xilinx.com/products/design-tools/microblaze.html
- KC705 user guide, master constraint, and other information
- AC701 user guide, master constraint, and other information
- ZC702 user guide, master constraint, and other information
- ZC706 user guide, master constraint, and other information
- SP701 user guide, master constraint, and other information
- VC707 user guide, master constraint, and other information
This article presented you with the fundamental FPGA design to work with HDMI1.4 Standard by interfacing the ADV7511 HDMI TX IC. You can follow this design flow to work with other Xilinx/Vendor FPGA boards that include ADV7511 HDMI TX IC. It can be integrated with higher FPGA designs. In your custom design, you can replace the VTPG IP with the actual input source. This design uses a Standalone design approach for a better startup. In future designs, I will bring up the design with the Linux approach and will also discuss HDMI2.0, and HDMI2.1.
I hope you like this article.
Do not forget to like, share and follow!
Comments