Achronix Speedster22i SerDes User Manual
Page 76

.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