Skip to content

tproc v.2 and Weighted buffer #146

Description

@rodolfocarobene

It's time to add formal support to the new QICK processor (tproc v2) which is controlled with asm_v2.
This will change most of the programs code since everything there was based on asm_v1. Moreover, the challenge is not little since there is no full documentation for the new processor. However, the sooner the better.

Here are some resources to take some information from (they are possibly outdated, but still could be valuable).

The idea should be to not consider at the beginning FluxProgram (or dc pulses), just move from QickProgram to QickProgramV2 (and AveragerProgram/NDAveragerProgram to AveragerProgramV2). The development should just focus on a simple fixed firmware with "easy-enough" generators and acqusition IPs.

Then we can add DC pulses, as we are considering now with not-only DC channels.

In a second moment, we should generalize the software to support (and autodetect) different DAC/ADC IPs. Note that there are several IPs and that we should in principle support all the different version. At the moment, we have very limited support for these and actually support only 4-mux readout under quite specific and hardcoded circustamces. Instead, we should be more flexible, as QICK is being.

The main IPs to be supported should be:

  • axis_signal_gen_v6: AXI-Stream waveform generator with on-chip waveform memory
  • axis_sg_int4v2: 4x interpolated signal generator for higher effective output frequencies
  • axis_sg_mux4/mux8/mixmux8: multiplexed generators with 4 or 8 channels; mix variants use internal DAC mixer
  • axis_constant_iq: outputs constant I/Q values for DC reference or continuous carrier
  • axis_readout_v3: basic readout with demodulation, decimation, and transfer to host
  • axis_pfb_readout_v4: includes polyphase filter bank for advanced channelization
  • axis_dyn_readout_v1: dynamic readout adapting to incoming waveform

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions