Last update on 21 July, 2016
- IQ Mapper/DeMapper RTL Generator Tools updated to version 1.5
- CPRI IP v6 Webcore updated to 15.1.313
Altera CPRI IP v6.0 MegaCore allows connection to any user-defined air standard IQ mapping or custom IQ mapping block generated from Altera IQ Mapper/De-Mapper Code Generation Tools. This reference design demonstrates the use of Altera CRPI IP v6.0 MegaCore with the customized IQ mapping logic. This example will elaborate on the following:
Figure 1.0 Top-level view of IQ Mapper logic to CPRI IP Core Integration
This reference design transmits and receives CPRI data on a master loopback setup in a simulation environment. It comes with a complete transceiver setup required components such as Transmitter PLL, reset controller, and reconfiguration controller. The design highlights the usage of the generated code of the IQ Mapper and IQ Demapper where additional custom logic is built to support it.
The transmission starts with the separated raw I and Q data are send over to the IQ Mapper after interleaving. The IQ Mapper encodes the 3 AxC data into the available user data plane slots in Radioframe according to the selected line bit rate. These standard data will now be transported into the L1 Physical Layer, Altera CPRI IP v6.0 via the Direct IQ Tx Interface with indication from the frame counters values from AUX Tx interface.
On the receiving side, the Direct IQ Rx Interface together with the AUX Rx Interface will return the loopback IQ data. The combined IQ data is now extracted by the core and be passed on to the IQ Demapper. The IQ data are then decoded into individual AxC channel and de-interleaved to I and Q data.
Table 1.0 Modules in the reference design
|Module Name||MegaCore/MegaFunction Component||Description|
|wrapper_top||Customized component||Top-level file for reference design|
|rec_master_v6||CPRI IP v6.0 MegaCore||CPRI IP in master mode|
|txpll||Stratix V Transmitter PLL||Used to generate high speed clock for transmitter|
|reset_tx_ctrl||Transceiver PHY Reset Controller||Reset controller for transmitter|
|reset_rx_ctrl||Transceiver PHY Reset Controller||Reset controller for the receiver|
|reconfig_ctrl||Transceiver Reconfiguration Controller||Reconfiguration controller for transceiver calibration (not active in this design)|
|iq_mapper||Customized IP Mapper block||IP Mapper (with 3 AxC) generated by Code Generation Tool|
|iq_demapper||Customized IP DeMapper block||IP DeMapper (with 3 AxC) generated by Code Generation Tool|
|map_mem_if||Customized IP Mapper top-level||IP Mapper wrapper with FIFO to clock cross to user clock (dsp_clk) domain, interleaves IQ data|
|demap_mem_if||Customized IP DeMapper top-level||IP DeMapper wrapper with FIFO to clock cross to user clock (dsp_clk) domain, de-interleave IQ data|
Table 2.0 Clocks and reset in reference design
|tx_pll_refclk||This is the reference clock for the transmitter PLL. The reference clock frequency varies according to the different reference designs as below:
10.1376 Gbps – 253.44MHz 9.8304 Gbps – 245.76 MHz 6144.0 Gbps – 153.6 MHz
|rx_cdr_refclk||This is the reference clock for the receiver CDR. The reference clock frequency varies according to the different reference designs as below:
10.1376 Gbps – 253.44MHz 9.8304 Gbps – 245.76 MHz 6144.0 Gbps – 153.6 MHz
|reconfig_clk||Reconfiguration clock frequency used for Reconfiguration Controller, reset controllers and the CPRI IP core. The typical frequency is 100-150MHz but these reference designs use 100MHz.|
|ex_delay_clk||Extended Delay Measurement clock used for the CPRI IP core to measurement the soft FIFO delay. For accurate measurement, a specific frequency is used; please refer to Altera CPRI IP v6.0 User Guide for more information.|
|cpri_10g_coreclk||Optional 307.2MHz core clock for the CPRI IP. This clock must be present when the core is used in 10.1376Gbps; clock source must be from the master clock that generates the tx_pll_refclk.|
|cpri_clkout||Core clock for the CPRI IP as well as the customized IQ Mapping logic. The core clock rates follows the current line bit rate as follow:
10.1376 Gbps – 307.2MHz (this is sourced from cpri_10g_coreclk) 9.8304 Gbps – 245.76 MHz 6144.0 Gbps – 153.6 MHz
|dsp_clk||User customized clock for the IQ Mapping logic. This is the sampling clock used for the AxC channel. In these examples, the sampling clock is fixed to 245.76MHz|
|reset_n||Global reset that reset the entire core. Reset to CPRI IP User Guide for more details.|
|reset_tx_n||Reset transmission part of the core. Reset to CPRI IP User Guide for more details.|
|reset_rx_n||Reset reception part of the core. Reset to CPRI IP User Guide for more details.|
|ex_delay_reset_n||Reset the extended delay measurement logic. Reset to CPRI IP User Guide for more details.|
|cpri_rst_n||Reset the IQ Mapper and DeMapper logic|
Figure 2.0 Reference Design Functional blocks with Clocking Scheme
Obtaining the tool
This tool is part of the package of the reference design. You will need to run it on a machine that recognizes .xlsm file extension, no installation required.
Figure 2.0 Software snapshot of IQ Mapper Tool
Table 3.0 Supported Features of Code Generation Tool
|Line bit rate||Option 1-8 (614.4 Mbps up to 10.1376 Gbps)|
|Mapping Method||Method 1 (IQ Sample Based)|
|IQ Sample Width||4-20 bit|
|Number of AxC||1-40|
|Output RTL format||Verilog|
“Configuration -> Line Rate” drop-down menu
Select the desired line bit rate option
“Configuration -> Symmetrical DL/UL”
Select “YES” to enable de-mapper to automatically mirror the mapper mapping in the “Mapper” tab, no User Plane Data Area will need to be filled on the “DeMapper” tab. Select “No” to allow different mapping scheme on the demapper, “DeMapper” User Plane Data Area must be filled.
“User Plane Data Area”
Mapping of IQ bit data could be performed at User Plane Data Area. The bit data for desired AxC channel (AXC0…AXC39) could be selected from the drop-down menu. (Hints: Repeating bit of same AxC could be copied and pasted; incrementing AxC could be dragged and etc)
“Prepare User Plane Data”
Generate the allowable User Plane Data Area of mapping by user; it is restricted by Line Rate configuration (Note: Previous mapping of data will be deleted)
Select the path/folder where the IQ Mapper and De-mapper related files will be generated and stored after the clicking the “Generate Code” button.
Generate the related files for the IQ mapping and de-mapping selected to the output folder.
The generated RTL codes are in Verilog format and will be located at <Output Folder\designs\lib\iq_mapper.v and iq_demapper.v>
Both the generated iq_mapper.v and iq_demapper.v modules have different simulation environment, so they should be run separately.
Please find the IQ Mapper/De-mapper Code Generator User Guide here.
This design is available from Altera Design Store. If you need further assistance, please contact your local Altera Sales .
©  Altera Corporation. The material in this wiki page or document is provided AS-IS and is not supported by Altera Corporation. Use the material in this document at your own risk; it might be, for example, objectionable, misleading or inaccurate.
©  Altera Corporation. QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders, as described at www.altera.com/.common/legal.html. Altera warrants the performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Community support is provided during standard business hours (Monday to Friday 7AM - 5PM PST). Other contact methods are available here.
Intel does not verify all solutions, including but not limited to any file transfers that may appear in this community. Accordingly, Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
For more complete information about compiler optimizations, see our Optimization Notice.