Skip to content

Conversation

@hadarauelena
Copy link
Collaborator

@hadarauelena hadarauelena commented Mar 27, 2025

PR Description

Documentation is added in PR #1643.

To automate the transceiver configuration process, I used the following:

  1. The xcvr_wizard project
    The xcvr_wizard project is designed to facilitate the configuration and usage of transceivers (XCVRs) in FPGA projects with various configurations, aiming to automate the setup process. After building the project, we obtain the necessary files:
  • GT_Type_cfng.txt – contains parameters that differ from the default values
  • For GTXE2, we also need the file gtxe2_plltype_rate_refclk_common.v in order to extract the following parameter values: QPLL_FBDIV_IN, QPLL_FBDIV_RATIO.
    These files can be found in the following folder:
    xcvr_wizard//RATE_REFCLKPLLTYPE/xcvr_wizard.gen/sources_1/ip
  1. The adi_xcvr_project function from the adi_project_xilinx.tcl script
    The adi_xcvr_project function takes as arguments the values for LANE_RATE, REF_CLK, and PLL_TYPE. The purpose of the function is to build the xcvr_wizard project using the specified parameters or the default ones, and it returns a dictionary (xcvr_config_paths) with the paths to the output files generated during the build process.
    This function is typically called from the system_project.tcl script located in the specific project/carrier directory.

  2. The adi_xcvr_parameters function from the xcvr_automation.tcl script
    This function takes as arguments a dictionary (xcvr_config_paths) with the paths to the configuration files and, optionally, a list of parameter-value pairs to override the default transceiver parameters.
    It then processes the transceiver configuration data by extracting parameter values from the generated files (param_file_path, cfng_file_path) and comparing them against a predefined set of default values.
    Parameters whose values differ are added to a dictionary, which is returned and passed to the ad_ip_instance function to create the instance of the util_adxcvr component.
    This function is typically called from the <project_name>_bd.tcl script, located in the common folder shared across all carriers.

The automation has been integrated into the following projects:
• DAQ2
• DAQ3
• ADRV9009
• ADRV9371x

Currently, the automation can only be integrated into projects that support JESD204B.

PR Type

  • Bug fix (change that fixes an issue)
  • New feature (change that adds new functionality)
  • Breaking change (has dependencies in other repos or will cause CI to fail)
  • Documentation

PR Checklist

  • I have followed the code style guidelines
  • I have performed a self-review of changes
  • I have compiled all hdl projects and libraries affected by this PR
  • I have tested in hardware affected projects, at least on relevant boards
  • I have commented my code, at least hard-to-understand parts
  • I have signed off all commits from this PR
  • I have updated the documentation (wiki pages, ReadMe files, Copyright etc)
  • I have not introduced new Warnings/Critical Warnings on compilation
  • I have added new hdl testbenches or updated existing ones

@CLAassistant
Copy link

CLAassistant commented Mar 27, 2025

CLA assistant check
All committers have signed the CLA.

@hadarauelena hadarauelena force-pushed the xcvr_params branch 3 times, most recently from 6ad7211 to 2173453 Compare May 29, 2025 06:08
@hadarauelena hadarauelena force-pushed the xcvr_params branch 2 times, most recently from d64d4c8 to 644c192 Compare August 11, 2025 08:08
@hadarauelena hadarauelena marked this pull request as draft September 15, 2025 13:56
@hadarauelena hadarauelena force-pushed the xcvr_params branch 5 times, most recently from fa43aef to d5c70c9 Compare September 25, 2025 14:44
@hadarauelena hadarauelena marked this pull request as ready for review September 25, 2025 14:48
AndrDragomir
AndrDragomir previously approved these changes Oct 1, 2025
StancaPop
StancaPop previously approved these changes Nov 20, 2025
The project is designed to automatically generate xcvr parameters
for specific configurations.

Signed-off-by: Elena-Hadarau_adi <[email protected]>
StancaPop
StancaPop previously approved these changes Nov 20, 2025
@cristianmihaipopa
Copy link
Collaborator

In this PR (#1962), the README file checker should not fail for this project's README anymore.

These scripts are used to import the generated parameters
from the xcvr_wizard project to the project in use.

Signed-off-by: Elena-Hadarau_adi <[email protected]>
Signed-off-by: Elena-Hadarau_adi <[email protected]>
Export the ADI_HDL_DIR environment variable so scripts like gtwiz_parser.pl can access it to locate required HDL files.
@hadarauelena hadarauelena merged commit cd6b380 into main Dec 2, 2025
7 checks passed
@hadarauelena hadarauelena deleted the xcvr_params branch December 2, 2025 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants