FPGA: - Split up MB registers that control daughterboard specific settings so that daughterboards 0 and 1 could have different setings, in preparation for future devices that require different settings. This requires a compat number bump to 8.0. - Add registers for additional RFDC information, including the block/tile mapping of the individual channels, and information about resampling capabilities - Identify sections of code that would be specific to X410/ZBX and move them to their own headers, so it's trivial to add device-specific sections of code instead for other devices in the future. - This includes constraints for clocks and I/O pins. - Remove ability to do timed ctrlport transactions to the MB CPLD, this was unused and possibly broken. - Move daughterboard-specific code into its own code location (dboards/zbx) - Move X410-specific register documentation to its own location (doc/X410) - Refactor Makefiles to split out X410/ZBX specific components and allow switching between device types - Add 512-bit AXI interconnects - Make number of timekeepers configurable (X410 keeps the single timekeeper) MPM: - Required compat is bumped to 8.0 - Now supports new registers for detecting DSP capabilities and multi-rate settings for the daughterboards - Adds MMCM controls (currently unused) Co-authored-by: Wade Fife <wade.fife@ni.com> Co-authored-by: Ryan Marlow <ryan@lmarlow.com> Co-authored-by: Martin Braun <martin.braun@ettus.com> Co-authored-by: Humberto Jimenez <humberto.jimenez@ni.com> Original-commit: c1d268917ea65dd9c5a42366014cb96d3c025223
46 lines
2.2 KiB
Systemverilog
46 lines
2.2 KiB
Systemverilog
//
|
|
// Copyright 2023 Ettus Research, A National Instruments Company
|
|
//
|
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
|
//
|
|
// Module: rfdc_timing_regmap_utils.vh
|
|
// Description:
|
|
// The constants in this file are autogenerated by XmlParse.
|
|
|
|
//===============================================================================
|
|
// A numerically ordered list of registers and their HDL source files
|
|
//===============================================================================
|
|
|
|
// NCO_RESET_REG : 0x0 (rfdc_timing_control.v)
|
|
// GEARBOX_RESET_REG : 0x4 (rfdc_timing_control.v)
|
|
|
|
//===============================================================================
|
|
// RegTypes
|
|
//===============================================================================
|
|
|
|
//===============================================================================
|
|
// Register Group RFDC_TIMING_REGS
|
|
//===============================================================================
|
|
|
|
// NCO_RESET_REG Register (from rfdc_timing_control.v)
|
|
localparam NCO_RESET_REG = 'h0; // Register Offset
|
|
localparam NCO_RESET_REG_SIZE = 32; // register width in bits
|
|
localparam NCO_RESET_REG_MASK = 32'h3;
|
|
localparam NCO_RESET_START_SIZE = 1; //NCO_RESET_REG:NCO_RESET_START
|
|
localparam NCO_RESET_START_MSB = 0; //NCO_RESET_REG:NCO_RESET_START
|
|
localparam NCO_RESET_START = 0; //NCO_RESET_REG:NCO_RESET_START
|
|
localparam NCO_RESET_DONE_SIZE = 1; //NCO_RESET_REG:NCO_RESET_DONE
|
|
localparam NCO_RESET_DONE_MSB = 1; //NCO_RESET_REG:NCO_RESET_DONE
|
|
localparam NCO_RESET_DONE = 1; //NCO_RESET_REG:NCO_RESET_DONE
|
|
|
|
// GEARBOX_RESET_REG Register (from rfdc_timing_control.v)
|
|
localparam GEARBOX_RESET_REG = 'h4; // Register Offset
|
|
localparam GEARBOX_RESET_REG_SIZE = 32; // register width in bits
|
|
localparam GEARBOX_RESET_REG_MASK = 32'h3;
|
|
localparam ADC_RESET_SIZE = 1; //GEARBOX_RESET_REG:ADC_RESET
|
|
localparam ADC_RESET_MSB = 0; //GEARBOX_RESET_REG:ADC_RESET
|
|
localparam ADC_RESET = 0; //GEARBOX_RESET_REG:ADC_RESET
|
|
localparam DAC_RESET_SIZE = 1; //GEARBOX_RESET_REG:DAC_RESET
|
|
localparam DAC_RESET_MSB = 1; //GEARBOX_RESET_REG:DAC_RESET
|
|
localparam DAC_RESET = 1; //GEARBOX_RESET_REG:DAC_RESET
|