FIREQSoC#
- class FIREQ_LL_API.FIREQSoC(*args: Any, **kwargs: Any)[source]#
Bases:
OverlayLow-level representation of the FIREQ SoC.
Responsibilities: - Load the bitfile. - Initialise RF clocks (optional). - Use FireqParser on the HWH to:
Bind AXI full/lite interfaces for FIREQ IPs.
Build lists of Generator/Acquisition/Trigger IPs.
Discover infrastructure IPs (RF-DC, AXI switch, DMA).
Build validated hardware specs (sample rates, Nyquist, etc.).
- set_logger(new_logger: Logger) None[source]#
Set the logger for this object.
- Parameters:
new_logger (logging.Logger) – Logger object to use
- set_nyquist_zone(tile: int, block_id: int, zone: int) None[source]#
Set the nyquist zone for a certain DAC or ADC.
- Parameters:
tile (int) – FPGA tile number, such as 228, 224, etc.
block_id (int) – Converter block number, starts at 0
zone (int) – Nyquist zone, starts at 1
- get_ip_frequency(full_ip_name: str, clock_port: str) float[source]#
Get the fabric frequency of an IP.
- Parameters:
full_ip_name (str) – Full name of the IP.
clock_port (str) – Name of the clock port of the IP.
- Returns:
Fabric frequency in MHz.
- Return type:
float
- reset_all_ip_memory_and_registers() None[source]#
Reset the registers and memory for all FIREQ IPs in the design.
- set_adc_autocalibration_status(adc_index: tuple[int, int], freeze: bool = True) None[source]#
Freeze or unfreeze the calibration of all ADCs.
- Parameters:
adc_index (tuple[int, int]) – Index of the ADC to set the calibration status for as (tile, block).
freeze (bool) – Whether to freeze the calibration, defaults to True