Академический Документы
Профессиональный Документы
Культура Документы
Chapter 1: Overview
Feature Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Recommended Design Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Licensing and Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Appendix C: Debugging
Finding Help on Xilinx.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Vivado Design Suite Debug Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Hardware Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
AXI4-Lite Interface Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Overview
CPRI™ is a standard for communication between a Radio Equipment Controller (REC) or
Base Station and one or more Radio Equipment (RE) units in a cellular network. By defining
a publicly available specification for the key internal interface between these units, an
independent technology evolution is fostered for cellular equipment products. Figure 1-1
shows the position of the interface within a cellular system. The CPRI v8.7 core has been
designed to the CPRI Specification v7.0 [Ref 1].
X-Ref Target - Figure 1-1
2ADIO 2ADIO
%QUIPMENT %QUIPMENT 2ADIO
#ONTROLLER 2% %QUIPMENT
2%# 2%
#02) #02) #02) #02)
-ASTER 3LAVE -ASTER 3LAVE
"ACKPLANE #ABLE OR &IBER
Feature Summary
• Designed to CPRI Specification v7.0 [Ref 1]
• Can be configured as a master or slave at generation time. Master core can be switched
to operate as a slave through a configuration port.
• Suitable for use in both Radio Equipment Controllers (RECs) and Radio Equipment (RE),
including multi-hop systems. A multi-hop reference design is available at the CPRI
product page (CPRI product page).
• Easy-to-use I/Q data interface together with optional modules for UMTS terrestrial
radio access - frequency division duplexing (UTRA-FDD) and Evolved UMTS Terrestrial
Radio Access (E-UTRA) data mappings
• Supports both Ethernet and HDLC Control and Management channels
• Supports vendor-specific data transport including support for the passing of control
AxC information in global system for mobile communications (GSM) systems
• Master core can be switched to operate as a slave through a configuration port
• Core includes the necessary clocking and transceiver logic to enable easy integration
into your design
• Synthesizable example design and simple demonstration test bench provided
• Easy-to-use interface for in-phase (I) and quadrature-phase (Q) data and synchronization
• Supports vendor-specific data transport
• Delay measurement capability meets CPRI Requirement 21 per CPRI Specification v7.0
[Ref 1]
• Reed-Solomon Forward Error Correction (RS-FEC) supported at 8,110.08 Mb/s,
10,137.6 Mb/s, 12,165.12 Mb/s and 24,330.24 Mb/s line rates.
Applications
The goal of the CPRI interface is to use one physical connection for the radio data (I/Q data),
radio unit management (for example, Automatic Gain Control, alarms) and synchronization
(clock frequency control, frame synchronization). Table 1-1 shows the data rates supported
by each Xilinx device. Data is transferred over a single serial link. This link is defined to be
electrically compliant with existing high-speed serial link standards such as the Gigabit
Ethernet and 10 Gigabit eXtended Attachment Unit Interface (XAUI) standards.
Notes:
1. Not supported on non Pb-free flip-chip BGA (FFG) packages.
2. Not supported on wire-bond packages.
System Requirements
For a list of System Requirements, see the Xilinx Design Tools: Release Notes Guide.
Contact your local Xilinx sales representative for a closer review and estimation for your
specific requirements.
IMPORTANT: The IP license level is ignored at checkpoints. The test confirms a valid license exists. It
does not check IP license level.
License Type
This Xilinx LogiCORE™ IP module is provided under the terms of the Xilinx Core License
Agreement. 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 for
information about pricing and availability of Xilinx LogiCORE IP.
Information about this and 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.
Product Specification
The CPRI™ core implements Layer 1 and Layer 2 of the CPRI specification in UltraScale™
architecture-based, Zynq®-7000 and 7 series devices. The CPRI core provides the following
client-side interfaces.
• I/Q Interface: Consists of a stream of radio data (I/Q samples) that is synchronized to
the Universal Mobile Telecommunications System (UMTS) radio frame pulse.
• Synchronization Interface: Provides the means for the client logic to synchronize to
the network time by transmitting the UMTS radio frame pulse and clock frequency.
• High-Level Data Link Control (HDLC) Interface: Transports management information
between master and slave. The HDLC interface is serialized and synchronous.
• Ethernet Interface: When configured to support speeds of up to 3,072 Mb/s, the
Ethernet interface is presented as a Media Independent Interface (MII); this allows a
100 Mb Ethernet Media Access Controller (MAC) to be attached to the core to provide a
high-speed channel for management information. When speeds over 4,915.2 Mb/s are
supported, a Gigabit Media Independent Interface (GMII) option is available. This
allows a 1 Gb Ethernet MAC to be attached to the core. The core includes an Ethernet
frame buffer in both transmit and receive directions. The frame buffers are derived
from the FIFO Generator and Block Memory Generator IP cores.
• Vendor-Specific Data Interface: Provides client logic access to the vendor-specific
sub-channels in the CPRI stream.
• Management Interface: Provides control and status registers that allow management
of the entire design from a supervisory processor.
The architecture of the core is shown in Figure 2-1. In addition to the interfaces described
previously, the core contains these blocks:
• Status/Alarm Block: Reflects the internal state of the core and the state of the link.
• Start-up Sequencer: Performs line-rate negotiation and Control and Management
(C&M) parameter negotiation at link start-up. This block continuously monitors the
state of the link and sends the status to the alarm block.
• UMTS Terrestrial Radio Access – Frequency Division Duplexing (UTRA FDD) I/Q
Module: A pluggable I/Q module to support multiplexing and demultiplexing of I/Q
samples in UTRA FDD systems (shown in Figure 2-1).
• Evolved UMTS Terrestrial Radio Access (E-UTRA) I/Q Module: A pluggable I/Q
module to support multiplexing and demultiplexing of I/Q samples in E-UTRA systems
(not shown in Figure 2-1).
• Legacy raw I/Q Module: A pluggable I/Q Module for backward compatibility with the
raw interfacing timing for CPRI cores (not shown in Figure 2-1).
X-Ref Target - Figure 2-1
542! &$$
)1 -ODULE #02) CORE
48 0ATH
#ONTROL
48 )1 DATA
48 )1 DATA )1 DATA
48
6ENDOR
48 )1 DATA
3PECIFIC
&)&/
%THERNET
&)&/
'4
($,# TRANSCEIVER
3TARTUP
28 )1 DATA 3EQUENCING , 3YNCH
AND 28
#$#
28 )1 DATA )1 DATA
Related Information
Xilinx products are not intended for use in life-support appliances, devices, or systems. Use
of a Xilinx product in such application without the written consent of the appropriate Xilinx
officer is prohibited.
Performance
The CPRI core is delivered with constraints files to ensure correct operation at line rates up
to 24,330.24 Mb/s.
Maximum Frequencies
Table 2-1 shows the client clock rates at which the CPRI LogiCORE™ IP core operates at all
supported line rates.
Resource Utilization
For full details about performance and resource utilization, visit the Performance and
Resource Utilization web page.
IMPORTANT: In this product guide where a feature is referred to with the phrase “cores supporting
x Mb/s”, this also implies its sub-line rates. For example, “cores supporting 3,072 Mb/s” also implies
2,457.6, 1,228.8 and 614.4 Mb/s; “cores supporting 6,144 Mb/s” also implies 4,915.2 Mb/s; “cores
supporting 12,165.12 Mb/s” also implies 8,110.08 Mb/s.
GT_CHANNEL
Transceiver I/F Serial I/O
RXOUTCLK
Optional TXOUTCLK
Vendor Specific I/F DRP
ORI I/F
<component_name>_v7_gtwizard_gt
IQ I/F
RX Sync
Optional
AXI I/F Management I/F
<component_name>_v7_gtwizard
clk_out txoutclk
BUFG/BUFH/BUFR
recclk_in
rxoutclk
recclk_out
<component_name>_clocking
Reset Generation
<component_name>_resets
Alignment I/F
TX Sync
<component_name>_tx_alignment <component_name_block>
<component_name>_support
;
Figure 2-2: Block Level of the CPRI Core with Core Support Layer
The core support layer contains elements that can be shared between multiple CPRI cores.
In this level the following blocks are instantiated:
Optionally the CPRI core can be generated without the core support layer. In this case the
core top level corresponds to the block layer in Figure 2-2. An example design provided
with the core includes the logic provided by the core support layer in Figure 2-2. Figure 2-3
shows a block diagram of the core when it is generated without the core support layer.
X-Ref Target - Figure 2-3
GT_CHANNEL
Transceiver I/F Serial I/O
RXOUTCLK
TXOUTCLK
Optional DRP
Vendor Specific I/F
ORI I/F
<component_name>_v7_gtwizard_gt
IQ I/F RX
Sync
Optional
Management I/F
AXI I/F
<component_name>_v7_gtwizard
recovered_clk
cpri_v8_7
recclk_in
clk_in
txoutclk
rxoutclk
Quad PLL Ports
Alignment I/F
<component_name>
<component_name>
;
Figure 2-3: Block Level of the CPRI Core without the Core Support Layer
For more information on sharing the resources between multiple cores see Resource
Sharing. The core support layer is discussed in more detail in Output Generation.
Port Descriptions
The interfaces for this core are described in detail in Interfacing to the Core in Chapter 3.
Notes:
1. Addresses 0x10 and above (AXI addresses 0x40 and above) are only present in cores that support operation at
4,915.2 Mb/s or higher.
2. Present only in Kintex-7, Virtex-7 and Zynq-7000 based cores supporting 10,137.6 or 12,165.12 Mb/s.
3. Present only in UltraScale-based cores supporting line rates up to 10,137.6, 12,165.12, or 24,330.24 Mb/s.
4. Present only in UltraScale-based cores supporting line rates up to 24,330.24Mb/s with FEC Enabled mode.
Notes:
1. Bits 0 and 1 are not latched and clear by themselves when LOS and LOF clear.
Notes:
1. Setting 000 0000 0000 0000 disables the core.
2. In cores that do not support 6,144.0 Mb/s operation, writes to bits 4 through 14 are ignored. In cores that do not
support 9,830.4 Mb/s operation, writes to bits 6 through 14 are ignored.
In cores that do not support 10,137.6 Mb/s operation, writes to bits 7 through 14 are ignored.
In cores that do not support 12,165.12 Mb/s operation, writes to bits 8 through 14 are ignored.
In cores that do not support 24,330.24 Mb/s operation, writes to bits 10 through 14 are ignored.
In cores that do not support FEC operation, writes to bits 11 through 14 are ignored.
Table 2-13 shows the defaults for the Line Speed Capability Register, depending on the
speed capability that is selected.
Table 2-14: General Configuration and Transmit CPRI Alarms Register (Cont’d)
23:20 12 If the Ethernet Gap in C&M Channel bit (bit 17) is set to 1, this field defines the
number of bytes of Interframe Gap. The valid range is 3 to 15. This functionality is
not supported when the GMII interface is selected.
Ethernet Transmitter Ignores RX_DV
19 1 When set to 0, the core asserts eth_col if eth_tx_en is asserted at the same time as
eth_rx_dv. When set to 1, eth_col does not depend on the state of eth_rx_dv.
Ethernet Receiver Ignores TX_EN
When set to 0, the core does not attempt to source a frame on the Ethernet receive
18 1 interface if a transmission is in progress (true half-duplex). When set to 1, the
receiver ignores the transmitter and sources a frame on the receive interface if one
is available.
Ethernet Gap in C&M Channel
17 1 When set to 1, the core inserts Ethernet interpacket gaps across the CPRI fast C&M
channel. When set to 0, the core does not insert interpacket gaps on the CPRI Fast
C&M channel but sends frames as fast as they are supplied on the Ethernet interface.
HDLC Rate Adaptation
When set to 1, the enable for the transmit data and the valid signals for the receive
16 1 data are pulsed High at regular intervals. This maintains the average HDLC data rate
negotiated at start-up. When set to 0, the core outputs enable and valid signals that
frame a burst of HDLC data. The length of the burst is dependent on the HDLC rate
negotiated at start-up.
Sync Header Reversal
15 0 When set to 1 the txheader(1:0) and rxheader(1:0) bits are reversed if 64B66B
encoding is enabled.
14:9 N/A Reserved
Slave Transmit Enable
When the Slave Transmit Enable bit is set to 0, the slave does not turn on its
8 0 transmitted output until HFNSYNC is achieved. When set to 1, the slave does turn
on its transmitted output immediately on start-up. This bit is read when the design
enters the L1 synchronization state.
7:3 N/A Reserved
2 0 SAP Defect Indicator (SDI)
Table 2-14: General Configuration and Transmit CPRI Alarms Register (Cont’d)
RECOMMENDED: It is strongly recommended that scrambling is enabled at line rates of 4,915.2 Mb/s
and over. At 8,110.08, 10,137.6, 12,165.12, and 24,330.24 Mb/s, scrambling is always enabled as part
of the 64b/66b protocol.
See the UltraScale Architecture GTH Transceivers User Guide (UG576) [Ref 4] and UltraScale
Architecture GTY Transceivers User Guide (UG578) [Ref 5] for more information on the
asynchronous gearbox. The value is reported in units of 1/8 of a UI.
7:1 Indicates the fraction of a clock cycle delay that is added to the RX datapath latency by the
FEC input gearbox. A value of 0 means no additional delay, a value of 65 means 65/66 of a
clock cycle is being added.
stat_rx_align_status
0 When High this signal indicates that alignment to the incoming codeword boundary position
has been achieved and the receiver is accepting and processing data.
See Chapter 6, Example Design for information about using and customizing the example
designs for the CPRI core.
Keep It Registered
To simplify timing and increase system performance in an FPGA design, keep all inputs and
outputs registered between your application and the core. This means that all inputs and
outputs from your application should come from or connect to a flip-flop. While registering
signals cannot be possible for all paths, it simplifies timing analysis and makes it easier for
the Xilinx tools to place-and-route the design.
The datapath clocks are generated in the clocking block in the core support layer. This leads
to some differences in the core level clocking ports between designs that are generated
with the core support layer and those that are generated without. For more information on
the core support layer see CPRI Core Structure.
Table 3-1 lists the clock and reset ports that are common to both support layer
configurations of the core.
Table 3-2 lists the clock and reset ports that are exclusive to designs generated with the
core support layer. These are generated by the clocking circuitry in the support layer and
output for use in the user design. The clocks from the PLL in the common block are also
routed out of the core. These can be shared by other transceivers in the quad. See
Transceiver Interface for a description of these clocks.
Table 3-2: Clock and Reset Signals (Support Layer Generated in the Core)
Port Direction Description
System clock. Used for all datapath logic in the core and to clock the I/Q,
frame and synchronization, HDLC and vendor-specific interfaces. The
clk_out Out
same clock should be used to clock client logic attached to these
interfaces. See Table 2-1 for the core clock rates.
System clock OK. Signal indicating the status of the system clock. High
clk_ok_out Out
when the clock is stable.
Recovered clock from the GT transceiver. When the design is operating as
recclk Out a slave, a clean-up PLL should be used to generate the transceiver
reference clock from the recclk output.
Recovered clock OK. Signal indicating the status of the recovered clock.
recclk_ok Out
High when the clock is stable.
Present on GTXE2, GTHE2 and GTPE2 implementations. Signal from the
clocking logic in the core support layer that is asserted to reset the
gt_reset_req_out Out transceiver. This is asserted on startup and after a line rate change on the
CPRI link. Used to reset transceivers that share the clocking logic in the
core.
Table 3-3 lists the clock and reset ports that are exclusive to designs generated with the
core support layer in the example design rather than in the core. The clock inputs are
generated by the clocking circuitry in the support layer. The core also outputs some clocks
and control signals to the clocking block. The clocks from the PLL in the common block are
also routed in to the core. See Transceiver Interface for a description of these clocks.
Table 3-3: Clock and Reset Signals (Support Layer Generated in the Example Design)
Port Direction Description
Transmit output clock from the GT transceiver. This is used to generate the
txoutclk Out
system clock.
System clock. Used for all datapath logic in the core and to clock the I/Q,
frame and synchronization, HDLC and vendor-specific interfaces. The
clk_in In
same clock should be used to clock client logic attached to these
interfaces. See Table 2-1 for the core clock rates.
Present on GTXE2 and GTHE2 implementations supporting 10,137.6 or
12,165.12 Mb/s only. This is the transceiver TX user clock. At line rates
using 8B10B encoding it runs at the same frequency as clk_in. When
64B66B encoding is enabled it runs at 66/64th of the clk_in frequency.
clk_316_in In
At 12,165.12 Mb/s the frequency is 380.16 MHz;
at 10,137.6 Mb/s it is 316.8 MHz and
at 8,110.08 Mb/s it is 253.44 MHz.
See Clock Configuration.
Artix-7 and 24,330.24 Mb/s capable UltraScale and UltraScale+ based
txusrclk In cores only. Transceiver TXUSRCLK input. Clock running at double the
speed of clk_in. See Clock Configuration.
System clock OK. Signal indicating the status of the system clock. Drive
clk_ok_in In
High when the clock is stable.
Receive output clock from the GT transceiver. This is used to generate the
rxoutclk Out
recovered clock input.
recclk_in In Recovered clock input for the GT transceiver.
Recovered clock OK. Signal indicating the status of the recovered clock.
recclk_ok Out
High when the transceiver has completed receiver reset and alignment.
Present on GTXE2, GTHE2 and GTPE2 implementations. Signal from the
clocking logic in the core support layer that is asserted to reset the
gt_reset_req In
transceiver. This is asserted on startup and after a line rate change on the
CPRI link.
MMCM Reset. A High on this signal holds the MMCM in the clocking
block in reset until txoutclk is stable.
mmcm_rst Out
mmcm_rst can be used to reset both the core and management interface.
When mmcm_rst is asserted, the stat_code value is 0.
Signal from the core indicating that the transceiver reset sequence is
txresetdone_out Out
complete. The core is held in reset until this signal is asserted.
Present on GTHE2, GTPE2, UltraScale and UltraScale+ implementations.
Signal from the core to indicate that the transceiver reset procedure has
gtreset_sm_done Out
been completed. This is used by the clocking block to prevent a speed
change during a reset cycle.
Table 3-3: Clock and Reset Signals (Support Layer Generated in the Example Design) (Cont’d)
Port Direction Description
Present in GTHE3/GTYE3/GTHE4/GTYE4 implementations only. Reset for
userclk_tx_reset Out
the transmit clock BUFG_GT in the clocking logic.
Present in GTHE3/GTYE3/GTHE4/GTYE4 implementations only. Reset for
userclk_rx_reset Out
the receive clock BUFG_GT in the clocking logic.
Data Interfaces
I/Q Interface
The I/Q interface of the CPRI core gives direct access to the multiplexed and mapped I/Q
data stream as it appears on the CPRI link. As such, use of this interface requires detailed
knowledge of the CPRI mapping protocol in use by the designer; however, it is an extremely
flexible and powerful interface to use for transporting I/Q data.
Three I/Q data adapter modules are also delivered with the core example design: I/Q
multiplexers that support the UTRA-FDD and E-UTRA sample mappings described in the
CPRI specification and a legacy raw I/Q module to match the raw I/Q interface timing of
v1.2 and earlier of the CPRI core.
The ports shown in Table 3-4 are used to pass I/Q data.
CLK
IQ?TX?ENABLE
CLK
BASIC?FRAME?FIRST?WORD
IQ?RX;= CW !! ##"" %%$$
Other speeds follow a similar format. The length of the basic frame and the control word is
expanded. For 1,228.8 Mb/s, the basic frame is 32 bytes in length, and the first two bytes
are the control word. For 2,457.6 Mb/s, the basic frame is 64 bytes in length, and the first
four bytes are the control word.
For 3,072 Mb/s, the basic frame is 80 bytes in length and the first five bytes are the control
word. At 4,915.2 Mb/s the basic frame is 128 bytes in length and the first 8 bytes are the
control word. At 6,144.0 Mb/s the basic frame is 160 bytes in length and the first 10 bytes
are the control word. Figures 3-2 through 3-12 illustrate the 16-bit wide I/Q Transmit and
Receive Interfaces at a range of speeds.
CLK
IQ?TX?ENABLE
IQ?TX;= XXXX ""!! $$##
CLK
BASIC?FRAME?FIRST?WORD
IQ?RX;= CWCW ""!! $$##
CLK
IQ?TX?ENABLE
IQ?TX;= 8888 8888 ""!!
CLK
BASIC?FRAME?FIRST?WORD
IQ?RX;= CWCW CWCW ""!!
CLK
IQ?TX?ENABLE
IQ?TX;= 8888 8888 88 ##"" %%$$ &&
CLK
BASIC?FRAME?FIRST?WORD
IQ?RX;= CWCW CWCW CW ##"" %%$$ &&
CLK
IQ?TX?ENABLE
IQ?TX;= 8888 8888 8888 8888
CLK
BASIC?FRAME?FIRST?WORD
IQ?RX;= CWCW CWCW CWCW CWCW
CLK
IQ?TX?ENABLE
IQ?TX;= 8888 8888 8888 8888 8888 &&%%
CLK
BASIC?FRAME?FIRST?WORD
IQ?RX;= CWCW CWCW CWCW CWCW CWCW &&%%
CLK
IQ?TX?ENABLE
IQ?TX;= XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX ""!! &&%%$$##
Figure 3-13: 32-Bit Wide Transmit Interface at 8,110.08 Mb/s and 9,830.4 Mb/s
X-Ref Target - Figure 3-14
CLK
BASIC?FRAME?FIRST?WORD
IQ?RX;= CCCC CCCC CCCC CCCC ""!! &&%%$$##
Figure 3-14: 32-Bit Wide Receive Interface at 8,110.08 Mb/s and 9,830.4 Mb/s
When the core is configured to run at 10,137.6 Mb/s, the 32 bit I/Q data bus is used. As with
8,110.08 Mb/s and 9,830.4 Mb/s, the control word is 16 bytes long. The basic frame is
extended to be 80 clock periods long. Figure 3-15 and Figure 3-16 illustrate the I/Q
transmit and receive interfaces at 10,137.6 Mb/s.
CLK
IQ?TX?ENABLE
CLK
BASIC?FRAME?FIRST?WORD
CLK
IQ?TX?ENABLE
CLK
BASIC?FRAME?FIRST?WORD
CLK
IQ?TX?ENABLE
CLK
BASIC?FRAME?FIRST?WORD
IQ?RX;= #ONTROL #ONTROL $ATA $ATA $ATA $ATA $ATA $ATA $ATA
This module (contained in iq_module.vhd) allows you to multiplex and interleave I/Q
samples using the UTRA-FDD mapping defined in the CPRI specification. It multiplexes and
de-multiplexes up to 48 channels of I and Q data, one sample per basic frame period. The
existence and width of each channel is configurable at synthesis time.
The generics of the UTRA-FDD I/Q Module are described in Table 3-5.
All ports of the transmit interface are synchronous to clk and connected user logic should
also be clocked by clk. The enable signal iq_tx_enable is asserted by the core for
exactly one cycle of clk for every Tc in time. The UTRA-FDD I/Q Module samples all iq_tx
ports following assertion of the iq_tx_enable signal. Figure 3-21 illustrates this timing.
X-Ref Target - Figure 3-21
CLK
IQ?TX?ENABLE
IQ?TX?I?N
IQ?TX?Q?N
4C NS
The iq_rx_data_valid signal indicates when the I/Q data is valid and is asserted by the
module once every T c, as shown in Figure 3-22.
CLK
IQ?RX?DATA?VALID
IQ?RX?I?N
IQ?RX?Q?N
4C NS
• Transmit:
° Over-sampling ratio: 1
° AxC containers: 3
• Receive:
° Over-sampling ratio: 2
° AxC containers: 3
The transmit data sources should then be connected to the correct iq_tx_* ports and the
receive data sinks should be connected to the iq_rx_* ports; in the receive case, the first
sample should be connected to bits 4 down to 0 and the second sample connected to bits
9 down to 5, and so on.
Consider the number of data bytes in the basic frame when setting the size and start
positions of the channels. The size of the data section of each basic frame varies from 15
bytes at 614.4 Mb/s to 240 bytes at 9,830.4 Mb/s, 308 bytes at 10,137.6 Mb/s, 368 bytes at
12,165.12 Mb/s and 752 bytes at 24,330.24 Mb/s. You should ensure that the channel start
positions plus two times the channel width (I plus Q data) do not exceed the number of bits
in the basic frame at the operating line speed. If this is not the case for a particular channel,
the data for that channel will not be correctly transmitted or received.
All ports of the transmit interface are synchronous to clk. The transmit interface receives
the iq_tx_enable pulse from the core and outputs an iq_tx_data_enable pulse for
each channel. The iq_tx_data_enable pulse is c_tx_s_n samples long. The module
captures the samples sent during the iq_tx_data_enable pulse and routes them to
ports on the internal UTRA-FDD I/Q Module. The assembled data is transmitted on the next
basic frame.
The timing on the I/Q Data Interface is illustrated in Figure 3-23. The number of samples
must be, at most, one cycle less than the length of the basic frame. For example, at
614 Mb/s with a 16-bit IQ interface the basic frame is 8 cycles long. The maximum number
of samples per channel in this case is 7.
X-Ref Target - Figure 3-23
CLK
IQ?TX?ENABLE
IQ?TX?DATA?ENABLE?N
#?48?3?N
IQ?TX?I?N ) ) ) )N
IQ?TX?Q?N 1 1 1 1N
4C NS
The receiver interface receives the data from the internal UTRA-FDD I/Q Module along with
a basic_frame_first_word pulse. It de-multiplexes the data from the internal module
and outputs it along with an iq_rx_data_valid_n signal for each channel.
The timing on the I/Q Data Interface is illustrated in Figure 3-24. As with the transmitter, the
number of samples should be, at most, one cycle less than the length of the basic frame.
CLK
BASIC?FRAME?FIRST?WORD
#?28?3?N
IQ?RX?DATA?VALID?N
IQ?RX?I?N
IQ?RX?Q?N
4C NS
In this example the first eight 16-bit words of the transmitted CPRI frame appear as shown
in Figure 3-26, when the core is operating at 1,228.8 Mb/s. The samples are transmitted in
order starting with those from channel 1 (S1A, S1B, S1C) followed by the samples from
channel 2 (S2A, S2B).
7/2$
BIT
#/.42/, 7/2$
3! 3" 3# 3! 3"
4C NS
7/2$
BIT
3"
#/.42/, 7/2$
3! 3" 3! 3" 3! 3#
3"
4C NS
#?28?7)$4(?
#HANNEL 3! 3" #?28?34!24?
#?28?7)$4(?
IQ?RX?I?
#?28?3? IQ?RX?Q?
#?28?7)$4(?
#?28?34!24?
IQ?RX?I?
IQ?RX?Q?
#HANNEL 3! 3" #?28?7)$4(?
#?28?7)$4(? #?28?34!24?
IQ?RX?I?
#?28?3? IQ?RX?Q?
#?28?7)$4(?
IQ?RX?I? #?28?34!24?
IQ?RX?Q?
#HANNEL 3! 3" 3#
#?28?7)$4(? #?28?7)$4(?
IQ?RX?I?
#?28?3? IQ?RX?Q? #?28?34!24?
IQ?RX?I? #?28?7)$4(?
IQ?RX?Q? #?28?34!24?
IQ?RX?I?
IQ?RX?Q? #?28?7)$4(?
#?28?34!24?
IMPORTANT: Ensure that all the samples for each channel can fit into the basic frame. If this is not the
case, the data will not be correctly transmitted or received.
Table 3-14: Legacy Raw I/Q Module Signals - Client Interface (Cont’d)
Port Direction Clock Domain Description
raw_iq_rx[15:0] Out System Clock Raw receive I/Q data. Synchronous to clk.
raw_iq_rx_count[5:0] Out System Clock Indicates position in the frame for raw receive data.
Figure 3-29 illustrates transmission using the legacy raw I/Q Module at 614.4 Mb/s.
CLK
IQ?TX?ENABLE
RAW?IQ?TX?COUNT
CLK CYCLES
CLK
RX?DATA?VALID
RAW?IQ?RX?COUNT
CLK CYCLES
Figure 3-31 illustrates transmission using the Legacy Raw I/Q Module at 1,228.8 Mb/s.
CLK
IQ?TX?ENABLE
RAW?IQ?TX?COUNT
CLK CYCLES
CLK
RX?DATA?VALID
RAW?IQ?RX?COUNT
CLK CYCLES
For transmitting using the Legacy Raw I/Q Module at 2,457.6 Mb/s:
CLK
IQ?TX?ENABLE
RAW?IQ?TX?COUNT
CLK CYCLES
CLK
RX?DATA?VALID
RAW?IQ?RX?COUNT
CLK CYCLES
For transmitting using the Legacy Raw I/Q Module at 3,072.0 Mb/s:
CLK
IQ?TX?ENABLE
RAW?IQ?TX?COUNT
CLK CYCLES
CLK
RX?DATA?VALID
RAW?IQ?RX?COUNT
CLK CYCLES
For transmitting using the Legacy Raw I/Q Module at 4,915.2 Mb/s:
CLK
IQ?TX?ENABLE
RAW?IQ?TX?COUNT
CLK CYCLES
xx, xx, xx, xx, xx, xx, xx, xx, F5, 76, 99, …
CLK
RX?DATA?VALID
RAW?IQ?RX?COUNT
CLK CYCLES
cw, cw, cw, cw, cw, cw, cw, cw, 67, 80, D7,…
For transmitting using the Legacy Raw I/Q Module at 6,144.0 Mb/s:
CLK
IQ?TX?ENABLE
RAW?IQ?TX?COUNT
CLK CYCLES
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, 61, A1, 11, …
CLK
RX?DATA?VALID
RAW?IQ?RX?COUNT
CLK CYCLES
cw, cw, cw, cw, cw, cw, cw, cw, cw, cw, 7E, FC, AE,…
The interface for the vendor-specific data is presented to the client logic much like it is on
the I/Q data interface. On transmit, the core presents the current subchannel number Ns
and the control word index Xs on ports vendor_tx_xs and vendor_tx_ns, respectively.
If this subchannel is in the vendor-specific range, the core captures the data on the
vendor_tx_data port on assertion of the iq_tx_enable signal and sends it out in the
correct basic frame. If the subchannel is not in the vendor-specific range, the core ignores
data on the vendor_tx_data port.
X-Ref Target - Figure 3-41
TX?CLK
IQ?TX?ENABLE
VENDOR?TX?XS #URRENT INDEX 8S
VENDOR?TX?NS #URRENT INDEX .S
4C NS
The vendor-specific data takes several cycles to settle at the vendor_rx_data output. The
number of cycles is dependent on the size of the control word. The data is stable when
basic_frame_first_word is asserted at the end of the frame.
RX?CLK
BASIC?FRAME?FIRST?WORD
VENDOR?RX?XS #URRENT INDEX 8S
VENDOR?RX?NS #URRENT INDEX .S
4C NS
In addition to the vendor-specific control words the vendor-specific interface also provides
access to the control words in subchannels 4 to 7. These can be used to convey AxC specific
control information in GSM based systems.
For 10,137.6 Mb/s the extra 32 bits replace the fifth word (bits 159-128) in the basic frame
as shown in Figure 3-43.
CLK
IQ?TX?ENABLE
IQ?TX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2463 )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA
Figure 3-43: 32-Bit Transmit Interface with Real Time Vendor-Specific Support at 10,137.6 Mb/s
For 12,165.12 Mb/s the extra 64 bits replace the fifth and sixth words (bits 191-128) in the
basic frame as shown in Figure 3-44.
X-Ref Target - Figure 3-44
CLK
IQ?TX?ENABLE
IQ?TX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2463 2463 )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA
Figure 3-44: 32-Bit Transmit Interface with Real Time Vendor-Specific Support at 12,165.12 Mb/s
For 24,330.24 Mb/s, which uses a 64-bit datapath, the extra 256 bits replace the 3rd, 4th, 5th
and 6th words in the basic frame, as shown in Figure 3-45.
X-Ref Target - Figure 3-45
CLK
IQ?TX?ENABLE
IQ?TX 8 8 2463 2463 2463 2463 )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA )1$ATA
Figure 3-45: 64-Bit Transmit Interface with Real Time Vendor-Specific Support at 24,330.24 Mb/s
Real time vendor-specific control data is allocated to the ports in Table 3-16.
For further info see CPRI specification v7.0 section 3.4.4 [Ref 1].
If Real Time Vendor-Specific Support is not selected, bits [383:128] of the control word
can optionally be used to increase the bandwidth of the IQ data block.
In the transmit direction nodebfn_tx_strobe must be asserted for T c and the BFN value
in signal nodebfn_tx_nr must be maintained through the duration of the Node B Frame,
as shown in Figure 3-46. Asserting nobebfn_tx_strobe forces the next basic frame to be
transmitted to be basic frame 0. It is the responsibility of the user logic to assert the
nodebfn_tx_strobe signal every 10 ms as shown.
X-Ref Target - Figure 3-46
CLK
IQ?TX?ENABLE
NODEBFN?TX?STROBE
4C NS
5-43 &RAME MS
To better illustrate the frame-level synchronization, Figure 3-47 shows some of the signals
involved in frame transmission and their relative timing.
X-Ref Target - Figure 3-47
CLK
IQ?TX?ENABLE
NODEBFN?TX?STROBE
NODEBFN?TX?NR
VENDOR?TX?XS
VENDOR?TX?NS
VENDOR?TX?NSXS INDICATE THE NEXT FRAME FOR TRANSMISSION