@@ -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
5357If you used the script method, there is another script that parses the generated
5458configurations and generates a list containing only the parameters that are
5559different from the default, the ones that you will have to change/add in your
5660system_bd.tcl: Parsing_script. This script does not work at the moment for the
5761configurations 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
61142Using the GUI of the Wizard
0 commit comments