Skip to content

Commit 31c9424

Browse files
committed
library/jesd204/xgt_wizard: Update XCVR wizard doc
Signed-off-by: Elena-Hadarau_adi <[email protected]>
1 parent 4ff2ff6 commit 31c9424

File tree

1 file changed

+87
-6
lines changed

1 file changed

+87
-6
lines changed

docs/library/jesd204/xgt_wizard/index.rst

Lines changed: 87 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,23 +39,104 @@ The following features are required for a JESD204B interface:
3939
- Tx configurable driver
4040
- Polarity control
4141

42-
There are 2 flows for generating transceivers using the wizard
42+
There are 3 flows for generating transceivers using the wizard
4343
-------------------------------------------------------------------------------
4444

45-
The first one is using the GT wizard manually as explained below:
45+
The first one is an automated flow integrated in the HDL build system. It uses
46+
project-defined parameters to generate and extract only the necessary transceiver
47+
settings, with no user interaction required. The second one is using the GT
48+
wizard manually as explained below:
4649
:ref:`Using_the_GUI_of_the_Wizard <xgt_wizard_gui_of_the_wizard>` ,
47-
and a second one that uses a script to generate one or more configurations:
50+
and a third one that uses a script to generate one or more configurations:
4851
:ref:`Using_the_generator_script <xgt_wizard_generator_script>` .
49-
Please keep in mind that the script is capable of generating only configurations
50-
where the TX ad RX lane rates are even. For more customization, you can use the
51-
script to generate the configurations, then edit them manually as u please.
52+
Please keep in mind that the script is capable of generating only **configurations
53+
where the TX ad RX lane rates are even and supports only JESD204B**. For more
54+
customization, you can use the script to generate the configurations, then edit
55+
them manually as you please.
5256

5357
If you used the script method, there is another script that parses the generated
5458
configurations and generates a list containing only the parameters that are
5559
different from the default, the ones that you will have to change/add in your
5660
system_bd.tcl: Parsing_script. This script does not work at the moment for the
5761
configurations that are not generated by the script.
5862

63+
.. _xgt_wizard_automated_flow:
64+
65+
Using the Automated Transceiver Configuration Flow
66+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
67+
68+
To simplify and streamline the configuration of transceivers in FPGA designs,
69+
the HDL build system supports an automated flow using **xcvr_wizard** project and
70+
supporting Tcl scripts.
71+
72+
The automated transceiver configuration flow is currently integrated into the
73+
following projects:
74+
75+
- DAQ2
76+
- DAQ3
77+
- ADRV9009
78+
- ADRV9371x
79+
- ADRV9026
80+
81+
xcvr_wizard
82+
*******************************************************************************
83+
84+
The :git-hdl:`xcvr_wizard HDL project <projects/xcvr_wizard>` is used internally
85+
to generate transceiver configuration files based on a set of parameters:
86+
87+
- LANE_RATE: lane speed in Gbps
88+
- REF_CLK: reference clock frequency in MHz
89+
- PLL_TYPE: the type of PLL used (CPLL or QPLL)
90+
91+
It builds a Vivado project for a specific carrier and configuration, producing
92+
files such as GT_Type_cfng.txt and, for GTXE2 devices,
93+
gtxe2_<plltype>_<rate>_<refclk>_common.v. These files are later parsed by automation
94+
scripts to extract only the required configuration parameters.
95+
96+
adi_xcvr_project
97+
*******************************************************************************
98+
99+
This function builds the `xcvr_wizard` using user-defined parameters. These values
100+
define the configuration for which the transceiver settings will be generated.
101+
The function returns a dictionary (`xcvr_config_paths`) with the paths to the
102+
generated files.
103+
104+
In the HDL build flow, it is called from `system_project.tcl`, located in the
105+
carrier-specific folder (e.g., `projects/<carrier>/system_project.tcl`).
106+
107+
**Example:**
108+
109+
.. code-block:: tcl
110+
111+
global xcvr_config_paths
112+
113+
set xcvr_config_paths [adi_xcvr_project [list
114+
LANE_RATE 10
115+
REF_CLK 500
116+
PLL_TYPE QPLL
117+
]]
118+
119+
adi_xcvr_parameters
120+
*******************************************************************************
121+
122+
This function takes `xcvr_config_paths` and optionally a list of overrides. It
123+
extracts only the transceiver parameters that differ from defaults and returns
124+
them to be passed to `ad_ip_instance`.
125+
126+
It is called from the block design script `<project_name>_bd.tcl`, located in the
127+
`common/` folder (e.g., `projects/<project_name>/common/<design>_bd.tcl`).
128+
129+
**Example:**
130+
131+
.. code-block:: tcl
132+
133+
global xcvr_config_paths
134+
135+
set util_adxcvr_parameters [adi_xcvr_parameters $xcvr_config_paths [list
136+
RX_NUM_OF_LANES $MAX_RX_NUM_OF_LANES
137+
TX_NUM_OF_LANES $MAX_TX_NUM_OF_LANES
138+
]]
139+
59140
.. _xgt_wizard_gui_of_the_wizard:
60141

61142
Using the GUI of the Wizard

0 commit comments

Comments
 (0)