beautypg.com

Achronix Speedster22i SerDes User Manual

Page 76

background image

.i_reg_wr_data (unused_ln0_i_reg_wr_data), // data for write

.o_reg_rd_data (unused_ln0_o_reg_rd_data), // data from read (latch when

o_reg_rdwr_valid)

.o_reg_rdwr_valid (unused_ln0_o_reg_rdwr_valid) // action finished (high for one cycle)

);


Note: Not all registers can be modified dynamically. For a list of the dynamic registers, please

contact Achronix Customer Support.
Note: To use external loopback (cables), the ACX_SERDES_LOOPBACK_CTRL instance

needs to be removed from the design logic, or simply change the LOOPBACK_MODE

parameter to disable internal loopback.
simple_serdes_design_wrapper.v: This is the wrapper file generated by ACE GUI. No change

is required in this file for the current design.
data_generation.v: This file generates TX data for SerDes. The data generated are 40-bits.

Comma characters are also generated in this file. The port-definitions for the module

data_generation is shown below.

module data_generation (

input clk,

input rst_n,

input data_gen_en,

output [39:0] data_out

);


This module requires clock signal, reset signal and enable signal as inputs. For TX data, the

transmit-side clock-signal and the transmit-side reset-signal are used as inputs. In the current

design, the data generation is enabled only when PMA is ready for it’s operation. User may

use any one or more of the following signals to enable the data-generation. However, we

prefer using TXready or synthready as enable signal to decouple the TX path from the RX

path:

ln0_pma_RXready,

ln0_pma_TXready,

ln0_pma_synthready and

In0_pma_RX_cdr_lck2dat


The instantiation of data_generation in the top-level module is shown in the code below.

data_generation idata_generation (

.clk (ln0_TXclk), // TX-clock from SerDes

.rst_n (ln0_rst_n_TX), // TX-reset used for SerDes

.data_gen_en (ln0_pma_TXready), // TX-ready signal from SerDes

.data_out (ln0_TX_data) // TX-data to SerDes

);


Data generated by the data_generation module needs to include comma characters. For

simple_serdes_design, 10’h1BC is used as comma character. This complies with the values

10’h283 and 10’h17C that has been set as symbol alignment characters earlier in the ACE

GUI. The user may refer to section “Symbols and Comma Character” for details on these

characters.

76

UG028, July 1, 2014