Technical Topics
This section contains detailed technical reference material for advanced users.
These topics assume you have completed the basic tutorials (00-05) and are familiar with: - QICK program structure (_initialize, _body) - Pulse definition and sequencing - Basic readout configuration
Core Concepts
Advanced Topics
Topic Descriptions
- freq_matching
How frequency matching works between generators and readouts in tProc v2 vs. v1.
- timing
Detailed explanation of timeline management, delays, and synchronization.
- playing_pulses
How to define and play pulses with different styles (const, arb, flat_top).
- gen_config
Complete reference for generator configuration parameters.
- readout_modes
Accumulated (
acquire) vs. decimated (acquire_decimated) readout: what each mode returns, when to use which, and their shared setup.- units
Understanding QICK’s time, frequency, and amplitude units.
- reference_clock
Configuring external reference clocks and clock distribution.
- changing_fs
How to change the FPGA sampling frequency for different bandwidths.
- asmv2_cheatsheet
Quick reference for tProc v2 assembly instructions.
- tutorials
Link to the full Jupyter notebook tutorials.
- tprocv2_migration
Short migration guide for tProc v1 users: hardware sweeps, timing calls, pulse playback, and units.
- example_code
Larger example codebases shared by QICK collaborators, for both tProc v1 and v2.
- xcom
XCOM: Full mesh network for multi-board synchronization and low-latency communication. Covers hardware requirements, communication protocol, command set, and Python interface.
- XCOM-commands
Complete reference of all XCOM commands, including NET commands (for network communication) and LOC commands (for local control).
- pyro4
Pyro4: Network-based multi-board connection for distributed control and data acquisition.
When to Use Each Topic
New to timing concepts? Start with Timing with tProcessor v2
Confused about frequencies? Read How to ensure frequency matching
Need to shape pulses? See How to play pulses with QICK
Changing hardware config? Check Pulse configuration options and Changing sample rates
Not sure whether to use `acquire` or `acquire_decimated`? See Accumulated vs. decimated readout
Using external clock? Refer to Reference clock generation
Writing assembly code? Keep tProc v2 ASM Cheatsheet handy
Coming from tProc v1? Start with Migrating from tProc v1
Synchronizing multiple boards? Read XCOM: Multi-Board Network Synchronization and Communication for the network-based solution
Need XCOM command details? See XCOM Commands Reference for the complete command reference