Microsemi DG0889 PolarFire 12G-SDI Design User Guide
- June 9, 2024
- Microsemi
Table of Contents
Microsemi DG0889 PolarFire 12G-SDI Design User Guide
Microsemi makes no warranty, representation, or guarantee regarding the information contained herein or the suitability of its products and services for any particular purpose, nor does Microsemi assume any liability whatsoever arising out of the application or use of any product or circuit. The products sold hereunder and any other products sold by Microsemi have been subject to limited testing and should not be used in conjunction with mission critical equipment or applications. Any performance specifications are believed to be reliable but are not verified, and Buyer must conduct and complete all performance and other testing of the products, alone and together with, or installed in, any end-products. Buyer shall not rely on any data and performance specifications or parameters provided by Microsemi. It is the Buyer’s responsibility to independently determine suitability of any products and to test and verify the same. The information provided by Microsemi hereunder is provided “as is, where is” and with all faults, and the entire risk associated with such information is entirely with the Buyer. Microsemi does not grant, explicitly or implicitly, to any party any patent rights, licenses, or any other IP rights, whether with regard to such information itself or anything described by such information. Information provided in this document is proprietary to Microsemi, and Microsemi reserves the right to make any changes to the information in this document or to any products and services at any time without notice.
Microsemi Headquarters
One Enterprise, Aliso Viejo,
CA 92656 USA
Within the USA: +1 800-713-4113
Outside the USA: +1 949-380-6100
Sales: +1 949-380-6136
Fax: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com
About Microsemi
Microsemi, a wholly owned subsidiary of Microchip Technology Inc. (Nasdaq: MCHP), offers a comprehensive portfolio of semiconductor and system solutions for aerospace & defense, communications, data center and industrial markets. Products include high-performance and radiation-hardened analog mixed-signal integrated circuits, FPGAs, SoCs and ASICs; power management products; timing and synchronization devices and precise time solutions, setting the world’s standard for time; voice processing devices; RF solutions; discrete components; enterprise storage and communication solutions, security technologies and scalable anti-tamper products; Ethernet solutions; Power- over-Ethernet ICs and midspans; as well as custom design capabilities and services. Learn more at www.microsemi.com.
Revision History
The revision history describes the changes that were implemented in the document. The changes are listed by revision, starting with the most current publication.
Revision 1.0
The first publication of the document.
PolarFire SDI Design
This document describes the method to run the SDI demo on the PolarFire video kit and the HD-SDI daughter card.
The demo design demonstrates the following functions:
- Dual camera module featuring IMX334 Sony image sensor
- YCbCr 422 converter
- SDI Transmitter (TX) IP
- HD-SDI daughter card for the loopback of the SDI data
- SDI Receiver (RX) IP
- HDMI 2.0 IP
The PolarFire Video Kit (DVP-102-000512-001) features:
- A 300K LE FPGA (MPF300TS, FCG1152I)
- HDMI 2.0 with rail clamps, ReDrivers and corresponding connectors
- DSI Interface
- A High Pin Count (HPC) FMC connector to connect to high-speed interfaces (like 6GSDI, 12GSDI and USXGMII)
For more information about this video kit, see https://www.microsemi.com/existingparts/parts/150747.
The following figure highlights the PolarFire Video Kit features:
Figure 1 • PolarFire Video Kit (DVP-102-000512-001)
Design Requirements
The following table lists the hardware and software required to run the demo.
Table 1 • Design Requirements
Design Requirement | Description |
---|---|
Hardware | |
-PolarFire VIDEO KIT | DVP-102-000512-001 REV 1.0 |
-USB A to mini-B cable | Required for FPGA programming |
-HDMI cable | HDMI A Male to Male cable |
-HDMI monitor -Power Adapter | HDMI monitor for the HDMI 2.0 TX port. 12V, 5A |
-Host PC | A host PC with USB port |
HD-SDI daughter card | HDSDI daughter card with Coaxial BNC to BNC Male to Male |
Cable
Software|
-Program_Debug_v12.2_win.exe| This executable file installs FlashPro Express, used to program the FPGA.
Prerequisites
Before you start:
-
Download the programming job file from:
http://soc.microsemi.com/download/rsc/?f=mpf_dg0889_liberosoc_jb -
Download and install the GUI from:
http://soc.microsemi.com/download/rsc/?f=mpf_dg0849_liberosoc_gui -
Download and install the Program and Debug software from:
http://soc.microsemi.com/download/reg/download.aspxp=f=ProgramDebug_v12_2_WIN
Note: On this web page, download the Program_Debug_v12.2_win.exe binary file. Installation of this executable file installs FlashPro Express used for FPGA programming. FlashPro Express is used in this demo.
Note: The Program and Debug Software also installs the drivers on the host PC to detect the COM port for running the demo. Install this software whenever the demo is run on a different host PC.
Demo Resources
The mpf_dg0889_liberosoc_jb folder contains the following resources:
- A job file (JOB file): This file includes the FPGA bitstream and the SPI Flash image to be programmed.
For programming the FPGA using the job file, see Programming the PolarFire Device, page 8.
Demo Design
The following block diagram shows the SDI demo design implemented in the
PolarFire FPGA using Libero SoC.
**Figure 2 • Top-Level Block Diagram
**
The following points summarize the data flow in the design:
- The demo uses a dual camera module that captures the real-time video data. This video data is received by the PolarFire FPGA via the MIPI-CSI2 RX interface on the board.
- The real-time video data is converted to the YCbCr 422 format by an Image Signal Processing (ISP) IP and stored in the DDR memory as frame buffer.
- The SDI TX IP fetches these frames and transmits the data at 12G using PolarFire Transceiver (XCVR). The 12G-SDI data is looped back via the BNC cable on the SDI daughter card and received at the receive end of the XCVR.
- The SDI RX IP receives the data and stores the frame buffer in the DDR memory in a different address space. Finally, the received data is fetched by the HDMI 2.0 IP and displayed on a HDMI monitor.
The PolarFire 12G-SDI Libero design is available at http://soc.microsemi.com/download/rsc/?f=mpf_dg0889_liberosoc_df.
The Libero project must be opened using Libero SoC v12.2. The Libero SoC v12.2
is available for download at
https://www.microsemi.com/product-directory/design-
resources/1750liberosoc#downloads.
Clocking Structure
The clocks generated from the onboard oscillator are used in the demo design. Using the 27 MHz reference frequency from the onboard oscillator, PF_CCC_C0 generates a 40 MHz clock for the XCVR_ERM_C1 (SDI_RX), and a 50 MHz clock for the Mi-V processor subsystem and DDR Controller. Using the reference frequency of 200 MHz (DDR System clock), PF_CCC_C1 generates a 148.5 MHz clock for XCVR_ERM_C0 (HDMI) and Display Controller.
Using the 148.5 MHz onboard oscillator, PF_XCVR_REF_CLK generates the following clocks:
- 148.5 MHz clock (LANE0_TX_CLK_G) for the SDI User Logic.
148.5 MHz clock (LANE0_RX_CLK_R) for the DDR Write Logic.
Using the reference frequency of 150 MHz, PF_CCC generates a 120 MHz clock for
MIPI_RX_DECODER. Figure 3, page 5 shows the clocking structure of the design.
**Figure 3 • Clocking Structure
**
Reset Structure
The Mi-V processor subsystem, XCVR, UART, SDI, ISP, and all other blocks are
reset when the following signals are asserted:
- DEVICE_INIT_DONE from PF_INIT_MONITOR
- DDR_CTRL_RDY from DDR Controller
- DDR PLL_LOCK
- PLL_LOCK of PF_CCC_C0
The reset structure is shown in Figure 4, page 6
**Figure 4 • Reset Structure
**
Setting Up the Demo
Setting up the demo involves the following processes:
- Setting Up the Hardware, page 6.
- Programming the PolarFire Device, page 8.
Setting Up the Hardware
Setting up the hardware involves interfacing the HD-SDI daughter board rev 1
card with the PolarFire Video Kit along with the HDMI monitor and verifying
the jumper settings.
Figure 5 • Board Setup
Follow these steps:
- Connect the J1 connector of the dual camera sensor module to J38 interface of the video kit.
- Connect the Full HD HDMI monitor to J2 (HDMI 1.4 TX port) of the video kit using the HDMI cable.
- Connect the HDMI monitor to J1 (HDMI 2.0 TX port) of the video kit (for 4k video output).
- Connect the host PC and the video kit through J12 of the video kit using the USB mini cable.
- Connect the power supply cable to J20 of the video kit.
- Connect the 3_J4 of HD-SDI daughter board rev1 card to J14 of the FMC connector of video kit.
- On HDSDI DAUGHTER BOARD connect HD_TX(3_J1) to HD_RX(3_J2) with coaxial BNC to BNC male to male connector.
- Ensure that the following jumper settings are set on the video kit.
- Power-up the HDMI monitor.
- Power-up the board using the SW4 slide switch.
Table 2 • Jumper and Switch Settings
Jumper | Default Position | Functionality |
---|---|---|
J15 | Open | SPI Slave and Master mode selection. By default, SPI master. |
J17 | Open | 100K PD for TRSTn. By default,1K PD is connected. |
J19 | Pin 1&2 | Default: XCVR_VREF is connected to GND. |
J28 | Pin 1&2 | Default: XCVR_VREF is connected to GND. |
J24 | Pin 2&4 | Default: Programming through the FTDI. |
J25 | Pin 3&4 | Default: VDDAUX4 voltage is set to 3V3. |
J36 | Pin 1&2 | Bank4 voltage is set to 2V5. |
SW4 | OFF | Default: Board power up through the SW4. |
SW6 | ON | Power ON\OFF switch. |
J20 | 12 Volts input | 12V input to the board. |
The PolarFire SDI demo is set up. See the following section to program the PolarFire device.’
Programming the PolarFire Device
This chapter describes how to program the PolarFire device with the job file
using
Flashpro Express. The job file is available at the following design files folder location <$Download_Directory>\mpf_dg0889_liberosoc_jb Follow these steps:
- On the host PC, start the FlashPro Express software from its installation directory.
- Select New or New Job Project from FlashPro Express Job from Project menu to create a new job project, as shown in the following figure.
**Figure 6 • FlashPro Express Job Project
**
- Enter the following in the New Job Project from FlashPro Express Job dialog box:
- Programming job file: Click Browse and navigate to the location where the job file is located and select the file. The default location is: <$Download_Directory>\mpf_dg0889_liberosoc_jb
- FlashPro Express job project location: Select Browse and navigate to the location where you want to save the project.
**Figure 7 • New Job Project from FlashPro Express Job
**
- Click OK. The required programming file is selected and ready to be programmed in the device.
- The FlashPro Express window appears as shown in Figure 4, page 7. Confirm that a programmer number appears in the Programmer field. If it does not, confirm the board connections and click Refresh/Rescan Programmers.
**Figure 8 • Programming the Device
**
- Click RUN to program the device. When the device is programmed successfully, a RUN PASSED status is displayed as shown in Figure 5, page 7. See Running the Demo, page 8.
**Figure 9 • FlashPro Express-RUN PASSED
** Close FlashPro Express (Project > Exit). The PolarFire device and SPI Flash are programmed. Power cycle the board using switch SW4. After power cycling, the HDMI monitor displays the live video from camera.
Running the Demo
The demo features receiving the MIPI Rx data from the IMX334 camera with 4K resolution at 30 frames per second (fps). The frames from camera are converted to YCbCr 422 format and stored in DDR.The 12G SDI Tx IP transmits the DDR video frames using PolarFire XCVR. The 12G SDI Rx IP receives the SDI video and stores the frames in DDR. The HDMI IP reads the frame buffer written by SDI Rx IP and sends out to HDMI display using XCVR. The image processing IPs are enabled on the display side of the video pipeline.
In the demo design, two display controllers are used to provide two video outputs:
-
Start the Video_Control GUI from the installation directory. The GUI is displayed as shown in the following figure.
Figure 10 • Video_Contol GUI
-
Select the second largest COM port on the GUI and select the Connect option.
Figure 11 • Connecting the GUI and Video kit
-
The Connect button turns green indicating a successful connection.
**Figure 12 • Connection Successful
**
-
Use the Contrast and Brightness sliders to adjust the contrast and brightness and observe the change on the HDMI monitor. The sliders are highlighted in the following figure.
Figure 13 • Adjusting Contrast and Brightness | -
Similarly, adjust the color balance of the image using the color balance sliders.
-
In the main video control GUI window, select the Panning option to view a particular area of the main or the PIP image within a 4K image.
-
In the Panning Menu, use Image Select to select the image to be panned (Main image or PIP image). Any area of the 4K camera feed can be viewed by dragging the pink box horizontally or vertically. The Reset option sets the view of the Main image and PIP image to its default center position.
**Figure 14 • Panning Menu
**
- Close the Panning Menu to return to the main GUI.
- Close the GUI to exit from the demo.
Note: The following features in the GUI are not supported in the current SDI design:
- Alpha
- Edge
- PIP
This concludes the demo.
Microsemi Proprietary DG0889 Revision 1.0
References
- FPGA Documentation | Microchip Technology
- FPGA Documentation | Microchip Technology
- FPGA Documentation | Microchip Technology
- FPGA Documentation | Microchip Technology
- FPGA Documentation | Microchip Technology
- Microsemi | Semiconductor & System Solutions | Power Matters
- MPF300-VIDEO-KIT | Microsemi
- Microsemi | Semiconductor & System Solutions | Power Matters
- Libero® SoC Design Suite Versions 2024.1 to 12.0 | Microchip Technology
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>