Skip to content

Modify full speed signal gen to remove the DDSs for baseband pulses generation and save BRAM resources#341

Merged
meeg merged 27 commits intomainfrom
PR-28-modify-full-speed-signal-gen-to-remove-the-ddss-for-baseband-pulses-generation-and-save-bram-resources
Jun 24, 2025
Merged

Modify full speed signal gen to remove the DDSs for baseband pulses generation and save BRAM resources#341
meeg merged 27 commits intomainfrom
PR-28-modify-full-speed-signal-gen-to-remove-the-ddss-for-baseband-pulses-generation-and-save-bram-resources

Conversation

@ghost
Copy link
Copy Markdown

@ghost ghost commented Jun 11, 2025

Updated signal_gen_v6 with 2 parameters:

  • GEN_DDS to enable/disable DDS generation (saves 32 BRAM per gen)
  • ENVELOPE_TYPE to select if envelope table is Real or Complex (cuts envelope BRAM in half)

Created 16full-speed channels project in https://github.com/openquantumhardware/qick_fw_misc/tree/main/qick_tprocv2_216_rfbv2_16fullspeed

@ghost ghost added this to the Next Release milestone Jun 11, 2025
@ghost ghost assigned meeg Jun 11, 2025
@ghost ghost added enhancement New feature or request software Anything related to Jupyter/Python scripts firmware Anything related to FPGA design labels Jun 11, 2025
qickbot and others added 6 commits June 11, 2025 02:20
…baseband-pulses-generation-and-save-bram-resources' of github.com:openquantumhardware/qick_internal into 28-modify-full-speed-signal-gen-to-remove-the-ddss-for-baseband-pulses-generation-and-save-bram-resources
…al-gen-to-remove-the-ddss-for-baseband-pulses-generation-and-save-bram-resources' into PR-28-modify-full-speed-signal-gen-to-remove-the-ddss-for-baseband-pulses-generation-and-save-bram-resources
…or-baseband-pulses-generation-and-save-bram-resources' of github.com:openquantumhardware/qick into PR-28-modify-full-speed-signal-gen-to-remove-the-ddss-for-baseband-pulses-generation-and-save-bram-resources
@ghost ghost marked this pull request as ready for review June 11, 2025 15:33
@meeg
Copy link
Copy Markdown
Contributor

meeg commented Jun 23, 2025

  • QickConfig.description() was accessing QickSoc attributes, which breaks Pyro - changed to use the QickConfig dictionary
  • the check for complex envelopes in load() was using np.isreal(), which doesn't do the job - changed to check that the Q values are zero
  • added a complex-envelopes check in add_envelope() - we want to validate programs on the user side before they get pushed to the board
  • undo some changes to how hierarchies are handled in _get_block(), clean up map_signal_paths() instead
  • general cleanup of generator driver classes
  • the checks for unsupported pulse parameters in asm_v2.py were incomplete
  • added similar checks for asm_v1.py

The demo firmware is https://s3df.slac.stanford.edu/people/meeg/qick/tprocv2/2025-06-11_216_tprocv2r23_rfbv2_16fullspeed/.

@ghost
Copy link
Copy Markdown
Author

ghost commented Jun 23, 2025

@meeg is it ready to merge? do you want me to check something on my side before?

@meeg meeg merged commit 8f9bd3f into main Jun 24, 2025
2 checks passed
@meeg meeg deleted the PR-28-modify-full-speed-signal-gen-to-remove-the-ddss-for-baseband-pulses-generation-and-save-bram-resources branch June 24, 2025 01:18
@meeg meeg mentioned this pull request Aug 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request firmware Anything related to FPGA design software Anything related to Jupyter/Python scripts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants