AXIS Frequency Multiplexer#

The axisFrequencyMuxIP is a top-level frequency multiplexer designed for quantum readout systems. Its primary purpose is to aggregate multiple tone streams, each corresponding to a distinct resonator frequency, into a single output stream. This enables the readout of multiple qubits through a single physical line.

Mode of Operation#

The IP aggregates input samples through a structured pipeline:

  • Channel Gating: Each input channel is validated via the tvalid (data availability) and tuser (channel enable) signals. Only channels marked as active contribute to the final sum

  • Frequency Multiplexing: The core uses a hierarchical adder tree (see adder_tree/src/adderTree.sv) to perform parallel additions. By summing multiple tone streams in the frequency domain, the IP produces a single multiplexed output stream. Given the DAC sample rate of 9.8 GHz, the system maintains timing closure by processing the summation through 8 parallel adderTree instances

  • Recomposition: A single 256 bit output is returned every clock cycle

AXI Stream channels#

  • Control Signals:

    • s**_axis_tvalid: High when the input sample is valid

    • s**_axis_tuser: Acts as a channel enable; the MSB must be high for the tone to be included in the summation, while the remaining bits are ignored

  • Data Streams:

    • s**_axis_tdata: Individual input streams representing specific frequency tones

    • m00_axis_tdata: The aggregated multiplexed output stream

Creating the AXIS FREQUENCY MULTIPLEXER IP PROJECT#

To generate a copy of the axis frequency multiplexer project:

  • create a directory called workspace/ in the root of this repo

  • move to that directory and source the vivado init script

  • open vivado

  • source the frequencyMux_project.tcl script located in this directory from the vivado tcl console

Set axisFrequencyMuxIP.v as the top module for synthesis and implementation; otherwise, use tb_axisFrequencyMuxIP.sv to simulate with Vivado’s AXI VIP masters to send data to the frequency multiplexer IP.