The Xilinx LogiCORE™ IP SMPTE 2022-5/6
Video over IP Receiver is a module for
broadcast applications that requires bridging
between SMPTE video connectivity standards
bridging between uncompressed SMPTE video
connectivity standards (SD/HD/3G-SDI) and
10Gb/s IP networks. The module is capable of
recovering IP packets lost due to network
transmission errors and ensure the picture
quality of uncompressed, high bandwidth
professional video is maintained. The core is for
developing Internet protocol-based systems to
reduce overall cost in broadcast facilities for
distribution and routing of audio and video
data.
Features
•Handle up to 8 channels of SD/HD/3G-SDI
streams according to SMPTE 2022-6.
Supports SD-SDI, HD-SDI, 3G-SDI Level-A,
3G-SDI Level-B single stream and 3G-SDI
Level-B dual stream.
•Per stream basis Forward Error Correction
(FEC) recovery in accordance to SMPTE
2022-5.
•Supports Level A and Level B FEC
operations.
•Supports block aligned and non-block
aligned FEC operations.
•Supports Virtual Local Area Network
(VLAN) filtering.
LogiCORE IP Facts Table
Core Specifics
Supported
Device
(1)
Family
Supported
User Interfaces
ResourcesSee Ta b le 2 -1 , Table 2-2, and Table 2-3
Zynq®-7000, Virtex®-7, Kintex®-7
AXI4-Lite, AXI4-Stream, AXI4
Provided with Core
Design FilesEncrypted HDL
Example
Design
Test B enc hVeril og an d V HDL
Constraints
File
Simulation
Model
Supported
S/W Driver
Design EntryVivado® Design Suite
Simulation
SynthesisVivado Synthesis
SMPTE 2022-5/6 High Bit Rate Media Transport
Over IP Networks with Forward Error Correction
Encrypted RTL, VHDL Behavioral,
VHDL or Verilog source HDL
Tested Design Flows
For supported simulators, see the Xilinx Design
Tools: Release Notes Guide.
(XAPP1199) [Ref 1]
(2)
XDC
N/A
Support
Provided by Xilinx @ www.xilinx.com/support
Notes:
1. For a complete list of supported devices, see the Vivado IP
catalog.
2. For the supported versions of the tools, see the Xilinx Design
Tools: Release Notes Guide.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com4
PG033 October 1, 2014Product Specification
Page 5
Features (continued)
SendFeedback
•Configurable channel filtering based on any combinations of the following:
IP source address
°
IP destination address
°
User Datagram Protocol (UDP) source port
°
UDP destination port
°
Real-time Transport Protocol (RTP) Synchronization Source (SSRC) identifier
°
VLAN tag value
°
•Seamless switching (SMPTE2022-7)
•RTP timestamp check bypass
•Statistic indicators
Received packet
°
Reordered packet, Duplicated packet count
°
IP Facts
Recovered packet count
°
Valid packet count, Unrecoverable packet count
°
Out of range packet count
°
Packet interval measure
°
Buffer overflow flag
°
Seamless protect flag
°
Link differential measure
°
•Include or remove FEC engine or secondary link during compile time
•AXI4-Stream data interfaces
•AXI4-Lite control interface
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com5
PG033 October 1, 2014Product Specification
Page 6
Overview
#ONTENT
#REATION
!GGREGATION
3$)TO)0
"ROADCAST#ENTER,OCAL3TUDIO
)0
.ETWORK
)0TO3$)
)0TO3$)
3$)TO)0
3$)3$)
)0
)0
)0
)0
)0
3$)3$)
-0%'
%NCODING
3YSTEMS
)0
.ETWORK
9
SendFeedback
As broadcast and communications markets converge, and the use of IP networks for
transport of video streams becomes more attractive to broadcasters and
telecommunication companies alike, the adoption of 10 Gb/s Ethernet for the transmission
of multiple uncompressed Serial Digital Interface (SDI) streams is becoming a major
customer requirement. The industry is primarily looking at the SMPTE 2022 set of standards
to create an open and interoperable way of connecting video over 10GbE equipment
together and ensuring that Quality of Service (QoS) is high and packet loss is kept to a
minimum or recovered through FEC. As shown in Figure 1-1, high bit rate SMPTE 2022-5/6
is aimed at contribution networks (for example, between broadcast center and regional
studio).
X-Ref Target - Figure 1-1
Chapter 1
Figure 1-1:High Bit Rate SMPTE 2022-5/6 between Broadcast Center and Local Studio
The core includes Forward Error Correction (FEC). FEC protects the video stream during
transport of high-quality video over IP networks. With FEC, the transmitter adds
systematically generated redundant data to its video. This carefully designed redundancy
allows the receiver to detect and correct a limited number of packet errors occurring
anywhere in the video without the need to ask the transmitter for additional video data.
These errors, in the form of lost video packets, can be caused by many reasons, from
thermal noise to storage system defects and transmission noise introduced by the
environment. FEC gives the receiver the ability to correct these errors without needing a
reverse channel to request retransmission of data. In real time systems, the latency is too
great to request a retransmission. The ability of Xilinx FPGAs to bridge the broadcast and
the communications industries by performing highly integrated real-time video interfaces
help broadcasters reduce costs as well as reduce the overall time it takes to acquire, edit
and produce content. Now that video can be reliably delivered over 10 Gb/s Ethernet
(10GbE), broadcasters can replace some of the expensive mobile infrastructures supporting
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com6
PG033 October 1, 2014
Page 7
Chapter 1: Overview
SendFeedback
outside live broadcasts, as well as enable remote production from existing fixed studio set
ups, which dramatically reduces both capital expenditure and operating expenses.
Feature Summary
The core maps Ethernet packets into raw SD/HD/3G-SDI video streams and is capable of
recovering IP packets lost to network transmission errors to ensure the highest picture
quality of uncompressed, high bandwidth professional video.
The core support of VLAN comes from being able to operate seamlessly when receiving
VLAN tagged Ethernet packets. You can configure and instantiate the core from the
Vivado® design tools. Core functionality can be controlled dynamically through an
AXI4-Lite interface.
Applications
•Transport uncompressed high bandwidth professional video streams over IP networks
•Support real-time audio/video applications such as contribution, primary distribution,
and digital cinema
Licensing and Ordering Information
License Checkers
If the IP requires a license key, the key must be verified. The Vivado design tools have
several license check points for gating licensed IP through the flow. If the license check
succeeds, the IP can continue generation. Otherwise, generation halts with error. License
checkpoints are enforced by the following Vivado flow:
IMPORTANT: IP license level is ignored at checkpoints. The test confirms a valid license exists. It does
not check IP license level.
If a Hardware Evaluation License is being used, the core will stop transmitting video after
timeout.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com7
PG033 October 1, 2014
Page 8
Chapter 1: Overview
SendFeedback
License Type
This Xilinx LogiCORE™ IP module is provided under the terms of the Xilinx Core License
Agreement. The module is shipped as part of the Vivado Design Suite.
IMPORTANT: For full access to all core functionalities in simulation and in hardware, you must
purchase a license for the core. Contact your local Xilinx sales representative
pricing and availability.
For more information, visit the SMPTE 2022-5/6 Video Over IP product web page.
Information about other Xilinx LogiCORE IP modules is available at the Xilinx Intellectual
Property page. For information on pricing and availability of other Xilinx LogiCORE IP
modules and tools, contact your local Xilinx sales representative
for information about
.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com8
PG033 October 1, 2014
Page 9
Product Specification
SendFeedback
Standards
The core is compliant with the AXI4, AXI4-Stream and AXI4-Lite interconnect standards. See
the Video IP: AXI Feature Adoption section of the AXI Design Reference Guide (UG761) [Ref 2]
for additional information. The function of the core is compliant with SMPTE 2022-5/6
standard.
Maximum Frequencies
The maximum achievable clock frequency can vary. The maximum achievable clock
frequency and all resource counts can be affected by other tool options, additional logic in
the FPGA, using a different version of Xilinx tools and other factors. See the resource
utilization tables for device family specific information.
Chapter 2
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com9
PG033 October 1, 2014
Page 10
Chapter 2: Product Specification
SendFeedback
Resource Utilization
Resources required for the this core have been estimated for the devices shown in
Table 2-1, Ta b le 2 -2, and Table 2-3. These values were generated using the Vivado® Design
Suite.
Table 2-1:Resource Utilization for Zynq-7000 Devices (xc7z045, speed -1)
36k
SDI
CHANNEL
107,6986,5492,7458,4561420
2010,5858,6763,62411,3512130
3013,43410,1044,83614,3292840
4016,30510,7175,50216,5713550
5019,14512,1326,19419,0464260
6022,01613,4297,56421,9724970
7024,87614,4808,78625,0125680
8027,74315,2539,82728,0446390
1112,9009,2383,95912,6495070
2116,39811,5035,23916,0115790
3120,04213,6546,60719,60178120
4123,65614,9137,77022,79885150
5127,28416,9738,82126,194120210
6130,89319,14010,67730,144127210
7134,49120,44710,43432,144134240
FEC
INCLUDEFFsLUTsSlices
LUT FF
Pairs
BLock
RAMs
18k
BLock
RAMsDSP48E1s
8138,10521,56912,15236,419141270
Table 2-2:Resource Utilization for Virtex-7 FPGAs (xc7vx690t, Speed -1)
SDI
CHANNEL
107,6986,5462,5318,3801420
2010,5858,6653,64311,3412130
3013,43410,1034,75614,2582840
4016,30510,7025,63716,7023550
5019,14512,1406,50119,2994260
6022,01613,4187,51621,9754970
FEC
INCLUDEFFsLUTsSlices
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com10
PG033 October 1, 2014
LUT FF
Pairs
36k
BLock
RAMs
18k
BLock
RAMsDSP48E1s
Page 11
Chapter 2: Product Specification
SendFeedback
Table 2-2:Resource Utilization for Virtex-7 FPGAs (xc7vx690t, Speed -1) (Cont’d)
36k
SDI
CHANNEL
7024,87614,4929,01225,1615680
8027,74315,2338,71026,9016390
1112,9009,2484,10912,8265070
2116,39811,5065,36416,0005790
3120,04213,6496,97319,94778120
4123,65614,8928,09323,15985150
5127,28416,97610,83327,784120210
6130,89319,14211,03230,589127210
7134,49120,45113,13734,748134240
8138,10521,57113,31037,788141270
FEC
INCLUDEFFsLUTsSlices
LUT FF
Pairs
BLock
RAMs
18k
BLock
RAMsDSP48E1s
Table 2-3:Resource Utilization for Kintex-7 FPGAs (xc7k325t, speed -1)
SDI
CHANNEL
FEC
INCLUDEFFsLUTsSlices
LUT FF
Pairs
36k
BLock
RAMs
18k
BLock
RAMsDSP48E1s
107,6986,5422,7808,5511420
2010,5858,6753,72511,4792130
3013,43410,1034,76714,2782840
4016,30510,7145,41516,3903550
5019,14512,1336,55619,2214260
6022,01613,4206,95121,4464970
7024,87614,4767,96724,3005680
8027,74315,2499,89028,0816390
1112,9009,2413,95912,6435070
2116,38011,4765,44016,1295790
3120,04213,6396,83019,74078120
4123,65614,9058,02323,09285150
5127,28416,9678,33825,812120210
6130,89319,13411,14530,509127210
7134,49120,44611,44633,424134240
8138,10521,57712,32236,598141270
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com11
The core uses industry-standard control and data interfaces to connect to other system
components. The following sections describe the various interfaces available with the core.
Figure 2-2 shows an I/O Diagram of the core. The SDI_TX interface pins depend on the
number of channels configured through the Vivado Integrated Design Environment (IDE).
Figure 2-2:SMPTE 2022-5/6 Video over IP Receiver Core Interface
Common Interface
Table 2-4 summarizes the signals which are either shared by or are not part of the dedicated
SDI, AXI4-Stream, AXI4, or AXI4-Lite control interfaces.
Table 2-4:Common Interface Signals
Signal NameDirectionWidthDescription
rst27mIn127 Mhz domain reset
clk27mIn127 Mhz clock and is used for timekeeping
sys_rstIn1System domain reset.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com12
PG033 October 1, 2014
Page 13
Chapter 2: Product Specification
SendFeedback
Table 2-4:Common Interface Signals (Cont’d)
Signal NameDirectionWidthDescription
sys_clkIn1System clock
interruptOut1Reserved
soft_resetOut1Core reset generated from specific control register bit
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com13
PG033 October 1, 2014
Page 14
Chapter 2: Product Specification
SendFeedback
AXI4 Memory Master Interface
The core uses an AXI4 interface to connect to the AXI4 interconnect. The AXI4 Interconnect
provides the access to the external memory through the AXI Double Data Rate (DDR)
controller. See the LogiCORE IP AXI Interconnect Product Guide (PG059) [Ref 3] for more
information.
Table 2-5:AXI4 Memory Interface Signals
Signal NameDirectionWidthDescription
m0_axi_awidOut1Write Address Channel Transaction ID
m1_axi_arqosOut4AXI4 Read Address Channel Quality of Service
m1_axi_arvalidOut1Read Address Channel Valid
m1_axi_arreadyIn1Read Address Channel Ready
m1_axi_ridIn1Read Data Channel Transaction ID
m1_axi_rdataIn256Read Data Channel Data
m1_axi_rrespIn2Read Data Channel Response Code
m1_axi_rlastIn1Read Data Channel Last Data Beat
m1_axi_rvalid In1Read Data Channel Valid
m1_axi_rreadyOut1Read Data Channel Ready
AXI4-Stream Slave Interface
See the LogiCORE IP 10-Gigabit Ethernet MAC Product Guide (PG072) [Ref 4] for more
information.
Table 2-6:AXI4-Stream Interface Signals
Signal NameDirectionWidthDescription
pri/sec_eth_rstIn1Active-High reset from core
pri/sec_eth_clkIn1Recovered clock from XGMAC
pri/sec_s_axis_tdata[63:0]In64AXI4-Stream Data from XGMAC
pri/sec_s_axis_tkeep[7:0]In8AXI4-Stream Data Control from XGMAC
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com16
PG033 October 1, 2014
Page 17
Chapter 2: Product Specification
SendFeedback
Table 2-6:AXI4-Stream Interface Signals (Cont’d)
Signal NameDirectionWidthDescription
pri/sec_s_axis_tvalidIn1AXI4-Stream Data Valid from XGMAC
pri/sec_s_axis_tlastIn1
pri/sec_s_axis_tuserIn1
AXI4-Stream signal from XGMAC indicating an end
of packet
AXI4-Stream User Sideband Interface from XGMAC
• 1 indicates that a good packet has been
received.
• 0 indicates that a bad packet has been received.
SMPTE SD/HD/3G-SDI Interface
See the Society of Motion Picture and Television Engineers (SMPTE) SD/HD/3G-SDI Product
Guide (PG071) [Ref 5] for more information.
Table 2-7:SMPTE SD/HD/3G-SDI Interface Signals
(1)
Signal Name
tx[0-7]_rstIn1Reset
tx[0-7]_clkIn1
tx[0-7]_ceOut3To tx[0-7]_ce of SMPTE SD/HD/3G-SDI
tx[0-7]_din_rdyOut1To tx[0-7]_din_rdy of SMPTE SD/HD/3G-SDI
DirectionWidthDescription
Clock input. It must have a frequency of 74.25 MHz or
74.25/1.001 MHz for HD-SDI, 148.5 MHz or 148.5/1.001 MHz
for 3G-SDI, and 148.5 MHz for SD-SDI mode.
tx[0-7]_ds1aOut10To tx[0-7]_ds1a of SMPTE SD/HD/3G-SDI
tx[0-7]_ds1bOut10To tx[0-7]_ds1b of SMPTE SD/HD/3G-SDI
tx[0-7]_ds2aOut10To tx[0-7]_ds2a of SMPTE SD/HD/3G-SDI
tx[0-7]_ds2bOut10To tx[0-7]_ds2b of SMPTE SD/HD/3G-SDI
tx[0-7]_level_b
_3g
tx[0-7]_modeOut1To tx[0-7]_mode of SMPTE SD/HD/3G-SDI
tx[0-7]_mOut1
1. [0-7] is index that represent up to 8 channels support for SDI streams.
Out1To tx[0-7]_level_b_3g of SMPTE SD/HD/3G-SDI
In HD-SDI and 3G-SDI modes, this output indicates which bit
rate is received. If this output is Low, it indicates a bit rate of
1.485 Gb/s in HD-SDI mode and 2.97 Gb/s in 3G-SDI mode. If
this output is High, it indicates a bit rate of 1.485/1.001 Gb/s
in HD-SDI mode and 2.97/1.001 Gb/s in 3G-SDI mode.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com17
PG033 October 1, 2014
Page 18
Chapter 2: Product Specification
SendFeedback
Ethernet Packets Received Interface
See the SMPTE 2022-5/6 reference design for more information.
Table 2-8:Ethernet Packets Received Interface Signals
Signal Name
rx[0-7]_pri/sec_rtp_pkt_recvOut1
rx[0-7]_pri/sec_rtp_seq_numOut16
(1)
DirectionWidthDescription
Pulse indicating receiving of RTP packet from
primary/secondary link. (synchronous to
pri/sec_eth_clk)
Sequence number of RTP packet received from
primary/secondary link. (Synchronous to
pri/sec_eth_clk)
rx[0-7]_rtp_pkt_bufferedOut16
rx[0-7]_rtp_pkt_transmitOut1
rx[0-7]_pkt_lockOut1
rx[0-7]_pri/sec_vid_tsOut32
rx[0-7]_pri/sec_rtp_tsOut32
rx[0-7]_playout_readyOut1
1. [0-7] is index that represent up to 8 channels support for SDI streams.
Amount of RTP packets buffered. (Synchronous to
pri_eth_clk)
Pulse indicating consumption of RTP packet for
SDI output. (Synchronous to pri_eth_clk)
Indication of channel locking to certain payload.
(Synchronous to pri_eth_clk)
Video timestamp of the RTP packet received from
primary/secondary link. (Synchronous to
pri/sec_eth_clk)
RTP timestamp of the RTP packet received from
primary/secondary link. (Synchronous to
pri/sec_eth_clk)
Indication of channel ready for playing out the TS
data. (Synchronous to pri_eth_clk)
AXI4-Lite Control Interface
The AXI4-Lite interface allows you to dynamically control parameters within the core. Core
configuration can be accomplished using an embedded ARM® or soft system processor
such as MicroBlaze™.
The core can be controlled through the AXI4-Lite interface using read and write
transactions to the SMPTE 2022-5/6 Video over IP Receiver register space.
The AXI4-Lite slave interface facilitates integrating the core into a processor system, or
along with other video or AXI4-Lite compliant IP, connected through the AXI4-Lite interface
to an AXI4-Lite master. See the LogiCORE IP AXI Interconnect Product Guide (PG059) [Ref 3]
for more information.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com18
AXI4-Lite Write Response Channel Ready.
Indicates target is ready to receive response.
AXI4-Lite Read Data Channel Read Data Ready.
Indicates target is ready to accept the read data.
AXI4-Lite Read Address Channel Read Address Ready.
Indicates target is ready to accept the read address.
AXI4-Lite Read Response Channel Response.
Indicates results of the read transfer.
AXI4-Lite Write Data Channel Write Data Ready.
Indicates target is ready to accept the write data.
AXI4-Lite Write Response Channel. Indicates results of the
write transfer.
AXI4-Lite Write Response Channel Response Valid.
Indicates response is valid.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com19
PG033 October 1, 2014
Page 20
Register Space
SendFeedback
The SMPTE 2022-5/6 Video over IP Receiver register space is partitioned to General and
Channel specific registers. See the SMPTE 2022-5/6 reference design for more information
on register usage.
Table 2-10:AXI4-Lite Register Map
Chapter 2: Product Specification
Address (Hex)Register NameAccess Type
Default
Value(HEX)
Bit
Range
General
0x0000controlR/W0x00000000Control
31:2Reserved
1Channel Register
0Reserved
0x0004resetR/W0x00000000Reset
31:1Reserved
0 1 – Reset the
Description
Value
Update.
0 – Host processor
actively updating the
channel registers
1 – Updating process
completed
configuration registers
and set soft_reset
signal High
0x000Cchannel_accessR/W0x00000000Channel Access
0x0020sys_cfgRBased on
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com20
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com26
PG033 October 1, 2014
Page 27
Chapter 2: Product Specification
SendFeedback
CONTROL (0x000) Register
Bit 1 of the CONTROL register is a write-done semaphore for the host processor, which
facilitates committing all user register updates in the channel space simultaneously. One set
of registers (the processor registers) is directly accessed by the processor interface, while
the other set (the active set) is actively used by the core. New values written to the
processor registers are copied over to the active set if and only if the register update bit is
set. Setting the bit to 0 before updating multiple registers and then setting the bit to 1
when updates are completed ensures all channel space registers are updated
simultaneously.
RESET (0x004) Register
Bit 0 is software reset. When High, the configuration registers are held at reset state. At the
same time, the soft_reset signal at the core interface is held High.
CHANNEL_ACCESS (0x00C) Register
Set the channel to access. All the primary link and secondary link channels share the same
set of register address in the channel space. To access secondary link channels, set bit 31 to
1. Only 0x084 - 0x0C0 registers are available for secondary link. Bit 7-0 represent the
channel number in standard binary count.
SYS_CFG (0x020) Register
System configuration of the core.
Bit 31 High indicates seamless switching support.
Bit 30 High indicates FEC engine is included.
Bit 7-0 gives the number of channels available to use.
VERSION (0x024) Register
Bit fields of the register facilitate software identification of the exact version of the
hardware peripheral incorporated into a system. The core driver can take advantage of this
read-only value to verify that the software is matched to the correct version of the
hardware.
NETWORK_PATH_DIFFERENTIAL (0x028) Register
Set the maximum delay between primary and secondary link for the core to operate in
seamless switching mode. The value is based on a 27MHz clock tick.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com27
PG033 October 1, 2014
Page 28
Chapter 2: Product Specification
SendFeedback
FEC_BUF_BASE_ADDR (0x034) Register
This sets the base address of the memory allocated in the DDR to store the FEC packets for
recovery.
FEC_BUF_POOL_SIZE (0x038) Register
This register allocates the memory buffer size in the DDR for FEC packets storage. The value
is in terms of bytes.
PRI_RECV_PKT_CNT (0x03C) Register
Primary received packet counter increments when a packet is filtered into the channels in
the primary link. Register 0x054, bit 0 resets it.
SEC_RECV_PKT_CNT (0x040) Register
Secondary received packet counter increments when a packet is filtered into the channels in
the secondary link. Register 0x054, bit 1 resets it.
PRI_ERR_PKT_CNT (0x044) Register
Primary error packet counter increments when a packet is identified as bad frame from the
MAC core in the primary link. Register 0x054, bit 2 resets it.
SEC_ERR_PKT_CNT (0x048) Register
Secondary error packet counter increments when a packet is identified as bad frame from
the MAC core in the secondary link. Register 0x054, bit 3 resets it.
PRI_DISCARD_PKT_CNT (0x04C) Register
Primary discard packet counter increments when a packet is not accepted for any of the
channels in the primary link. Register 0x054, bit 4 resets it.
SEC_DISCARD_PKT_CNT (0x050) Register
Secondary discard packet counter increments when a packet is not accepted for any of the
channels in the secondary link. Register 0x054, bit 5 resets it.
GEN_STAT_RESET (0x054) Register
A High to Bit 5 resets secondary discarded packet counter (register 0x050).
A High to Bit 4 resets primary discarded packet counter (register 0x04C).
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com28
PG033 October 1, 2014
Page 29
Chapter 2: Product Specification
SendFeedback
A High to Bit 3 resets secondary error packet counter (register 0x048).
A High to Bit 2 resets primary error packet counter (register 0x044).
A High to Bit 1 resets secondary received packet counter (register 0x040).
A High to Bit 0 resets primary received packet counter (register 0x03C).
IP_HDR_PARAM (0x084) Register
Read-only status on the IP header fields.
Bit 15-8 is Type of service (TOS).
Bit 7-0 is Time to live (TTL).
MATCH_VLAN (0x088) Register
This parameter is used in filtering the packets for the channel. Configure Bit 15-0 for VLAN
tag matching. Set Bit 31 for valid VLAN tag.
If Bit 31 is High, packets with VLAN tag and matching information is filtered into the
channel.
If Bit 31 is Low, packets without VLAN tag is filtered into the channel.
Table 2-11:Usage of Match VLAN (0x88) with Match Select (0xB4)
Match
Select
(0xB4)
Bit '0'
To Ma tch
VLAN
0
1
Match
VLAN
(0x88)
Bit '31'
VLAN
Filtering
0
1
0Not MatchMatch
1Match if VLAN TAG ID = Bit [15:0] of
Incoming Packet with VLANIncoming Packet without VLAN
Not applicable
Not Match
Match VLAN
MATCH_DEST_IP_ADDR (0x08C) Register
This parameter is used in filtering the packets for the channel. Configure Bit 31-0 for
Destination IP address matching.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com29
PG033 October 1, 2014
Page 30
Chapter 2: Product Specification
SendFeedback
MATCH_SRC_IP_ADDR (0x09C) Register
This parameter is used in filtering the packets for the channel. Configure Bit 31-0 for Source
IP address matching.
MATCH_SRC_PORT (0x0AC) Register
This parameter is used in filtering the packets for the channel. Configure Bit 15-0 for UDP
Source Port matching.
MATCH_DEST_PORT (0x0B0) Register
This parameter is used in filtering the packets for the channel. Configure Bit 15-0 for UDP
Destination Port matching.
MATCH_SEL (0x0B4) Register
This register sets the parameters to match the incoming packet and filter it to the channel.
•Bit 5 matches the SSRC field in the RTP header of the packet to the configured register
0x110.
•Bit 4 matches the Destination Port field in the UDP header of the packet to the
configured register 0x0B0.
•Bit 3 matches the Source Port field in the UDP header of the packet to the configured
register 0x0AC.
•Bit 2 matches the Destination address field in the IP header of the packet to the
configured register 0x08C.
•Bit 1 matches the Source address field in the IP header of the packet to the configured
register 0x09C.
•Bit 0 matches the IEEE 802.1Q tag in the Ethernet frame to the configured register
0x088.
Note that each link media packet can only be filtered into 1 particular channel.
LINK_REORDERED_PKT_CNT (0x0B8) Register
This counter tracks the number of incoming media packets that are reordered in the link
channel (primary or secondary). A packet is considered reorder when its sequence number
is less than the previous packet. Register 0x0BC, bit 0 resets the counter.
LINK_STAT_RESET (0x0BC) Register
•A High to Bit 1 resets link valid media packet counter (register 0x0C0).
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com30
PG033 October 1, 2014
Page 31
Chapter 2: Product Specification
SendFeedback
•A High to Bit 0 resets link reordered packet counter (register 0x0B8).
LINK_VALID_MEDIA_PKT_CNT (0x0C0) Register
This counter tracks the number of incoming media packets that match to the channel in the
link (primary or secondary). Register 0x0BC, bit 1 resets the counter.
CHANNEL_ENABLE (0x100) Register
•Set Bit 0 to enable the channel operation.
•Set Bit 1 to bypass media packet RTP timestamp check for the channel. Out-of-range
counter is not active. Out-of-range packets are not discarded.
CHAN_STAT_RESET (0x10C) Register
•A High to Bit 5 resets out-of-range counter (register 0x160).
•A High to Bit 4 resets unrecoverable packet counter (register 0x158).
•A High to Bit 3 resets media buffer overflow (register 0x154).
•A High to Bit 2 resets duplicated packet counter (register 0x13C).
•A High to Bit 1 resets recovered packet counter (register 0x138).
•A High to Bit 0 resets channel valid media packet counter (register 0x134).
MATCH_SSRC (0x110) Register
This parameter is used in filtering the packets for the channel. Configure Bit 31-0 for RTP
Synchronization Source identifier matching.
SDI_PKT_STATUS (0x114) Register
Read only status on the media packet size detected by the channel.
Bit 0 is High after detection of 32 consecutive media packets with the same video source
format for the channel. Register 0x118 shows the video source format of the SDI video.
Change of video source format thereafter will reset this bit and restart the whole process of
detection.
Bit 1 High indicates the received amount of packets per frame based on the locked video
source format is incorrect. The channel needs to be reset to ensure proper operation.
VID_SRC_FMT (0x118) Register
•Bit 31-28 refers to MAP parameter in SMPTE 2022-6 specification
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com31
PG033 October 1, 2014
Page 32
Chapter 2: Product Specification
SendFeedback
•Bit 27-20 refers to FRAME parameter in SMPTE 2022-6 specification
•Bit 19-12 refers to FRATE parameter in SMPTE 2022-6 specification
•Bit 11-8 refers to SAMPLE parameter in SMPTE 2022-6 specification
PLAYOUT_DELAY (0x11C) Register
Sets the wait time before the buffered SDI data is ready for play out after packet size lock
(register 0x120, bit 0) and marker bit packet detected. The value is based on 27MHz clock
tick.
FEC_PARAM (0x124) Register
Read-only status on the FEC parameters detected by the channel.
Bit 20 is High upon first detection of FEC packet for the channel. Detection will not start
before register 0x120, bit 0 is High.
When Bit 20 is High:
•Bit 9-0 shows the L value of FEC matrix.
•Bit 19-10 shows the D value of FEC matrix.
•Bit 21 shows the FEC protection level. Bit 21 is Low for Level A stream and High for
Level B.
SEAMLESS_PROTECT (0x128) Register
Bit 30-0 samples the RTP timestamp difference between incoming packets from the primary
and secondary links of a channel.
Bit 31 indicates whether the channel is under seamless protection. The channel is
considered protected when the RTP timestamps of the media packets from both primary
and secondary links fall within the range defined by NETWORK_PATH_DIFFERRENTIAL and
PLAYOUT_DELAY.
MEDIA_PKT_BASE_ADDR (0x12C) Register
This register sets the base address of the memory buffer allocated in the DDR to store the
media packets for FEC recovery and play out.
MEDIA_PKT_BUF_SIZE (0x130) Register
This register sets the maximum number of media packets to be stored in the DDR for the
channel. It has a limitation of 16 bits (Bit 15-0) and has to be in written in the value of
(2^n-1).
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com32
PG033 October 1, 2014
Page 33
Chapter 2: Product Specification
SendFeedback
CHAN_VALID_MEDIA_PKT_CNT (0x134) Register
This counter increases when a media packet gets written into the memory buffer. It is per
channel and register 0x10C, bit 0 resets it.
REC_PKT_CNT (0x138) Register
Recovered packet counter increases when a media packet is being recovered by the FEC
engine. This counter is per channel and register 0x10C, bit 1 resets it.
DUP_PKT_CNT (0x13C) Register
Duplicated packet counter increases when the combined primary and secondary link of the
channel has received a media packet with a sequence number that is already in the memory
buffer. This incoming packet is discarded and not processed further. The counter is per
channel and register 0x10C, bit 2 resets it.
PKT_INTERVAL (0x144) Register
The difference in RTP timestamps between 2 consecutive sequence numbers from the
media packets stream. The value is in terms of 27MHz clock tick.
MEDIA_BUF_OV (0x154) Register
Bit 0 of this register flags High when incoming packets fill up the memory buffer faster than
the outgoing packets can clear. This status is per channel and register 0x10C, bit 3 resets it.
UNREC_PKT_CNT (0x158) Register
Unrecoverable packet counter increases when the outgoing packet is not available. There is
no previous incoming packet or the FEC engine is not able to recover the missing packet
from the matrix. This counter is per channel and register 0x10C, bit 4 resets it.
OOR_PKT_CNT (0x160) Register
Out-of-range packet counter increases when the difference between the incoming and
outgoing packets' RTP timestamp is greater than the value of
(NETWORK_PATH_DIFFERRENTIAL + PLAYOUT_DELAY). The incoming packet is discarded
and not processed further. This counter is per channel and register 0x10C, bit 5 resets it.
Note that massive out-of-range packets may cause the core to stop working.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com33
PG033 October 1, 2014
Page 34
Designing with the Core
3-04%6IDEOOVER)02ECEIVER
!8))NTERCONNECT
-?!8)
-?!8)
-?!8)
!8)$$2CONTROLLER
48?3$)
48N?3$)
4EN'IGABIT
%THERNET-!#
0RIMARYAND
3ECONDARY
%4(?!8)3
!8),ITE
-ICRO"LAZE
!8),)4%
8
4RIPLE2ATE3$)
SendFeedback
The core is for broadcast applications that require bridging between SMPTE video
connectivity standards SD/HD/3G-SDI and 10Gb/s Ethernet. The core takes in Ethernet
packets encapsulated in accordance with SMPTE 2022-5/6 and maps them in uncompressed
SD/HD/3G-SDI streams to the SMPTE SD/HD/3G-SDI core. It receives Ethernet packets
through the AXI4-Stream interface from the 10 Gb/s Ethernet MAC. The core uses the AXI4
memory interface to transfer data between the core and external DDR memory. The register
control interface is compliant with AXI4-Lite interface. See SMPTE 2022-5/6 High Bit Rate Media Transport Over IP Networks with Forward Error Correction (XAPP1199) [Ref 1] for
more information.
X-Ref Target - Figure 3-1
Chapter 3
Figure 3-1:SMPTE 2022-5/6 Video over IP Receiver System Built with Other Xilinx IP Cores
1. Primary and Secondary ETH_AXIS exist only when seamless switching enabled.
Note: There is an option to include Forward Error Correction engine in the SMPTE 2022-5/6 Video
over IP Receiver core. Adding this enables the receiver to recover IP packets lost to the network
transmission errors and hence ensure the quality of the uncompressed video. However, it will
increase the resource count in the FPGA as well as the usage of external memory. Enabling seamless
switching adds a redundancy protection link for packets lost to network transmission errors, which
also increases device resource count. Reset individual channel can be achieved by setting Bit 0 Low
in chan_en register (register offset 0x100). To reset the core, all active individual channels must be
reset and following by setting Bit 0 Low in reset register (register offset 0x004).
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com34
PG033 October 1, 2014
Page 35
Chapter 3: Designing with the Core
SendFeedback
Clocking
The core has six clock domains:
•27MHz clock domain
•SDI video clock domain
•System clock domain recommended running at 200 MHz
•Primary Ethernet clock domain at 156.25 MHz
•Secondary Ethernet clock domain at 156.25 MHz
•AXI4-Lite clock domain recommended at 100 MHz
Resets
The SMPTE 2022-5/6 Video over IP Receiver core has five (or six when Seamless Switching
enabled) main resets:
•Primary Ethernet link reset, pri_eth_rst
•Secondary Ethernet link reset, sec_eth_rst
•System domain reset, sys_rst
•27Mhz domain reset, rst27m
•SDI domain reset, tx<port_num>_rst
•AXI4-Lite domain reset, s_axi_aresetn
Reset Requirements
•The resets must be synchronous to their individual clock domains.
•A minimum of 16 clocks assertion is recommended.
•The ordering of reset de-assertion is not important except the pri_eth_rst and
sec_eth_rst have to be the last.
Refer to SMPTE 2022-5/6 High Bit Rate Media Transport Over IP Networks with Forward Error Correction (XAPP1199) [Ref 1].
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com35
PG033 October 1, 2014
Page 36
Chapter 3: Designing with the Core
SendFeedback
Memory Requirement and Register Configurations
Base Address, Packet Buffer and Playout Delay Registers
Configurations
Follow the computation below to get the configuration values to obtain the Media Packet
Buffer Size and play out delay (in bold). These configuration values must be set before
enabling the channel.
*notes, all computation below are per-channel basis.
SMPTE 2022-567 Computation is based with this SDI rate:
Table 3-1:SDI Rate
SDI FormatMaximum SDI Bitrate (Mbps)
SD270
HD1485
3G2970
*SMPTE 2022-567 Payload Size: 1376 Bytes
Then compute for packet buffered for packet delay;
Then compute for packet buffered for packet delay;
* is set when Seamless Switching is being used.
Then compute packets buffered for FEC correction;
Packet margin is set to 64 as to give some time for FEC recovery process.
The summed packet buffered is computed as;
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com36
PG033 October 1, 2014
Page 37
Chapter 3: Designing with the Core
SendFeedback
1. To calculate Media Packet Buffer Size,
*the maximum Media Packet Buffer Size is 65535 (0xFFFF)
2. To calculate the play out delay based on the obtained information.
To convert Playout Delay to 27 MHz clock ticks,
Follow the computation below to determine the FEC Base Address in the general space
and RTP Base Address per channel in the channel space (in bold).
Table 3-2:Look up Table for Size allocated Per Packet in the DDR
SMPTE 2022-5/6 PacketMedia/FEC
Size allocated per Packet (Bytes)1472
Based on look up table (Table 3-2) for size allocated per packet, compute size that allocated
in the DDR for each channel (RTP).
3. Media Buffer Base Address for each channel can be set consecutively by,
4. FEC Buffer Base Address can be set after the media buffer allocation by,
Finally set FEC Buffer Pool Size (in bold) by computing:
For each channel,
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com37
PG033 October 1, 2014
Page 38
Chapter 3: Designing with the Core
SendFeedback
5. Summing the each pool size,
AXI Memory Map Bandwidth Requirements
The memory bandwidth is calculated based on maximum input of 10Gbps per link to the
SMPTE 2022-5/6 RX including RTP and FEC packet regardless of Channel Number and SDI
Format.
The values on the table are based on worst case per port scenario.
Table 3-3:Receiver AXI-MM Port Bandwidth Consumption
PortMaximumBandwidth (Gbps)
M0_AXIMM WR21.5
M0_AXIMM RD10.5
M1_AXIMM WR2.5
M1_AXIMM RD10.5
Receiver Output Data Behavior
Figure 3-2 illustrates the receiver output data behavior.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com38
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com39
PG033 October 1, 2014
Page 40
Design Flow Steps
SendFeedback
This chapter describes customizing and generating the core, constraining the core, and the
simulation, synthesis and implementation steps that are specific to this IP core. More
detailed information about the standard Vivado® design flows in the IP Integrator can be
found in the following Vivado Design Suite user guides:
•Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994)
[Ref 11]
•Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 6]
•Vivado Design Suite User Guide: Getting Started (UG910) [Ref 8]
•Vivado Design Suite User Guide: Logic Simulation (UG900) [Ref 7]
Chapter 4
Customizing and Generating the Core
The core is configured to meet the developer's specific needs before instantiation through
the Vivado IDE. This section provides a quick reference to parameters that can be
configured at generation time.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com40
PG033 October 1, 2014
Page 41
X-Ref Target - Figure 4-1
SendFeedback
Chapter 4: Design Flow Steps
Figure 4-1:Vivado IDE
The Vivado IDE displays a representation of the IP symbol on the left side, and the
parameter assignments on the right side, which are described as follows:
•Component Name: The component name is used as the base name of output files
generated for the module. Names must begin with a letter and must be composed
from characters: a to z, 0 to 9 and "_". The name v_smpte2022_56_rx cannot be used as
a component name.
•Number of SDI Channels: Specifies the number of SDI channels.
•Include Forward Error Correction engine: When checked, SMPTE 2022-5 Forward
Error Correction engine is generated in the core. The core is capable of recovering IP
packets lost to network transmission errors.
•Enable Seamless Switching: When checked, the core is generated with Secondary
AXIS Ethernet Link to support seamless operation.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com41
PG033 October 1, 2014
Page 42
Chapter 4: Design Flow Steps
SendFeedback
User Parameters
Table 4-1 shows the relationship between the GUI fields in the Vivado IDE and the User
Parameters (which can be viewed in the Tcl console).
Table 4-1:GUI Parameter to User Parameter Relationship
GUI Parameter/Value
Number of SDI channelsC_CHANNELS1
include Forward Error Correction
Engine
Enable Seamless SwitchingC_INCLUDE_HITLESSFALSE
1. Parameter values are listed in the table where the GUI parameter value differs from the user parameter value. Such
values are shown in this table as indented below the associated parameter.
(1)
User Parameter/Value
C_INCLUDE_FECFALSE
(1)
Default Value
Output Generation
For details, see “Generating IP Output Products” in the Vivado Design Suite User Guide:
Designing with IP (UG896) [Ref 6].
Constraining the Core
Required Constraints
Constraints required for the core are clock frequency constraints for the clock domains
described in Clocking in Chapter 3, Designing with the Core. Paths between the clock
domains are constrained with a max_delay constraint and use the datapathonly flag,
causing setup and hold checks to be ignored for signals that cross clock domains. These
constraints are provided in the XDC constraints file included with the core.
Device, Package, and Speed Grade Selections
There are no device, package or speed grade requirements for this core. This core has not
been characterized for use in low-power devices.
Clock Frequencies
See Maximum Frequencies in Chapter 2.
Clock Management
See Clocking in Chapter 3.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com42
PG033 October 1, 2014
Page 43
Chapter 4: Design Flow Steps
SendFeedback
Clock Placement
There are no specific clock placement requirements for this core.
Banking
There are no specific Banking rules for this core.
Transceiver Placement
There are no transceiver placement requirements for this core.
I/O Standard and Placement
There are no specific I/O standards and placement requirements for this core.
Simulation
For comprehensive information about Vivado simulation components, as well as
information about using supported third-party tools, see the Vivado Design Suite User Guide: Logic Simulation (UG900) [Ref 7].
Synthesis and Implementation
For details about synthesis and implementation, see the Vivado Design Suite User Guide:
Designing with IP (UG896) [Ref 6].
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com43
PG033 October 1, 2014
Page 44
Test Bench
SendFeedback
This chapter contains information about the provided test bench in the Vivado® Design
Suite.
Demonstration Test Bench
When the core is generated using the Vivado IP catalog, a demonstration test bench is
optionally created. This is a simple SV test bench that exercises the core. The demonstration
test bench source code created from mixed verilog/vhdl and systemverilog files under
demo_tb/ directory in the Vivado Design Suite output directory. The testbench top file
namely as tb_<component_name>.sv
Chapter 5
Using the Demonstration Test Bench
The demonstration test bench instantiates the generated SMPTE2022-56-RX core. Either
the behavioral model or the netlist can be simulated within the demonstration test bench.
Run demonstration test bench using the following steps:
1. Generate the core using IP catalog and set it as the top level.
2. Go to Simulation Setting and append prefix “tb_” at the component name stated in the
Simulation top module name field. Then click ok.
3. Click Run Simulation to start the behavioral simulation.
The test bench generates data for the 3G-A mode by default and simulation will stop once
the data stream checker detected output from SMPTE2022-56-RX receiver side. Any
mismatch data happen will get displayed by the SDI stream data checker module on the
Vivado
®
IDE console.
Demonstration Test Bench Architecture
Figure 5-1 shows the test bench architecture.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com44
PG033 October 1, 2014
Page 45
X-Ref Target - Figure 5-1
SendFeedback
Chapter 5: Test B ench
Figure 5-1:Test Bench Architecture
The test bench for the SMPTE cores (TX and RX) consists of the major test bench
components listed in Table 5-1:
Table 5-1:Test Bench Components and Descriptions
Test Bench ComponentsDescription
SDI Video GeneratorProvides the video inputs to the SMPTE TX Core based on the SDI format
selection (3G/HD/SD) configured by the user via SDI Video Generator
Configuration Module setup.
Dummy DDRActs a s d ummy external s to rage that used b y t he cores and netwo rk em ulator
during the pkt transaction.
XGMAC BridgeActs as a dummy 10G Ethernet MAC Bridge
SDI Stream Data Checker Compares the raw data output received by the SMPTE RX core with the
originally output data from SDI Video Generator.
Assert error if there is any data mismatched.
Also detects SOF on the input and output streams to signal successful data
transmission and reception by the TX and RX core respectively.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com45
PG033 October 1, 2014
Page 46
Chapter 5: Test B ench
SendFeedback
Table 5-1:Test Bench Components and Descriptions (Cont’d)
Test Bench ComponentsDescription
Configuration ModulesCan be used to configure the TX, RX, SDI generator and network emulator.
Consists of following sub-components: API layer, Driver Layer, HAL layer, AXI4
Lite Master and Slave Decode Logic.
SMPTE TXSimulation model which is an encrypted version of the VOIP Transceiver core
in a loopback mode in the test bench. You cannot view the encrypted model.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com46
PG033 October 1, 2014
Page 47
Verification, Compliance, and
SendFeedback
Interoperability
The SMPTE 2022-5/6 Video over IP Receiver core has been validated using the Xilinx
Kintex®-7 FPGA Connectivity Kit. See SMPTE 2022-5/6 High Bit Rate Media Transport Over IP Networks with Forward Error Corrections (XAPP1199) [Ref 1] for more information.
Appendix A
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com47
PG033 October 1, 2014
Page 48
Migrating and Upgrading
SendFeedback
This appendix contains information about migrating a design from ISE® to the Vivado®
Design Suite, and for upgrading to a more recent version of the IP core. For customers
upgrading in the Vivado Design Suite, important details (where applicable) about any port
changes and other impact to user logic are included.
Migrating to the Vivado Design Suite
The SMPTE 2022 5/6 Receiver core version v3.0 has been updated to comply with the latest
SMPTE 2022 5/6 Standards Specification. Migration from the older ISE version (v2.1) is
supported and appropriate warning messages will be displayed during migration process.
For information about migrating to the Vivado Design Suite, see the ISE to Vivado Design
Suite Migration Guide (UG911) [Ref 9].
Appendix B
Upgrading in the Vivado Design Suite
SMPTE 2022-5/6 Video Over IP Receiver version 4.0 had the following changes
implemented, and may not be compatible with previous versions cores (v2.0, v2.1 and v3.0).
Parameter Changes
Table B-1 shows the details of changes involved.
Table B-1:Parameter Changes
Version
v2.0/1 and v3.0v4.0
Component NameComponent
Name
Number of SDI
channels
Number of SDI
channels
Unchanged
Unchanged
Note
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com48
PG033 October 1, 2014
Page 49
Table B-1:Parameter Changes (Cont’d)
SendFeedback
Appendix B: Migrating and Upgrading
Version
Note
v2.0/1 and v3.0v4.0
Include FEC Engine Include FEC
Engine
Enable Seamless
Switching
Unchanged
New to version v4.0. Refer Customizing and Generating the
Core for description.
Port Changes
There are ports changes between older core versions (v2.0/2.1 and v3.0) compare to v4.0.
Table B-2 shows the details of changes involved.
Table B-2:Port Changes
Version
v2.0/1 and v3.0v4.0
rst27mNewly added
clk27mNewly added
eth_rstpri_eth_rstRenamed
eth_clkpri_eth_clkRenamed
Note
sec_eth_rstNewly added for seamless switching purpose
sec_eth_clkNewly added for seamless switching purpose
s_axis_aresetnRemoved
s_axis_tdatapri_s_axis_tdataRenamed
s_axis_tkeeppri_s_axis_tkeepRenamed
s_axis_tvalidpri_s_axis_tvalidRenamed
s_axis_tuserpri_s_axis_tuserRenamed
s_axis_tlastpri_s_axis_tlastRenamed
sec_s_axis_tdataNewly added for seamless switching purpose
sec_s_axis_tkeepNewly added for seamless switching purpose
sec_s_axis_tvalidNewly added for seamless switching purpose
sec_s_axis_tuserNewly added for seamless switching purpose
sec_s_axis_tlastNewly added for seamless switching purpose
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com49
PG033 October 1, 2014
Page 50
Appendix B: Migrating and Upgrading
SendFeedback
Functionality Changes
Added Seamless Switching support, which can be enabled thru XGUI option. Refer to
Customizing and Generating the Core in Chapter 4 for more information.
Instructions for Minimum Change Migration
SMPTE 2022-5/6 RX Migration from v3.0 to v4.0
Port Changes
In SMPTE 2022-5/6 RX v4.0, a new feature was added which supports SMPTE 2022-7, where
the receiver core receives two identical/seamless AXI-Streams (Primary and Secondary) with
different header as configured by the user. The port changes related to the new feature are
shown in Table B-3.
The secondary AXI-Stream Slave Interface and Ethernet Packets Received Interface signal is
visible only when Seamless Switching feature is enabled in the core setting. By disabling the
Seamless Switching, only primary AXI-Stream is visible and is similar to SMPTE 2022-5/6 RX
v3.0 core which uses single Ethernet Link.
*prefix pri_ is for Primary and sec_ for Secondary
*prefix N is indicating channel number
Table B-3:Port Changes as supporting SMPTE2022-7 Feature
For minimum change migration, disable the Seamless Switching Feature and remap the
renamed ports accordingly by referring to Table B-2. Refer Port Descriptions in Chapter 2
for more details on ports added in v4.0.
Register Setting
New registers to take note of which were added to support new functionality and features
as shown in below table Table B-4.
These are crucial registers that need to take note during migration.
Table B-4:Added Register in Register Map
Address
Offset
0x028General[31:0]network_path_differentialSetting for maximum accepted delay
0x034General[31:0]fec_buf_base_addrDDR base address to store FEC packets
0x038General[31:0]fec_buf_pool_sizeNo. of Bytes of memory space to cater
0x11CChannel[31:0]playout_delaySet time to SDI playout upon incoming
0x12CChannel[31:0]media_buf_base_addrStarting base address in the DDR to
0x130Channel[15:0]media_pkt_buf_sizeMaximum number of packets that can
1. Primary and Secondary registers are configured separately.
General/
Channel
BitName
Register Name
Register Description
between 2 streams based on 27MHz
clock tick
for FEC buffer
stream packet size lock. Value based on
27MHz clock ticks
store packets for each channels [make
sure doesn’t overlap]
hold in the DDR for each channel
When configuring these new added register, refer to Memory Requirement and Register
Configurations in Chapter 3.
For minimum change migration, disable the Seamless Switching and set the primary
registers accordingly. Refer to Core Debug in Appendix C for register settings information.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com51
PG033 October 1, 2014
Page 52
Debugging
SendFeedback
This appendix includes details about resources available on the Xilinx Support website and
debugging tools.
TIP: If the IP generation halts with an error, there might be a license issue. See License Checkers in
Chapter 1 for more details.
Finding Help on Xilinx.com
To help in the design and debug process when using the core, the Xilinx Support web page
(www.xilinx.com/support) contains key resources such as product documentation, release
notes, answer records, information about known issues, and links for obtaining further
product support.
Appendix C
Documentation
This product guide is the main document associated with the core. This guide, along with
documentation related to all products that aid in the design process, can be found on the
Xilinx Support web page (www.xilinx.com/support
Navigator.
Download the Xilinx Documentation Navigator from the Design Tools tab on the Downloads
page (www.xilinx.com/download
available, open the online help after installation.
). For more information about this tool and the features
) or by using the Xilinx Documentation
Answer Records
Answer Records include information about commonly encountered problems, helpful
information on how to resolve these problems, and any known issues with a Xilinx product.
Answer Records are created and maintained daily ensuring that users have access to the
most accurate information available.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com52
PG033 October 1, 2014
Page 53
Appendix C: Debugging
SendFeedback
Answer Records can be located by using the Search Support box on the main Xilinx support
web page. To maximize your search results, use proper keywords such as
•Product name
•Tool message(s)
•Summary of the issue encountered
A filter search is available after results are returned to further target the results.
Master Answer Recordfor the SMPTE 2022-5/6 RX Core
AR 54534
.
Contacting Technical Support
Xilinx provides technical support at www.xilinx.com/support for this LogiCORE™ IP product
when used as described in the product documentation. Xilinx cannot guarantee timing,
functionality, or support of product if implemented in devices that are not defined in the
documentation, if customized beyond that allowed in the product documentation, or if
changes are made to any section of the design labeled DO NOT MODIFY.
To contact Xilinx Technical Support:
1. Navigate to www.xilinx.com/support
2. Open a WebCase by selecting the WebCase
When opening a WebCase, include:
•Target FPGA including package and speed grade.
•All applicable Xilinx Design Tools and simulator software versions.
•Additional files based on the specific issue might also be required. See the relevant
sections in this debug guide for guidelines about which files to include with the
WebCase.
.
link located under Additional Resources.
Note:
specific support options.
Access to WebCase is not available in all cases. Please login to the WebCase tool to see your
Vivado Lab Tools
Vivado® lab tools inserts logic analyzer and virtual I/O cores directly into your design.
Vivado lab tools allows you to set trigger conditions to capture application and integrated
block port signals in hardware. Captured signals can then be analyzed. This feature
represents the functionality in the Vivado IDE that is used for logic debugging and
validation of a design running in Xilinx FPGA devices in hardware.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com53
PG033 October 1, 2014
Page 54
Appendix C: Debugging
SendFeedback
The Vivado lab tools logic analyzer is used to interact with the logic debug LogiCORE IP
cores, including:
•ILA 2.0 (and later versions)
•VIO 2.0 (and later versions)
See Vivado Design Suite User Guide: Programming and Debugging (UG908) [Ref 10].
Interface Debug
AXI4-Lite Interfaces
Read from a register that does not have all 0s as a default to verify that the interface is
functional. Output s_axi_arready asserts when the read address is valid, and output
s_axi_rvalid asserts when the read data/response is valid. If the interface is
unresponsive, ensure that the following conditions are met:
•The s_axi_aclk and aclk inputs are connected and toggling.
•The interface is not being held in reset, and s_axi_areset is an active-Low reset.
•The interface is enabled, and s_axi_aclken is active-High (if used).
•The main core clocks are toggling and that the enables are also asserted.
•If the simulation has been run, verify in simulation and/or a Vivado Lab Tools capture
that the waveform is correct for accessing the AXI4-Lite interface.
AXI4-Stream Interfaces
If data is not being transmitted or received, check the following conditions:
•If transmit <interface_na me>_tready is stuck Low following the
<interface_name >_tvalid input being asserted, the core cannot send data.
•If the receive <interface_name>_tvalid is stuck Low, the core is not receiving
data.
•Check that the aclk inputs are connected and toggling.
•Check that the AXI4-Stream waveforms are being followed.
•Check core configuration.
•Add appropriate core specific checks.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com54
PG033 October 1, 2014
Page 55
Appendix C: Debugging
SendFeedback
Core Debug
Crucial Register Settings
1. Ensure bits [31:0] of network_path_differential (0x028) and bits [31:0]
playout_delay (0x11C) registers are set accordingly.
2. Ensure media_pkt_buf_size (0x130) is enough based on media buffer size formula
showed in Memory Requirement and Register Configurations in Chapter 3.
3. Ensure the fec_buf_base_addr (0x034) register and media_buf_base_addr
(0x12C) register are set accordingly and not overlapping.
4. Ensure the match_sel (0x0B4) register is set properly to match the Ethernet Header
(SSRC, IP Source, IP Destination, UDP Source, UDP Destination and VLAN TAG ID) which
is set in the core and indicates which channel it belongs.
Debug Operation
1. If pri_recv_pkt_cnt (0x03C) register and sec_recv_pkt_cnt (0x040) register is
incrementing, it indicates the core is receiving packets.
2. If pri_discard_pkt_cnt (0x04C) register and sec_discard_pkt_cnt (0x050)
register is incrementing, it indicates the incoming packets is dropped due it doesn't
match with the settings of match_sel (0x0B4) register.
3. Ensure the bit [0] packet lock of sdi_pkt_status (0x114) register is high which
indicates the core has locked to a packet.
4. If link_valid_media_pkt_cnt (0x0C0) register and
chan_valid_media_pkt_cnt (0x134) register is incrementing, it indicate valid
packet is coming into the core.
5. If oor_pkts_cnt (0x160) register is incrementing, it indicates dropped packet due the
incoming packet timestamp falls outside the window as set by bits [31:9] of
network_path_differential (0x028) and bits [31:9] of playout_delay (0x11C)
registers.
6. Ensure that the curr_pkts_buffered (0x140) is not greater than the
media_pkt_buf_size (0x130) register.
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com55
PG033 October 1, 2014
Page 56
Appendix D
SendFeedback
Additional Resources and Legal Notices
Xilinx Resources
For support resources such as Answers, Documentation, Downloads, and Forums, see Xilinx
Support.
For a glossary of technical terms used in Xilinx documentation, see the Xilinx Glossary
.
References
These documents provide supplemental material useful with this product guide.
1. SMPTE 2022-5/6 High Bit Rate Media Transport Over IP Networks with Forward Error Correction (XAPP1199
2. AXI Design Reference Guide (UG761)
3. LogiCORE IP AXI Interconnect Product Guide (PG059
4. LogiCORE IP 10-Gigabit Ethernet MAC Product Guide (PG072
5. Society of Motion Picture and Television Engineers (SMPTE) SD/HD/3G-SDI 2.0 Product Guide (PG071
6. Vivado Design Suite User Guide: Designing with IP (UG896
7. Vivado Design Suite User Guide - Logic Simulation (UG900
8. Vivado Design Suite User Guide: Getting Started (UG910
)
)
)
)
)
)
)
9. ISE to Vivado Design Suite Migration Guide (UG911
10. Vivado Design Suite User Guide: Programming and Debugging (UG908
11. Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com56
PG033 October 1, 2014
)
)
)
Page 57
Appendix D: Additional Resources and Legal Notices
SendFeedback
Revision History
The following table shows the revision history for this document.
DateVersionRevision
10/01/20144.0
10/02/20133.0
03/20/20133.0
12/18/20122.1
• Revision number advanced to 4.0 with design architecture improvement.
• Updated the demonstration test bench.
• Updated GUI screens.
• Updated tables in Chapter 2, Product Specification.
• Updated memory requirements for the core.
• Updated migrating and upgrading section.
• Added XDC and module level constraints to core.
• Added demonstration test bench.
• Changed all signals to lowercase.
• Revision number advanced to 3.0 to align with core version number
• Updated to core version 3.0 and Vivado Design Suite.
• Removed all material related to Virtex-6 devices, ISE Design Suite, CORE
Generator™ tools, and UCF.
• Updated GUIs.
• Updated Table 2-8 and 2-10.
• Updated to core version 2.1.
• Updated to ISE® design tools 14.4 and Vivado® Design Suite 2012.4.
• Updated Debug appendix.
• Updated design to support the latest SMPTE 2022-5/6 draft change.
• Removed MAC_LOW _ADDR, MAC_HIGH _ADDR, and IP_HOST_ADDR
registers.
• Updated screen captures in Chapter 4 and Chapter 6.
10/16/20122.0.1
07/25/20122.0
04/24/20121.0
Please Read: Important Legal Notices
The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the
maximum extent permitted by applicable law: (1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS
ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether
in contract or tort, including negligence, or under any other theory of liability) for any loss o r damage of a ny kind or nature related
to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special,
incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a
result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised
of the possibility of the same. Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of
updates to the Materials or to product specif ications. You may not reproduce, modify, distribute, or publicly display the Materials
without prior written consent. Certain products are subject to the terms and conditions of Xilinx's limited warranty, please refer to
LogiCORE IP SMPTE 2022-5/6 RX v4.0www.xilinx.com57
PG033 October 1, 2014
Updated with memory requirements for the core.
Updated to core version 2.0. Added Vivado Design Suite material and support
for Virtex-7 device.
Initial Xilinx release.
Page 58
Appendix D: Additional Resources and Legal Notices
SendFeedback
Xilinx's Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support
terms contained in a license issued to you by Xilinx. Xilinx products are not designed or intended to be fail-safe or for use in any
application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications,
please refer to Xilinx's Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos