ppqout
ppqout is the low-level output-combiner inspection and testing tool.
It is mainly used to verify how the four streamer outputs are routed, masked, inverted, forced, and combined into the final qout bus.
When to use it
Use ppqout when you want to:
- inspect or change the combiner mode directly
- verify masks, inversions, and forced values without streaming a full sequence
- run the combiner self-tests
- debug streamer routing before bringing up a peripheral or external instrument
Common options
Streamer values:
-q1,-q2,-q3,-q4: set the direct qout value for each streamer
Combiner mode:
-out_sel1,-out_sel2,-out_sel3,-out_sel4-out_and,-out_or,-out_xor,-out_xnor-out_maj-out_block8,-out_block16-out_sum12,-out_sum1234,-out_diff12
Per-port transforms:
-invert1,-invert2,-invert3,-invert4-mask1,-mask2,-mask3,-mask4-force1,-force2,-force3,-force4
Output transforms:
-invert_out-mask_out-force_out
Reporting and tests:
-report_pre-report_post-self_test-test <n>
Examples
Select streamer 1 directly:
ppqout -veryverbose -out_sel1
Run the built-in combiner self-test:
ppqout -self_test
Stress-test the combiner path:
ppqout -test 100000
Inspect a specific mask/invert/force configuration:
ppqout -veryverbose \
-invert1 0x12345678 -invert2 0xabcdef12 -invert3 0x11223344 -invert4 0x44332211 \
-mask1 0xffffff00 -mask2 0xffff00ff -mask3 0xff00ffff -mask4 0x00ffffff \
-invert_out 0x1 -mask_out 0xffffffee \
-q1 0xaabb11dd -q2 0xaa22ccdd -q3 0x33abcdef -q4 0x44444444 \
-report_pre -report_post
What to expect
With -veryverbose, ppqout prints:
- the selected combiner mode
- the configured inversion, mask, and force values for each input and the output
- the live
qout(streamer N)values - the transformed
combiner_inNvalues - the resulting
combiner_out
-self_test performs quick built-in checks and returns a non-zero exit status if a failure is detected.
-test <n> runs a more intensive randomized combiner validation loop.