get_signals_by_cycle
Sample multiple signals per clock cycle from waveform files, aligning values to clock edges for debugging state machines, pipelines, and round-based algorithms.
Instructions
Return cycle-by-cycle sampled values for multiple signals aligned to a clock edge. Useful for state machines, pipelines, and round-by-round algorithm checks.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| edge | No | Sampling edge. Default: posedge | posedge |
| wave_path | Yes | Absolute path to the waveform file | |
| clock_path | Yes | Full hierarchical clock path, for example top_tb.des_clk | |
| num_cycles | No | Number of cycles to sample. Default: 16. The server caps a single query at 256 cycles. Mutually exclusive with end_time_ps. | |
| end_time_ps | No | Alternative count axis: window end; num_cycles is derived as the count of clock edges in [start, end_time_ps] (inclusive). Mutually exclusive with num_cycles. Accepts an integer (ps), a cursor reference like '@div_3a7c', or a unit literal like '12.34ns'. | |
| start_cycle | No | Starting cycle index (0-based). Default: 0. Mutually exclusive with start_time_ps. | |
| signal_paths | Yes | List of full hierarchical signal paths to sample. A bare bus name (no [msb:lsb]) is auto-completed when unique (see resolved_aliases); unresolved names get did_you_mean entries in signal_suggestions. | |
| start_time_ps | No | Alternative start axis: window start; snapped to the first clock edge at/after this time. Mutually exclusive with start_cycle. Accepts an integer (ps), a cursor reference like '@div_3a7c', or a unit literal like '12.34ns'. | |
| sample_offset_ps | No | Sampling offset relative to the clock edge in ps. Default: 1, to capture post-delta register values. |