Altera DisplayPort IP Core User Guide

Altera DisplayPort IP Core User Guide

Below you will find brief information for DisplayPort IP Core. The DisplayPort IP core is part of the MegaCore IP Library, which is distributed with the Quartus II software and is downloadable from the Altera website at www.altera.com. Note: For system requirements and installation instructions, refer to the Altera Software Installation and Licensing Manual.

advertisement

Assistant Bot

Need help? Our chatbot has already read the manual and is ready to assist you. Feel free to ask any questions about the device, but providing details will make the conversation more productive.

DisplayPort IP Core User Guide - Altera | Manualzz
DisplayPort IP Core User Guide
Last updated for Altera Complete Design Suite: 14.0
UG-01131
Subscribe
2014.06.30
Send Feedback
101 Innovation Drive
San Jose, CA 95134
www.altera.com
TOC-2
DisplayPort IP Core User Guide
Contents
DisplayPort IP Core Quick Reference................................................................1-1
About This IP Core..............................................................................................2-1
Device Family Support................................................................................................................................2-1
IP Core Verification.....................................................................................................................................2-2
Performance and Resource Utilization.....................................................................................................2-2
Getting Started....................................................................................................3-1
Installing and Licensing IP Cores..............................................................................................................3-1
OpenCore Plus IP Evaluation........................................................................................................3-1
IP Catalog and Parameter Editor...............................................................................................................3-2
Specifying IP Core Parameters and Options................................................................................3-3
Simulating the Design.................................................................................................................................3-4
Simulating with the ModelSim Simulator....................................................................................3-4
Compiling the Full Design and Programming the FPGA......................................................................3-4
DisplayPort Source..............................................................................................4-1
Source Overview...........................................................................................................................................4-1
Source Functional Description..................................................................................................................4-2
Main Data Path.................................................................................................................................4-3
Embedded DisplayPort (eDP) Support.........................................................................................4-4
Source Parameters........................................................................................................................................4-5
Source Interfaces..........................................................................................................................................4-7
Controller Interface.......................................................................................................................4-10
AUX Interface.................................................................................................................................4-10
Video Interface...............................................................................................................................4-11
TX Transceiver Interface..............................................................................................................4-12
Transceiver Reconfiguration Interface.......................................................................................4-12
Transceiver Analog Reconfiguration Interface..........................................................................4-13
Secondary Stream Interface..........................................................................................................4-13
Audio Interface...............................................................................................................................4-15
MSA Interface.................................................................................................................................4-17
Altera Corporation
DisplayPort IP Core User Guide
TOC-3
Source Clock Tree......................................................................................................................................4-18
DisplayPort Sink..................................................................................................5-1
Sink Overview...............................................................................................................................................5-1
Sink Functional Description.......................................................................................................................5-1
Embedded DisplayPort (eDP) Support.........................................................................................5-3
Sink Parameters ...........................................................................................................................................5-3
Sink Interfaces..............................................................................................................................................5-5
Controller Interface.......................................................................................................................5-10
AUX Interface.................................................................................................................................5-11
Debugging Interface......................................................................................................................5-12
Video Interface...............................................................................................................................5-13
RX Transceiver Interface..............................................................................................................5-16
Transceiver Reconfiguration Interface.......................................................................................5-16
Secondary Stream Interface..........................................................................................................5-17
Audio Interface...............................................................................................................................5-18
MSA Interface.................................................................................................................................5-19
Sink Clock Tree..........................................................................................................................................5-20
DisplayPort IP Core Hardware Demonstration.................................................6-1
Introduction..................................................................................................................................................6-1
Transceiver and Clocking...........................................................................................................................6-4
Required Hardware......................................................................................................................................6-7
Design Walkthrough.................................................................................................................................6-10
Set Up the Hardware.....................................................................................................................6-10
Copy the Design Files to Your Working Directory..................................................................6-10
Build the FPGA Design.................................................................................................................6-12
Build, Load, and Run the Software..............................................................................................6-13
View the Results.............................................................................................................................6-14
DisplayPort IP Core Simulation Example..........................................................7-1
Introduction..................................................................................................................................................7-1
Design Walkthrough...................................................................................................................................7-2
Copy the Simulation Files to Your Working Directory..............................................................7-2
Generate the IP Simulation Files and Scripts, and Compile and Simulate..............................7-3
View the Results...............................................................................................................................7-4
Altera Corporation
TOC-4
DisplayPort IP Core User Guide
DisplayPort IP Core Compilation Example.......................................................8-1
Introduction..................................................................................................................................................8-1
Design Walkthrough...................................................................................................................................8-1
Copy the Compilation Files to Your Working Directory...........................................................8-2
Generate the IP Compilation Files, Compile, and View the Results........................................8-2
DisplayPort API Reference.................................................................................9-1
Using the Library.........................................................................................................................................9-1
btc_dprx_syslib API Reference..................................................................................................................9-3
btc_dprx_aux_get_request.........................................................................................................................9-4
btc_dprx_aux_handler................................................................................................................................9-5
btc_dprx_aux_post_reply...........................................................................................................................9-6
btc_dprx_baseaddr......................................................................................................................................9-6
btc_dprx_dpcd_gpu_access........................................................................................................................9-7
btc_dprx_edid_set........................................................................................................................................9-7
btc_dprx_hpd_get........................................................................................................................................9-8
btc_dprx_hpd_pulse....................................................................................................................................9-9
btc_dprx_hpd_set........................................................................................................................................9-9
btc_dprx_syslib_add_rx............................................................................................................................9-10
btc_dprx_syslib_info.................................................................................................................................9-11
btc_dprx_syslib_init..................................................................................................................................9-11
btc_dprx_syslib_monitor..........................................................................................................................9-12
btc_dptx_syslib API Reference................................................................................................................9-12
btc_dptx_aux_i2c_read.............................................................................................................................9-13
btc_dptx_aux_i2c_write............................................................................................................................9-14
btc_dptx_aux_read....................................................................................................................................9-15
btc_dptx_aux_write...................................................................................................................................9-16
btc_dptx_baseaddr.....................................................................................................................................9-17
btc_dptx_edid_block_read.......................................................................................................................9-17
btc_dptx_edid_read...................................................................................................................................9-18
btc_dptx_fast_link_training.....................................................................................................................9-19
btc_dptx_link_training.............................................................................................................................9-20
btc_dptx_set_color_space.........................................................................................................................9-20
btc_dptx_syslib_init..................................................................................................................................9-21
btc_dptx_syslib_monitor..........................................................................................................................9-21
btc_dptx_test_autom.................................................................................................................................9-22
btc_dptx_video_enable.............................................................................................................................9-22
Altera Corporation
DisplayPort IP Core User Guide
TOC-5
btc_dpxx_syslib Additional Types..........................................................................................................9-22
btc_dprx_syslib Supported DPCD Locations........................................................................................9-23
DisplayPort Source Register Map.....................................................................10-1
General Registers.......................................................................................................................................10-1
DPTX_TX_CONTROL.................................................................................................................10-1
DPTX_TX_STATUS.....................................................................................................................10-3
MSA Registers............................................................................................................................................10-3
DPTX0_MSA_MVID....................................................................................................................10-3
DPTX0_MSA_NVID....................................................................................................................10-4
DPTX0_MSA_HTOTAL..............................................................................................................10-4
DPTX0_MSA_VTOTAL..............................................................................................................10-4
DPTX0_MSA_HSP........................................................................................................................10-4
DPTX0_MSA_HSW......................................................................................................................10-5
DPTX0_MSA_HSTART...............................................................................................................10-5
DPTX0_MSA_VSTART...............................................................................................................10-5
DPTX0_MSA_VSP........................................................................................................................10-6
DPTX0_MSA_VSW......................................................................................................................10-6
DPTX0_MSA_HWIDTH.............................................................................................................10-6
DPTX0_MSA_VHEIGHT............................................................................................................10-7
DPTX0_MSA_MISC0...................................................................................................................10-7
DPTX0_MSA_MISC1...................................................................................................................10-7
DPTX0_MSA_COLOUR..............................................................................................................10-8
Link Voltage and Pre-Emphasis Controls..............................................................................................10-8
DPTX_PRE_VOLT0.....................................................................................................................10-8
DPTX_PRE_VOLT1.....................................................................................................................10-9
DPTX_PRE_VOLT2.....................................................................................................................10-9
DPTX_PRE_VOLT3.....................................................................................................................10-9
DPTX_RECONFIG.....................................................................................................................10-10
Link Quality Pattern Generation Register................................................................................10-10
Timestamp................................................................................................................................................10-11
Audio Register..........................................................................................................................................10-11
CRC Registers...........................................................................................................................................10-12
AUX Controller Interface.......................................................................................................................10-13
DPTX_AUX_CONTROL...........................................................................................................10-13
DPTX_AUX_CMD.....................................................................................................................10-14
DPTX_AUX_BYTE0...................................................................................................................10-14
DPTX_AUX_BYTE1...................................................................................................................10-15
Altera Corporation
TOC-6
DisplayPort IP Core User Guide
DPTX_AUX_BYTE2...................................................................................................................10-15
DPTX_AUX_BYTE3...................................................................................................................10-15
DPTX_AUX_BYTE4...................................................................................................................10-16
DPTX_AUX_BYTE5...................................................................................................................10-16
DPTX_AUX_BYTE6...................................................................................................................10-16
DPTX_AUX_BYTE7...................................................................................................................10-17
DPTX_AUX_BYTE8...................................................................................................................10-17
DPTX_AUX_BYTE9...................................................................................................................10-17
DPTX_AUX_BYTE10.................................................................................................................10-18
DPTX_AUX_BYTE11.................................................................................................................10-18
DPTX_AUX_BYTE12.................................................................................................................10-18
DPTX_AUX_BYTE13.................................................................................................................10-19
DPTX_AUX_BYTE14.................................................................................................................10-19
DPTX_AUX_BYTE15.................................................................................................................10-19
DPTX_AUX_BYTE16.................................................................................................................10-20
DPTX_AUX_BYTE17.................................................................................................................10-20
DPTX_AUX_BYTE18.................................................................................................................10-20
DPTX_AUX_RESET...................................................................................................................10-20
DisplayPort Sink Register Map and DPCD Locations.....................................11-1
General Registers.......................................................................................................................................11-1
DPRX_RX_CONTROL.................................................................................................................11-1
DPRX_RX_STATUS.....................................................................................................................11-3
DPRX_BER_CONTROL..............................................................................................................11-5
DPRX_BER_CNT0........................................................................................................................11-6
DPRX_BER_CNT1........................................................................................................................11-6
Timestamp..................................................................................................................................................11-7
MSA Registers............................................................................................................................................11-7
DPRX0_MSA_MVID....................................................................................................................11-7
DPRX0_MSA_NVID....................................................................................................................11-8
DPRX0_MSA_HTOTAL..............................................................................................................11-8
DPRX0_MSA_VTOTAL..............................................................................................................11-8
DPRX0_MSA_HSP........................................................................................................................11-9
DPRX0_MSA_HSW......................................................................................................................11-9
DPRX0_MSA_HSTART...............................................................................................................11-9
DPRX0_MSA_VSTART.............................................................................................................11-10
DPRX0_MSA_VSP......................................................................................................................11-10
DPRX0_MSA_VSW....................................................................................................................11-10
Altera Corporation
DisplayPort IP Core User Guide
TOC-7
DPRX0_MSA_HWIDTH...........................................................................................................11-11
DPRX0_MSA_VHEIGHT..........................................................................................................11-11
DPRX0_MSA_MISC0.................................................................................................................11-11
DPRX0_MSA_MISC1.................................................................................................................11-11
DPRX0_VBID..............................................................................................................................11-12
Audio Registers........................................................................................................................................11-12
DPRX0_AUD_MAUD................................................................................................................11-12
DPRX0_AUD_NAUD................................................................................................................11-13
DPRX0_AUD_AIF0....................................................................................................................11-13
DPRX0_AUD_AIF1....................................................................................................................11-13
DPRX0_AUD_AIF2....................................................................................................................11-14
DPRX0_AUD_AIF3....................................................................................................................11-14
DPRX0_AUD_AIF4....................................................................................................................11-14
AUX Controller Interface.......................................................................................................................11-15
DPRX_AUX_CONTROL...........................................................................................................11-15
DPRX_AUX_STATUS................................................................................................................11-16
DPRX_AUX_COMMAND........................................................................................................11-16
DPRX_AUX_BYTE0...................................................................................................................11-17
DPRX_AUX_BYTE1...................................................................................................................11-17
DPRX_AUX_BYTE2...................................................................................................................11-17
DPRX_AUX_BYTE3...................................................................................................................11-18
DPRX_AUX_BYTE4...................................................................................................................11-18
DPRX_AUX_BYTE5...................................................................................................................11-18
DPRX_AUX_BYTE6...................................................................................................................11-19
DPRX_AUX_BYTE7...................................................................................................................11-19
DPRX_AUX_BYTE8...................................................................................................................11-19
DPRX_AUX_BYTE9...................................................................................................................11-20
DPRX_AUX_BYTE10.................................................................................................................11-20
DPRX_AUX_BYTE11.................................................................................................................11-20
DPRX_AUX_BYTE12.................................................................................................................11-21
DPRX_AUX_BYTE13.................................................................................................................11-21
DPRX_AUX_BYTE14.................................................................................................................11-21
DPRX_AUX_BYTE15.................................................................................................................11-22
DPRX_AUX_BYTE16.................................................................................................................11-22
DPRX_AUX_BYTE17.................................................................................................................11-22
DPRX_AUX_BYTE18.................................................................................................................11-23
DPRX_AUX_I2C0.......................................................................................................................11-23
DPRX_AUX_I2C1.......................................................................................................................11-23
DPRX_AUX_RESET...................................................................................................................11-24
Altera Corporation
TOC-8
DisplayPort IP Core User Guide
DPRX_AUX_HPD......................................................................................................................11-24
Sink-Supported DPCD Locations.........................................................................................................11-25
Additional Information....................................................................................12-1
Document Revision History.....................................................................................................................12-1
How to Contact Altera..............................................................................................................................12-3
Altera Corporation
1
DisplayPort IP Core Quick Reference
2014.06.30
UG-01131
Subscribe
Send Feedback
®
®
This document describes the Altera DisplayPort MegaCore function, which provides support for
next-generation video display interface technology.
®
The DisplayPort IP core is part of the MegaCore IP Library, which is distributed with the Quartus II software
and is downloadable from the Altera website at www.altera.com.
Note: For system requirements and installation instructions, refer to the Altera Software Installation and
Licensing Manual.
Table 1-1: DisplayPort IP core
Item
Release
Information
Description
Version
14.0
Release Date
June 2014
Ordering Code
IP-DP-v1.1a
Product ID
0109
Vendor ID
6AF7
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
1-2
UG-01131
2014.06.30
DisplayPort IP Core Quick Reference
Item
Core Features
Description
• Conforms to the Video Electronics Standards Association
(VESA) specification version 1.2a
• Scalable main data link
• 1, 2, or 4 lane operation
• 1.62, 2.7, and 5.4 Gbps per lane with an embedded clock
• Color support
• 16, 18, 20, 24, 30, 32, 36, or 48 bits per pixel (bpp) color
depths
• RGB and YCrCb color modes
• 40-bit (quad symbol) and 20-bit (dual symbol) transceiver
data interface
• Support for 1, 2, or 4 parallel pixels per clock
• Source
• Embedded controller AUX channel operation
• Accepts standard H-sync/V-sync/data enable RGB and
YCrCb input video formats
• Supports audio and video streams
• Sink
• Finite state machine (FSM) and embedded controller
AUX channel operation
• Produces a proprietary video output
IP Core
Information
®
• Produces a standard Avalon Streaming (Avalon-ST)
interface for use in the Altera VIP Suite
• Auxiliary channel for 2-way communication (link and
device management)
• Hot plug detect (HPD)
• Sink announces its presence
• Sink requests the source’s attention
• AC coupling and low EMI
Typical Application
• Interfaces within a PC or monitor
• External display connections, including interfaces between
a PC and monitor or projector, between a PC and TV, or
between a device such as a DVD player and TV display
Device Family Support
Arria V GX, Arria V GZ, Cyclone V, and Stratix V FPGA
devices.
®
®
®
Refer to the What’s New in Altera IP page of the Altera website
for detailed information.
Design Tools
Altera Corporation
DisplayPort IP Core Quick Reference
Send Feedback
UG-01131
2014.06.30
DisplayPort IP Core Quick Reference
Item
1-3
Description
• IP Catalog in the Quartus II software for IP design
instantiation and compilation
• TimeQuest timing analyzer in the Quartus II software for
timing analysis
• ModelSim-Altera software for design simulation
Related Information
• Altera Software Installation and Licensing
• What's New in Altera IP
DisplayPort IP Core Quick Reference
Send Feedback
Altera Corporation
About This IP Core
2
2014.06.30
UG-01131
Subscribe
Send Feedback
®
®
This document describes the Altera DisplayPort MegaCore function, which provides support for nextgeneration video display interface technology. The Video Electronics Standards Association (VESA) defines
the DisplayPort standard as an open digital communications interface for use in internal connections such
as:
• Interfaces within a PC or monitor
• External display connections, including interfaces between a PC and monitor or projector, between a PC
and TV, or between a device such as a DVD player and TV display
The Altera DisplayPort source has a scalable main link with 1, 2, or 4 lanes for a total up to 21.6 Gbps
bandwidth. A bidirectional AUX channel with 1 Mbps Manchester encoding provides side-band
communication. The sink uses a hot plug detect (HPD) signal to announce its presence, and the source uses
the same signal to initiate link configuration.
Figure 2-1: DisplayPort Source and Sink Communication
The main link has three selectable data rates: 1.62, 2.7, and 5.4 Gbps.
Lane 0 Data (1.62, 2.7, or 5.4 Gbps)
Lane 1 Data (1.62, 2.7, or 5.4 Gbps)
Lane 2 Data (1.62, 2.7, or 5.4 Gbps)
Source
Lane 3 Data (1.62, 2.7, or 5.4 Gbps)
Sink
AUX Channel (1 Mbps)
Hot Plug Detect
Device Family Support
The following table lists the level of support offered by the DisplayPort IP core for each Altera device family.
• Preliminary support—Indicates that the IP core is verified with preliminary timing models for this device
family. the IP core meets all functional requirements, but might still be undergoing timing analysis for
the device family. It can be used in production designs with caution.
• Final support—The IP core is verified with final timing models for this device family. The IP core meets
all functional and timing requirements for the device family and can be used in production designs.
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
2-2
UG-01131
2014.06.30
IP Core Verification
Table 2-1: Device Family Support
Device Family
Support
Arria V GX
Preliminary support
Arria V GZ
Preliminary support
Cyclone V
Preliminary support
Stratix V
Preliminary support
Other device families
No support
Table 2-2: Link Rate Support by Device Family
Device Family
20-bit mode
40-bit mode
Arria V GX
RBR, HBR
RBR, HBR, HBR2
Arria V GZ
RBR, HBR, HBR2
RBR, HBR, HBR2
Cyclone V
Reduced Bit Rate (RBR)
, High Bit Rate (HBR)
RBR, HBR
Stratix V
RBR, HBR, HBR2
RBR, HBR, HBR2
IP Core Verification
Before releasing a publicly available version of the DisplayPort IP core, Altera runs a comprehensive
®
verification suite in the current version of the Quartus II software. These tests use standalone methods and
the Qsys system integration tool to create the instance files. These files are tested in simulation and hardware
to confirm functionality. Altera tests and verifies the DisplayPort IP core in hardware for different platforms
and environments.
The DisplayPort IP core has been tested at VESA Plugtest events and passes the Unigraf DisplayPort Link
Layer CTS tests.
Performance and Resource Utilization
This section contains tables showing IP core variation size and performance examples.
The following table lists the resources and expected performance for selected variations. The results were
obtained using the Quartus II software v14.0 for the following devices:
• Arria V (5AGXFB3H4F40C5)
• Cyclone V (5CGTFD9E5F35C7)
• Stratix V (5SGXEA7K2F40C2)
Altera Corporation
About This IP Core
Send Feedback
UG-01131
2014.06.30
2-3
Performance and Resource Utilization
Table 2-3: DisplayPort IP Core FPGA Resource Utilization
M10K for Arria V devices and M20K for Stratix V devices.
Parameters
Device
Transceiver
Interface
(bits)
Mode, Lanes, and Color
Depth
20
Arria V GX
40
Duplex, 4 lanes, 24 bpp
20
Cyclone V
40
Duplex, 4 lanes, 24 bpp
20
Stratix V
40
Duplex, 4 lanes, 24 bpp
Logic Registers
ALMs
Primary
Secondary
Memory
Bits
M10K or
M20K
7,144
9,837
0
29k
18
13,693
13,286
0
42k
32
7,200
9,995
0
29k
18
13,735
13,480
0
42k
32
7,171
10,175
0
29k
18
13,679
13,762
0
42k
32
Related Information
Fitter Resources Reports
More information about Quartus II resource utilization reporting.
About This IP Core
Send Feedback
Altera Corporation
Getting Started
3
2014.06.30
UG-01131
Send Feedback
Subscribe
This chapter provides an overview of the DisplayPort design flow. The IP core is installed as part of the
Quartus II installation process.
Installing and Licensing IP Cores
The Quartus II software includes the Altera IP Library. The library provides many useful IP core functions
for production use without additional license. You can fully evaluate any licensed Altera IP core in simulation
and in hardware until you are satisfied with its functionality and performance. Some Altera IP cores, such
®
as MegaCore functions, require that you purchase a separate license for production use. After you purchase
a license, visit the Self Service Licensing Center to obtain a license number for any Altera product.
Figure 3-1: IP Core Installation Path
acds
quartus - Contains the Quartus II software
ip - Contains the Altera IP Library and third-party IP cores
altera - Contains the Altera IP Library source code
<IP core name> - Contains the IP core source files
Note: The default IP installation directory on Windows is <drive>:\altera\<version number>; on Linux it
is <home directory>/altera/ <version number>.
Related Information
• Altera Licensing Site
• Altera Software Installation and Licensing Manual
OpenCore Plus IP Evaluation
Altera's free OpenCore Plus feature allows you to evaluate licensed MegaCore IP cores in simulation and
hardware before purchase. You need only purchase a license for MegaCore IP cores if you decide to take
your design to production. OpenCore Plus supports the following evaluations:
• Simulate the behavior of a licensed IP core in your system.
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
3-2
IP Catalog and Parameter Editor
UG-01131
2014.06.30
• Verify the functionality, size, and speed of the IP core quickly and easily.
• Generate time-limited device programming files for designs that include IP cores.
• Program a device with your IP core and verify your design in hardware
OpenCore Plus evaluation supports the following two operation modes:
• Untethered—run the design containing the licensed IP for a limited time.
• Tethered—run the design containing the licensed IP for a longer time or indefinitely. This requires a
connection between your board and the host computer.
Note: All IP cores using OpenCore Plus in a design time out simultaneously when any IP core times out.
IP Catalog and Parameter Editor
The Quartus II IP Catalog (Tools > IP Catalog) and parameter editor help you easily customize and integrate
IP cores into your project. You can use the IP Catalog and parameter editor to select, customize, and generate
files representing your custom IP variation.
The IP Catalog automatically displays the IP cores available for your target device. Double-click any IP core
name to launch the parameter editor and generate files representing your IP variation. The parameter editor
prompts you to specify your IP variation name, optional ports, architecture features, and output file generation
options. The parameter editor generates a top-level .qsys or .qip file representing the IP core in your project.
Alternatively, you can define an IP variation without an open Quartus II project. When no project is open,
select the Device Family directly in IP Catalog to filter IP cores by device.
Note: The IP Catalog is also available in Qsys (View > IP Catalog). The Qsys IP Catalog includes exclusive
system interconnect, video and image processing, and other system-level IP that are not available in
the Quartus II IP Catalog.
Use the following features to help you quickly locate and select an IP core:
• Filter IP Catalog to Show IP for active device family or Show IP for all device families.
• Search to locate any full or partial IP core name in IP Catalog. Click Search for Partner IP, to access
partner IP information on the Altera website.
• Right-click an IP core name in IP Catalog to display details about supported devices, installation location,
and links to documentation.
Altera Corporation
Getting Started
Send Feedback
UG-01131
2014.06.30
Specifying IP Core Parameters and Options
3-3
Figure 3-2: Quartus II IP Catalog
Search and filter IP for your target device
Double-click to customize, right-click for information
™
Note: The IP Catalog and parameter editor replace the MegaWizard Plug-In Manager in the Quartus II
software. The Quartus II software may generate messages that refer to the MegaWizard Plug-In
Manager. Substitute "IP Catalog and parameter editor" for "MegaWizard Plug-In Manager" in these
messages.
Specifying IP Core Parameters and Options
Follow these steps to specify IP core parameters and options.
1. In the IP Catalog (Tools > IP Catalog), locate and double-click the name of the IP core to customize.
The parameter editor appears.
2. Specify a top-level name for your custom IP variation. This name identifies the IP core variation files in
your project. If prompted, also specify the target Altera device family and output file HDL preference.
Click OK.
3. Specify parameters and options for your IP variation:
• Optionally select preset parameter values. Presets specify all initial parameter values for specific
applications (where provided).
• Specify parameters defining the IP core functionality, port configurations, and device-specific features.
• Specify options for generation of a timing netlist, simulation model, testbench, or example design
(where applicable).
Getting Started
Send Feedback
Altera Corporation
3-4
Simulating the Design
UG-01131
2014.06.30
• Specify options for processing the IP core files in other EDA tools.
4. Click Finish or Generate to generate synthesis and other optional files matching your IP variation
specifications. The parameter editor generates the top-level .qip or .qsys IP variation file and HDL files
for synthesis and simulation. Some IP cores also simultaneously generate a testbench or example design
for hardware testing.
5. To generate a simulation testbench, click Generate > Generate Testbench System. Generate Testbench
System is not available for some IP cores that do not provide a simulation testbench.
6. To generate a top-level HDL example for hardware verification, click Generate > HDL Example.
Generate > HDL Example is not available for some IP cores.
The top-level IP variation is added to the current Quartus II project. Click Project > Add/Remove Files in
Project to manually add a .qip or .qsys file to a project. Make appropriate pin assignments to connect ports.
Simulating the Design
You can simulate your DisplayPort IP core variation using the simulation model that the MegaWizard PlugIn Manager generates. The simulation model files are generated in vendor-specific subdirectories of your
project directory. The DisplayPort IP core includes a simulation example.
The following sections teach you how to simulate your MegaWizard Plug-In Manager flow generated
DisplayPort IP core variation with the generated simulation model.
Related Information
• DisplayPort IP Core Simulation Example on page 7-1
Simulating with the ModelSim Simulator
To simulate using the Mentor Graphics ModelSim simulator, perform the following steps:
1. Start the ModelSim simulator.
2. In ModelSim, change directory to the project simulation directory <variation>_sim/mentor.
3. Type the following commands to set up the required libraries and compile the generated simulation
model:
do msim_setup.tcl
ld
run -all
Compiling the Full Design and Programming the FPGA
You can use the Start Compilation command on the Processing menu in the Quartus II software to compile
your design. After successfully compiling your design, program the targeted Altera device with the
Programmer and verify the design in hardware.
Related Information
• Quartus II Incremental Compilation for Hierarchical and Team-Based Design
Altera Corporation
Getting Started
Send Feedback
UG-01131
2014.06.30
Compiling the Full Design and Programming the FPGA
3-5
• Device Programming
Getting Started
Send Feedback
Altera Corporation
DisplayPort Source
4
2014.06.30
UG-01131
Subscribe
Send Feedback
Source Overview
The DisplayPort source has a scalable main link with 1, 2, or 4 lanes for a total up to 21.6 Gbps bandwidth.
A bidirectional AUX channel with 1 Mbps Manchester encoding provides side-band communication.
Figure 4-1: DisplayPort Source
Lane 0 Data (1.62, 2.7, or 5.4 Gbps)
Lane 1 Data (1.62, 2.7, or 5.4 Gbps)
Lane 2 Data (1.62, 2.7, or 5.4 Gbps)
Source
Lane 3 Data (1.62, 2.7, or 5.4 Gbps)
Sink
AUX Channel (1 Mbps)
Hot Plug Detect
The main link has three selectable data rates: 1.62, 2.7, and 5.4 Gbps. The source device sets the lane count
and link rate combination (referred to as the policy) according to the sink’s capabilities and required video
bandwidth. The IP core transmits the video and audio streams on the main link with embedded clocking.
The DisplayPort protocol embeds the clocks such that the pixel and audio clocks are decoupled from the
transmission clock.
The IP core transmits data in a scrambled ANSI 8B/10B format. The data transmission includes redundancy
for error detection. The secondary data stream, such as an audio stream, uses a Reed-Solomon encoder for
error correction.
The AUX channel is an AC-coupled differential pair for bidirectional communication. The signaling is a
self-clocked Manchester encoding at 1 Mbps. As in the 100-T Ethernet protocol, the encoder uses a preceding
synchronization pattern in each 16-byte maximum packet.
The AUX channel uses a master-slave hierarchy in which the source (master) initiates all communication.
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
4-2
UG-01131
2014.06.30
Source Functional Description
Source Functional Description
The DisplayPort source has a complete set of parameters for optimizing device resources.
The DisplayPort source consists of a DisplayPort encoder block, a transceiver management block, and a
controller interface block with an Avalon-MM interface for connecting with an embedded controller such
as a Nios II processor. You configure the ports using an RTL wrapper instantiation or by implementing the
IP core as a Qsys component.
Figure 4-2: DisplayPort Source Top-Level Block Diagram
DisplayPort Source
Encoder
tx_video_in
tx_vid_clk
Video Input
Video Clock
AUX Debug Stream
(Avalon-ST Interface
tx_audio
tx_audio_clk
Audio Input
Audio Clock
TX Transceiver Interface
tx_aux
aux_clk
tx_ss
tx_xcvr_clkout
tx_msa_conduit
tx_aux_debug
tx_xcvr_interface
AUX Interface
AUX Clock
Secondary Stream
(Avalon-ST Interface)
MSA Input
Transceiver Management
Transceiver Management Clock
TX Analog Reconfiguration
TX Reconfiguration
xcvr_mgmt_clk
tx_analog_reconfig
tx_reconfig
Controller Interface
tx_mgmt
clk
Altera Corporation
Avalon-MM Interface
Avalon-MM Interface Clock
Interrupt
tx_mgmt_interrupt
DisplayPort Source
Send Feedback
UG-01131
2014.06.30
Main Data Path
4-3
Figure 4-3: DisplayPort Source Functional Block Diagram
Fixed MSA
(tx_msa)
Multiplexer
Measure
Video
Legend
MSA
Generator
tx_xcvr_clkout
clk
tx_vid_clk
aux_clk
tx_audio_clk
Throttle
Video Input
(tx_video_in)
Pixel
Steer
DCFIFO
Gearbox
FIFO
Blank Start
Generator
Packetize
8B/10B
Encoder
40-Bit (Quad Symbol) or
20-Bit (Dual Symbol)
Data to Transceiver
Video Data
Packet
Generator
Audio Stream
(tx_audio)
Secondary
Data (tx_ss)
Audio
Encoder
Secondary
Stream Encoder
DCFIFO
Training
Pattern 1
Training
Pattern 2
Avalon-MM
(tx_mgmt)
Controller
Registers
AUX
Controller
Bidirectional AUX Data
AUX Debug Stream
HPD
The source accepts a standard H-sync, V-sync, and data enable video stream for encoding. The IP core
latches and processes the video data before processing it using the tx_vid_clk input. The video data width
supports 6 to 16 bits-per color (bpc) and is user selectable. If you set the Pixel input mode option to Dual
or Quad, the video input can accept two or four pixels per clock, thereby extending the pixel clock rate
capability. The IP core forwards video input to three parallel paths.
Main Data Path
The main data path consists of the packetizer, measurement, and blank generator paths. The IP core
multiplexes data from these three paths and outputs it through an 8B/10B encoder.
Packetizer Path
The packetizer path provides video data resampling and packetization, and consists of the following steps:
1. The pixel steer block decimates the data to the requested lane count (1, 2, or 4).
2. The DCFIFO crosses the data into the main link clock domain (tx_xcvr_clkout, generated by the
transceiver), which can be 270, 135, 81, 67.5, or 40.5 MHz depending on the actual main link rate requested
and the symbols per clock.
3. The gearbox resamples the video data according to the specified color depth. You can optimize the gearbox
by implementing fewer color depths. For example, you can reduce the resources required to implement
DisplayPort Source
Send Feedback
Altera Corporation
4-4
Measurement Path
UG-01131
2014.06.30
the system by supporting only the color depths you need instead of the complete set of color depths
specified in the DisplayPort specification.
4. The IP core packetizes the re-sampled data. The DisplayPort specification requires data to be sent in a
transfer unit (TU), which can be 32 to 64 link symbols long. To reduce complexity, the DisplayPort source
uses a fixed 64-symbol TU. The specification also requires that the video data be evenly distributed within
the TUs composing a full active video line. A throttle function distributes the data and regulates it to
ensure that the TUs leaving the IP core are evenly packed.
Note: A minimal DisplayPort system should support both 6 and 8 bpc. The VESA DisplayPort specification
requires support for a mandatory VGA fail safe mode (640 x 480 at 6 bpc).
The packetizer punctuates the outgoing 16-bit data stream with the correct packet comma codes. Internally,
the packetizer uses a symbol and a TU counter to ensure that it respects the TU boundaries.
Measurement Path
The measurement path determines the video geometry required for the DisplayPort main stream attributes
(MSA), which are sent once every vertical blanking interval. Optionally, the IP core can import a fixed MSA
data parameter from an external port, removing the measurement logic. This feature is useful for embedded
systems that only use known resolutions and synchronous pixel clocks.
Blank Generator Path
The blank generator path determines when to send the blank start comma codes with their corresponding
video data packets. This path can operate in enhanced or standard framing mode.
Multiplexer
The IP core multiplexes the packetized data, MSA data, and blank generator data into a single stream. The
combined data goes through 8B/10B encoding and is available as a 20-bit double-rate or a 40-bit quad-rate
DisplayPort encoded video port. The 20- or 40-bit port connects directly to the Altera high-speed output
transceiver.
During training periods, the source can send the DisplayPort clock recovery and symbol lock test patterns
(training pattern 1 and training pattern 2, respectively).
The source also implements an AUX channel controller, which you access using an embedded controller.
The embedded controller acts as an Avalon-MM master and sends read/write commands to the Avalon-MM
slave interface. The IP core clocks the AUX channel using a 16 MHz clock input (aux_clk).
Related Information
Controller Interface on page 4-10
Embedded DisplayPort (eDP) Support
The DisplayPort IP core is compliant with eDP version 1.3. eDP is based on the VESA DisplayPort standard.
It has the same electrical interface and can share the same video port on the controller. The DisplayPort IP
core supports both full (normal) link training (default) and fast link training, which is a mandatory eDP
feature.
Altera Corporation
DisplayPort Source
Send Feedback
UG-01131
2014.06.30
Source Parameters
4-5
Source Parameters
You set parameters for the source using the DisplayPort parameter editor.
Table 4-1: Source Parameters
Parameter
Description
Device family
Targeted device family (Arria V GX, Arria V GZ, Cyclone V, or Stratix V)
; matches the project device family.
Support DisplayPort source
Enable DisplayPort source.
Maximum video input color
depth
Video input interface port bits per color (bpc). Determines top-level video
input port width (for example, 6 bpc = 18 bits, 16 bpc = 48 bits).
TX maximum link rate
Maximum link rate. 5.4 Gbps, 2.7 Gbps, 1.62 Gbps.
Note: Cyclone V devices do not support 5.4
Gbps.
Maximum lane count
Maximum lanes used (1, 2, or 4).
Symbol output mode
Specify how many symbols are transferred during each clock cycle: dual or
quad symbol, or TX transceiver data width: dual (20 bits) or quad (40 bits)
.
Pixel input mode
Specify the number of pixels per clock (single, dual, or quad symbol).
• If you select dual pixels per clock, the pixel clock is ½ of the full rate
clock and the video port becomes two times wider.
• If you select four pixels per clock, the pixel clock is ¼ of the full rate clock
and the video port becomes four times wider.
Scrambler seed value
Initial seed for scrambler block. Use 16’hFFFF for normal DP and 16’hFFFE
for eDP.
Invert transceiver polarity
Invert transceiver polarity.
Support analog reconfiguration
Enable the analog reconfiguration interface if you are not using an external
re-driver solution.
Enable AUX debug stream
Send source AUX traffic output to an Avalon-ST port.
Import fixed MSA
Used fixed MSA.
Interlaced input video
Interlace the input video. Turn on for interlaced, turn off for progressive.
Support CTS test automation Support CTS test automation.
Support secondary data
channel
DisplayPort Source
Send Feedback
Enables secondary data.
Altera Corporation
4-6
UG-01131
2014.06.30
Source Parameters
Parameter
Support audio data channel
Description
Enables audio packet encoding.
Note: To use this parameter, you must turn on the Support secondary
data channel parameter.
Number of audio data
channels
Number of audio channels supported.
6-bpc RGB or YCbCr 4:4:4
(18 bpp)
Support 18 bpp encoding.
8-bpc RGB or YCbCr 4:4:4
(24 bpp)
Support 24 bpp encoding.
10-bpc RGB or YCbCr 4:4:4
(30 bpp)
Support 30 bpp encoding.
12-bpc RGB or YCbCr 4:4:4
(36 bpp)
Support 36 bpp encoding.
16-bpc RGB or YCbCr 4:4:4
(48 bpp)
Support 48 bpp decoding.
8-bpc YCbCr 4:2:2 (16 bpp)
Support 16 bpp encoding. Reserved for future use.
Note: The IP core does not support YCbCr for 14.0
release.
Note: The IP core does not support YCbCr for 14.0
release.
Note: The IP core does not support YCbCr for 14.0
release.
Note: The IP core does not support YCbCr for 14.0
release.
Note: The IP core does not support YCbCr for 14.0
release.
Note: The IP core does not support YCbCr for 14.0
release.
10-bpc YCbCr 4:2:2 (20 bpp) Support 20 bpp encoding. Reserved for future use.
Note: The IP core does not support YCbCr for 14.0
release.
12-bpc YCbCr 4:2:2 (24 bpp) Support 24 bpp encoding. Reserved for future use.
Note: The IP core does not support YCbCr for 14.0
release.
Altera Corporation
DisplayPort Source
Send Feedback
UG-01131
2014.06.30
Source Interfaces
Parameter
4-7
Description
16-bpc YCbCr 4:2:2 (32 bpp) Support 32 bpp encoding. Reserved for future use.
Note: The IP core does not support YCbCr for 14.0
release.
Source Interfaces
The following tables list the source’s port interfaces. Your instantiation contains only the interfaces that you
have enabled.
Table 4-2: Controller Interface
Interface
Port Type
Clock Domain
Port
Direction
Description
clk
Clock
N/A
clk
Input
Clock for embedded
controller.
reset
Reset
clk
reset
Input
Reset for embedded
controller.
tx_mgmt_address[8:0]
Input
tx_mgmt_chipselect
Input
tx_mgmt_read
Input
tx_mgmt_write
Input
tx_mgmt_writedata[31:0]
Input
tx_mgmt_readdata[31:0]
Output
tx_mgmt_waitrequest
Output
tx_mgmt_irq
Output
tx_mgmt
AV-MM
tx_mgmt_ IRQ
irq
clk
clk
Avalon-MM interface
for embedded
controller.
Interrupt for embedded
controller.
Table 4-3: Transceiver Management Interface
n is the number of TX lanes
Interface
Port Type
xcvr_
Clock
mgmt_clk
DisplayPort Source
Send Feedback
Clock Domain
N/A
Port
xcvr_mgmt_clk
Direction
Input
Description
Transceiver
management clock.
Altera Corporation
4-8
UG-01131
2014.06.30
Source Interfaces
Interface
Port Type
tx_analog_
Conduit
reconfig
tx_reconfig Conduit
Clock Domain
xcvr_mgmt_
clk
xcvr_mgmt_
clk
Port
Direction
tx_vod[2n - 1:0]
Output
tx_emp[2n - 1:0]
Output
tx_analog_reconfig_req
Output
tx_analog_reconfig_ack
Input
tx_analog_reconfig_busy
Input
tx_link_rate[1:0]
Output
tx_reconfig_req
Output
tx_reconfig_ack
Input
tx_reconfig_busy
Input
Description
Transceiver analog
reconfiguration
handshaking.
Transceiver link rate
reconfiguration
handshaking.
Table 4-4: Video Interface
v is the number of bits per color and p is the pixels per clock (1 = single, 2 = dual, and 4 = quad)
Interface
Port Type
tx_vid_clk Clock
tx_video_
Conduit
in
Clock Domain
N/A
tx_vid_clk
Port
Direction
tx_vid_clk
Input
tx_vid_data[3v*p-1:0]
Input
tx_vid_v_sync[p-1:0]
Input
tx_vid_h_sync[p-1:0]
Input
tx_vid_f[p-1:0]
Input
tx_vid_de[p-1:0]
Input
Description
Video clock.
Video data and standard
H/V synchronization
video port input.
Table 4-5: AUX Interface
Interface
Port Type
Clock Domain
Port
Direction
Description
aux_clk
Clock
N/A
aux_clk
Input
AUX channel clock.
aux_reset
Reset
aux_clk
aux_reset
Input
AUX channel reset.
tx_aux_in
Input
tx_aux_out
Output
tx_aux_oe
Output
tx_hpd
Input
tx_aux
Altera Corporation
Conduit
aux_clk
AUX channel interface.
DisplayPort Source
Send Feedback
UG-01131
2014.06.30
Source Interfaces
Interface
tx_aux_
debug
Port Type
AV-ST
Clock Domain
Port
Direction
tx_aux_debug_data[31:0]
Output
tx_aux_debug_valid
Output
tx_aux_debug_sop
Output
tx_aux_debug_eop
Output
tx_aux_debug_err
Output
tx_aux_debug_cha
Output
aux_clk
4-9
Description
Avalon-ST stream of
AUX data for
debugging.
Table 4-6: Secondary Interface
Interface
Signal Type
Clock Domain
Port
Direction
Description
tx_xcvr_
clkout
Clock
N/A
tx_xcvr_clkout
Output
TX transceiver clock out
and clock for secondary
stream
MSA
Conduit
tx_xcvr_
clkout
tx_msa[191:0]
Input
Input port for fixed
MSA parameters.
tx_ss_data[127:0]
Input
tx_ss_valid
Input
tx_ss_ready
Output
tx_ss_sop
Input
tx_ss_eop
Input
(tx_msa_
conduit)
Secondary
Stream
AV-ST
(tx_ss)
tx_xcvr_
clkout
Secondary stream
interface.
Table 4-7: Audio Interface
m is the number of TX audio channels
Interface
Signal Type Clock Domain
Clock
N/A
Audio
(tx_audio)
DisplayPort Source
Send Feedback
Conduit
tx_audio_
clk
Port
Direction
tx_audio_clk
Input
tx_audio_lpcm_data
[m*32-1:0]
Input
tx_audio_valid
Input
tx_audio_mute
Input
Description
Audio clock
Audio sample data
interface
Altera Corporation
4-10
UG-01131
2014.06.30
Controller Interface
Table 4-8: TX Transceiver Interface
n is the number of TX lanes, s is the number of symbols per clock
Interface
Port Type
Clock Domain
Port
Direction
Description
Clock
N/A
tx_std_clkout[n–1:0]
Input
TX transceiver clock
out
Conduit
tx_std_
clkout
tx_parallel_
data[n*s*10–1:0]
Output
Parallel data for TX
transceiver
Conduit
N/A
tx_pll_
powerdown[n–1:0]
Output
PLL power down for
TX transceiver
Conduit
xcvr_mgmt_
clk
tx_
digitalreset[n–1:0]
Output
Resets the digital TX
portion of TX
transceiver
Conduit
N/A
tx_analogreset[n–1:0]
Output
Resets the analog TX
portion of TX
transceiver
Conduit
N/A
tx_cal_busy[n–1:0]
Input
Calibration in
progress signal from
TX transceiver
Conduit
N/A
tx_pll_locked[n–1:0]
Input
PLL locked signal
from TX transceiver
TX transceiver
interface
Controller Interface
The controller interface allows you to control the source from an external or on-chip controller, such as the
Nios II processor. The controller can control the DisplayPort link parameters and the AUX channel controller.
The AUX channel controller interface works with a simple serial-port-type peripheral that operates in a
polled mode. Because the DisplayPort AUX protocol is a master-slave interface, the DisplayPort source (the
master) starts a transaction by sending a request and then waits for a reply from the attached sink.
The controller interface includes a single interrupt source. The interrupt notifies the controller of an HPD
signal state change. Your system can interrogate the DP_TX_STATUS register to determine the cause of the
interrupt. Writing to the DP_TX_STATUS register clears the pending interrupt event.
Related Information
• DisplayPort Source Register Map on page 10-1
AUX Interface
The IP core has three ports that control the serial data across the AUX channel:
• Data input (tx_aux_in)
• Data output (tx_aux_out)
• Output enable (tx_aux_oe). The output enable port controls the direction of data across the bidirectional
link.
Altera Corporation
DisplayPort Source
Send Feedback
UG-01131
2014.06.30
Video Interface
4-11
These ports are clocked by the source’s 16 MHz clock (aux_clk). The AUX channel’s physical layer is a
bidirectional 2.5 V SSTL Class II interface.
The source’s AUX controller allows you to capture all bytes sent from and received by the AUX channel,
which is useful for debugging. The IP core provides a standard stream interface that you can use to drive an
Avalon-ST FIFO component directly.
Table 4-9: Source AUX Debug Interface Ports
Port
Comments
tx_aux_debug_data[31:0]
The source AUX debug interface inserts a 1 µs timestamp counter in bits
[31:8]; bits [7:0] represent the byte received or transmitted.
tx_aux_debug_valid
Qualifies valid stream data.
tx_aux_debug_sop
Indicates the message packet’s first byte.
tx_aux_debug_eop
Indicates the message packet’s last byte. The last byte should be ignored
and is not part of the message.
tx_aux_debug_err
Indicates if the IP core detects an error in the current byte.
tx_aux_debug_cha
Indicates the direction of the current byte. 1 = byte transmitted by the
source, 0 = byte received from the sink.
Related Information
AN 522: Implementing Bus LVDS Interface in Supported Altera Device Families
Video Interface
The core inputs video to be encoded via the tx_video_in interface, which provides a standard H-sync and
V-sync input with support for interlaced or progressive video. You specify the data input width via a
parameter. The same input port transfers RGB and YCrCb data in either 4:4:4 or 4:2:2 color format. Data is
most-significant bit aligned and formatted for 4:4:4.
Figure 4-4: Video Input Data Format
18 bpp to 48 bpp Port Width when tx_video_in Port Width is 48 (16 bpc, 1 Pixel per Clock)
18 bpp RGB
24 bpp RGB/YCBCr444 (8 bpc)
30 bpp RGB/YCBCr444 (10 bpc)
36 bpp RGB/YCBCr444 (12 bpc)
48 bpp RGB/YCBCr444 (16 bpc)
47
32
31
16
15
0
tx_vid_data[47:0]
The following figure shows the sub-sampled 4:2:2 color format for a video port width of n. The mostsignificant half of the video port always transfers the Y component while the least-significant half of the
DisplayPort Source
Send Feedback
Altera Corporation
4-12
UG-01131
2014.06.30
TX Transceiver Interface
video port transfers the alternate Cr or Cb component. If the Y/Cb/Cr component widths are less than n/2,
they must be most-significant bit aligned with respect to the n and n/2-1 boundaries.
Figure 4-5: Sub-Sampled 4:2:2 Color Format Video Port
n-1
n/2 n/2-1
0
rx_vid_data[n - 1:0]
If you set the Pixel input mode option to Dual or Quad, the IP core inputs two or four pixels in parallel,
respectively. To support video resolutions with horizontal active, front porch or back porch of a length not
divisible by 2 or 4, the following signals are widened:
• Horizontal and vertical syncs
• Data enable
The following figure shows the pixel data order from least significant bits to most significant bits.
Figure 4-6: Video Input Data Alignment
For RGB 18 bpp when tx_video_in port Width is 96 (8 bpc, 4 Pixels per Clock)
95
72
Pixel 3
71
48
Pixel 2
47
24
Pixel 1
23
0
tx_vid_data[95:0]
Pixel 0
TX Transceiver Interface
The transceiver or Native PHY IP core instance is no longer instantiated within the DisplayPort IP core.
The DisplayPort IP uses a soft 8B/10B encoder. This interface provides TX encoded video data
(tx_parallel_data) in either dual symbol (20-bit) or quad symbol (40-bit) mode and drives the digital
reset (tx_digitalreset), analog reset (tx_analogreset), and PLL powerdown signals (tx_pll_powerdown)
of the transceiver.
Transceiver Reconfiguration Interface
You can reconfigure the transceiver to accept double or single reference clock:
• Double reference clocks—162 MHz clock for RBR or 270 MHz clock for HBR or HBR2.
During run-time, you can reconfigure the transceiver to use either one of the two clocks. You use the
Transceiver Reconfiguration Controller to switch between the two reference clocks. To switch them,
reconfigure the logical reference clock source for the TX CMU PLL. The IP core sets tx_link_rate to:
• 00 (RBR)
• 01 (HBR)
• 10 (HBR2)
Altera Corporation
DisplayPort Source
Send Feedback
UG-01131
2014.06.30
Transceiver Analog Reconfiguration Interface
4-13
• Single reference clock—135 MHz clock for all bit rates: RBR, HBR, and HBR2.
During run-time, you can reconfigure the transceiver to operate in either one of the bit rate by changing
TX CMU PLL divide ratio.
When the IP core makes a request, the tx_reconfig_req port goes high. The user logic asserts
tx_reconfig_ack and then reconfigures the transceiver. During reconfiguration, the user logic holds
tx_reconfig_busy high. The user logic drives it low when reconfiguration completes.
Note: The transceiver requires a reconfiguration controller. Reset the transceiver to a default state upon
power-up.
Related Information
• Altera Transceiver PHY IP Core User Guide
For more information about how to reconfigure the transceiver.
• AN 645: Dynamic Reconfiguration of PMA Controls in Stratix V Devices
For more information about using the Transceiver Reconfiguration Controller to reconfigure the Stratix V
Physical Media Attachment (PMA) controls dynamically.
• AN 676: Using the Transceiver Reconfiguration Controller for Dynamic Reconfiguration in Arria V
and Cyclone V Devices
For more information about using the Transceiver Reconfiguration Controller to reconfigure the Arria V
Physical Media Attachment (PMA) controls dynamically.
• AN 678: High-Speed Link Tuning Using Signal Conditioning Circuitry
For information about link tuning.
Transceiver Analog Reconfiguration Interface
The tx_analog_reconfig interface uses the tx_vod and tx_emp transceiver management control ports. You
must map these ports for the device you are using. To change these values, the core drives
tx_analog_reconfig_req high. Then, the user logic sets tx_analog_reconfig_ack high to acknowledge
and drives tx_analog_reconfig_busy high during reconfiguration. When reconfiguration completes, the
user logic drives tx_analog_reconfig_busy low.
Secondary Stream Interface
You can transmit the secondary stream data over the DisplayPort main link through the secondary stream
(tx_ss) interface. This interface uses handshaking and back pressure to control packet delivery. Internally,
the core uses a FIFO to store packets until a slot becomes available on the main link. If the FIFO fills up, the
secondary stream interface stops accepting packets and applies back pressure. The packet must be available
at the time of sending because the ss_tx port does not support forward pressure.
The tx_ss interface input data format corresponds to four, 15-nibble code words as specified by the
DisplayPort version 1.1a specification section 2.2.6.3. These 15-nibble code words are supplied by the
upstream Reed-Solomon encoder. The format differs for header and payload as shown in the following
figure.
DisplayPort Source
Send Feedback
Altera Corporation
4-14
UG-01131
2014.06.30
Secondary Stream Interface
Figure 4-7: Secondary Stream Input Data Format
15-Nibble Code Word
for Packet Payload
15-Nibble Code Word
for Packet Header
0
0
0
0
0
0
0
0
0
0
nb0
0
nb1
0
nb2
0
nb3
0
nb4
0
nb5
0
nb6
nb0
nb7
nb1
p0
p0
p1
p1
The following figure shows a typical secondary stream packet with a four byte header (HB0, HB1, HB2 and
HB3) and a 32-byte payload (DB0 … DB31). The core calculates the associated parity bytes. The secondary
stream interface uses the start-of-packet (SOP) and end-of-packet (EOP) to determine if the current input
is a header or payload.
Payloads that only contain the first 16 bytes can assert the EOP on the second cycle to terminate the packet
sequence. Data is clocked in to the secondary stream interface via the tx_xcvr_clk. This clock is the same
phase and frequency as the main-link lane 0 clock.
Altera Corporation
DisplayPort Source
Send Feedback
UG-01131
2014.06.30
Audio Interface
4-15
Figure 4-8: Typical Secondary Stream Packet
0
DB15
DB31
0
DB14
DB30
0
DB13
DB29
HB3
DB12
DB28
0
DB11
DB27
0
DB10
DB26
0
DB9
DB25
HB2
DB8
DB24
0
DB7
DB23
0
DB6
DB22
0
DB5
DB21
HB1
DB4
DB20
0
DB3
DB19
0
DB2
DB18
0
DB1
DB17
HB0
DB0
DB16
Data[127:0]
End of Packet
Start of Packet
Valid
Audio Interface
The audio encoder is upstream of the secondary stream encoder. It generates the audio infoframe, timestamp,
and audio sample packets from the incoming audio sample data stream. Then, it sends the three packet types
to the secondary stream encoder before they are transmitted to the downstream sink device.
The audio port is parameterized for the number of audio channels required in the design. You can use 2 to
8 channels. Each channel’s audio data is sent to the tx_audio_lpcm_data port.
The IP core requires a tx_audio_valid signal for designs in which the tx_audio_clk signal is higher than
the actual sample clock. The tx_audio_valid signal qualifies the audio data on the tx_audio_lpcm_data
input.
Table 4-10: Audio Signals
Signal
Comments
tx_audio_clk
Audio interface input clock.
tx_audio_valid
Audio input data valid.
DisplayPort Source
Send Feedback
Altera Corporation
4-16
UG-01131
2014.06.30
Audio Interface
Signal
Comments
tx_audio_mute
When asserted, indicates that audio muting is enabled.
tx_audio_lpcm_data[m*321:0]
m-channel, 32-bit audio sample data.
Figure 4-9: Audio Sample Data Bits
The packing format uses an IEC-60958-type encoding.
31
24 23
7
B3
0 7
16 15
B2
0 7
8 7
B1
0 7
31 30 29 28 27 26 25 24 23
SP R
PR
P C
U V MSB
0
B0
0
0
Audio Sample Word [23:0]
LSB
Table 4-11: Audio Sample Bit Field Definitions
Bit Name
Bit Position
Audio sample Byte 2, bits 7:0
word
Byte 1, bits 7:0
Description
Byte 0, bits 7:0
Audio data. The data content depends on the audio coding type. For
LPCM audio, the audio most significant bit (MSB) is placed in byte
2, bit 7. If the audio data size is less than 24 bits, unused least significant
bits (LSB) must be zero padded.
V
Byte 3, bit 0
Validity flag.
U
Byte 3, bit 1
User bit.
C
Byte 3, bit 2
Channel status.
P
Byte 3, bit 3
Parity bit.
PR
Byte 3, bits 4 - 5
Preamble code and its correspondence with IEC-60958 preamble:
00: Subframe 1 and start of the audio block (11101000 preamble)
01: Subframe1 (1110010 preamble)
10: Subframe 2 (1110100 preamble)
R
Altera Corporation
Byte3, bit 6
Reserved bit; must be 0.
DisplayPort Source
Send Feedback
UG-01131
2014.06.30
MSA Interface
Bit Name
SP
Bit Position
Byte 3, bit 7
4-17
Description
Sample present bit:
1: Sample information is present and can be processed.
0: Sample information is not present.
All one-sample channels, used or unused, must have the same sample
present bit value.
This bit is useful for situations in which 2-channel audio is transported
over a 4-lane main link. In this operation, main link lanes 2 and 3 may
or may not have the audio sample data. This bit indicates whether the
audio sample is present or not.
The source automatically generates the audio infoframe and fills it with only information about the number
of channels used. Use the audio channel status to provide any information about the audio stream needed
by downstream devices.
MSA Interface
For applications that use a known video source signal, the added resource of video measurement can be
removed. In this scenario, the DP Source uses the MSA values presented on the tx_msa_conduit signal
bundle. The bundle contents is shown below,
wire [191:0] tx_msa_conduit = {Mvid[23:0], Nvid[23:0], Htotal[15:0], Vtotal[15:0], HSP,
HSW[14:0], Hstart[15:0], Vstart[15:0], VSP, VSW[14:0], Hwidth[15:0], Vheight[15:0],
MISC0[7:0], MISC1[7:0]};
Table 4-12: tx_msa_conduit Port Signals
Bit
Signal
Comments
191:168
Mvid[23:0]
Mvid for the main video stream. Used for stream clock recovery
from link symbol clock.
167:144
Nvid[23:0]
Nvid for the main video stream. Used for stream clock recovery
from link symbol clock.
143:128
Htotal[15:0]
Horizontal total of received video stream in pixels
127:112
Vtotal[15:0]
Vertical total of received video stream in lines
111
HSP
H-sync polarity 0 = Active high, 1 = Active low
110:96
HSW[14:0]
H-sync width in pixels
95:80
Hstart[15:0]
Horizontal active start from H-sync start in pixels (H-sync width
+ Horizontal back porch)
79:64
Vstart[15:0]
Vertical active start from V-sync start in lines (V-sync width +
Vertical back porch)
DisplayPort Source
Send Feedback
Altera Corporation
4-18
UG-01131
2014.06.30
Source Clock Tree
Bit
Signal
Comments
63
VSP
V-sync polarity 0 = Active high, 1 = Active low
62:48
VSW[14:0]
V-sync width in lines
47:32
Hwidth[15:0]
Active video width in pixels
31:16
Vheight[15:0]
Active video height in lines
15:8
MISC0[7:0]
7:0
The MISC0[7:1] and MISC1[7] fields indicate the color encoding
format. The color depth is indicated in MISC0[7:5]:
MISC1[7:0]
•
•
•
•
•
000 - 6 bpc
001 - 8 bpc
010 - 10 bpc
011 - 12 bpc
100 - 16 bpc
For details about the encoding format, refer to the DisplayPort v1.2
specification.
Source Clock Tree
The source uses the following clocks:
• Local pixel clock (tx_vid_clk), which clocks video data into the IP core.
• Main link clock (tx_xcvr_clkout), which clocks data out of the IP core and into the high-speed serial
output (HSSI) components. The main link clock is the output of the CMU PLL clock. You can supply
the CMU PLL with one of the following options:
• Double reference clocks—either one of two clocks (270 MHz or 162 MHz) based on the actual data
rate requested on the tx_link_rate port
• Single reference clock (135 MHz)
You can use other frequencies by changing the CMU PLL divider ratios and/or reconfiguring the
transceiver. The 20- or 40- bit data fed to the HSSI is synchronized to a single HSSI[0] clock. If you
select the dual symbol mode option, this clock is equal to the link rate divided by 20 (270, 135, or 81
MHz). If you turn on quad symbol mode, this clock is equal to the link rate divided by 40 (135, 67.5,
or 40.5 MHz).
• 16 MHz clock (aux_clk), which the IP core requires to encode or decode the AUX channel. A separate
clock (clk) clocks the Avalon-MM interface.
• tx_audio_clk for the audio interface.
Altera Corporation
DisplayPort Source
Send Feedback
UG-01131
2014.06.30
4-19
Source Clock Tree
Figure 4-10: Source Clock Tree
Recovered Clock
from Transceiver
(tx_xcvr_clkout)
DisplayPort Encoder
Transceiver Block
270/135/81/67.5/40.5 MHz
Audio Clock
(tx_audio_clk)
Audio Data
Front-End
Audio FIFO
Secondary
Stream Data
Audio
Encoder
Sync
HSSIO0
Main
Link 0
Secondary
Stream
Encoder
Sync
HSSIO1
Main
Link 1
Sync
HSSIO2
Main
Link 2
Sync
HSSIO3
Main
Link 3
Back-End
Encoder
Pixel Clock
(tx_vid_clk)
Front-End
Video FIFO
Video Data
aux_clk
AUX
Controller
clk
Controller
Interface
Transceiver Reference Clock Signal(s)
from PLL or Dedicated Pin
DisplayPort Source
Send Feedback
Legend
tx_xcvr_clkout
clk
tx_vid_clk
aux_clk
tx_audio_clk
Single Reference Clock
135 MHz
Double Reference
Clock
270 MHz
162 MHz
CMU PLL
Altera Corporation
DisplayPort Sink
5
2014.06.30
UG-01131
Subscribe
Send Feedback
Sink Overview
The DisplayPort sink has a scalable main link with 1, 2, or 4 lanes for a total up to 21.6 Gbps bandwidth. A
bidirectional AUX channel with 1 Mbps Manchester encoding provides side-band communication. The
sink drives a hot plug detect (HPD) signal to notify the source that a sink is present. Additionally, it provides
an interrupt mechanism so that the sink can get the source’s attention.
Figure 5-1: DisplayPort Sink Block Diagram
Lane 0 Data (1.62, 2.7, or 5.4 Gbps)
Lane 1 Data (1.62, 2.7, or 5.4 Gbps)
Lane 2 Data (1.62, 2.7, or 5.4 Gbps)
Source
Lane 3 Data (1.62, 2.7, or 5.4 Gbps)
Sink
AUX Channel (1 Mbps)
Hot Plug Detect
The main link has three selectable data rates: 1.62, 2.7, and 5.4 Gbps. The source device sets the lane count
and link rate combination (referred to as the policy) according to the sink’s capabilities and required video
bandwidth.
The AUX channel is an AC-coupled differential pair for bidirectional communication. The signaling is a
self-clocked Manchester encoding at 1 Mbps. Like 100-T Ethernet, the encoder uses a preceding synchronization pattern in each 16-byte maximum packet. The AUX channel uses a master/slave hierarchy in which
the source (master) initiates all communication.
Sink Functional Description
The DisplayPort sink has a complete set of parameters for optimizing device resources.
The DisplayPort sink consists of a DisplayPort decoder block, a transceiver management block, and a
controller interface block with an Avalon-MM interface for connecting with an embedded controller such
as the Nios II processor. You can configure the ports using an RTL wrapper instantiation or implementing
the IP core as a Qsys component.
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
5-2
UG-01131
2014.06.30
Sink Functional Description
Figure 5-2: DisplayPort Sink Top-Level Block Diagram
DisplayPort Sink
Decoder
Secondary Stream
(Avalon-ST Interface)
Audio Output
rx_audio
Video Output
Video Clock
rx_video_out
rx_vid_clk
MSA Output
rx_edid
EDID Interface
RX Transceiver Interface
rx_msa_conduit
Stream Debug
rx_stream
AUX Interface
AUX Clock
rx_aux
aux_clk
Link Parameters
rx_xcvr_interface
rx_ss
rx_xcvr_clkout
AUX Debug Stream
(Avalon-ST Interface)
rx_params
rx_aux_debug
Transceiver Management
Transceiver Management Clock
RX Reconfiguration
xcvr_mgmt_clk
rx_reconfig
Controller Interface
rx_mgmt
clk
Avalon-MM Interface
Avalon-MM Interface Clock
Interrupt
rx_mgmt_interrupt
Figure 5-3: DisplayPort Sink Functional Block Diagram
IRQ
Control
HPD
SS
Decoder
20-Bit (Dual Symbol)
or 40-Bit (Quad Symbol)
Data from Transceiver
(rx_xcvr_interface)
8B/10B
Aligner
Deskew
De-Scrambler
DP2ST
VB-ID
Decoder
MSA
Decoder
Bidirectional AUX Data (rx_aux)
HPD
Altera Corporation
AUX
Controller
Controller Registers
DCFIFO
Gearbox
DCFIFO
Secondary
Stream (rx_ss)
Steering
Video Output
(rx_video_out)
Legend
rx_xcvr_clkout
clk
rx_vid_clk
aux_clk
Avalon-MM (rx_mgmt)
AUX Debug Stream (rx_aux_debug)
DisplayPort Sink
Send Feedback
UG-01131
2014.06.30
Embedded DisplayPort (eDP) Support
5-3
The device transceiver sends 20-bit (dual symbol) or 40-bit (quad symbol) parallel DisplayPort data to the
sink. Each data lane is clocked in to the IP core by its own respective clock output from the transceiver.
Inside the sink, the four independent clock domains are synchronized to the lane 0 clock. Then, the IP core
performs the following actions:
1. The IP core aligns the data stream and performs 8B/10B decoding.
2. The IP core deskews the data and then descrambles it.
3. The IP core splits the unscrambled data stream into parallel paths.
a. The SS decoder block performs secondary stream decoding, which the core transfers into the
rx_xcvr_clkout domain through a DCFIFO.
b. The main data path extracts all pixel data from the incoming stream. Then, the gearbox block resamples the pixel data into the current bit-per-pixel data width. Next, the IP core crosses the pixel
data into the rx_vid_clk domain via a DCFIFO. Finally, the IP core steers the data into a single, dual,
or quad pixel data stream.
c. MSA decode path.
d. Video decode path.
You configure the sink to output the video data as a proprietary data stream. You specify the output pixel
data width at 6, 8, 10, 12, or 16 bpc. This format can interface with downstream Altera Video and Image
Processing (VIP) Suite components.
The AUX controller can operate in an autonomous mode in which the sink controls all AUX channel activity
without an external embedded controller. The IP core outputs an AUX debugging stream so that you can
inspect the activity on the AUX channel in realtime.
Embedded DisplayPort (eDP) Support
The DisplayPort IP core is compliant with eDP version 1.3. eDP is based on the VESA DisplayPort standard.
It has the same electrical interface and can share the same video port on the controller. The DisplayPort IP
core supports both full (normal) link training and fast link training, which is a mandatory eDP feature.
Sink Parameters
You set parameters for the sink using the DisplayPort parameter editor.
Table 5-1: Sink Parameters
Parameter
Description
Device family
Targeted device family (Arria V, Arria V GZ, Cyclone V, or Stratix V); matches
the project device family.
Support DisplayPort sink
Enable DisplayPort sink.
Maximum video output
color depth
Video output interface port bits per color (bpc). Determines top level video
output port width (e.g., 6 bpc = 18 bits, 16 bpc = 48 bits).
DisplayPort Sink
Send Feedback
Altera Corporation
5-4
UG-01131
2014.06.30
Sink Parameters
Parameter
RX maximum link rate
Description
Maximum link rate. 5.4 Gbps, 2.7 Gbps, 1.62 Gbps
Note: Cyclone V devices do not support 5.4
Gbps.
Maximum lane count
Maximum lanes used (1, 2, or 4).
Symbol input mode
Specify how many symbols are transferred during each clock cycle (dual or
quad symbol), or RX transceiver data width; dual (20 bits) or quad (40 bits).
Pixel output mode
Specify the number of pixels per clock (single, dual, or quad symbol).
• If you select dual pixels per clock, the pixel clock is ½ of the full rate clock
and the video port becomes two times wider.
• If you select four pixels per clock, the pixel clock is ¼ of the full rate clock
and the video port becomes four times wider.
Sink scrambler seed value Scrambler block initial seed value. Use 16’hFFFF for DP and 16’hFFFFE for
eDP.
Invert transceiver polarity Invert the transceiver polarity.
Export MSA
Outputs MSA on top level port interface.
IEEE OUI
Specify an IEEE organizationally unique identifier (OUI) as part of the DPCD
registers.
Enable GPU control
Use an embedded controller to control the sink.
Enable AUX debug stream Enable AUX traffic output to an Avalon-STport.
Support CTS test
automation
Support automated test features.
Support secondary data
channel
Enable secondary data.
Support audio data channel Enable audio packet decoding.
Number of audio data
channels
Number of audio channels supported.
Note: To use this parameter, you must turn on the Support secondary
data channel parameter.
6-bpc RGB or YCbCr 4:4:4 Support 18 bpp decoding.
(18 bpp)
Note: The IP core does not support YCbCr for 14.0
release.
Altera Corporation
DisplayPort Sink
Send Feedback
UG-01131
2014.06.30
Sink Interfaces
Parameter
5-5
Description
8-bpc RGB or YCbCr 4:4:4 Support 24 bpp decoding.
(24 bpp)
Note: The IP core does not support YCbCr for 14.0
release.
10-bpc RGB or YCbCr 4:4:4 Support 30 bpp decoding.
(30 bpp)
Note: The IP core does not support YCbCr for 14.0
release.
12-bpc RGB or YCbCr 4:4:4 Support 36 bpp decoding.
(36 bpp)
Note: The IP core does not support YCbCr for 14.0
release.
16-bpc RGB or YCbCr 4:4:4 Support 48 bpp decoding.
(48 bpp)
Note: The IP core does not support YCbCr for 14.0
release.
8-bpc YCbCr 4:2:2 (16 bpp) Support 16 bpp decoding. Reserved for future use.
10-bpc YCbCr 4:2:2
(20 bpp)
Support 20 bpp decoding. Reserved for future use.
12-bpc YCbCr 4:2:2
(24 bpp)
Support 24 bpp decoding. Reserved for future use.
16-bpc YCbCr 4:2:2
(32 bpp)
Support 32 bpp decoding. Reserved for future use.
Sink Interfaces
The following tables summarize the sink’s interfaces. Your instantiation contains only the interfaces that
you have enabled.
Table 5-2: Controller Interface
Interface
Port Type
Clock Domain
Port
Direction
Description
clk
Clock
N/A
clk
Input
Clock for embedded
controller.
reset
Reset
clk
reset
Input
Reset for embedded
controller.
DisplayPort Sink
Send Feedback
Altera Corporation
5-6
UG-01131
2014.06.30
Sink Interfaces
Interface
rx_mgmt
Port Type
AV-MM
rx_mgmt_ IRQ
irq
Clock Domain
clk
clk
Port
Direction
rx_mgmt_address[8:0]
Input
rx_mgmt_chipselect
Input
rx_mgmt_read
Input
rx_mgmt_write
Input
rx_mgmt_writedata[31:0]
Input
rx_mgmt_readdata[31:0]
Output
rx_mgmt_waitrequest
Output
rx_mgmt_irq
Output
Description
Avalon-MM interface
for embedded
controller.
Interrupt for embedded
controller.
Table 5-3: Transceiver Management Interface
Interface
Port Type
xcvr_
Clock
mgmt_clk
rx_
reconfig
Conduit
Clock Domain
N/A
xcvr_mgmt_
clk
Port
Direction
xcvr_mgmt_clk
Input
rx_link_rate[1:0]
Output
rx_reconfig_req
Output
rx_reconfig_ack
Input
rx_reconfig_busy
Input
Description
Transceiver
management clock.
Transceiver link rate
reconfiguration
handshaking.
Table 5-4: Video Interface
v is the number bits per color and p is the pixels per clock (1 = single, 2 = dual, and 4 = quad)
Interface
Port Type
rx_vid_clk Clock
Altera Corporation
Clock Domain
N/A
Port
rx_vid_clk
Direction
Input
Description
Video clock.
DisplayPort Sink
Send Feedback
UG-01131
2014.06.30
Sink Interfaces
Interface
Port Type
rx_video_
Conduit
out
Clock Domain
Port
Direction
rx_vid_valid[p-1:0]
Output
rx_vid_sol
Output
rx_vid_eol
Output
rx_vid_sof
Output
rx_vid_eof
Output
rx_vid_locked
Output
rx_vid_overflow
Output
rx_vid_data[3v*p-1:0]
Output
5-7
Description
Video output.
rx_vid_clk
Table 5-5: AUX Interface
Interface
Port Type
Clock Domain
Port
Direction
Description
aux_clk
Clock
N/A
aux_clk
Input
AUX channel clock.
aux_reset
Reset
aux_clk
aux_reset
Input
AUX channel reset.
rx_aux_in
Input
rx_aux_out
Output
rx_aux_oe
Output
rx_hpd
Output
rx_aux_debug_data[31:0]
Output
rx_aux_debug_valid
Output
rx_aux_debug_sop
Output
rx_aux_debug_eop
Output
rx_aux_debug_err
Output
rx_aux_debug_cha
Output
rx_aux
rx_aux_
debug
DisplayPort Sink
Send Feedback
Conduit
AV-ST
AUX channel interface.
aux_clk
aux_clk
Avalon-ST stream of
AUX data for
debugging.
Altera Corporation
5-8
UG-01131
2014.06.30
Sink Interfaces
Interface
Port Type
Clock Domain
EDID
(rx_edid)
AV-MM
Port
Direction
rx_edid_address[7:0]
Output
rx_edid_read
Output
rx_edid_write
Output
rx_edid_writedata[7:0]
Output
rx_edid_readdata[7:0]
Input
rx_edid_waitrequest
Input
aux_clk
Description
Avalon-MM master
interface to external onchip memory for EDID.
Table 5-6: Debugging Interface
s is the number of symbols per clock.
Interface
Signal Type Clock Domain
Link Parameters Conduit
(rx_params)
Debugging (rx_
stream)
aux_clk
rx_xcvr_
clkout
Conduit
Port
Direction
rx_lane_count[4:0]
Output
rx_stream_
data[4*8*s–1:0]
Output
rx_stream_
ctrl[4*s–1:0]
Output
rx_stream_valid
Output
rx_stream_clk
Output
Description
Sink current link lane
count value.
Raw symbol output
stream.
Table 5-7: Secondary Interface
Interface
rx_xcvr_
clkout
Signal Type
Clock
MSA (rx_ Conduit
msa_
conduit)
Secondary
Stream
AV-ST
(rx_ss)
Altera Corporation
Clock Domain
Port
Direction
Description
N/A
rx_xcvr_clkout
Output
Clock
rx_xcvr_
clkout
rx_msa[216:0]
Output
Output for current MSA
parameters received
from the source.
rx_ss_data[159:0]
Output
rx_ss_valid
Output
rx_ss_sop
Output
rx_ss_eop
Output
rx_xcvr_
clkout
Secondary stream
interface.
DisplayPort Sink
Send Feedback
UG-01131
2014.06.30
Sink Interfaces
5-9
Table 5-8: Audio Interface
m is the number of RX audio channels
Interface
Signal Type Clock Domain
Audio
(rx_audio)
DisplayPort Sink
Send Feedback
Conduit
rx_xcvr_
clkout
Port
Direction
rx_audio_lpcm_
data[m*32–1:0]
Output
rx_audio_valid
Output
rx_audio_mute
Output
rx_audio_
infoframe[39:0]
Output
Description
Decoded audio data
Altera Corporation
5-10
UG-01131
2014.06.30
Controller Interface
Table 5-9: RX Transceiver Interface
n is the number of RX lanes, s is the number of symbols per clock
Interface
RX transceiver
interface
Port Type
Clock Domain
Port
Direction
Description
Clock
N/A
rx_std_clkout[n–1:0]
Input
RX transceiver
recovered clock.
Conduit
rx_std_
clkout
rx_parallel_
data[n*s*10–1:0]
Input
Parallel data from RX
transceiver .
Conduit
N/A
rx_is_
lockedtoref[n–1:0]
Input
When asserted,
indicates that the RX
CDR PLL is locked to
the reference clock.
Conduit
N/A
rx_is_
lockedtodata[n–1:0]
Input
When asserted,
indicates that the RX
CDR PLL is locked to
the incoming data.
Conduit
rx_xcvr_
clkout
rx_bitslip[n–1:0]
Output
Use to control bit
slipping manually.
Conduit
N/A
rx_cal_busy[n–1:0]
Input
Calibration in
progress signal from
RX transceiver.
Conduit
xcvr_mgmt_
clk
rx_analogreset[n–1:0]
Output
When asserted, resets
the RX CDR.
Conduit
xcvr_mgmt_
clk
rx_
digitalreset[n–1:0]
Output
When asserted, resets
the RX PCS.
Conduit
xcvr_mgmt_
clk
rx_set_
locktoref[n–1:0]
Output
Forces the RX CDR
circuitry to lock to the
phase and frequency
of the input reference
clock.
Conduit
xcvr_mgmt_
clk
rx_set_
locktodata[n–1:0]
Output
Forces the RX CDR
circuitry to lock to the
received data.
Controller Interface
The controller interface allows you to control the sink from an external or on-chip controller, such as the
Nios II processor for debugging. The controller interface is an Avalon-MM slave that also allows access to
the sink’s internal status registers.
The sink asserts the rx_mgmt_irq port when issuing an interrupt to the controller.
Altera Corporation
DisplayPort Sink
Send Feedback
UG-01131
2014.06.30
AUX Interface
5-11
Related Information
•
• DisplayPort Sink Register Map and DPCD Locations on page 11-1
AUX Interface
The IP core has three ports to control the serial data across the AUX channel:
• Data input (rx_aux_in)
• Data output (rx_aux_out)
• Output enable (rx_aux_oe). The output enable port controls the direction of data across the bidirectional
link.
The AUX channel’s physical layer is a bidirectional 2.5 V SSTL Class II interface.
A state machine decodes the incoming AUX channel’s Manchester encoded data using the 16 MHz clock.
The message parsing drives the state machine input directly. The state machine performs all lane training
and EDID link-layer services.
The sink’s AUX interface also generates appropriate HPD IRQ events. These events occur if the sink’s main
link decoder detects a signal loss.
AUX Debug Interface
The AUX controller lets you capture all bytes sent from and received by the AUX channel, which is useful
for debugging. The IP core supports a standard stream interface that can drive an Avalon-ST FIFO component
directly.
Table 5-10: Sink AUX Debug Interface Ports
The table below describes the stream ports.
Port
Comments
rx_aux_debug_data[31:0]
The sink AUX debug interface inserts a 1 µs timestamp counter in bits [31:8].
Bits [7:0] represent the bytes received or transmitted.
rx_aux_debug_valid
Qualifies valid stream data.
rx_aux_debug_sop
Indicates the message packet’s first byte.
rx_aux_debug_eop
Indicates the message packet’s last byte. The last byte should be ignored and
is not part of the message.
rx_aux_debug_err
Indicates if the core detects an error in the current byte.
rx_aux_debug_cha
Indicates the direction of the current byte. 1 = byte transmitted by the source,
0 = byte received from the sink.
DisplayPort Sink
Send Feedback
Altera Corporation
5-12
UG-01131
2014.06.30
EDID Interface
EDID Interface
You can use the Avalon-MM EDID interface to access an on-chip memory region containing the sink’s
EDID data. The AUX sink controller reads and writes to this memory region according to traffic on the
AUX channel.
The Avalon-MM interface uses an 8-bit address with an 8-bit data bus. The interface assumes a read latency
of 1.
Note: The IP core does not instantiate this interface if your design uses a controller to control the sink; for
instance when you turn on the Enable GPU control parameter.
Refer to the VESA Enhanced Extended Display Identification Data Implementation Guide for more
information.
Debugging Interface
Link Parameters Interface
The sink provides link level data for debugging and configuring external components using the rx_lane_count
port.
Video Stream Out Interface
This interface provides access to the post-scrambler DisplayPort data, which is useful for low-level debugging
source equipment. The 8-bit symbols received are organized as shown in the following tables, where n
increases with time (at each main link clock cycle, by 2 for dual-symbol mode or by 4 for quad-symbol
mode).
Table 5-11: rx_stream_data Dual-Symbol Mode
Bit
Comments
63:56
Lane 3 symbol n + 1
55:48
Lane 3 symbol n
47:40
Lane 2 symbol n + 1
39:32
Lane 2 symbol n
31:24
Lane 1 symbol n + 1
23:16
Lane 1 symbol n
15:8
Lane 0 symbol n + 1
7:0
Lane 0 symbol n
Altera Corporation
DisplayPort Sink
Send Feedback
UG-01131
2014.06.30
Video Interface
5-13
Table 5-12: rx_stream_data Quad-Symbol Mode
Bit
Comments
127:120
Lane 3 symbol n + 3
119:112
Lane 3 symbol n + 2
111:104
Lane 3 symbol n + 1
103:96
Lane 3 symbol n
95:88
Lane 2 symbol n + 3
87:80
Lane 2 symbol n + 2
79:72
Lane 2 symbol n + 1
71:64
Lane 2 symbol n
63:56
Lane 1 symbol n + 3
55:48
Lane 1 symbol n + 2
47:40
Lane 1 symbol n + 1
39:32
Lane 1 symbol n
31:24
Lane 0 symbol n + 3
23:16
Lane 0 symbol n + 2
15:8
Lane 0 symbol n + 1
7:0
Lane 0 symbol n
When data is received, data is output on lane 0, lanes 0 and 1, or on all four lanes according to how many
lanes are currently used and link trained on the main link. The IP core provides the data output immediately
after the data passes through the descrambler and features all control symbols, data, and original timing. As
data is always valid at each and every clock cycle, the rx_stream_valid signal remains asserted.
Video Interface
This interface (rx_video_out) allows access to the video data as a non-Avalon-ST stream. You can use this
stream to interface with an external pixel clock recovery function. The stream provides synchronization
pulses at the start and end of active lines, and at the start and end of active frames.
DisplayPort Sink
Send Feedback
Altera Corporation
5-14
UG-01131
2014.06.30
Video Interface
Figure 5-4: Video Out Image Port Timing Diagram
rx_vid_data
Line[0]
Line[n]
rx_vid_valid
rx_vid_sol
rx_vid_eol
rx_vid_sof
rx_vid_eof
The rx_vid_overflow signal is always valid, regardless of the logical state of rx_vid_valid. rx_vid_overflow
is asserted for at least one clock cycle when the sink core internal video data FIFO runs into an overflow
condition. This condition can occur when the rx_vid_clk frequency is too low to transport the received
video data successfully.
You specify the maximum data color depth in the DisplayPort parameter editor. The same output port
transfers both RGB and YCrCb data in either 4:4:4 or 4:2:2 color format. Data is most-significant bit aligned
and formatted for 4:4:4.
Figure 5-5: Video Output Data Format
18 bpp to 48 bpp Port Width when rx_video_out Port Width is 48 (16 bpc, 1 Pixel per Clock)
18 bpp RGB
24 bpp RGB/YCBCr444 (8 bpc)
30 bpp RGB/YCBCr444 (10 bpc)
36 bpp RGB/YCBCr444 (12 bpc)
48 bpp RGB/YCBCr444 (16 bpc)
47
32
31
16
15
0
rx_vid_data[47:0]
The following figure shows the sub-sampled 4:2:2 color format for a video port width of n. The mostsignificant half of the video port always transfers the Y component while the least-significant half of the
video port transfers the alternate Cr or Cb component. If the Y/Cb/Cr component widths are less than n/2,
they are most-significant bit aligned with respect to the n and n/2-1 boundaries.
Figure 5-6: Sub-Sampled 4:2:2 Color Format Video Port
n-1
n/2 n/2-1
0
rx_vid_data[n - 1:0]
If you set the Pixel ouput mode option to Dual or Quad, the IP core outputs two or four pixels in parallel,
respectively. To support video resolutions with horizontal active, front and pack porches with lengths that
are not divisible by two or four, rx_vid_valid is widened. For example, for two pixels per clock,
rx_vid_valid[0] is asserted when pixel N belongs to active video and rx_vid_valid[1] is asserted when
pixel N + 1 belongs to active video.
Altera Corporation
DisplayPort Sink
Send Feedback
UG-01131
2014.06.30
Clocked Video Input Interface
5-15
The following figure shows the pixel data order from least significant bits to most significant bits.
Figure 5-7: Video Output Alignment
For RGB 18 bpp when rx_video_out Port Width is 96 (8 bpc, 4 Pixels per Clock)
95
72
71
Pixel 3
48
47
Pixel 2
24
Pixel 1
23
0
rx_vid_data[95:0]
Pixel 0
Related Information
Video and Image Processing Suite User Guide
Clocked Video Input Interface
rx_video_out can interface with a clocked video input (CVI). CVI accepts the following video signals with
a separate synchronization mode: datavalid, de, h_sync, v_sync, f, locked, and data. The DisplayPort
rx_video_out interface has the following signals: rx_vid_valid, rx_vid_sol, rx_vid_eol, rx_vid_sof,
rx_vid_eof, rx_vid_locked, and rx_vid_data. The following table describes how to connect the CVI and
DisplayPort sink signals.
Table 5-13: Connecting CVI Signals to DisplayPort Sink Signals
CVI Signal
DisplayPort Sink Signal
Comment
vid_data
rx_vid_data
Video data
vid_datavalid
–
Drive high because the video data is not oversampled.
vid_f
–
Drive low because the video data is progressive.
vid_locked
rx_vid_locked
The core asserts this signal when a stable stream is
present.
vid_de
rx_vid_valid
Indicates the active picture region of a line.
vid_h_sync
rx_vid_eol
The rx_vid_eol signal generates the vid_h_sync
pulse by delaying it (by 1 clock cycle) to appear in
the horizontal blanking period after the active video
ends (rx_vid_valid is deasserted).
vid_v_sync
rx_vid_eof
The rx_vid_eof signal generates the vid_v_sync
pulse by delaying it (by 1 clock cycle) to appear in
the vertical blanking period after the active video
ends (rx_vid_valid is deasserted).
DisplayPort Sink
Send Feedback
Altera Corporation
5-16
RX Transceiver Interface
UG-01131
2014.06.30
Example 5-1: Verilog HDL CVI — DisplayPort Sink Example
// CVI V-sync and H-sync are derived from delayed versions of the eol and eof signals
always @ (posedge clk_video)
begin
rx_vid_h_sync <= rx_vid_eol;
rx_vid_v_sync <= rx_vid_eof;
end
assign vid_data = rx_vid_data;
assign vid_datavalid = 1’b1;
assign vid_f = 1’b0;
assign vid_locked = rx_vid_locked;
assign vid_de = rx_vid_valid;
assign vid_h_sync = rx_vid_h_sync;
assign vid_v_sync = rx_vid_v_sync;
RX Transceiver Interface
The transceiver or Native PHY IP core instance is no longer instantiated within the DisplayPort IP core.
The DisplayPort IP uses a soft 8B/10B decoder. This interface receives RX transceiver recovered data
(rx_parallel_data) in either dual symbol (20-bit) or quad symbol (40-bit) mode, and drives the digital
reset (rx_digitalreset), analog reset (rx_analogreset), and controls the CDR circuitry locking mode.
Transceiver Reconfiguration Interface
You can reconfigure the transceiver to accept double or single reference clock :
• Double reference clocks—162 MHz clock for reduced bit rate (RBR) or 270 MHz clock for high bit rate
(HBR or HBR2).
During run-time, you can reconfigure the transceiver to use either one of the two clocks. You use the
Transceiver Reconfiguration Controller to switch between the two reference clocks. To switch them,
reconfigure the logical reference clock source for the RX CDR PLLs. The IP core sets rx_link_rate to:
• 00 (RBR)
• 01 (HBR)
• 10 (HBR2)
• Single reference clock—135 MHz clock for all bit rates: RBR, HBR, and HBR2.
During run-time, you can reconfigure the transceiver to operate in either one of the bit rate by changing
RX CDR PLLs divider ratio.
When the IP core makes a request, the rx_reconfig_req port goes high. The user logic asserts
rx_reconfig_ack, and then reconfigures the transceiver. During reconfiguration, the user logic holds
rx_reconfig_busy high. The user logic drives it low when reconfiguration completes.
Note: The transceiver requires a reconfiguration controller. Reset the transceiver to a default state upon
power-up.
Altera Corporation
DisplayPort Sink
Send Feedback
UG-01131
2014.06.30
Secondary Stream Interface
5-17
Related Information
• Altera Transceiver PHY IP Core User Guide
For more information about how to reconfigure the transceiver.
• AN 645: Dynamic Reconfiguration of PMA Controls in Stratix V Devices
For more information about using the Transceiver Reconfiguration Controller to reconfigure the Stratix V
Physical Media Attachment (PMA) controls dynamically.
• AN 676: Using the Transceiver Reconfiguration Controller for Dynamic Reconfiguration in Arria V
and Cyclone V Devices
For more information about using the Transceiver Reconfiguration Controller to reconfigure the Arria V
Physical Media Attachment (PMA) controls dynamically.
• AN 678: High-Speed Link Tuning Using Signal Conditioning Circuitry
For information about link tuning.
Secondary Stream Interface
The secondary streams data can be received via the rx_ss interfaces. The interfaces do not allow for
back-pressure and assume the downstream logic can handle complete packets. The rx_ss interface does not
distinguish between the types of packets it receives.
The format rx_ss interface output corresponds to four 15-nibble code words as specified by the DisplayPort
1.1a specification section 2.2.6.3. These 15-nibble code words would typically be supplied to the downstream
Reed-Solomon decoder. The format differs for both header and payload, as shown in the following figure.
Figure 5-8: rx_ss Input Data Format
DisplayPort Sink
Send Feedback
15-Nibble Code Word
for Packet Payload
15-Nibble Code Word
for Packet Header
0
0
0
0
0
0
0
0
0
0
nb0
0
nb1
0
nb2
0
nb3
0
nb4
0
nb5
0
nb6
nb0
nb7
nb1
p0
p0
p1
p1
Altera Corporation
5-18
UG-01131
2014.06.30
Audio Interface
The following figure shows a typical secondary stream packet with the four byte header (HB0, HB1, HB2,
and HB3) and 32-byte payload (DB0, ..., DB31). Each symbol has an associated parity nibble (PB0, ..., PB11).
Downstream logic can use the start-of-packet and end-of-packet to determine if the current input is a header
or payload symbol.
Data is clocked out of the rx_ss port using the rx_ss_clk signal. This signal is the same phase and frequency
as the main link lane 0 clock.
Figure 5-9: Typical Secondary Stream Packet
0
DB15
DB31
0
DB14
DB30
0
DB13
DB29
HB3
DB12
DB28
0
DB11
DB27
0
DB10
DB26
0
DB9
DB25
HB2
DB8
DB24
0
DB7
DB23
0
DB6
DB22
0
DB5
DB21
HB1
DB4
DB20
0
DB3
DB19
0
DB2
DB18
0
DB1
DB17
HB0
DB0
DB16
Data[127:0]
End of Packet
Start of Packet
Valid
Audio Interface
The audio interfaces are downstream from the secondary stream decoder. They extract and decode the audio
infoframe packets, audio timestamp packets, and audio sample data.
The audio timestamp packet payload contains M and N values, which the sink uses to recover the source’s
audio sample clock. The rx_audio port uses the values to generate the rx_audio_valid signal according
to sample audio data. Data is clocked out using the rx_xcvr_clkout signal. The rx_xcvr_clkout signal
comes from the rx parallel clock from the RX transceiver. This clock runs at link data rate/20 for dual symbol
mode and link data rate/40 for quad symbol mode.
The sink generates the rx_audio_valid signal using the M and N values, and asserts it at the current audio
sample clock rate. The rx_audio_mute signal indicates whether audio data is present on the DisplayPort
interface.
Altera Corporation
DisplayPort Sink
Send Feedback
UG-01131
2014.06.30
MSA Interface
5-19
Figure 5-10: rx_audio Data Output
rx_audio_lpcm_data
rx_xcvr_clkout
rx_audio_valid
Audio Sample Period
The captured audio infoframe is available on the audio port. The 5-byte port corresponds to the 5 bytes used
in the audio infoframe (refer to CEA-861-D). The audio infoframe describes the type of audio content.
MSA Interface
The rx_msa_conduit ports allow designs access to the MSA and VB-ID parameters on a top-level port. The
following table shows the 217-bit port bundle assignments. The prefixes msa and vbid denote parameters
from the MSA and VB-ID packets, respectively.
The sink asserts bit msa_valid when all msa_ signals are valid and de-asserted during MSA update. The
MSA parameters are assigned to zero when the sink is not receiving valid video data.
The msa_lock bit is asserted when the MSA fields have been correctly formatted for the last 15 video frames.
Because msa_lock changes state only when msa_valid = 1, you can use its rising edge to strobe new MSA
values following an idle video period (e.g., when the source changes video resolution); you can use its deasserted state to invalidate received video data.
The sink asserts bit vbid_strobe for one clock cycle when the VB-ID is detected and all vbid_ signals are
valid to be read.
Table 5-14: rx_msa_conduit Port Signals
Bit
Signal
Comments
216
msa_lock
0 = MSA fields format error. 1 = MSA fields correctly formatted.
215
vbid_strobe
0 = VB-ID fields invalid, 1 = VB-ID fields valid.
214:209
vbid_vbid[5:0]
VB-ID bit field:
• vbid[0] - VerticalBlanking_Flag
• vbid[1] - FieldID_Flag (for progressive video, this remains
0)
• vbid[2] - Interlace_Flag
• vbid[3] - NoVideoStream_Flag
• vbid[4] - AudioMute_Flag
• vbid[5] - HDCP SYNC DETECT
208:201
vbid_Mvid[7:0]
Least significant 8 bits of Mvid for the video stream
200:193
vbid_Maud[7:0]
Least significant 8 bits of Maud for the audio stream
DisplayPort Sink
Send Feedback
Altera Corporation
5-20
UG-01131
2014.06.30
Sink Clock Tree
Bit
Signal
Comments
192
msa_valid
0 = MSA fields are invalid or being updated, 1 = MSA fields are
valid
191:168
msa_Mvid[23:0]
Mvid value for the main video stream. Used for stream clock
recovery from link symbol clock.
167:144
msa_Nvid[23:0]
Nvid value for the main video stream. Used for stream clock
recovery from link symbol clock.
143:128
msa_Htotal[15:0]
Horizontal total of received video stream in pixels
127:112
msa_Vtotal[15:0]
Vertical total of received video stream in lines
111
msa_HSP
H-sync polarity 0 = Active high, 1 = Active low
110:96
msa_HSW[14:0]
H-sync width in pixel count
95:80
msa_Hstart[15:0]
Horizontal active start from H-sync start in pixels (H-sync width
+ Horizontal back porch)
79:64
msa_Vstart[15:0]
Vertical active start from V-sync start in lines (V-sync width +
Vertical back porch)
63
msa_VSP
V-sync polarity 0 = Active high, 1 = Active low
62:48
msa_VSW[14:0]
V-sync width in lines
47:32
msa_Hwidth[15:0]
Active video width in pixels
31:16
msa_Vheight[15:0]
Active video height in lines
15:8
msa_MISC0[7:0]
7:0
The MISC0[7:1] and MISC1[7] fields indicate the color
encoding format. The color depth is indicated in MISC0[7:5]:
msa_MISC1[7:0]
•
•
•
•
•
000 - 6 bpc
001 - 8 bpc
010 - 10 bpc
011 - 12 bpc
100 - 16 bpc
For details about the encoding format, refer to the DisplayPort
v1.2 specification.
Sink Clock Tree
The IP core receives DisplayPort serial data across the high-speed serial interface (HSSI). The HSSI requires
a 162 or 270 MHz clock for correct data locking. You can supply these two frequencies to the HSSI using a
Altera Corporation
DisplayPort Sink
Send Feedback
UG-01131
2014.06.30
Sink Clock Tree
5-21
reference clock provided by an Altera PLL or pins. Alternatively, you can supply a single reference clock
frequency of 135 MHz.
The IP core synchronizes HSSI 20- or 40-bit data to a single HSSI[0] clock that clocks the data into the
DisplayPort front-end decoder.
• If you select dual symbol mode, this clock is equal to the link rate divided by 20 (270, 135, or 81 MHz).
• If you turn on quad symbol mode, this clock is equal to the link rate divided by 40 (135, 67.5, or 40.5
MHz).
The IP core crosses the reconstructed pixel data into a local pixel clock (rx_vid_clk) through an output
DCFIFO, which drives the pixel stream output. The rx_vid_clk must be higher than or equal to the pixel
clock in the up-stream source. If rx_vid_clk is slower than the up-stream pixel clock, the DCFIFO overflows.
If the rx_vid_clk is faster than the up-stream source pixel clock, the output port experiences a de-assertion
of the valid port on cycles in which pixel data is not available. The optimum frequency is the exact clock rate
in the up-stream source. However, determining this clock frequency requires pixel clock recovery techniques
that are beyond the scope of this document.
Secondary stream data is clocked by rx_xcvr_clkout. The sink IP core also requires a 16 MHz clock
(aux_clk) to drive the internal AUX controller and an Avalon clock for the Avalon-MM interface (clk).
Figure 5-11: Sink Clock Tree (Single Reference Clock)
Transceiver Block
270/135/81/67.5/40.5 MHz
Main
Link 0
HSSIO0
DCFIFO
Main
Link 1
HSSIO1
DCFIFO
DisplayPort Decoder
Recovered Clock
from Transceiver
(rx_xcvr_clkout)
Audio
Decoder
Audio Data
Secondary
Stream Data
Front-End
Decoder
Main
Link 2
HSSIO2
Pixel Clock
(rx_vid_clk)
DCFIFO
Back-End
Video FIFO
Main
Link 3
HSSIO3
rx_xcvr_clkout
clk
rx_vid_clk
aux_clk
135 MHz
Send Feedback
aux_clk
DCFIFO
Legend
DisplayPort Sink
Video Data
AUX
Controller
clk
Controller
Interface
Transceiver Reference Clock Signals from PLL or Dedicated Pin
Altera Corporation
5-22
UG-01131
2014.06.30
Sink Clock Tree
Figure 5-12: Sink Clock Tree (Double Reference Clocks)
Transceiver Block
270/135/81/67.5/40.5 MHz
Main
Link 0
HSSIO0
DCFIFO
Main
Link 1
HSSIO1
DCFIFO
DisplayPort Decoder
Recovered Clock
from Transceiver
(rx_xcvr_clkout)
Audio
Decoder
Audio Data
Secondary
Stream Data
Front-End
Decoder
Main
Link 2
HSSIO2
Pixel Clock
(rx_vid_clk)
DCFIFO
Back-End
Video FIFO
Main
Link 3
HSSIO3
aux_clk
DCFIFO
Legend
rx_xcvr_clkout
clk
rx_vid_clk
aux_clk
270 MHz
162 MHz
Altera Corporation
Video Data
AUX
Controller
clk
Controller
Interface
Transceiver Reference Clock Signals
from PLL or Dedicated Pin
DisplayPort Sink
Send Feedback
DisplayPort IP Core Hardware Demonstration
6
2014.06.30
UG-01131
Subscribe
Send Feedback
Introduction
The Altera DisplayPort hardware demonstration evaluates the functionality of the DisplayPort IP core and
provides a starting point for you to create your own design. The example design uses a fully functional
OpenCore Plus evaluation version, giving you the freedom to explore the core and understand its performance
in hardware.
The design performs an SDRAM loop-through for a standard DisplayPort video stream. You connect a
DisplayPort-enabled device—such as an nVidia or ATI graphics card transmitter—to the Transceiver Native
PHY RX, and the DisplayPort sink input. The DisplayPort sink decodes the port into a standard video stream
and triple frame buffers it into external SDRAM. The hardware demonstration mixes a buffered image with
a 1,920 x 1,200 color bar image and sends it to the DisplayPort source, and the Transceiver Native PHY TX.
The DisplayPort source port of the HSMC daughter card transmits the image to a monitor.
Note: If you use another Altera development board, you must change the device assignments and the pin
assignments. You make these changes in the assignments.tcl file. This file is described in a later
section.
Note: If you use another DisplayPort daughter card, you must change the pin assignments, Qsys system,
and software.
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
6-2
UG-01131
2014.06.30
Introduction
Figure 6-1: Hardware Demonstration Overview
FPGA Development Board
User LEDs
FPGA
DisplayPort
IP Core
(Sink)
Transceiver
Native PHY
(RX)
RX
DisplayPort Source
(nVidia, ATI)
TX
Bitec HSMC
DisplayPort
Daughter Card
VIP Suite: Clocked
Video Input
DisplayPort-Enabled
Display
VIP Suite:
Triple Frame Buffer
DDR3
VIP Suite: Test
Pattern Generator
(Background
1,920 x 1,200)
VIP Suite:
Mixer
VIP Suite: Clocked
Video Output
Nios II Processor
DisplayPort
IP Core
(Source)
Transceiver
Native PHY
(TX)
The DisplayPort sink uses its internal state machine to negotiate link training upon power up. A Nios II
embedded processor performs the source link management; software performs the link training management.
Altera Corporation
DisplayPort IP Core Hardware Demonstration
Send Feedback
UG-01131
2014.06.30
Introduction
6-3
Figure 6-2: Hardware Demonstration Block Diagram
Video
PLL
Pixel Clock
154 MHz
Qsys System (control.qsys)
Transceiver
PLL (1)
AUX Clock
16 MHz
160 MHz
270 MHz
EDID
VIP Functions
DDR3 Memory
Controller
Frame
Buffer
Clocked
Video Input
RX
DisplayPort IP Core
RX
Test Pattern
Generator
Mixer
Clocked
Video Output
TX
Bitec
DisplayPort Core
Native
PHY (1)
TX
RX
TX
Management RX/TX (Avalon-MM)
Nios II
Processor
AUX Debug RX/TX (Avalon-ST)
FSM
Transceiver
Reconfiguration
Note:
(1) Alternatively, you can configure the Native PHY to use a single reference clock (135 MHz).
During operation, you can adjust the DisplayPort source resolution (graphics card) from the PC and observe
the effect on the IP core. The Nios II software prints the source and sink AUX channel activity. Pressing a
push-button prints the current TX and RX main stream attributes (MSA). The development board user
LEDs illuminate to indicate the function shown in the following table.
Table 6-1: LED Function
Stratix V LED
Arria V LED
Cyclone V
Function
USER_LED_G0 USER1_LED_G0
USER_LED0
This LED indicates that source has
successfully lane trained and is sending
video (rx_vid_locked drives this LED).
The LED turns off if the source is not
driving good video.
USER_LED_G6 USER1_LED_G6
USER_LED6
This LED indicates that PLL is locked and
stable; if it flickers, the board itself has an
issue.
DisplayPort IP Core Hardware Demonstration
Send Feedback
Altera Corporation
6-4
UG-01131
2014.06.30
Transceiver and Clocking
Stratix V LED
Arria V LED
Cyclone V
Function
USER_LED_G7 USER1_LED_G7
USER_LED7
This LED is for the system reset (tracks the
reset that waits for PLL lock before
releasing). It goes high while the chip is
resetting.
USER_LED_G1 USER1_LED_G1
USER_LED1
This LED illuminates for 1-lane designs.
USER_LED_G2 USER1_LED_G2
USER_LED2
This LED illuminates for 2-lane designs.
USER_LED_G3 USER1_LED_G3
USER_LED3
This LED illuminates for 4-lane designs.
Tip: When creating your own design, note the following design tips:
• The Bitec daughter card has inverted transceiver polarity. When creating your own sink (RX) design,
use the Invert transceiver polarity option to enable or disable inverted polarity.
• The DisplayPort standard reverses the RX and TX transceiver channels to minimize noise for one- or
two-lane applications. If you create your own design targeting the Bitec daughter card, ensure that the
following signals share the same transceiver channel:
•
•
•
•
TX0 and RX3
TX1 and RX2
TX2 and RX1
TX3 and RX0
Refer to the assignments.tcl file for an example of how the channels are assigned in the hardware
demonstration.
Transceiver and Clocking
The device’s Gigabit transceivers operate at 5.4, 2.7, and 1.62 Gbps and require one of the following reference
clocks:
• double reference clocks—270 and 162 MHz. When the link rate changes, a small state machine
reconfigures the transceiver to select the appropriate reference clock, and changes the transceiver PLL
settings.
• single reference clock—135 MHz. When the link rate changes, the state machine only reconfigures the
transceiver PLL settings.
Altera Corporation
DisplayPort IP Core Hardware Demonstration
Send Feedback
UG-01131
2014.06.30
Transceiver and Clocking
6-5
Table 6-2: Arria V Transceiver Native PHY TX and RX Settings
The table shows the Arria V Transceiver Native PHY settings for TX and RX using double and single reference
clocks.
Settings
Parameters
Double Reference Clocks
Single Reference Clock
Datapath Options
Enable TX datapath
On
On
Enable RX datapath
On
On
Enable standard PCS
On
On
1, 2 or 4
1, 2 or 4
Note: If you select 1 or 2, you must instantiate the PHY
instance multiple times for all data channels as per
maximum lane count parameter. These values are
for non-bonded mode.
Number of data channels
×1 or ×N
Note: If you select ×1, you must instantiate the PHY
instance multiple times for all data channels as per
maximum lane count parameter. This value is for
non-bonded mode.
Bonding mode
Enable simplified data interface
×1* or ×N
On
PMA
Data rate
2700 Mbps (when TX
maximum link rate = 2.7
Gbps)
2700 Mbps (when TX maximum link
rate = 2.7 Gbps)
TX local clock division factor
2 (when TX/RX maximum 2 (when TX/RX maximum link rate =
link rate = 2.7Gbps)
2.7Gbps)
TX PMA
Enable TX PLL dynamic reconfigura- On
tion
On
Number of TX PLLs
1
1
Main TX PLL logical index
0
0
Number of TX PLL reference clock
2
1
DisplayPort IP Core Hardware Demonstration
Send Feedback
Altera Corporation
6-6
UG-01131
2014.06.30
Transceiver and Clocking
TX PLL0
PLL type
CMU
CMU
Reference clock frequency
270 MHz
135 MHz
Selected reference clock source
1
0
×1 or ×N
×1 or ×N
Note: If you select ×1, you must instantiate the PHY
instance multiple times for all data channels as per
maximum lane count parameter. This value is for
non-bonded mode.
Selected clock network
RX PMA
Enable CDR dynamic reconfiguration On
On
Number of CDR reference clocks
2
1
Selected CDR reference clock
0
0
Selected CDR reference clock frequency 270 MHz
135 MHz
PPM detector threshold
1000 ppm
1000 ppm
Enable rx_is_lockedtodata port
On
On
Enable rx_is_lockedtoref port
On
On
Enable rx_set_locktodata and rx_set_ On
locktoref ports
On
Standard PCS
Standard PCS protocol mode
Basic
Basic
Standard PCS/PMA interface width
20 (when symbol output
mode is dual)
20 (when symbol output mode is dual)
Byte Serializer and Deserializer
Enable TX byte serializer
Off (when symbol output
mode is dual)
Off (when symbol output mode is dual)
Enable RX byte deserializer
Off (when symbol output
mode is dual)
Off (when symbol output mode is dual)
Note: Currently, only Arria V GX, Arria V GZ, and Stratix V devices support 5.4 Gbps operation.
Altera Corporation
DisplayPort IP Core Hardware Demonstration
Send Feedback
UG-01131
2014.06.30
Required Hardware
6-7
Required Hardware
The hardware demonstration requires the following hardware:
• Altera FPGA kit (includes USB cable to connect the board to your PC); the demonstration supports the
following kits:
•
•
•
•
•
•
•
•
Stratix V GX FPGA Development Kit
Arria V GX FPGA Development Kit
Arria V GX FPGA Starter Kit
Cyclone V GT FPGA Development Kit
Bitec DisplayPort HSMC daughter card
PC with a DisplayPort output
Monitor with a DisplayPort input
Two DisplayPort cables
• One cable connects from the graphics card to the FPGA development board
• The other cable connects from the FPGA development board to the monitor
Note: Altera recommends that you first test the PC and monitor by connecting the PC directly to the
monitor to ensure that you have all drivers installed correctly.
The Bitec HSMC DisplayPort daughter card interfaces Altera GX FPGA devices to DisplayPort source and
sink devices. High speed 5.4Gbps DisplayPort re-drivers are used on both the source and sink signal paths
to improve signal integrity. The re-drivers ensure close PHY layer compatibility at the DP connectors.
Figure 6-3: Bitec HSMC Daughter Card
The figure shows a high level diagram of the Bitec HSMC daughter card.
Main Link
DisplayPort
Connector
(Source)
TI
Redriver
AUX
HSMC
Connector
Main Link
TI
Redriver
DisplayPort
Connector
(Sink)
AUX
The following figures illustrate the schematic diagrams of the Bitec HSMC daughter card.
DisplayPort IP Core Hardware Demonstration
Send Feedback
Altera Corporation
6-8
UG-01131
2014.06.30
Required Hardware
Figure 6-4: HSMC Connector Schematic Diagram
Figure 6-5: TI Re-driver to DP Source Connector Schematic Diagram
Altera Corporation
DisplayPort IP Core Hardware Demonstration
Send Feedback
UG-01131
2014.06.30
Required Hardware
6-9
Figure 6-6: DP Sink Connector to TI Re-driver Schematic Diagram
Figure 6-7: Example Hardware Setup
Example hardware setup using the FPGA development board, Bitec daughter card, and cables.
DisplayPort IP Core Hardware Demonstration
Send Feedback
Altera Corporation
6-10
UG-01131
2014.06.30
Design Walkthrough
Related Information
• More information about the Bitec daughter card on the Bitec web site.
• Stratix V GX FPGA Development Kit
• Arria V GX FPGA Development Kit
• Arria V GX FPGA Starter Kit
• Cyclone V GT FPGA Development Kit
Design Walkthrough
Setting up and running the DisplayPort hardware demonstration consists of the following steps. A variety
of scripts automate these steps.
1.
2.
3.
4.
5.
Set up the hardware.
Copy the design files to your working directory.
Build the FPGA design.
Build the software, download it into the FPGA, and run the software.
Power-up the DisplayPort monitor and view the results.
Set Up the Hardware
Set up the hardware using the following steps:
1. Connect the Bitec daughter card to the FPGA development board.
2. Connect the development board to your PC using a USB cable.
Note: The FPGA development board has an On-Board USB-Blaster™ II connection. If your version of
the board does not have this connection, you can use an external USB-Blaster cable. Refer to the
documentation for your board for more information.
3. Connect a DisplayPort cable from the DisplayPort TX on the Bitec HSMC daughter card to a DisplayPort
monitor (do not power up the monitor).
4. Power-up the development board.
5. Connect one end of a DisplayPort cable to your PC (do not connect the other end to anything).
Copy the Design Files to Your Working Directory
In this step, you copy the hardware demonstration files to your working directory. Copy the files using the
command:
cp -r
<IP root directory>/ altera / altera_dp / hw_demo /<device_board> <working directory>
where <device_board> is av for Arria V GX development kit, av_sk for Arria V GX starter kit, cv for Cyclone V
GT development kit, and sv for Stratix V development kit.
Your working directory should contain the files shown in the following table.
Altera Corporation
DisplayPort IP Core Hardware Demonstration
Send Feedback
UG-01131
2014.06.30
Copy the Design Files to Your Working Directory
6-11
Table 6-3: Hardware Demonstration Files
Files are named with <prefix>_<name>.<extension> where <prefix> represents the device (av for Arria V devices,
cv for Cyclone V devices, and sv for Stratix V devices).
File Type
File
<prefix>_ dp_demo.v
Top-level design file.
dp_mif_mappings.v
Table translating MIF mappings for transceiver
reconfiguration. This module is instantiated in
reconfig_mgmt_hw_ctrl.v. It maps the 2-bit requested
data rates to the Memory Initialization File (.mif)
settings that need to be written during a direct
reconfiguration mode of the transceiver reconfiguration controller IP core.
dp_analog_mappings.v
Table translating VOD and pre-emphasis settings.
This module is instantiated in reconfig_mgmt_hw_
ctrl.v. It maps per-channel 2-bit VOD and 2-bit preemphasis settings from the DisplayPort source to the
transceiver analog settings.
Note: To enable analog reconfiguration, turn on the
Support analog reconfiguration option in the
DisplayPort source parameter editor. By default, the
analog reconfiguration is turned off. If you are not
using an external re-driver solution, turn on this
option.
Verilog HDL design
files
reconfig_mgmt_hw_ctrl.v
Reconfiguration manager top-level. This module is a
high-level FSM that generates the control signals to
reconfigure the VOD and pre-emphasis, selects the
PLL reference clock, and reconfigures clock divider
setting. It loops through all the channels and
transceiver settings.
reconfig_mgmt_write.v
Reconfiguration manager FSM for a single write
command. This module is instantiated in the reconfig_
mgmt_hw_ctrl.v. It generates a reconfiguration write
cycle on the Avalon-MM interface to the transceiver
reconfiguration controller IP core. This action is
performed with a simple state machine that steps
through the low-level commands to write to the
transceiver reconfiguration controller IP core.
DisplayPort IP Core Hardware Demonstration
Send Feedback
Description
Altera Corporation
6-12
UG-01131
2014.06.30
Build the FPGA Design
File Type
IP Catalog files
File
<prefix>_ video_pll.v
Description
IP Catalog variants for the various helper IP cores.
<prefix>_ xcvr_pll.v
<prefix>_ aux_buffer.v
<prefix>_ xcvr_reconfig.v
<prefix>_ native_phy_rx.v
<prefix>_ native_phy_tx.v
Qsys system
<prefix>control.qsys
Qsys system file.
runall.tcl
Script to set up the project, generate the IP and Qsys
system, and compile.
assignments.tcl
Top-level TCL file to create the project assignments.
<prefix>_ dp_demo.sdc
Top-level SDC file.
edid_memory.hex
Initial content for the EDID ROM.
batch_script.sh
Master script to program the device and build/run
the software.
rerun.sh
Script to rerun the software without rebuilding.
dp_demo_src\
Directory containing the example application source
code.
btc_dprx_syslib\
System library for the RX API.
btc_dptx_syslib\
System library for the TX API.
Scripts
Miscellaneous
Software files (in
the software
directory)
Build the FPGA Design
In this step you use a script to build and compile the FPGA design. Type the command:
quartus_sh -t runall.tcl
This script executes the following commands where <prefix> is av for Arria V devices, cv for Cyclone V
devices, and sv for Stratix V devices:
• Load required packages :
• load_package flow
• load_package misc
Altera Corporation
DisplayPort IP Core Hardware Demonstration
Send Feedback
UG-01131
2014.06.30
Build, Load, and Run the Software
6-13
• Regenerate the IP :
•
•
•
•
•
•
qexec "qmegawiz -silent <prefix>_video_pll.v"
qexec "qmegawiz -silent <prefix>_xcvr_pll.v"
qexec "qmegawiz -silent <prefix>_aux_buffer.v"
qexec "qmegawiz -silent <prefix>_xcvr_reconfig.v"
qexec "qmegawiz -silent <prefix>_native_phy_rx.v"
qexec "qmegawiz -silent <prefix>_native_phy_tx.v"
• Regenerate the Qsys system :
•
•
•
•
•
•
•
qexec "ip-generate --project-directory=./ \
--output-directory=./<prefix>_control/synthesis/ \
--file-set=QUARTUS_SYNTH \
--report-file=sopcinfo:./<prefix>_control.sopcinfo \
--report-file=html:./<prefix>_control.html \
--report-file=qip:./<prefix>_control/synthesis/<prefix>_control.qip \
--component-file=./<prefix>_control.qsys"
• Create the project, overwriting any previous settings files :
• project_new <prefix>_dp_demo -overwrite
• Add the assignments to the project:
• source assignments.tcl
• Run quartus_map to generate a netlist for the DDR pin assignments script:
• execute_module -tool map
• Close the project before running the pin assignment script:
• projectlose
• Run the DDR pin assignments script generated by Qsys:
• qexec "quartus_sta -t
./<prefix>ontrol/synthesis/submodules/<prefix>_control_ddr_p0_pin_assignments.tcl
<prefix>_dp_demo"
• Re-open the project and do a full compile:
• project_open <prefix>_dp_demo
• Compile the project:
• execute_flow -compile
• Clean up by closing the project:
• projectlose
Build, Load, and Run the Software
In this step you build the software, load it into the device, and run the software.
1. In a Windows Command Prompt, navigate to the hardware demonstration software directory.
DisplayPort IP Core Hardware Demonstration
Send Feedback
Altera Corporation
6-14
UG-01131
2014.06.30
View the Results
2. Launch a Nios II command shell. You can launch it using several methods, for example, from the Windows
task bar or within the Qsys system. To launch a Nios II command shell from the Windows Command
Prompt, type the command:
start "" %SOPC_KIT_NIOS2%\" Nios II Command Shell.bat"
3. From within the Nios II command shell execute the following command to build the software, program
the device, download the Nios II program, and launch a debug terminal:
./batch_script.sh
<USB cable number>
Note: To find <USB cable number>, use the jtagconfig command.
The script also creates the dp_demo, and dp_demo_bsp subdirectories inside the software directory.
If you have already built the software, use the rerun.sh script to program the device, download the Nios II
program, and launch the terminal:
./rerun.sh
Refer to Chapter 15: Nios II Software Build Tools Reference in the Nios II Software Developer’s Handbook
for a description of the commands in these scripts.
View the Results
In this step you view the results of the hardware demonstration in the Nios II command shell and on the
DisplayPort monitor.
1. Power-up the connected DisplayPort monitor. The hardware demonstration displays a VIP test pattern
(color bars).
2. Connect the free end of the Display Port cable that you connected to your PC to the DisplayPort RX on
the Bitec HSMC daughter card. The PC now has the DisplayPort monitor available as a second monitor.
Depending on the resolution set in the PC and the resolution supported by your monitor, the hardware
demonstration displays a VIP test pattern (color bars) mixed with your graphic card output as shown in
the following figure. The PC resolution was verified up to 1920×1080.
Note: Some PC drivers and graphic card adapters do not enable the DisplayPort hardware automatically
upon hot plug detection. You may need to start the adapter’s control utility (e.g., Catalist Control
Center, nVidia Control Panel, etc.) and manually enable the DisplayPort display.
Altera Corporation
DisplayPort IP Core Hardware Demonstration
Send Feedback
UG-01131
2014.06.30
View the Results
6-15
Figure 6-8: Color Bars Mixed with Graphic Card Output
3. Open your graphic card adapter’s control utility; it shows a monitor named BITECDP01. Using the
control panel, you can adjust the resolution of the BITECDP01 monitor, which typically results in link
training, related AUX channel traffic, and a corresponding new image size on the monitor.
Note: If you do not see visible output on the monitor, press pushbutton 2 (USER1_PB2 for Arria V,
USER_PB1 for Cyclone V, or USER_PB2 for Stratix V) to generate a reset, causing the DisplayPort
TX core to re-train the link.
Pressing pushbutton 0 (USER1_PB0 for Arria V, USER_PB2 for Cyclone V, or USER_PB0 for Stratix V)
retrieves MSA statistics from the source and sink connections. The Nios II Command Shell displays the
AUX channel traffic during link training with the monitor.
DisplayPort IP Core Hardware Demonstration
Send Feedback
Altera Corporation
6-16
UG-01131
2014.06.30
View the Results
Figure 6-9: MSA Output
The Nios II AUX printout shows each message packet on a separate line.
• The first field is the incremental timestamp in microseconds.
• The second field indicates whether the message packet is from or to the DisplayPort sink IP core
(SNK) or DisplayPort source IP core (SRC).
• The following two fields show the request and response headers and payloads. The DPCD address
field on request messages are decoded into their respective DPCD location names.
When connected and enabled, USER1_LED_G0 (Arria V), USER_LED0 (Cyclone V), or USER_LED_G0
(Stratix V) on the development board illuminates to indicate that the DisplayPort receiver has locked
correctly. The Nios II terminal also displays the AUX channel traffic related to link training between the
graphics adapter and the DisplayPort sink.
Altera Corporation
DisplayPort IP Core Hardware Demonstration
Send Feedback
UG-01131
2014.06.30
View the Results
6-17
Figure 6-10: Typical Sink Link Training Output
DisplayPort IP Core Hardware Demonstration
Send Feedback
Altera Corporation
DisplayPort IP Core Simulation Example
7
2014.06.30
UG-01131
Subscribe
Send Feedback
Introduction
The Altera DisplayPort simulation example allows you to evaluate the functionality of the DisplayPort IP
Core and provides a starting point for you to create your own simulation. This example targets the ModelSim
SE simulator.
The simulation example instantiates the DisplayPort IP core with default settings, TX and RX enabled, and
8 bpc. The core has the Support CTS test automation option turned on, which is required for the simulation
to pass.
The test harness instantiates the design under test (DUT) and a VGA driver. It also generates the clocks and
top-level stimulus. The design manipulates the tx_mgmt interface in the main loop to establish a link and
send several frames of video data. The test harness checks that the sent data’s CRC matches the received
data’s CRC for three frames.
Figure 7-1: Simulation Example Block Diagram
Files are named <prefix>_<name>.<extension> where <prefix> represents the device (sv for Stratix V devices
and av for Arria V devices).
clk100
clk162
clk16
clk270
tx_vid_clk rx_vid_clk
Design Under Test
(<prefix>_dp_example.v)
tx_aux
tx_mgmt
VGA
tx_video_in
Native PHY IP Core
(<prefix>_native_phy_tx.v)
tx_serial_data
Native PHY IP Core
(<prefix>_native_phy_rx.v)
rx_serial_data
DisplayPort IP Core
(<prefix>_dp.v)
rx_video_out
rx_aux
Reconfiguration
Management
Transceiver
Reconfiguration
Megafunction
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
7-2
UG-01131
2014.06.30
Design Walkthrough
Design Walkthrough
Setting up and running the DisplayPort simulation example consists of the following steps:
1. Copy the simulation files to your target directory.
2. Generate the IP simulation files and scripts, and compile and simulate.
3. View the results.
You use a script to automate these steps.
Copy the Simulation Files to Your Working Directory
Copy the simulation example files to your working directory using the command:
cp -r
<IP root directory>/altera/altera_dp/sim_example/<device> <working directory>
where <device> is av for Arria V devices, cv for Cyclone V devices, and sv for Stratix V devices.
Your working directory should contain the files shown below.
Table 7-1: Simulation Example Files
Files are named <prefix>_<name>.<extension> where <prefix> represents the device (av for Arria V devices, cv for
Cyclone V devices, and sv for Stratix V devices).
File Type
File
System Verilog <prefix>_dp_harness.sv
HDL design files
Verilog HDL
design files
Altera Corporation
Description
Top-level test harness.
<prefix>_dp_example.v
Design under test (DUT).
dp_mif_mappings.v
Table translating MIF mappings for transceiver
reconfiguration.
dp_analog_mappings.v
Table translating VOD and pre-emphasis settings.
reconfig_mgmt_hw_ctrl.v
Reconfiguration manager top-level.
reconfig_mgmt_write.v
Reconfiguration manager FSM for a single write
command.
clk_gen.v
Clock generation file.
freq_check.sv
Top-level file for the frequency checker.
rx_freq_check.sv
RX frequency checker.
tx_freq_check.sv
TX frequency checker.
vga_driver.v
VGA driver (generates a test image).
DisplayPort IP Core Simulation Example
Send Feedback
UG-01131
2014.06.30
Generate the IP Simulation Files and Scripts, and Compile and Simulate
File Type
File
7-3
Description
<prefix>_ dp.v
IP Catalog variant for the DisplayPort IP Core.
<prefix>_ xcvr_reconfig.v
IP Catalog variant for the transceiver reconfiguration
core.
<prefix>_ native_phy_rx.v
IP Catalog variant for the RX transceiver.
<prefix>_ native_phy_tx.v
IP Catalog variant for the TX transceiver.
runall.sh
This script generates the IP simulation files and scripts,
and compiles and simulates them.
msim_dp.tcl
Compiles and simulates the design in the ModelSim
software.
all.do
Waveform that shows a combination of all waveforms.
reconfig.do
Waveform that shows the signals involved in reconfiguring the transceiver.
rx_video_out.do
Waveform that shows the rx_video_out signals from the
DisplayPort core mapped to CVI input.
tx_video_in.do
Waveform that shows the tx_vid_v_sync, tx_vid_h_
sync, de, tx_vid_de, tx_vid_f, and tx_vid_data[23:0]
signals at 256 pixels per line and 8 bpp, i.
readme.txt
Documentation for the simulation example.
edid_memory.hex
Initial content for the EDID ROM.
IP Catalog files
Scripts
Waveform .do
files
Miscellaneous
files
Generate the IP Simulation Files and Scripts, and Compile and Simulate
In this step you use a script to generate the IP simulation files and scripts, and compile and simulate them.
Type the command:
sh runall.sh
This script executes the following commands (where <prefix> is av for Arria V devices, cv for Cyclone V
devices, and sv for Stratix V devices):
• Generate the simulation files for the DisplayPort, transceivers, and transceiver reconfiguration IP cores:
•
•
•
•
<prefix>_xcvr_reconfig.v
qmegawiz -silent <prefix>_dp.v
qmegawiz -silent <prefix>_native_phy_rx.v
qmegawiz -silent <prefix>_native_phy_tx.v
qmegawiz -silent
• Merge the four resulting msim_setup.tcl scripts to create a single mentor/msim_setup.tcl:
• ip-make-simscript --spd=./<prefix>_xcvr_reconfig.spd --spd=./<prefix>_dp.spd
--spd=./<prefix>_native_phy_rx.spd --spd=./<prefix>_native_phy_tx.spd
• Compile and simulate the design in the ModelSim software:
• vsim -c -do msim_dp.tcl
DisplayPort IP Core Simulation Example
Send Feedback
Altera Corporation
7-4
UG-01131
2014.06.30
View the Results
The simulation sends several frames of video after reconfiguring the DisplayPort source (TX) and sink (RX)
to use the HBR (2.7 G) rate. A successful result is seen by the CTS test automation logic’s CRC checks. These
checks compare the CRC of the transmitted image with the result measured at the sink. The result is successful
if the sink detects three matching frames.
Example 7-1: Example Successful Result
#
#
#
#
#
#
#
#
#
Testing Link HBR Rate Training Pattern 1
Testing Video Input Frame Number = 00
Testing Link HBR Rate Training Pattern 2
TX Frequency Change Detected, Measured Frequency = 135 MHz
RX Frequency Change Detected, Measured Frequency = 135 MHz
...
SINK CRC_R = 9b40, CRC_G = 9b40, CRC_B = 9b40,
SOURCE CRC_R = 9b40, CRC_G = 9b40, CRC_B = 9b40,
Pass: Test Completed
View the Results
You can view the results in the ModelSim GUI by loading various .do files in the Wave viewer.
1.
2.
3.
4.
Launch the ModelSim GUI with the vsim command.
In the ModelSim Tcl window, execute the dataset open command: dataset open vsim.wlf
Select View > Open Wave files.
Load the .do files to view the waveforms (refer back to Table 6–1 for a listing of the files).
In the following example, rx_link_rate is set to 1 (HBR). When the core makes a request, the
rx_reconfig_req port goes high. The user logic asserts rx_reconfig_ack and then reconfigures the
transceiver. During reconfiguration, the user logic holds rx_reconfig_busy high; the user logic drives
it low when reconfiguration completes.
Altera Corporation
DisplayPort IP Core Simulation Example
Send Feedback
UG-01131
2014.06.30
View the Results
7-5
Figure 7-2: RX Reconfiguration Waveform
xcvr_mgmt_clk
rx_link_rate
rx_reconfig_req
rx_reconfig_ack
rx_reconfig_busy
tx_link_rate
tx_vod
tx_emp
tx_analog_reconfig_req
tx_analog_reconfig_ack
tx_analog_reconfig_busy
tx_reconfig_req
tx_reconfig_ack
tx_reconfig_busy
reconfig_busy
reconfig_mgmt_address
reconfig_mgmt_write
reconfig_mgmt_writedata
reconfig_mgmt_waitrequest
reconfig_mgmt_read
reconfig_mgmt_readdata
In the following example, tx_link_rate is set to 1 (HBR). When the core makes a request, the
tx_reconfig_req port goes high. The user logic asserts tx_reconfig_ack and then reconfigures the
transceiver. During reconfiguration, the user logic holds tx_reconfig_busy high; the user logic drives
it low when reconfiguration completes.
Figure 7-3: TX Reconfiguration Waveform
xcvr_mgmt_clk
rx_link_rate
rx_reconfig_req
rx_reconfig_ack
rx_reconfig_busy
tx_link_rate 01
tx_reconfig_req
tx_reconfig_ack
tx_reconfig_busy
tx_vod
tx_emp
tx_analog_reconfig_req
tx_analog_reconfig_ack
tx_analog_reconfig_busy
reconfig_busy
reconfig_mgmt_address
reconfig_mgmt_write
reconfig_mgmt_writedata
reconfig_mgmt_waitrequest
reconfig_mgmt_read
reconfig_mgmt_readdata
DisplayPort IP Core Simulation Example
Send Feedback
Altera Corporation
7-6
UG-01131
2014.06.30
View the Results
In the following example, tx_vod and tx_emp are both set to 00. When the core makes a request, the
tx_analog_reconfig_req port goes high. The user logic asserts tx_analog_reconfig_ack and then
reconfigures the transceiver. During reconfiguration, the user logic holds tx_analog_reconfig_busy
high; the user logic drives it low when reconfiguration completes.
Figure 7-4: TX Analog Reconfiguration Waveform
xcvr_mgmt_clk
rx_link_rate
rx_reconfig_req
rx_reconfig_ack
rx_reconfig_busy
tx_link_rate
tx_reconfig_req
tx_reconfig_ack
tx_reconfig_busy
tx_vod
00
tx_emp
00
tx_analog_reconfig_req
tx_analog_reconfig_ack
tx_analog_reconfig_busy
reconfig_busy
reconfig_mgmt_address
reconfig_mgmt_write
reconfig_mgmt_writedata
reconfig_mgmt_waitrequest
reconfig_mgmt_read
reconfig_mgmt_readdata
The following figure shows an example RX video waveform when interfacing to CVI. The rx_vid_eol
signal generates the h_sync pulse by delaying it (by 1 clock cycle) to appear in the horizontal blanking
period after the active video ends (VALID is deasserted). The rx_vid_eof signal generates the v_sync
pulse by delaying it (by 1 clock cycle) to appear in the vertical blanking period after the active video ends
(VALID is deasserted).
Figure 7-5: RX Video Waveform
rx_vid_clk
rx_vid_valid
rx_vid_sol
rx_vid_eol
rx_vid_sof
ex_vid_eof
rx_vid_data
rx_cvi_datavalid
rx_cvi_f
rx_cvi_h_sync
rx_cvi_v_sync
rx_cvi_locked
rx_cvi_de
rx_cvi_data
Altera Corporation
DisplayPort IP Core Simulation Example
Send Feedback
UG-01131
2014.06.30
DisplayPort IP Core Simulation Example
Send Feedback
View the Results
7-7
Altera Corporation
DisplayPort IP Core Compilation Example
8
2014.06.30
UG-01131
Subscribe
Send Feedback
Introduction
The Altera DisplayPort compilation example allows you to evaluate the timing and resource requirements
of the DisplayPort IP Core. The compilation example instantiates the DisplayPort IP core with default
settings, TX and RX enabled, and 8 bpc. The core has the Support CTS test automation option turned on.
Figure 8-1: Compilation Example Block Diagram
clk100
clk162
clk16
clk270
tx_vid_clk rx_vid_clk
Design Under Test
(<prefix>_dp_example.v)
tx_aux
tx_mgmt
tx_video_in
Native PHY IP Core
(<prefix>_native_phy_tx.v)
tx_serial_data
Native PHY IP Core
(<prefix>_native_phy_rx.v)
rx_serial_data
DisplayPort IP Core
(<prefix>_dp.v)
rx_video_out
rx_aux
Reconfiguration
Management
Transceiver
Reconfiguration
Megafunction
Design Walkthrough
Setting up and running the DisplayPort compilation example consists of the following steps:
1. Copy the compilation files to your target directory.
2. Generate the IP compilation files, compile, and view the results.
You use a script to automate these steps.
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
8-2
UG-01131
2014.06.30
Copy the Compilation Files to Your Working Directory
Copy the Compilation Files to Your Working Directory
Copy the compilation example files to your working directory using the command:
cp -r
<IP root directory>/altera/altera_dp/example/<device> <working directory>
where <device> is av for Arria V devices, cv for Cyclone V devices, and sv for Stratix V devices. Your working
directory should contain the files shown below.
Table 8-1: Compilation Example Files
Files are named <prefix>_<name>.<extension> where <prefix> represents the device (av for Arria V devices, cv for
Cyclone V devices, and sv for Stratix V devices).
File Type
File
<prefix>_dp_example.v
Design under test (DUT).
dp_mif_mappings.v
Table translating MIF mappings for transceiver
reconfiguration.
Verilog HDL design
dp_analog_mappings.v
files
reconfig_mgmt_hw_ctrl.v
Table translating VOD and pre-emphasis settings.
Reconfiguration manager top-level.
reconfig_mgmt_write.v
Reconfiguration manager FSM for a single write
command.
<prefix>_ dp.v
IP Catalog variant for the DisplayPort IP core.
<prefix>_ xcvr_reconfig.v
IP Catalog variant for the transceiver reconfiguration
core.
<prefix>_ native_phy_rx.v
IP Catalog variant for the RX transceiver.
<prefix>_ native_phy_tx.v
IP Catalog variant for the TX transceiver.
runall.tcl
This script generates the IP compilation files and
scripts, and compiles and simulates them.
assignments.tcl
This script defines the project settings.
readme.txt
Documentation for the compilation example.
IP Catalog files
Scripts
Miscellaneous files
Description
Generate the IP Compilation Files, Compile, and View the Results
Use the following command to generate the IP compilation files and compile them:
quartus_sh -t runall.tcl
This script executes the following commands:
• Load required packages:
• load_package flow
• load_package misc
Altera Corporation
DisplayPort IP Core Compilation Example
Send Feedback
UG-01131
2014.06.30
Generate the IP Compilation Files, Compile, and View the Results
8-3
• Regenerate the IP:
•
•
•
•
qexec "qmegawiz -silent <prefix>_xcvr_reconfig.v"
qexec "qmegawiz -silent <prefix>_dp.v"
qexec "qmegawiz -silent <prefix>_native_phy_rx.v"
qexec "qmegawiz -silent <prefix>_native_phy_tx.v"
• Create the project, overwriting any previous settings files:
• project_new <prefix>_dp_example -overwrite
• Add the assignments to the project:
• source assignments.tcl
• Compile the project:
• execute_flow -compile
• Clean up by closing the project:
• project_close
View the compilation results in the Quartus II software.
DisplayPort IP Core Compilation Example
Send Feedback
Altera Corporation
9
DisplayPort API Reference
2014.06.30
UG-01131
Subscribe
Send Feedback
You can use the DisplayPort IP core to instantiate sources and sinks. Source instantiations require an
embedded controller (Nios II processor or another controller) to act as the policy maker. Sink instantiations
greatly benefit from and may optionally use a controller.
Altera provides software for source and sink instantiations as two system libraries for the Nios II processor
(btc_dptx_syslib and btc _dprx_syslib, respectively). The IP core includes an example main program
(dp_demo_src/main.c), which demonstrates basic system library use.
Using the Library
The following figure describes a typical user application flow. The user application must initialize the library
as its first operation. Next, the application should initialize the instantiated devices (sink and/or source),
partly in the btc_dptx_syslib and btc_dprx_syslib data structures and partly in the user application.
You must also implement interrupt service routines (ISRs) to handle interrupts generated by the DisplayPort
core.
When initialization completes, the user application should periodically invoke the library monitoring
function.
Figure 9-1: Typical User Application Flow
Initialize btc_dpxx_syslib
Initialize Source/Sink
Initialize Source/Sink ISR
btc_dpxx_syslib Monitor
The following figure shows a more detailed view of these operations. For a sink application, the user
application must initialize the DPCD content and the EDID. Additionally, for both source and sink
applications, an interrupt ISR must be registered.
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
9-2
UG-01131
2014.06.30
Using the Library
Figure 9-2: Typical Source and Sink User Application Library Calls
Source
btc_dptx_syslib_init(...);
<Register the TX ISR>
BTC_DPTX_ENABLE_HPD_IRQ(...);
Sink
btc_dprx_syslib_add_rx(...);
btc_dprx_syslib_init(...);
btc_dprx_dpcd_gpu_access(...);
btc_dprx_edid_set(...);
<Register the RX ISR>
BTC_DPRX_ENABLE_IRQ(...);
btc_dptx_syslib_monitor(...);
btc_dprx_syslib_monitor(...);
Sink instantiations issue an interrupt to the GPU when an AUX channel Request is received from the
connected source. Source instantiations issue an interrupt to the GPU when a logic state change is detected
on the HPD signal generated by the connected DisplayPort sink.
Because sources always act as AUX channel masters, they can manage AUX communication by initiating a
transaction (by sending a request) and then polling the IP core registers waiting to receive a reply. Optionally,
source instantiations can also issue an interrupt to the GPU when an AUX channel reply is received from
the connected DisplayPort sink, allowing the GPU to execute other tasks while waiting for AUX channel
replies.
Enable or disable source and sink interrupts with the following library macros:
•
•
•
•
•
•
BTC_DPTX_ENABLE_HPD_ IRQ()
BTC_DPTX_DISABLE_HPD_ IRQ()
BTC_DPTX_ENABLE_AUX_ IRQ()
BTC_DPTX_DISABLE_AUX_ IRQ()
BTC_DPRX_ENABLE_ IRQ()
BTC_DPRX_DISABLE_ IRQ()
btc_dprx_syslib manages one to four sink instances by disabling all GPU interrupts when invoked and
restoring them to their previous state on exiting. Therefore, most of the library public functions implement
critical sections.
The GPU main program should minimize overhead when serving interrupts generated by sink instances
(i.e., interrupts related to a connected source’s AUX channel requests).
Interrupts generated by source instances (i.e., interrupts related to a connected sink’s HPD activity) can be
served with a lower priority. In designs where the same GPU handles both source and sink instances, the
GPU must allow for nested interrupts originated by sinks. That is, a sink must be allowed to interrupt a
source interrupt service routine (but not another sink interrupt service routine).
Example 9-1: Typical Sink ISR Implementation
btc_dprx_aux_get_request (0,&cmd,&address,&length,data);
btc_dprx_aux_handler(0,cmd,address,length,data);
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dprx_syslib API Reference
9-3
Example 9-2: Typical Source ISR Implementation
BTC_DPTX_DISABLE_HPD_IRQ(...);
<Enable nested interrupt>
if (HPD asserted)
{
<read Sink EDID>
<set video output resolution>
btc_dptx_link_training(...);
}
else if (HPD deasserted)
btc_dptx_video_enable(..., 0);
else if (IRQ_HPD)
{
<check link status>
if (Test Automation request)
btc_dptx_test_autom(…);
}
<Disable nested interrupt>
BTC_DPTX_DISABLE_HPD_IRQ(...);
btc_dprx_syslib API Reference
This section provides information about the DisplayPort sink system library functions (btc_dprx_syslib),
including:
•
•
•
•
•
C prototype
Function description
Whether the function is thread-safe when running in a multi-threaded environment
Whether the function can be invoked from an ISR
Example
DisplayPort API Reference
Send Feedback
Altera Corporation
9-4
UG-01131
2014.06.30
btc_dprx_aux_get_request
btc_dprx_aux_get_request
Prototype:
Thread-safe:
int btc_dprx_aux_get_request(
BYTE
rx_idx
BYTE
*cmd,
unsigned int *address,
BYTE
*length,
BYTE
*data)
Yes
Available from ISR: Yes
Include:
< btc_dprx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
•
•
•
•
•
rx_idx—Sink instance index (0 - 3)
cmd—Pointer to command
address—Pointer to address
length—Pointer to length (0 - 16)
data—Pointer to data received
Description:
This function retrieves an AUX channel request issued by the connected DisplayPort
source. cmd and address are the command byte and the address in the original request
received, respectively (refer to the DisplayPort specification for more details). When
the request is a write, *data fills with the data bytes sent by the source. To support
address-only requests, length is the original len byte sent by the source incremented
by one.
Example:
btc_dprx_aux_get_request(0, pcmd, padd, plen, pwrdata);
Related Information
btc_dprx_aux_handler on page 9-5
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dprx_aux_handler
9-5
btc_dprx_aux_handler
Prototype:
int btc_dprx_aux_handler(
BYTE
rx_idx
BYTE
cmd,
unsigned int address,
BYTE
length,
BYTE
*data)
Thread-safe:
Yes
Available from
ISR:
Yes
Include:
< btc_dprx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
•
•
•
•
•
Description:
rx_idx—Sink instance index (0 - 3)
cmd—Command
address—Address
length—Length (0 - 16)
data—Pointer to data being written
This function processes an AUX channel request issued by the connected DisplayPort
source.
cmd and address are the command byte and the address in the original request received,
respectively (refer to the DisplayPort specification for more details). When the request
is a write, data must point to the data bytes sent by the source. To support address-only
requests, length is the original len byte sent by the source incremented by one. When
the request is a read, data is not used and can be NULL.
This function provides all the functionality of the DPCD registers implemented inside
the system library, including:
•
•
•
•
Example:
DPCD locations read/write support
EDID read support
Link training execution
Forwarding of AUX channel replies back to the source
btc_dprx_aux_handler(0, pcmd, padd, plen, pwrdata);
Related Information
btc_dprx_aux_get_request on page 9-4
DisplayPort API Reference
Send Feedback
Altera Corporation
9-6
UG-01131
2014.06.30
btc_dprx_aux_post_reply
btc_dprx_aux_post_reply
Prototype:
Thread-safe:
int btc_dprx_aux_post_reply(
BYTE rx_idx
BYTE cmd,
BYTE size,
BYTE *data)
Yes
Available from ISR: Yes
Include:
< btc_dprx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
•
•
•
•
rx_idx—Sink instance index (0 - 3)
cmd—Command
size—Number of data bytes transmitted (0 - 16)
data—Pointer to data transmitted
Description:
This function transmits an AUX channel reply to the connected DisplayPort source.
cmd is the reply command byte (refer to the DisplayPort specification for more details)
. When the reply includes read data, *data fills with the data bytes sent to the source.
To support replies with no data returned, size is the actual len byte sent to the source
incremented by one.
Example:
btc_dprx_aux_post_reply (0, 0x10, 0, NULL); //Reply AUX_NACK
Related Information
btc_dprx_aux_get_request on page 9-4
btc_dprx_baseaddr
Prototype:
unsigned int btc_dprx_baseaddr(BYTE rx_idx)
Thread-safe:
Yes
Available from ISR:
Yes
Include:
< btc_dprx_syslib.h >
Return:
0 = success, 1 = fail
Parameters
rx_idx—Sink instance index (0 - 3)
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dprx_dpcd_gpu_access
Description:
This function returns the RX instance’s base address connected to the given port
number.
Example:
addr = btc_dprx_baseaddr(0);
9-7
btc_dprx_dpcd_gpu_access
Prototype:
int btc_dprx_dpcd_gpu_access(
BYTE
rx_idx
BYTE
wrcmd,
unsigned int address,
BYTE
length,
BYTE
*data)
Thread-safe:
Yes
Available from ISR:
Yes
Include:
< btc_dprx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
•
•
•
•
•
rx_idx—Sink instance index (0 - 3)
wrcmd—0 = read, 1 = write
address—Address
length—Length (1 - 255)
data—Pointer to data
Description:
This function allows the controller to access the sink’s DPCD locations (implemented
in the system library) for reading and writing data. data must point to a location
containing length bytes (writes) or be able to accommodate length bytes (reads).
Example:
btc_dprx_dpcd_gpu_access(0, 1, 0x00000, 1, pwrdata);
btc_dprx_edid_set
Prototype:
int btc_dprx_edid_set(
BYTE rx_idx
BYTE port,
BYTE *edid_data,
BYTE num_blocks)
Thread-safe:
Yes
Available from ISR:
Yes
Include:
< btc_dprx_syslib.h >
Return:
0 = success, 1 = fail
DisplayPort API Reference
Send Feedback
Altera Corporation
9-8
UG-01131
2014.06.30
btc_dprx_hpd_get
Parameters:
•
•
•
•
rx_idx—Sink instance index (0 - 3)
port—RX port (stream) number (0 – 3)
edid_data—Pointer to EDID data memory
num_blocks—EDID size in blocks
Description:
This function allows the controller to set the content of the sink’s EDID (implemented
in the system library). The library references the EDID data and does not copy it. One
block is 128-bytes long. The system library accepts a maximum of 4 blocks (512-byte
long EDIDs). Each streaming sink port has its own EDID.
Example:
btc_dprx_edid_set(0, 0, pmy_edid, 2);
btc_dprx_hpd_get
Prototype:
int btc_dprx_hpd_get(BYTE rx_idx)
Thread-safe:
Yes
Available from ISR:
Yes
Include:
<btc_dprx_syslib.h>
Return:
0 = success, 1 = fail
Parameters:
rx_idx—Sink instance index (0 - 3)
Description:
Returns the current logic level of the RX HPD.
Example:
btc_dprx_hpd_get(0);
Related Information
• btc_dprx_hpd_pulse on page 9-9
• btc_dprx_hpd_set on page 9-9
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dprx_hpd_pulse
9-9
btc_dprx_hpd_pulse
Prototype:
void btc_dprx_hpd_pulse(BYTE rx_idx)
Thread-safe:
Yes
Available from Yes
ISR:
Include:
< btc_dprx_syslib.h >
Return:
–
Parameters:
rx_idx—Sink instance index (0 - 3)
Description:
This function deasserts (i.e., sets to 0) the RX HPD for 750 s. You can use this function to
send an IRQ_HPD pulse to the connected DisplayPort source. Before invoking this function,
you must have invoked btc_dprx_hpd_set with level = 1 (i.e., HPD must be set to 1).
Example:
btc_dprx_pulse(0);
Related Information
• btc_dprx_hpd_get on page 9-8
• btc_dprx_hpd_set on page 9-9
btc_dprx_hpd_set
Prototype:
Thread-safe:
void btc_dprx_hpd_set(
BYTE rx_idx,
int level)
Yes
Available from ISR: Yes
Include:
< btc_dprx_syslib.h >
Return:
–
Parameters:
• rx_idx—Sink instance index (0 - 3)
• level—0 or 1
Description:
This function allows the controller to set the logic level of the RX HPD.
Example:
btc_dprx_hpd_set(0,1);
Related Information
• btc_dprx_hpd_get on page 9-8
DisplayPort API Reference
Send Feedback
Altera Corporation
9-10
btc_dprx_syslib_add_rx
UG-01131
2014.06.30
• btc_dprx_hpd_pulse on page 9-9
btc_dprx_syslib_add_rx
Prototype:
Thread-safe:
int btc_dprx_syslib_add_rx(
BYTE
rx_idx,
unsigned int rx_base_addr,
unsigned int rx_irq_id,
unsigned int rx_irq_num,
unsigned int rx_num_of_sinks)
No
Available from ISR: No
Include:
< btc_dprx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
•
•
•
•
•
rx_idx—Sink instance index (0 - 3)
rx_base_addr—RX base address
rx_irq_id—RX IRQ ID
rx_irq_num—RX IRQ number
rx_num_of_sinks—Number of streaming sinks used (1 - 4)
Description:
This function declares a sink (RX) instance to the system library. It should be invoked
once for each existing sink instance, starting from rx_idx = 0. After all sink have
been declared, invoke btc_syslib_ init ( ).
Example:
btc_dprx_syslib_add_rx (0, BITEC_DP_0_AV_RX_CONTROL_BASE, BITEC_DP_0_
AV_RX_CONTROL_IRQ_INTERRUPT_CONTROLLER_ID, BITEC_DP_0_AV_RX_CONTROL_
IRQ, 2);
Related Information
btc_dprx_syslib_init on page 9-11
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dprx_syslib_info
9-11
btc_dprx_syslib_info
Prototype:
void btc_dprx_syslib_info(
BYTE *max_sink_num,
BYTE *mst_support)
Thread-safe:
Yes
Available from ISR:
Yes
Include:
< btc_dprx_syslib.h >
Return:
None
Parameters:
• max_sink_num—Pointer for maximum number of sinks supported
• mst_support—Pointer for MST support
Description:
This function returns information about the system library capabilities. On return,
max_sink_num is set with the maximum number of supported sink instances (1 - 4)
and mst_support is set to zero if MST is not supported and 1 if it is supported.
Example:
btc_dprx_syslib_info(pmaxsink,pmst);
btc_dprx_syslib_init
Prototype:
int btc_dprx_syslib_init(void)
Thread-safe:
No
Available from ISR:
No
Include:
< btc_dprx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
No
Description:
This function initializes the system library. It should be invoked once after btc_
dprx_syslib_add_ rx ( ).
Example:
btc_dprx_syslib_init();
Related Information
btc_dprx_syslib_add_rx on page 9-10
DisplayPort API Reference
Send Feedback
Altera Corporation
9-12
UG-01131
2014.06.30
btc_dprx_syslib_monitor
btc_dprx_syslib_monitor
Prototype:
int btc_dprx_syslib_monitor(void)
Thread-safe:
No
Available from
ISR:
Yes
Include:
< btc_dprx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
No
Description:
This function calls the system library sink housekeeping monitor, which is responsible
for:
• Handling RX-side received sideband message requests.
• Forwarding RX-side sideband message replies.
The software should invoke this function periodically or at least every 50 ms.
Example:
btc_dprx_syslib_monitor();
btc_dptx_syslib API Reference
This section provides information about the DisplayPort source system library functions (btc_dptx_syslib),
including:
•
•
•
•
•
C prototype
Function description
Whether the function is thread-safe when running in a multi- threaded environment
Whether the function can be invoked from an ISR
Example
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dptx_aux_i2c_read
9-13
btc_dptx_aux_i2c_read
Prototype:
int btc_dptx_aux_i2c_read(
BYTE address,
BYTE size,
BYTE *data,
BYTE mot)
Thread-safe:
No
Available from ISR:
Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
•
•
•
•
Description:
This function reads 1 to 16 data bytes from the connected DisplayPort sink’s I2C
interface mapped over the AUX channel.
Example:
btc_dptx_aux_i2c_read(0x50, 16, data, 1);
2
address—I
C address
size—Number of bytes (1 - 16)
data—Pointer to data to be read
mot—Middle of transaction (0 or 1)
Related Information
btc_dptx_aux_i2c_write on page 9-14
DisplayPort API Reference
Send Feedback
Altera Corporation
9-14
UG-01131
2014.06.30
btc_dptx_aux_i2c_write
btc_dptx_aux_i2c_write
Prototype:
Thread-safe:
int btc_dptx_aux_i2c_write(
BYTE address,
BYTE size,
BYTE *data,
BYTE mot)
No
Available from ISR: Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
•
•
•
•
Description:
This function writes 1 to 16 data bytes to the connected DisplayPort sink’s I2C interface
mapped over the AUX channel.
Example:
btc_dptx_aux_i2c_write(0x50, 1, data, 1);
2
address—I
C address
size—Number of bytes (1 - 16)
data—Pointer to data to be written
mot—Middle of transaction (0 or 1)
Related Information
btc_dptx_aux_i2c_read on page 9-13
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dptx_aux_read
9-15
btc_dptx_aux_read
Prototype:
Thread-safe:
int btc_dptx_aux_read(
unsigned int address,
BYTE
size,
BYTE
*data)
No
Available from ISR: Yes
Include:
< btc_dptx_syslib.h >
Return:
•
•
•
•
•
•
Parameters
• address—DPCD start address
• size—Number of bytes (1 - 16)
• data—Pointer for data to be read
Description:
This function reads 1 to 16 data bytes from the connected DisplayPort sink’s DPCD.
Example:
btc_dptx_aux_read(0x202, 2, &status);
0 = AUX_ACK replied
1 = Source internal error
2 = Reply timeout
3 = AUX_NACK replied
4 = AUX_DEFER replied
5 = Invalid reply
Related Information
btc_dptx_aux_write on page 9-16
DisplayPort API Reference
Send Feedback
Altera Corporation
9-16
UG-01131
2014.06.30
btc_dptx_aux_write
btc_dptx_aux_write
Prototype:
Thread-safe:
int btc_dptx_aux_write(
unsigned int address,
BYTE
size,
BYTE
*data)
No
Available from ISR: Yes
Include:
< btc_dptx_syslib.h >
Return:
•
•
•
•
•
•
Parameters
• address—DPCD start address
• size—Number of bytes (1 - 16)
• data—Pointer to data to be written
Description:
This function writes 1 to 16 data bytes to the connected DisplayPort sink’s DPCD.
Example:
btc_dptx_aux_write(0x600, 1, data_ptr);
0 = AUX_ACK replied
1 = Source internal error
2 = Reply timeout
3 = AUX_NACK replied
4 = AUX_DEFER replied
5 = Invalid reply
Related Information
btc_dptx_aux_read on page 9-15
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dptx_baseaddr
9-17
btc_dptx_baseaddr
Prototype:
unsigned int btc_dptx_baseaddr(void)
Thread-safe:
Yes
Available from ISR:
Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
No
Description:
This function returns the base address of the TX instance connected to the given
port number.
Example:
addr = btc_dptx_baseaddr();
btc_dptx_edid_block_read
Prototype:
int btc_dptx_edid_block_read(
BYTE block,
BYTE *data)
Thread-safe:
No
Available from ISR:
Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
• block—Block number (0 - 3)
• data—Pointer for data to be read
Description:
Reads one block (128 bytes) from the EDID of the connected DisplayPort sink.
Example:
btc_dptx_edid_block_read(2, pdata);
Related Information
btc_dptx_edid_read on page 9-18
DisplayPort API Reference
Send Feedback
Altera Corporation
9-18
UG-01131
2014.06.30
btc_dptx_edid_read
btc_dptx_edid_read
Prototype:
int btc_dptx_edid_read(BYTE *data)
Thread-safe:
No
Available from ISR:
Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
data—Pointer for data to be read
Description:
This function reads the complete EDID of the connected DisplayPort sink. data
must be able to contain the whole EDID (allow for 512 bytes).
Example:
btc_dptx_edid_read(pdata);
Related Information
btc_dptx_edid_block_read on page 9-17
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dptx_fast_link_training
9-19
btc_dptx_fast_link_training
Prototype:
int btc_dptx_fast_link_training(
unsigned int link_rate,
unsigned int lane_count,
unsigned int volt_swing,
unsigned int pre_emph,
unsigned int new_cfg)
Thread-safe:
No
Available from ISR:
Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
•
•
•
•
•
Description:
link_rate—Link rate (Gbps): 0 = 1.62; 1 = 2.70; 2 = 5.40
lane_count—1, 2, or 4
volt_swing—0, 1, 2, or 3
pre_emph—0, 1, 2, or 3
new_cfg—0 = ignore the other parameters; 1 = use provided parameters
This function performs fast link training with the connected DisplayPort sink. When
performing fast link training, the IP core outputs training pattern 1 for 1 ms followed
by training pattern 2 for 1 ms. The function returns a 1 if link training fails or if the
DPCD flag NO_AUX_HANDSHAKE_LINK_TRAINING = 0 (at location 00103h).
• If new_cfg = 1, the IP core updates the sink’s DPCD with the provided link_
rate and lane_count, sets its own transceiver with the provided volt_swing
and pre_emph, and then performs fast link training.
• If new_cfg = 0, the IP core uses the current transceiver setting, link rate, and
lane count, and performs fast link training.
Example:
btc_dptx_fast_link_training(1, 4, 1, 0, 1);
Related Information
btc_dptx_link_training on page 9-20
DisplayPort API Reference
Send Feedback
Altera Corporation
9-20
UG-01131
2014.06.30
btc_dptx_link_training
btc_dptx_link_training
Prototype:
Thread-safe:
int btc_dptx_link_training(
unsigned int link_rate,
unsigned int lane_count)
No
Available from ISR: Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
• link_rate—Link rate (Gbps): 0 = 1.62; 1 = 2.70; 2 = 5.40
• lane_count—1, 2, or 4
Description:
This function performs link training with the connected DisplayPort sink.
Example:
btc_dptx_link_training(1, 4);
btc_dptx_set_color_space
Prototype:
Thread-safe:
int btc_dptx_set_color_space(
BYTE format,
BYTE bpc,
BYTE range,
BYTE colorimetry)
No
Available from ISR: Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
•
•
•
•
format—0 = RGB; 1 = YCbCr 4:2:2; 2 = YCbCr 4:4:4
bpc—Color depth (bpc): 0 = 6; 1 = 8; 2 = 10; 3 = 12; 4 = 16
range—0 = VESA; 1 = CEA
colorimetry—0 = BT601-5; 1 = BT709-5
Description:
This function sets the color space for TX transmitted video.
Example:
btc_dptx_set_color_space(0, 1, 0, 0);
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dptx_syslib_monitor
9-21
btc_dptx_syslib_init
Prototype:
int btc_dptx_syslib_init(
unsigned int tx_base_addr,
unsigned int tx_irq_id,
unsigned int tx_irq_num)
Thread-safe:
No
Available from ISR:
No
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
• tx_base_addr—TX base address
• tx_irq_id—TX IRQ ID
• tx_irq_num—TX IRQ number
Description:
Initializes the system library. Should be invoked as the first function in the library
by main( ). Set the base address of TX or RX to BTC_NOT_PRESENT if TX or RX not
instantiated.
Example:
btc_dptx_syslib_init( BITEC_DP_0_AV_TX_CONTROL_BASE, BITEC_DP_0_AV_
TX_CONTROL_IRQ_INTERRUPT_CONTROLLER_ID, BITEC_DP_0_AV_TX_CONTROL_IRQ)
;
btc_dptx_syslib_monitor
Prototype:
int btc_dptx_syslib_monitor(void)
Thread-safe:
No
Available from ISR:
Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
No
Description:
This function calls the system library source housekeeping monitor. The software
should invoke this function periodically or at least every 50 ms.
Example:
btc_dptx_syslib_monitor();
DisplayPort API Reference
Send Feedback
Altera Corporation
9-22
UG-01131
2014.06.30
btc_dptx_video_enable
btc_dptx_test_autom
Prototype:
int btc_dptx_test_autom(void)
Thread-safe:
No
Available from ISR:
Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
No
Description:
This function handles test automation requests from the connected DisplayPort
sink. You should invoke this function after the IP core senses an HPD IRQ and
identifies it as a test automation request. The function implements TEST_LINK_
TRAINING and TEST_EDID_READ.
Example:
btc_dptx_test_autom();
btc_dptx_video_enable
Prototype:
int btc_dptx_video_enable(BYTE enabled)
Thread-safe:
No
Available from ISR:
Yes
Include:
< btc_dptx_syslib.h >
Return:
0 = success, 1 = fail
Parameters:
enabled—0 = output idle pattern; 1 = output active video
Description:
This function enables the TX to output either active video or an idle pattern. After
successful link training, the TX outputs active video by default.
Example:
btc_dptx_video_enable(1);
btc_dpxx_syslib Additional Types
In addition to the standard ANSI C defined types, btc_dpxx_syslib uses the following types:
• #define BYTE unsigned char
Altera Corporation
DisplayPort API Reference
Send Feedback
UG-01131
2014.06.30
btc_dprx_syslib Supported DPCD Locations
9-23
btc_dprx_syslib Supported DPCD Locations
Sink-Supported DPCD Locations on page 11-25 provides a list of DPCD locations currently supported in
btc_dprx_syslib sink instantiations. Read accesses to unsupported locations receive a response of
NATIVE_ACK with data content set to zero. Write accesses to unsupported locations receive a response of
NATIVE_NACK.
DisplayPort API Reference
Send Feedback
Altera Corporation
DisplayPort Source Register Map
10
2014.06.30
UG-01131
Subscribe
Send Feedback
DisplayPort source instantiations require an embedded controller (Nios II processor or another controller)
to act as the policy maker. This section describes the register map.
Table 9–1 describes the notation used in this section.
Table 10-1: Notation
Shorthand
Definition
RW
Read/write
RO
Read only
WO
Write only
CRO
Clear on read or write, read only
CWO
Clear on read or write, write only
General Registers
This section describes the general registers.
DPTX_TX_CONTROL
The IRQ is asserted when AUX_IRQ_EN = 1 and in register DPTX_AUX_CONTROL flag MSG_READY = 1. IRQ is
de-asserted by setting AUX_IRQ_EN to 0 or reading from DPTX_AUX_COMMAND. IRQ is also asserted if HPD_IRQ_EN
= 1 and a new HPD event is detected (HPD_EVENT in register DPTX_TX_STATUS different from 00). IRQ is deasserted by setting HPD_IRQ_EN to 0 or reading from DPTX_TX_STATUS.
The TX_LINK_RATE drives the respective tx_reconfig port. Setting LANE_COUNT to 00000 causes the transmitter
GXB to always send a logical zero (i.e., a constant voltage level). You can use this function to cause a “power
down” for link layer compliance testing.
Address: 0x0000
Direction: RW
Reset: 0x00000000
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
10-2
UG-01131
2014.06.30
DPTX_TX_CONTROL
Table 10-2: DPTX_TX_CONTROL Bits
Bit
31
Bit Name
HPD_IRQ_EN
Function
Enables an IRQ issued to the Nios II processor on an HPD event:
• 0 = disable
• 1 = enable
30
AUX_IRQ_EN
Enables an IRQ issued to the Nios II processor when an AUX
channel transaction reply is received from the sink:
• 0 = disable
• 1 = enable
29:21
Unused
20
RESERVED
Reserved
19
ENHANCED_FRAME
0 = Standard framing
1 = Enhanced framing
18:17
TX_LINK_RATE
Main link rate:
• 0 = 1.62 Gbps
• 1 = 2.7 Gbps
• 2 = 5.4 Gbps
16:15
Unused
14
ASYNC_CLOCK
0 = Synchronous
1 = Asynchronous
13:10
Unused
9:5
LANE_COUNT
Lane count:
•
•
•
•
4
Unused
3:0
TP
Current training pattern:
•
•
•
•
•
Altera Corporation
00000 = Reserved
00001 = 1
00010 = 2
00100 = 4
0000 = Normal video
0001 = Training pattern 1
0010 = Training pattern 2
0011 = Video idle pattern
1000 = Symbol error rate measurement pattern
DisplayPort Source Register Map
Send Feedback
UG-01131
2014.06.30
DPTX_TX_STATUS
10-3
DPTX_TX_STATUS
The IP core issues an IRQ to the Nios II processor if the DPTX_TX_CONTROL registers HPD_IRQ_EN is 1 and
the IP core detects a new HPD event. HPD_EVENT provides information about the event that caused the
interrupt. The interrupt and HPD_EVENT bit fields are both cleared by reading the DPTX_TX_STATUS register.
Address: 0x0001
Direction: CRO
Reset: 0x00000000
Table 10-3: DPTX_TX_STATUS Bits
Bit
Bit Name
Function
31:4
Unused
3
RESERVED
Reserved
2
HPD_LEVEL
Current HPD logic level
1:0
HPD_EVENT
HPD event causing IRQ (read to
clear):
• 00 = No event
• 01 = HPD plug event (long
HPD)
• 10 = HPD IRQ (short HPD)
• 11 = Reserved
MSA Registers
The MSA registers are allocated at addresses:
•
•
•
•
0x0020 through 0x002e for Stream0
0x0040 through 0x004e for Stream1
0x0060 through 0x006e for Stream2
0x0080 through 0x008e for Stream3
Note: Only registers for Stream0 are listed in the following sections.
DPTX0_MSA_MVID
Address: 0x0020
Direction: RO
Reset: 0x00000000
Table 10-4: DPTX0_MSA_MVID Bits
Bit
31:24
DisplayPort Source Register Map
Send Feedback
Bit Name
Function
Unused
Altera Corporation
10-4
UG-01131
2014.06.30
DPTX0_MSA_NVID
Bit
23:0
Bit Name
Function
Main stream attribute MVID
MVID
DPTX0_MSA_NVID
Address: 0x0021
Direction: RO
Reset: 0x00000000
Table 10-5: DPTX0_MSA_NVID Bits
Bit
Bit Name
31:24
Unused
23:0
NVID
Function
Main stream attribute NVID
DPTX0_MSA_HTOTAL
Address: 0x0022
Direction: RO
Reset: 0x00000000
Table 10-6: DPTX0_MSA_HTOTAL Bits
Bit
Bit Name
31:16
Unused
15:0
HTOTAL
Function
Main stream attribute HTOTAL
DPTX0_MSA_VTOTAL
Address: 0x0023
Direction: RO
Reset: 0x00000000
Table 10-7: DPTX0_MSA_VTOTAL Bits
Bit
Bit Name
31:16
Unused
15:0
VTOTAL
Function
Main stream attribute VTOTAL
DPTX0_MSA_HSP
Address: 0x0024
Altera Corporation
DisplayPort Source Register Map
Send Feedback
UG-01131
2014.06.30
DPTX0_MSA_HSW
10-5
Direction: RO
Reset: 0x00000000
Table 10-8: DPTX0_MSA_HSP Bits
Bit
Bit Name
31:1
Unused
0
HSP
Function
Main stream attribute horizontal
sync polarity:
• 0 = Positive
• 1 = Negative
DPTX0_MSA_HSW
Address: 0x0025
Direction: RO
Reset: 0x00000000
Table 10-9: DPTX0_MSA_HSW Bits
Bit
Bit Name
31:15
Unused
14:0
HSW
Function
Main stream attribute horizontal
sync width
DPTX0_MSA_HSTART
Address: 0x0026
Direction: RO
Reset: 0x00000000
Table 10-10: DPTX0_MSA_HSTART Bits
Bit
Bit Name
31:16
Unused
15:0
HSTART
Function
Main stream attribute HSTART
DPTX0_MSA_VSTART
Address: 0x0027
Direction: RO
Reset: 0x00000000
DisplayPort Source Register Map
Send Feedback
Altera Corporation
10-6
UG-01131
2014.06.30
DPTX0_MSA_VSP
Table 10-11: DPTX0_MSA_VSTART Bits
Bit
Bit Name
31:16
Unused
15:0
VSTART
Function
Main stream attribute VSTART
DPTX0_MSA_VSP
Address: 0x0028
Direction: RO
Reset: 0x00000000
Table 10-12: DPTX0_MSA_VSP Bits
Bit
Bit Name
31:1
Unused
0
VSP
Function
Main stream attribute vertical sync
polarity
• 0 = Positive
• 1 = Negative
DPTX0_MSA_VSW
Address: 0x0029
Direction: RO
Reset: 0x00000000
Table 10-13: DPTX0_MSA_VSW Bits
Bit
Bit Name
31:15
Unused
14:0
VSW
Function
Main stream attribute vertical sync
width
DPTX0_MSA_HWIDTH
Address: 0x002a
Direction: RO
Reset: 0x00000000
Altera Corporation
DisplayPort Source Register Map
Send Feedback
UG-01131
2014.06.30
DPTX0_MSA_VHEIGHT
10-7
Table 10-14: DPTX0_MSA_HWIDTH Bits
Bit
Bit Name
31:16
Unused
15:0
HWIDTH
Function
Main stream attribute HWIDTH
DPTX0_MSA_VHEIGHT
Address: 0x002b
Direction: RO
Reset: 0x00000000
Table 10-15: DPTX0_MSA_VHEIGHT Bits
Bit
Bit Name
31:16
Unused
15:0
VHEIGHT
Function
Main stream attribute VHEIGHT
DPTX0_MSA_MISC0
Address: 0x002c
Direction: RO
Reset: 0x00000000
Table 10-16: DPTX0_MSA_MISC0 Bits
Bit
Bit Name
31:8
Unused
7:0
MISC0
Function
Main stream attribute MISC0
DPTX0_MSA_MISC1
Address: 0x002d
Direction: RO
Reset: 0x00000000
Table 10-17: DPTX0_MSA_MISC1 Bits
Bit
Bit Name
31:8
Unused
7:0
MISC1
DisplayPort Source Register Map
Send Feedback
Function
Main stream attribute MISC1
Altera Corporation
10-8
UG-01131
2014.06.30
DPTX0_MSA_COLOUR
DPTX0_MSA_COLOUR
Address: 0x002e
Direction: RW
Reset: 0x00000001
Table 10-18: DPTX0_MSA_MISC1 Bits
Bit
Bit Name
31:7
Unused
6
COLORIMETRY
Function
0 = ITU-R BT601-5
1 = ITU-R BT709-5
5
DYNAMIC_RANGE
0 = VESA (from 0 to maximum)
1 = CEA range
4:3
COMPONENT_FORMAT
00 = RGB
01 = YCbCr 4:2:2
10 = YCbCr 4:4:4
11 = Reserved
2:0
Bits per pixel format
BPP
•
•
•
•
•
000 = 6 bpc
001 = 8 bpc
010 = 10 bpc
011 = 12 bpc
100 = 16 bpc
Link Voltage and Pre-Emphasis Controls
This section describes the registers for the link voltage and pre-emphasis controls.
DPTX_PRE_VOLT0
These ports drive the respective tx_analog_reconfig ports.
Address: 0x0010
Direction: RW
Reset: 0x00000000
Table 10-19: DPTX_PRE_VOLT0 Bits
Bit
31:4
Altera Corporation
Bit Name
Function
Unused
DisplayPort Source Register Map
Send Feedback
UG-01131
2014.06.30
DPTX_PRE_VOLT1
Bit
Bit Name
10-9
Function
3:2
PRE0
Pre-emphasis output on lane 0
1:0
VOLT0
Voltage swing output on lane 0
DPTX_PRE_VOLT1
These ports drive the respective tx_analog_reconfig ports.
Address: 0x0011
Direction: RW
Reset: 0x00000000
Table 10-20: DPTX_PRE_VOLT1 Bits
Bit
Bit Name
Function
31:4
Unused
3:2
PRE1
Pre-emphasis output on lane 1
1:0
VOLT1
Voltage swing output on lane 1
DPTX_PRE_VOLT2
These ports drive the respective tx_analog_reconfig ports.
Address: 0x0012
Direction: RW
Reset: 0x00000000
Table 10-21: DPTX_PRE_VOLT2 Bits
Bit
Bit Name
Function
31:4
Unused
3:2
PRE2
Pre-emphasis output on lane 2
1:0
VOLT2
Voltage swing output on lane 2
DPTX_PRE_VOLT3
These ports drive the respective tx_analog_reconfig ports.
Address: 0x0013
Direction: RW
Reset: 0x00000000
DisplayPort Source Register Map
Send Feedback
Altera Corporation
10-10
UG-01131
2014.06.30
DPTX_RECONFIG
Table 10-22: DPTX_PRE_VOLT3 Bits
Bit
Bit Name
Function
31:4
Unused
3:2
PRE3
Pre-emphasis output on lane 3
1:0
VOLT3
Voltage swing output on lane 3
DPTX_RECONFIG
RECONFIG_ANALOG drives the tx_analog_reconfig port ( tx_analog_reconfig_req) , while
RECONFIG_LINKRATE drives the tx_reconfig port, (tx_reconfig_req) . GXB_BUSY connects to the
tx_analog_reconfig input ports (tx_analog_reconfig_busy, and tx_reconfig tx_reconfig_busy).
Address: 0x0014
Direction: RW
Reset: 0x00000000
Table 10-23: DPTX_RECONFIG Bits
Bit
31
Bit Name
GXB_BUSY
Function
Read-only flag where:
• 0 = Transceiver is not busy
• 1 = Transceiver is busy
30:2
Unused
1
RECONFIG_LINKRATE
0 = Keep current transceiver link rate
1 = Reconfigure the transceiver with the link rate in DPTX_
TX_CONTROL (TX_LINK_RATE)
0
RECONFIG_ANALOG
0 = Keep current transceiver analog configuration
1 = Reconfigure transceiver with analog values in D P T
X _ P R E _ V O L T 0- 3
Link Quality Pattern Generation Register
If you use this register, you can force the source to output a standard PRBS7 test pattern on each of the
selected lanes, which can be useful for performing BER measurements.
Address: 0x0015
Direction: RW
Reset: 0x00000000
Altera Corporation
DisplayPort Source Register Map
Send Feedback
UG-01131
2014.06.30
Timestamp
10-11
Table 10-24: DPTX_LINK_QUALITY_PATTERN Bits
Bit
Bit Name
31:12
Unused
11:9
LQ_PATT_LANE3
Function
Pattern selection for lane 3:
• 000 = No training pattern (normal mode)
• 011 = PRBS7 transmitted
8:6
Pattern selection for lane 2:
LQ_PATT_LANE2
• 000 = No training pattern (normal mode)
• 011 = PRBS7 transmitted
5:3
Pattern selection for lane 1:
LQ_PATT_LANE1
• 000 = No training pattern (normal mode)
• 011 = PRBS7 transmitted
2:0
Pattern selection for lane 0:
LQ_PATT_LANE0
• 000 = No training pattern (normal mode)
• 011 = PRBS7 transmitted
Timestamp
The Nios II processor can use this global, free-running counter to generate timestamps and delays. The same
counter is used in both sink and source instantiations (DPRX_TIMESTAMP is always equal to DPTX_TIMESTAMP).
Address: 0x001F
Direction: RO
Reset: 0x00000000
Table 10-25: DPTX_TIMESTAMP Bits
Bit
Bit Name
Function
31:24
Unused
8’b00000000
23:0
TIMESTAMP
Free-running counter value (1 tick equals 100 µs)
Audio Register
This register controls the values related to the audio data stream.
Address: 0x002f
Direction: RW
Reset: The maximum number of channels supported minus 1 0x00000000 to 0x00000007
DisplayPort Source Register Map
Send Feedback
Altera Corporation
10-12
UG-01131
2014.06.30
CRC Registers
Table 10-26: DPTX_AUD_CONTROL Bits
Bit
Bit Name
31
Function
1 = Audio is muted
SOFT_MUTE
0 = Audio is muted if tx_audio_mute is asserted
30:24
Unused
17:16
LFEBPL
Audio InfoFrame LFE playback level (LFEPBL, see CEA861-E specification)
15:8
CA
Audio InfoFrame channel allocation (CA, see CEA-861-E
specification)
7:4
LSV
Audio InfoFrame level shift value (LSV, see CEA-861-E
specification)
3
DM_INH
Audio InfoFrame down mix inhibit flag (DM_INH, see
CEA-861-E specification)
2:0
CH_COUNT
Channel count
• 000 = 1 channel
• 001 = 2 channels
...
• 111 = 8 channels
CRC Registers
Computed video CRC red component, DPTX0_CRC_R, bits.
Address: 0x0030
Direction: RO
Reset: 0x00000000
Table 10-27: DPTX_CRC_R Bits
Bit
Bit Name
31:16
Unused
15:0
CRC_R
Function
Input video CRC for the red
component
Computed video CRC green component, DPTX0_CRC_G, bits.
Address: 0x0031
Direction: RO
Reset: 0x00000000
Altera Corporation
DisplayPort Source Register Map
Send Feedback
UG-01131
2014.06.30
AUX Controller Interface
10-13
Table 10-28: DPTX_CRC_G Bits
Bit
Bit Name
31:16
Unused
15:0
CRC_G
Function
Input video CRC for the green
component
Computed video CRC blue component, DPTX0_CRC_B, bits.
Address: 0x0032
Direction: RO
Reset: 0x00000000
Table 10-29: DPTX_CRC_B Bits
Bit
Bit Name
31:16
Unused
15:0
CRC_B
Function
Input video CRC for the blue
component
AUX Controller Interface
This section describes the registers that connect with the AUX controller interface.
DPTX_AUX_CONTROL
For transaction requests:
1. Wait for READY_TO_TX to be 1.
2. Write registers DPTX_AUX_COMMAND to DPTX_AUX_BYTE18 with the transaction command, address, length
(0 – 15) fields, and data payload.
3. Write LENGTH with the transaction’s total message length (3 for header + 1 for length byte + 0 to 16 for
data bytes).
4. The request transmission begins.
For transaction replies:
1.
2.
3.
4.
Issue a transaction request.
Wait for MSG_READY to be 1. Implement a timeout.
Read the transaction reply’s total length from LENGTH.
Read the transaction reply's command from the DPTX_AUX_COMMAND register. This transaction clears
MSG_READY and LENGTH.
5. Read the transaction reply's data payload from registers DPTX_AUX_BYTE0 to DPTX_AUX_BYTE15 (read
LENGTH - 1 bytes).
Address: 0x0100
Direction: RW
DisplayPort Source Register Map
Send Feedback
Altera Corporation
10-14
UG-01131
2014.06.30
DPTX_AUX_CMD
Reset: 0x00000000
Table 10-30: DPTX_AUX_CONTROL Bits
Bit
Bit Name
31
Function
0 = Waiting for a reply
MSG_READY
1 = A reply has been completely received
30
0 = Busy sending a request or waiting for a reply
READY_TO_TX
1 = Ready to send a request
29:5
Unused
4:0
LENGTH
For the next transaction request, total length of message to
be transmitted (3 – 20), for the last received transaction reply,
total length of message received (1 – 17).
DPTX_AUX_CMD
Address: 0x0101
Direction: RW
Reset: 0x00000000
Table 10-31: DPTX_AUX_CMD Bits
Bit
Bit Name
31:8
Unused
7:0
COMMAND
Function
AUX transaction command for the next request or received
in the most recent reply (refer to the DisplayPort specification for details). Reading of this register clears MSG_READY
and LENGTH in DPTX_AUX_CONTROL register .
DPTX_AUX_BYTE0
AUX Transaction Byte 0 Register.
Address: 0x0102
Direction: RW
Reset: 0x00000000
Table 10-32: DPTX_AUX_BYTE0 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Altera Corporation
Function
Transaction address [15:8] for the next request, or
data(0) received in the last reply
DisplayPort Source Register Map
Send Feedback
UG-01131
2014.06.30
DPTX_AUX_BYTE1
10-15
DPTX_AUX_BYTE1
AUX Transaction Byte 1 Register.
Address: 0x0103
Direction: RW
Reset: 0x00000000
Table 10-33: DPTX_AUX_BYTE1 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction address [7:1] for the next request, or data(1)
received in the last reply
DPTX_AUX_BYTE2
AUX Transaction Byte 2 Register.
Address: 0x0104
Direction: RW
Reset: 0x00000000
Table 10-34: DPTX_AUX_BYTE2 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction length[3:0] for the next request, or data(2) received in
the last reply (refer to the DisplayPort specification for details)
DPTX_AUX_BYTE3
AUX Transaction Byte 3 Register.
Address: 0x0105
Direction: RW
Reset: 0x00000000
Table 10-35: DPTX_AUX_BYTE3 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
DisplayPort Source Register Map
Send Feedback
Function
Transaction data(0) for the next request, or data(3) received in
the last reply
Altera Corporation
10-16
UG-01131
2014.06.30
DPTX_AUX_BYTE4
DPTX_AUX_BYTE4
AUX Transaction Byte 4 Register.
Address: 0x0106
Direction: RW
Reset: 0x00000000
Table 10-36: DPTX_AUX_BYTE4 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(1) for the next request, or data(4) received
in the last reply
DPTX_AUX_BYTE5
AUX Transaction Byte 5 Register.
Address: 0x0107
Direction: RW
Reset: 0x00000000
Table 10-37: DPTX_AUX_BYTE5 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(2) for the next request, or data(5) received
in the last reply
DPTX_AUX_BYTE6
AUX Transaction Byte 6 Register.
Address: 0x0108
Direction: RW
Reset: 0x00000000
Table 10-38: DPTX_AUX_BYTE6 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Altera Corporation
Function
Transaction data(3) for the next request, or data(6) received
in the last reply
DisplayPort Source Register Map
Send Feedback
UG-01131
2014.06.30
DPTX_AUX_BYTE7
10-17
DPTX_AUX_BYTE7
AUX Transaction Byte 7 Register.
Address: 0x0109
Direction: RW
Reset: 0x00000000
Table 10-39: DPTX_AUX_BYTE7 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(4) for the next request, or data(7) received
in the last reply
DPTX_AUX_BYTE8
AUX Transaction Byte 8 Register.
Address: 0x010a
Direction: RW
Reset: 0x00000000
Table 10-40: DPTX_AUX_BYTE8 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(5) for the next request, or data(8) received
in the last reply
DPTX_AUX_BYTE9
AUX Transaction Byte 9 Register.
Address: 0x010b
Direction: RW
Reset: 0x00000000
Table 10-41: DPTX_AUX_BYTE9 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
DisplayPort Source Register Map
Send Feedback
Function
Transaction data(6) for the next request, or data(9) received in
the last reply
Altera Corporation
10-18
UG-01131
2014.06.30
DPTX_AUX_BYTE10
DPTX_AUX_BYTE10
AUX Transaction Byte 10 Register.
Address: 0x010c
Direction: RW
Reset: 0x00000000
Table 10-42: DPTX_AUX_BYTE10 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(7) for the next request, or data(10) received
in the last reply
DPTX_AUX_BYTE11
AUX Transaction Byte 11 Register.
Address: 0x010d
Direction: RW
Reset: 0x00000000
Table 10-43: DPTX_AUX_BYTE11 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(8) for the next request, or data(11) received
in the last reply
DPTX_AUX_BYTE12
AUX Transaction Byte 12 Register.
Address: 0x010e
Direction: RW
Reset: 0x00000000
Table 10-44: DPTX_AUX_BYTE12 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Altera Corporation
Function
Transaction data(9) for the next request, or data(12) received
in the last reply
DisplayPort Source Register Map
Send Feedback
UG-01131
2014.06.30
DPTX_AUX_BYTE13
10-19
DPTX_AUX_BYTE13
AUX Transaction Byte 13 Register.
Address: 0x010f
Direction: RW
Reset: 0x00000000
Table 10-45: DPTX_AUX_BYTE13 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(10) for the next request, or data(13) received
in the last reply
DPTX_AUX_BYTE14
AUX Transaction Byte 14 Register.
Address: 0x0110
Direction: RW
Reset: 0x00000000
Table 10-46: DPTX_AUX_BYTE14 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(11) for the next request, or data(14) received
in the last reply
DPTX_AUX_BYTE15
AUX Transaction Byte 15 Register.
Address: 0x0111
Direction: RW
Reset: 0x00000000
Table 10-47: DPTX_AUX_BYTE15 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
DisplayPort Source Register Map
Send Feedback
Function
Transaction data(12) for the next request, or data(15)
received in the last reply
Altera Corporation
10-20
UG-01131
2014.06.30
DPTX_AUX_BYTE16
DPTX_AUX_BYTE16
AUX Transaction Byte 16 Register.
Address: 0x0112
Direction: RW
Reset: 0x00000000
Table 10-48: DPTX_AUX_BYTE16 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(13) for the next request
DPTX_AUX_BYTE17
AUX Transaction Byte 17 Register.
Address: 0x0113
Direction: RW
Reset: 0x00000000
Table 10-49: DPTX_AUX_BYTE17 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(14) for the next request
DPTX_AUX_BYTE18
AUX Transaction Byte 18 Register.
Address: 0x0114
Direction: RW
Reset: 0x00000000
Table 10-50: DPTX_AUX_BYTE18 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(15) for the next request
DPTX_AUX_RESET
Address: 0x0117
Altera Corporation
DisplayPort Source Register Map
Send Feedback
UG-01131
2014.06.30
DPTX_AUX_RESET
10-21
Direction: WO
Reset: 0x00000000
Table 10-51: DPTX_AUX_RESET Bits
Bit
Bit Name
31:1
Unused
0
CL EA R
Function
Asserting CL EA R resets the AUX Controller state machine:
• 0 = No action
• 1 = AUX Controller reset
DisplayPort Source Register Map
Send Feedback
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
11
2014.06.30
UG-01131
Send Feedback
Subscribe
DisplayPort sink instantiations greatly benefit from and may optionally use an embedded controller (Nios II
processor or another controller). This section describes the register map.
Table 11-1: Notation
Shorthand
Definition
RW
Read/write
RO
Read only
WO
Write only
CRO
Clear on read or write, read only
CWO
Clear on read or write, write only
General Registers
This section describes the general registers.
DPRX_RX_CONTROL
The IRQ is asserted when AUX_IRQ_EN = 1 and in register DPRX_AUX_CONTROL the flag MSG_READY = 1. IRQ
is de-asserted by setting AUX_IRQ_EN to 0 or reading from DPRX_AUX_COMMAND. RECONFIG_LINKRATE drives
the rx_reconfig_req . RX_LINK_RATE drives rx_link_rate.
Address: 0x0000
Direction: RW
Reset: 0x00000000
Table 11-2: DPRX_RX_CONTROL Bits
Bit
31:30
Bit Name
Function
Unused
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
11-2
UG-01131
2014.06.30
DPRX_RX_CONTROL
Bit
Bit Name
29
LQA_ACTIVE
28:14
Unused
13
RECONFIG_LINKRATE
Function
• 0 = Link Quality Analysis not used
• 1 = Link Quality Analysis in progress
0 = Keep current transceiver link rate
1 = Reconfigure the transceiver with link rate RX_LINK_
RATE
12:11
Unused
10
GXB_RESET
0 = Sink transceiver enabled
1 = Sink transceiver reset
9:8
Current training pattern:
TP
• 00 = Normal video
• 01 = Training pattern 1
• 10 = Training pattern 2
7
SCRAMBLER_DISABLE
0 = Scrambler enabled
1 = Scrambler disabled
6:5
RX_LINK_RATE
Main link rate:
• 0 = 1.62 Gbps
• 1 = 2.7 Gbps
• 2 = 5.4 Gbps
4:0
LANE_COUNT
Lane count:
• 00001 = 1
• 00010 = 2
• 00100 = 4
This register is also available in read-only mode when not using a controller.
Table 11-3: DPRX_RX_CONTROL Bits (Non-Controller Mode)
Bit
Bit Name
31:7
Unused
6:5
RX_LINK_RATE
Function
Main link rate:
• 0 = 1.62 Gbps
• 1 = 2.7 Gbps
• 2 = 5.4 Gbps
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
DPRX_RX_STATUS
Bit
Bit Name
4:0
LANE_COUNT
11-3
Function
Lane count:
• 00001 = 1
• 00010 = 2
• 00100 = 4
DPRX_RX_STATUS
GXB_BUSY connects to the rx_reconfig_busy input port.
Address: 0x0001
Direction: CRO
Reset: 0x00000000
Table 11-4: DPRX_RX_STATUS Bits
Bit
Bit Name
31:18
Unused
17
GXB_BUSY
Function
0 = Transceiver not busy
1 = Transceiver busy
16
SYNC_LOSS
This flag can be reset by writing it to 1:
0 = Symbol lock on all lanes in use
1 = Symbol lock lost on one or more of the used lanes
15:8
Unused
7
SYM_LOCK3
0 = Symbol unlocked (lane 3)
1 = Symbol locked (lane 3)
6
SYM_LOCK2
0 = Symbol unlocked (lane 2)
1 = Symbol locked (lane 2)
5
SYM_LOCK1
0 = Symbol unlocked (lane 1)
1 = Symbol locked (lane 1)
4
SYM_LOCK0
0 = Symbol unlocked (lane 0)
1 = Symbol locked (lane 0)
3
CR_LOCK3
0 = Clock unlocked (lane 3)
1 = Clock locked (lane 3)
2
CR_LOCK2
0 = Clock unlocked (lane 2)
1 = Clock locked (lane 2)
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-4
UG-01131
2014.06.30
DPRX_RX_STATUS
Bit
1
Bit Name
Function
0 = Clock unlocked (lane 1)
CR_LOCK1
1 = Clock locked (lane 1)
0
0 = Clock unlocked (lane 0)
CR_LOCK0
1 = Clock locked (lane 0)
This register is also available in read-only mode when not using a controller.
Table 11-5: DPRX_RX_STATUS Bits(Non-Controller Mode)
Bit
Bit Name
31:17
Unused
16
SYNC_LOSS
Function
This flag can be reset by writing it to 1:
0 = Symbol lock on all lanes in use
1 = Symbol lock lost on one or more of the used lanes
15:8
Unused
7
SYM_LOCK3
0 = Symbol unlocked (lane 3)
1 = Symbol locked (lane 3)
6
SYM_LOCK2
0 = Symbol unlocked (lane 2)
1 = Symbol locked (lane 2)
5
SYM_LOCK1
0 = Symbol unlocked (lane 1)
1 = Symbol locked (lane 1)
4
SYM_LOCK0
0 = Symbol unlocked (lane 0)
1 = Symbol locked (lane 0)
3
CR_LOCK3
0 = Clock unlocked (lane 3)
1 = Clock locked (lane 3)
2
CR_LOCK2
0 = Clock unlocked (lane 2)
1 = Clock locked (lane 2)
1
CR_LOCK1
0 = Clock unlocked (lane 1)
1 = Clock locked (lane 1)
0
CR_LOCK0
0 = Clock unlocked (lane 0)
1 = Clock locked (lane 0)
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
DPRX_BER_CONTROL
11-5
DPRX_BER_CONTROL
Address: 0x0010
Direction: CRW
Reset: 0x00000000
Note: When PHY_SINK_TEST_LANE_EN equals 1, CR_LOCK and SYM_LOCK bits (register DPRX_RX_STATUS)
are forced to 1 for lanes that are not being tested.
Table 11-6: DPRX_BER_CONTROL Bits
Bit
Bit Name
31:23
Unused
22:21
PHY_SINK_TEST_LANE_
SEL
Function
Specifies the lane that is being tested, when PHY_SINK_TEST_
LANE_EN is 1,
•
•
•
•
00 = Lane 0
01 = Lane 1
10 = Lane 2
11 = Lane 3
20
PHY_SINK_TEST_LANE_
EN
Writing this bit at 1 enables single lane PHY test, Write 0
to disable single lane PHY test.
19
RST3
Writing this bit at 1 resets the lane 3 bit-error counter in
register DPRX_BER_CNT1. Always reads as 0.
18
RST2
Writing this bit at 1 resets the lane 2 bit-error counter in
register DPRX_BER_CNT1. Always reads as 0.
17
RST1
Writing this bit at 1 resets lane 1 bit-error counter in register
DPRX_BER_CNT0. Always reads as 0.
16
RST0
Writing this bit at 1 resets lane 0 bit-error counter in register
DPRX_BER_CNT0. Always reads as 0.
15:14
Unused
13:11
PATT3
Pattern selection for lane 3:
• 000 = No training pattern (normal mode)
• 011 = PRBS7
• 101 = HBR2CPAT
10:8
PATT2
Pattern selection for lane 2:
• 000 = No training pattern (normal mode)
• 011 = PRBS7
• 101 = HBR2CPAT
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-6
UG-01131
2014.06.30
DPRX_BER_CNT0
Bit
Bit Name
7:5
Function
Pattern selection for lane 1:
PATT1
• 000 = No training pattern (normal mode)
• 011 = PRBS7
• 101 = HBR2CPAT
4:2
Pattern selection for lane 0:
PATT0
• 000 = No training pattern (normal mode)
• 011 = PRBS7
• 101 = HBR2CPAT
1:0
Count selection:
CNTSEL
•
•
•
•
00 = Disparity and illegal comma codes
01 = Disparity
10 = Illegal comma codes
11 = Reserved
DPRX_BER_CNT0
Bit-error counters for lane 0 and lane 1.
Address: 0x0003
Direction: RO
Reset: 0x00000000
Table 11-7: DPRX_BER_CNT0 Bits
Bit
Bit Name
31
Unused
30:16
CNT1
15
Unused
14:0
CNT0
Function
Symbol error counter for lane 1
Symbol error counter for lane 0
DPRX_BER_CNT1
Bit-error counter register for lane 2 and lane 3.
Address: 0x0004
Direction: RO
Reset: 0x00000000
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
Timestamp
11-7
Table 11-8: DPRX_BER_CNT1 Bits
Bit
Bit Name
31
Unused
30:16
CNT3
15
Unused
14:0
CNT2
Function
Symbol error counter for lane 3
Symbol error counter for lane 2
Timestamp
The Nios II processor can use this global, free-running counter to generate timestamps and delays. The same
counter is used in both sink and source instantiations (DPRX_TIMESTAMP is always equal to DPTX_TIMESTAMP).
Address: 0x0005
Direction: RO
Reset: 0x00000000
Table 11-9: DPRX_TIMESTAMP Bits
Bit
Bit Name
Function
31:24
Unused
8’b00000000
23:0
TIMESTAMP
Free-running counter value (1 tick
equals 100 µs)
MSA Registers
The MSA registers are allocated at addresses:
•
•
•
•
0x0020 through 0x002f for Stream0
0x0040 through 0x004f for Stream1
0x0060 through 0x006f for Stream2
0x0080 through 0x008f for Stream3
Note: Only registers for Stream0 are listed in the following sections. Registers for Stream0 are also available
in non-controller mode.
DPRX0_MSA_MVID
Address: 0x0020
Direction: RO
Reset: 0x00000000
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-8
UG-01131
2014.06.30
DPRX0_MSA_NVID
Table 11-10: DPRX0_MSA_MVID Bits
Bit
Bit Name
31:24
Unused
23:0
MVID
Function
Main stream attribute MVID
DPRX0_MSA_NVID
Address: 0x0021
Direction: RO
Reset: 0x00000000
Table 11-11: DPRX0_MSA_NVID Bits
Bit
Bit Name
31:24
Unused
23:0
NVID
Function
Main stream attribute NVID
DPRX0_MSA_HTOTAL
Address: 0x0022
Direction: RO
Reset: 0x00000000
Table 11-12: DPRX0_MSA_HTOTAL Bits
Bit
Bit Name
31:16
Unused
15:0
HTOTAL
Function
Main stream attribute HTOTAL
DPRX0_MSA_VTOTAL
Address: 0x0023
Direction: RO
Reset: 0x00000000
Table 11-13: DPRX0_MSA_VTOTAL Bits
Bit
Bit Name
31:16
Unused
15:0
MVID
Altera Corporation
Function
Main stream attribute VTOTAL
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
DPRX0_MSA_HSP
11-9
DPRX0_MSA_HSP
MSA horizontal synchronization polarity register, DPRX0_MSA_HSP.
Address: 0x0024
Direction: RO
Reset: 0x00000000
Table 11-14: DPRX0_MSA_HSP Bits
Bit
Bit Name
31:1
Unused
0
HSP
Function
Main stream attribute horizontal synchronization polarity
• 0 = Positive
• 1 = Negative
DPRX0_MSA_HSW
MSA horizontal synchronization width register, DPRX0_MSA_HSW.
Address: 0x0025
Direction: RO
Reset: 0x00000000
Table 11-15: DPRX0_MSA_HSW Bits
Bit
Bit Name
31:15
Unused
14:0
HSW
Function
Main stream attribute horizontal synchronization width
DPRX0_MSA_HSTART
Address: 0x0026
Direction: RO
Reset: 0x00000000
Table 11-16: DPRX0_MSA_HSTART Bits
Bit
Bit Name
31:16
Unused
15:0
HSTART
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Function
Main stream attribute HSTART
Altera Corporation
11-10
UG-01131
2014.06.30
DPRX0_MSA_VSTART
DPRX0_MSA_VSTART
Address: 0x0027
Direction: RO
Reset: 0x00000000
Table 11-17: DPRX0_MSA_VSTART Bits
Bit
Bit Name
31:16
Unused
15:0
VSTART
Function
Main stream attribute VSTART
DPRX0_MSA_VSP
MSA vertical synchronization polarity register, DPRX0_MSA_VSP.
Address: 0x0028
Direction: RO
Reset: 0x00000000
Table 11-18: DPRX0_MSA_VSP Bits
Bit
Bit Name
31:1
Unused
0
VSP
Function
Main stream attribute vertical synchronization polarity
• 0 = Positive
• 1 = Negative
DPRX0_MSA_VSW
MSA vertical synchronization width register, DPRX0_MSA_VSW.
Address: 0x0029
Direction: RO
Reset: 0x00000000
Table 11-19: DPRX0_MSA_VSW Bits
Bit
Bit Name
31:15
Unused
14:0
VSW
Altera Corporation
Function
Main stream attribute vertical synchronization width
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
DPRX0_MSA_HWIDTH
11-11
DPRX0_MSA_HWIDTH
TX control register, DPRX0_MSA_HWIDTH.
Address: 0x002a
Direction: RO
Reset: 0x00000000
Table 11-20: DPRX0_MSA_HWIDTH Bits
Bit
Bit Name
31:16
Unused
15:0
HWIDTH
Function
Main stream attribute HWIDTH
DPRX0_MSA_VHEIGHT
Address: 0x002b
Direction: RO
Reset: 0x00000000
Table 11-21: DPRX0_MSA_WHEIGHT Bits
Bit
Bit Name
31:16
Unused
15:0
VHEIGHT
Function
Main stream attribute VHEIGHT
DPRX0_MSA_MISC0
Address: 0x002c
Direction: RO
Reset: 0x00000000
Table 11-22: DPRX0_MSA_MISC0 Bits
Bit
Bit Name
31:8
Unused
7:0
MISC0
Function
Main stream attribute MISC0
DPRX0_MSA_MISC1
Address: 0x002d
Direction: RO
Reset: 0x00000000
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-12
UG-01131
2014.06.30
DPRX0_VBID
Table 11-23: DPRX0_MSA_MISC1 Bits
Bit
Bit Name
31:8
Unused
7:0
MISC1
Function
Main stream attribute MISC1
DPRX0_VBID
VB-ID register, DPRX0_VBID.
Address: 0x002e
Direction: RO
Reset: 0x00000000
Table 11-24: DPRX0_VBID Bits
Bit
Bit Name
31:8
Unused
7
MSA_LOCK
Function
0 = MSA unlocked
1 = MSA locked (on all lanes)
6
VBID_LOCK
0 = VB-ID unlocked
1 = VB-ID locked (on all lanes)
5:0
VBID
VB-ID flags (refer to the DisplayPort specification)
Audio Registers
The audio registers are allocated at addresses:
•
•
•
•
0x0020 through 0x003f for Stream0
0x0040 through 0x005f for Stream1
0x0060 through 0x007f for Stream2
0x0080 through 0x009f for Stream3
Note: Only registers for Stream0 are listed in the following sections.
DPRX0_AUD_MAUD
Received audio Maud register, DPRX0_AUD_MAUD.
Address: 0x0030
Direction: RO
Reset: 0x00000000
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
DPRX0_AUD_NAUD
11-13
Table 11-25: DPRX0_AUD_MAUD Bits
Bit
Bit Name
31:24
Unused
23:0
MAUD
Function
Received audio Maud
DPRX0_AUD_NAUD
Received audio Naud register, DPRX0_AUD_NAUD.
Address: 0x0031
Direction: RO
Reset: 0x00000000
Table 11-26: DPRX0_AUD_NAUD Bits
Bit
Bit Name
31:24
Unused
23:0
NAUD
Function
Received audio Naud
DPRX0_AUD_AIF0
Received audio InfoFrame register, DPRX0_AUD_AIF0.
Address: 0x0032
Direction: RO
Reset: 0x00000000
Table 11-27: DPRX0_AUD_AIF0 Bits
Bit
Bit Name
31:8
Unused
7:0
AIF
Function
Received audio InfoFrame byte 0 (refer to CEA-861-E
specification)
DPRX0_AUD_AIF1
Received audio InfoFrame register, DPRX0_AUD_AIF1.
Address: 0x0033
Direction: RO
Reset: 0x00000000
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-14
UG-01131
2014.06.30
DPRX0_AUD_AIF2
Table 11-28: DPRX0_AUD_AIF1 Bits
Bit
Bit Name
31:8
Unused
7:0
AIF
Function
Received audio InfoFrame byte 1 (refer to CEA861-E specification)
DPRX0_AUD_AIF2
Received audio InfoFrame register, DPRX0_AUD_AIF2.
Address: 0x0034
Direction: RO
Reset: 0x00000000
Table 11-29: DPRX0_AUD_AIF2 Bits
Bit
Bit Name
31:8
Unused
7:0
AIF
Function
Received audio InfoFrame byte 2 (refer to CEA-861-E
specification)
DPRX0_AUD_AIF3
Received audio InfoFrame register, DPRX0_AUD_AIF3.
Address: 0x0035
Direction: RO
Reset: 0x00000000
Table 11-30: DPRX0_AUD_AIF3 Bits
Bit
Bit Name
31:8
Unused
7:0
AIF
Function
Received audio InfoFrame byte 3 (refer to CEA-861-E
specification)
DPRX0_AUD_AIF4
Received audio InfoFrame register, DPRX0_AUD_AIF4.
Address: 0x0036
Direction: R0
Reset: 0x00000000
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
AUX Controller Interface
11-15
Table 11-31: DPRX0_AUD_AIF4 Bits
Bit
Bit Name
31:8
Unused
7:0
AIF
Function
Received audio InfoFrame byte 4 (refer to CEA-861-E
specification)
AUX Controller Interface
The following sections describe the registers for the AUX Controller interface.
DPRX_AUX_CONTROL
For transaction requests:
1. Wait for MSG_READY (in register DPRX_AUX_STATUS) to be 1, or enable the interrupt with AUX_IRQ_EN and
wait for the interrupt request.
2. Read the transaction request total length from LENGTH.
3. Read the transaction request command from DPRX_AUX_COMMAND., which clears MSG_READY and LENGTH.
4. Read the transaction request data payload from registers DPRX_AUX_BYTE0 to DPRX_AUX_BYTE15 (read
LENGTH - 1 bytes).
For transaction replies:
1. Wait for READY_TO_TX (in register DPRX_AUX_STATUS) to be 1. Implement a timeout.
2. Write registers DPRX_AUX_COMMAND to DPRX_AUX_BYTE18 with transaction command and data payload.
3. Write LENGTH with the transaction total message length (1 to 17, 1 for the command plus 1 to 16 for the
data payload) and set TX_STROBE to 1. This sequence starts the reply transmission.
The sink asserts the IRQ when AUX_IRQ_EN = 1 and MSG_READY = 1. To deassert IRQ, set AUX_IRQ_EN to 0
or read from DPRX_AUX_COMMAND.
Address: 0x0100
Direction: RW
Reset: 0x00000000
Table 11-32: DPRX_AUX_CONTROL Bits
Bit
31
Bit Name
MSG_READY
Function
0 = Waiting for a request
1 = A request has been completely received
30
READY_TO_TX
0 = Busy sending a reply or request waiting
1 = Ready to send a reply
29:9
Unused
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-16
UG-01131
2014.06.30
DPRX_AUX_STATUS
Bit
8
Bit Name
AUX_IRQ_EN
Function
Issues an IRQ to Nios II processor when the sink receives an AUX
channel transaction from the source.
0 = Disable
1 = Enable
7
TX_STROBE
6:5
Unused
4:0
LENGTH
Writing this bit at 1 starts a reply transmission. Always read this
bit as 0.
For the next transaction reply, total length of message to be
transmitted (1 – 17), for the last received transaction request, total
length of message received (1 – 17).
DPRX_AUX_STATUS
AUX transaction status register, DPRX_AUX_STATUS.
Address: 0x0101
Direction: RO
Reset: 0x00000000
Table 11-33: DPRX_AUX_STATUS Bits
Bit
31
Bit Name
MSG_READY
Function
0 = Waiting for a request
1 = Receives a request
30
READY_TO_TX
0 = Busy sending a reply or waiting for a request
1 = Ready to send a reply
29:2
Unused
1
SRC_PWR_DETECT
0 = Upstream power not detected
1 = Upstream power detected
0
SRC_CABLE_DETECT
0 = Upstream cable not detected
1 = Upstream cable detected
DPRX_AUX_COMMAND
AUX transaction command register, DPRX_AUX_COMMAND.
Address: 0x0102
Direction: RW
Reset: 0x00000000
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
DPRX_AUX_BYTE0
11-17
Table 11-34: DPRX_AUX_COMMAND Bits
Bit
Bit Name
31:8
Unused
7:0
COMMAND
Function
AUX transaction command for the next reply or received in the
last request (refer to the DisplayPort specification) .
Reading of this register clears MSG_READY and LENGTH in DPRX_
AUX_CONTROL register.
DPRX_AUX_BYTE0
AUX Transaction Byte 0 Register.
Address: 0x0103
Direction: RW
Reset: 0x00000000
Table 11-35: DPRX_AUX_BYTE0 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction address[15:8] received in the last request, or data(0) for
the next reply
DPRX_AUX_BYTE1
AUX Transaction Byte 1 Register.
Address: 0x0104
Direction: RW
Reset: 0x00000000
Table 11-36: DPRX_AUX_BYTE1 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction address[7:1] received in the last request, or data(1)
for the next reply
DPRX_AUX_BYTE2
AUX Transaction Byte 2 Register.
Address: 0x0105
Direction: RW
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-18
UG-01131
2014.06.30
DPRX_AUX_BYTE3
Reset: 0x00000000
Table 11-37: DPRX_AUX_BYTE2 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction length[3:0] received in the last request, or data(2)
for the next reply (refer to DisplayPort specification)
DPRX_AUX_BYTE3
AUX Transaction Byte 3 Register.
Address: 0x0106
Direction: RW
Reset: 0x00000000
Table 11-38: DPRX_AUX_BYTE3 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(0) received in the last request, or data(3) for the
next reply
DPRX_AUX_BYTE4
AUX Transaction Byte 4 Register.
Address: 0x0107
Direction: RW
Reset: 0x00000000
Table 11-39: DPRX_AUX_BYTE4 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(1) received in the last request, or data(4) for the
next reply
DPRX_AUX_BYTE5
AUX Transaction Byte 5 Register.
Address: 0x0108
Direction: RW
Reset: 0x00000000
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
DPRX_AUX_BYTE6
11-19
Table 11-40: DPRX_AUX_BYTE5 Bits
Bit
Bit Name
31:8
Unused
7:0
BY T E
Function
Transaction data(2) received in the last request, or data(5) for
the next reply
DPRX_AUX_BYTE6
AUX Transaction Byte 6 Register.
Address: 0x0109
Direction: RW
Reset: 0x00000000
Table 11-41: DPRX_AUX_BYTE6 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(3) received in the last request, or data(6) for
the next reply
DPRX_AUX_BYTE7
AUX Transaction Byte 7 Register.
Address: 0x010a
Direction: RW
Reset: 0x00000000
Table 11-42: DPRX_AUX_BYTE7 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(4) received in the last request, or data(7) for
the next reply
DPRX_AUX_BYTE8
AUX Transaction Byte 8 Register.
Address: 0x010b
Direction: RW
Reset: 0x00000000
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-20
UG-01131
2014.06.30
DPRX_AUX_BYTE9
Table 11-43: DPRX_AUX_BYTE8 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(5) received in the last request, or data(8) for the
next reply
DPRX_AUX_BYTE9
AUX Transaction Byte 9 Register.
Address: 0x010c
Direction: RW
Reset: 0x00000000
Table 11-44: DPRX_AUX_BYTE9 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(6) received in the last request, or data(9) for
the next reply
DPRX_AUX_BYTE10
AUX Transaction Byte 10 Register.
Address: 0x010d
Direction: RW
Reset: 0x00000000
Table 11-45: DPRX_AUX_BYTE10 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(7) received in the last request, or
data(10) for the next reply
DPRX_AUX_BYTE11
AUX Transaction Byte 11 Register.
Address: 0x010e
Direction: RW
Reset: 0x00000000
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
DPRX_AUX_BYTE12
11-21
Table 11-46: DPRX_AUX_BYTE11 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(8) received in the last request, or data(11)
for the next reply
DPRX_AUX_BYTE12
AUX Transaction Byte 12 Register.
Address: 0x010f
Direction: RW
Reset: 0x00000000
Table 11-47: DPRX_AUX_BYTE12 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(9) received in the last request, or data(12) for the
next reply
DPRX_AUX_BYTE13
AUX Transaction Byte 13 Register.
Address: 0x0110
Direction: RW
Reset: 0x00000000
Table 11-48: DPRX_AUX_BYTE13 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(10) received in the last request, or data(13) for
the next reply
DPRX_AUX_BYTE14
AUX Transaction Byte 14 Register.
Address: 0x0111
Direction: RW
Reset: 0x00000000
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-22
UG-01131
2014.06.30
DPRX_AUX_BYTE15
Table 11-49: DPRX_AUX_BYTE14 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(11) received in the last request, or data(14) for
the next reply
DPRX_AUX_BYTE15
AUX Transaction Byte 15 Register.
Address: 0x0112
Direction: RW
Reset: 0x00000000
Table 11-50: DPRX_AUX_BYTE15 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(12) received in the last request, or data(15)
for the next reply
DPRX_AUX_BYTE16
AUX Transaction Byte 16 Register.
Address: 0x0113
Direction: RW
Reset: 0x00000000
Table 11-51: DPRX_AUX_BYTE16 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(13) received in the last request
DPRX_AUX_BYTE17
AUX Transaction Byte 17 Register.
Address: 0x0114
Direction: RW
Reset: 0x00000000
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
DPRX_AUX_BYTE18
11-23
Table 11-52: DPRX_AUX_BYTE17 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(14) received in the last request
DPRX_AUX_BYTE18
AUX Transaction Byte 18 Register.
Address: 0x0115
Direction: RW
Reset: 0x00000000
Table 11-53: DPRX_AUX_BYTE18 Bits
Bit
Bit Name
31:8
Unused
7:0
BYTE
Function
Transaction data(15) received in the last request
DPRX_AUX_I2C0
AUX to I2C0 management. The sink routes all AUX channel accesses to I2C slave addresses of values between
START_ADDR and END_ADDR to I2C0.
Address: 0x0116
WO
0x00000000
Table 11-54: DPRX_AUX_I2C0 Bits
Bit
Bit Name
31:15
Unused
14:8
END_ADDR
7
Unused
6:0
START_ADDR
Function
I2C slave end address
I2C slave start address
DPRX_AUX_I2C1
AUX to I2C1 management. The sink routes all AUX channel accesses to I2C slave addresses of values between
START_ADDR and END_ADDR to I2C1.
Address: 0x0117
WO
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-24
UG-01131
2014.06.30
DPRX_AUX_RESET
0x00000000
Table 11-55: DPRX_AUX_I2C1 Bits
Bit
Bit Name
31:15
Unused
14:8
END_ADDR
7
Unused
6:0
START_ADDR
Function
I2C slave end address
I2C slave start address
DPRX_AUX_RESET
Address: 0x0118
Direction: WO
Reset: 0x00000000
Table 11-56: DPRX_AUX_RESET Bits
Bit
Bit Name
31:1
Unused
0
CLEAR
Function
Asserting CLEAR resets the AUX controller state machine:
• 0 = No action
• 1 = AUX Controller reset
DPRX_AUX_HPD
HPD control.
Address: 0x0119
Direction: RW
Reset: 0x00000000
Table 11-57: DPRX_AUX_HPD Bits
Bit
Bit Name
31:13
Unused
12
HPD_IRQ
Function
Writing this bit at 1 generates a 0.75-ms long HPD IRQ (low pulse).
This bit is WO.
To use this bit, HPD_EN must be 1.
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
Sink-Supported DPCD Locations
Bit
11
Bit Name
HPD_EN
11-25
Function
HPD logic level
0 = Deasserted (low)
1 = Asserted (high)
10:0
Unused
Sink-Supported DPCD Locations
The following table describes the DPCD locations (or location groups) that are supported in DisplayPort
sink instantiations.
Table 11-58: DPCD Locations
Location Name
Address
Without
Controller
With Controller
DPCD_REV
0x0000
Yes
Yes
MAX_LINK_RATE
0x0001
Yes
Yes
MAX_LANE_COUNT
0x0002
Yes
Yes
MAX_DOWNSPREAD
0x0003
Yes
Yes
NORP
0x0004
Yes
Yes
DOWNSTREAMPORT_PRESENT
0x0005
Yes
Yes
MAIN_LINK_CHANNEL_CODING
0x0006
Yes
Yes
DOWN_STREAM_PORT_COUNT
0x0007
Yes
Yes
RECEIVE_PORT0_CAP_0
0x0008
Yes
Yes
RECEIVE_PORT0_CAP_1
0x0009
Yes
Yes
RECEIVE_PORT1_CAP_0
0x000A
Yes
Yes
RECEIVE_PORT1_CAP_1
0x000B
Yes
Yes
I2C_SPEED_CONTROL
0x000C
—
Yes
EDP_CONFIGURATION_CAP
0x000D
—
Yes
TRAINING_AUX_RD_INTERVAL
0x000E
—
Yes
ADAPTER_CAP
0x000F
—
Yes
FAUX_CAP
0x0020
—
Yes
MST_CAP
0x0021
—
Yes
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
Altera Corporation
11-26
UG-01131
2014.06.30
Sink-Supported DPCD Locations
Location Name
Address
Without
Controller
With Controller
NUMBER_OF_AUDIO_ENDPOINTS
0x0022
—
Yes
GUID
0x0030
—
Yes
DWN_STRM_PORTX_CAP
0x0080
Yes
Yes
LINK_BW_SET
0x0100
Yes
Yes
LANE_COUNT_SET
0x0101
Yes
Yes
TRAINING_PATTERN_SET
0x0102
Yes
Yes
TRAINING_LANE0_SET
0x0103
Yes
Yes
TRAINING_LANE1_SET
0x0104
Yes
Yes
TRAINING_LANE2_SET
0x0105
Yes
Yes
TRAINING_LANE3_SET
0x0106
Yes
Yes
DOWNSPREAD_CTRL
0x0107
Yes
Yes
MAIN_LINK_CHANNEL_CODING_SET
0x0108
Yes
Yes
I2C_SPEED_CONTROL
0x0109
—
Yes
EDP_CONFIGURATION_SET
0x010A
—
Yes
LINK_QUAL_LANE0_SET
0x010B
—
Yes
LINK_QUAL_LANE1_SET
0x010C
—
Yes
LINK_QUAL_LANE2_SET
0x010D
—
Yes
LINK_QUAL_LANE3_SET
0x010E
—
Yes
TRAINING_LANE0_1_SET2
0x010F
—
Yes
TRAINING_LANE2_3_SET2
0x0110
—
Yes
MSTM_CTRL
0x0111
—
Yes
AUDIO_DELAY[7:0]
0x0112
—
Yes
AUDIO_DELAY[15:8]
0x0113
—
Yes
AUDIO_DELAY[23:6]
0x0114
—
Yes
ADAPTER_CTRL
0x01A0
—
Yes
BRANCH_DEVICE_CTRL
0x01A1
—
Yes
PAYLOAD_ALLOCATE_SET
0x01C0
—
Yes
PAYLOAD_ALLOCATE_START_TIME_SLOT
0x01C1
—
Yes
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
Sink-Supported DPCD Locations
Location Name
Address
Without
Controller
With Controller
PAYLOAD_ALLOCATE_TIME_SLOT_COUNT
0x01C2
—
Yes
SINK_COUNT
0x0200
Yes
Yes
DEVICE_SERVICE_IRQ_VECTOR
0x0201
Yes
Yes
LANE0_1_STATUS
0x0202
Yes
Yes
LANE2_3_STATUS
0x0203
Yes
Yes
LANE_ALIGN_STATUS_UPDATED
0x0204
Yes
Yes
SINK_STATUS
0x0205
Yes
Yes
ADJUST_REQUEST_LANE0_1
0x0206
Yes
Yes
ADJUST_REQUEST_LANE2_3
0x0207
Yes
Yes
SYMBOL_ERROR_COUNT_LANE0
0x0210
Yes
Yes
SYMBOL_ERROR_COUNT_LANE1
0x0212
Yes
Yes
SYMBOL_ERROR_COUNT_LANE2
0x0214
Yes
Yes
SYMBOL_ERROR_COUNT_LANE3
0x0216
Yes
Yes
TEST_LANE_COUNT
0x0220
Yes
—
TEST_PATTERN
0x0221
Yes
—
TEST_H_TOTAL_LSB
0x0222
Yes
—
TEST_H_TOTAL_MSB
0x0223
Yes
—
TEST_V_TOTAL_LSB
0x0224
Yes
—
TEST_V_TOTAL_MSB
0x0225
Yes
—
TEST_H_START_LSB
0x0226
Yes
—
TEST_H_START_MSB
0x0227
Yes
—
TEST_V_START_LSB
0x0228
Yes
—
TEST_V_START_MSB
0x0229
Yes
—
TEST_HSYNC_LSB
0x022A
Yes
—
TEST_HSYNC_MSB
0x022B
Yes
—
TEST_VSYNC_LSB
0x022C
Yes
—
TEST_VSYNC_MSB
0x022D
Yes
—
TEST_H_WIDTH_LSB
0x022E
Yes
—
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
11-27
Altera Corporation
11-28
UG-01131
2014.06.30
Sink-Supported DPCD Locations
Location Name
Address
Without
Controller
With Controller
TEST_H_WIDTH_MSB
0x022F
Yes
—
TEST_V_HEIGHT_LSB
0x0230
Yes
—
TEST_V_HEIGHT_MSB
0x0231
Yes
—
TEST_MISC_LSB
0x0232
Yes
—
TEST_MISC_MSB
0x0233
Yes
—
TEST_REFRESH_RATE_NUMERATOR
0x0234
Yes
—
TEST_CRC_R_Cr
0x0240
Yes
—
TEST_CRC_G_Y
0x0242
Yes
—
TEST_CRC_B_Cb
0x0244
Yes
—
TEST_SINK_MISC
0x0246
Yes
—
TEST_RESPONSE
0x0260
Yes
—
TEST_EDID_CHECKSUM
0x0261
Yes
—
TEST_SINK
0x0270
Yes
Yes
PAYLOAD_TABLE_UPDATE_STATUS
0x02C0
—
Yes
VC_PAYLOAD_ID_SLOT_1 to _63
0x02C1
—
Yes
IEEE_OUI
0x0300
—
Yes
IEEE_OUI
0x0301
—
Yes
IEEE_OUI
0x0302
—
Yes
DEVICE_IDENTIFICATION_STRING
0x0303
—
Yes
HARDWARE_REVISION
0x0309
—
Yes
FWSW_MAJOR
0x030A
—
Yes
FWSW_MINOR
0x030B
—
Yes
RESERVED
0x030C
—
Yes
RESERVED
0x030D
—
Yes
RESERVED
0x030E
—
Yes
RESERVED
0x030F
—
Yes
IEEE_OUI
0x0400
—
Yes
IEEE_OUI
0x0401
—
Yes
Altera Corporation
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
UG-01131
2014.06.30
Sink-Supported DPCD Locations
Location Name
Address
Without
Controller
With Controller
IEEE_OUI
0x0402
—
Yes
DEVICE_IDENTIFICATION_STRING
0x0403
—
Yes
HARDWARE_REVISION
0x0409
—
Yes
FWSW_MAJOR
0x040A
—
Yes
FWSW_MINOR
0x040B
—
Yes
RESERVED (0x040C to 0x04FF)
0x040C
—
Yes
IEEE_OUI
0x0500
Yes
Yes
IEEE_OUI
0x0501
Yes
Yes
IEEE_OUI
0x0502
Yes
Yes
DEVICE_IDENTIFICATION_STRING
0x0503
—
Yes
HARDWARE_REVISION
0x0509
—
Yes
FWSW_MAJOR
0x050A
—
Yes
FWSW_MINOR
0x050B
—
Yes
RESERVED (0x050C to 0x05FF)
0x050C
—
Yes
SET_POWER_STATE
0x0600
Yes
Yes
DOWN_REQ (0x1000 to 0x102F)
0x1000
—
Yes
DOWN_REP (0x1400 to 0x142F)
0x1400
—
Yes
SINK_COUNT_ESI
0x2002
—
Yes
DEVICE_SERVICE_IRQ_VECTOR_ESI0
0x2003
—
Yes
DEVICE_SERVICE_IRQ_VECTOR_ESI1
0x2004
—
Yes
LINK_SERVICE_IRQ_VECTOR_ESI0
0x2005
—
Yes
LANE0_1_STATUS
0x200C
—
Yes
LANE2_3_STATUS_ESI
0x200D
—
Yes
LANE_ALIGN STATUS_UPDATED_ESI
0x200E
—
Yes
SINK_STATUS_ESI
0x200F
—
Yes
DisplayPort Sink Register Map and DPCD Locations
Send Feedback
11-29
Altera Corporation
Additional Information
12
2014.06.30
UG-01131
Subscribe
Send Feedback
Document Revision History
The following table lists the revision history for this document.
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
12-2
UG-01131
2014.06.30
Document Revision History
Table 12-1: Document Revision History
Date
June 2014
Version
14.0
Changes
• Native PHY is removed from the IP core; included information about
how to instantiate the PHY outside the DisplayPort IP core.
• Updated the source and sink block diagrams.
• Updated the source and sink register map information.
• Added new sink register bits:
•
•
•
•
•
•
•
•
•
LQA ACTIVE
PHY_SINK_TEST_LANE_SEL
PHY_SINK_TEST_LANE_EN
AUX_IRQ_EN
TX_STROBE
DPRX_AUX_STATUS bits
DPRX_AUX_I2C0 bits
DPRX_AUX_I2C0 bits
DPRX_AUX_HPD
bits
• Removed these sink register bits:
• HPD_IRQ
• HPD_EN
• DPRX_AUX_IRQ_EN bits
• Added a new source register bit:
• VTOTAL
• Added source TX transceiver interface signals
• Removed these source signals:
• xcvr_refclk
• tx_serial_data
• xcvr_reconfig
• Added sink audio and RX transceiver interface signals.
• Removed these sink signals:
• xcvr_refclk
• rx_serial_data
• xcvr_reconfig
• Added information about Transceiver Reconfiguration Interface for
source and sink.
• Added information about single clock reference (135MHz) for source
and sink.
• Added information about Bitec HSMC DisplayPort daughter card
in the Hardware Demonstration chapter.
• Updated the API reference.
Altera Corporation
Additional Information
Send Feedback
UG-01131
2014.06.30
How to Contact Altera
Date
Version
12-3
Changes
November 2013
13.1
•
•
•
•
•
•
•
Updated the source and sink register map information.
Added dual and quad pixel mode support.
Added support for quad symbol (40-bit) transceiver data interface.
Added support for Cyclone V devices.
Added HBR2 support for Arria V and Arria V GZ devices.
Added information about eDP support.
Updated the API reference.
May 2013
13.0
• Added information on audio support.
• Added HBR2 support for Stratix V devices.
• Added information on secondary data support.
February 2013
12.1 SP1 (Beta) Second beta release:
• Updated the filenames for the hardware demonstration and
simulation example.
• Added chapter describing the IP core’s compilation example.
• Miscellaneous updates.
December 2012
12.1
Initial beta release.
(Beta)
How to Contact Altera
Table 12-2: How to Contact Altera
To locate the most up-to-date information about Altera products, refer to this table. You can also contact your local
Altera sales office or sales representative.
Contact
Technical support
Contact Method
Address
Website
www.altera.com/support
Website
www.altera.com/training
Email
[email protected]
Product literature
Website
www.altera.com/literature
Nontechnical support: general
Email
[email protected]
Nontechnical support: software
licensing
Email
[email protected]
Technical training
Related Information
• www.altera.com/support
• www.altera.com/training
• [email protected]
Additional Information
Send Feedback
Altera Corporation
12-4
How to Contact Altera
UG-01131
2014.06.30
• www.altera.com/literature
• [email protected][email protected]
Altera Corporation
Additional Information
Send Feedback

advertisement

Key Features

  • Conforms to VESA DisplayPort spec version 1.2a
  • Scalable main data link
  • 1, 2, or 4 lane operation
  • Embedded controller AUX channel operation
  • Supports audio and video streams
  • Finite state machine (FSM) and embedded controller AUX channel operation

Frequently Answers and Questions

What is the DisplayPort IP Core?
The DisplayPort IP core is a MegaCore function that provides support for next-generation video display interface technology. It is part of the MegaCore IP Library, which is distributed with the Quartus II software and is downloadable from the Altera website.
What is the purpose of the DisplayPort IP Core?
The DisplayPort IP core is designed to interface within a PC or monitor, and for external display connections, including interfaces between a PC and monitor or projector, between a PC and TV, or between a device such as a DVD player and TV display.
What device families are supported by the DisplayPort IP Core?
The DisplayPort IP Core supports Arria V GX, Arria V GZ, Cyclone V, and Stratix V FPGA devices.

Related manuals

Download PDF

advertisement