Digital Pattern Generator
The Digital Pattern Generator (Patterns) lets you define the output on the digital lines, using standard types or user-defined types.
When a line is used by the Static I/O as an output element (Slider, Button, or Switch), this has priority over the signal configuration in Patterns.

1. Menu
See Menu in Common Interfaces.
2. Control

Run/Stop button: starts/stops the signal generation.
Trigger, Wait, Run, and Repeat settings let you generate burst signals. See States for more information.
3. Signals Grid

The Signals Grid allows you to customize the display of the signals that you are interested in.
The grid menu contains the following options:
The grid columns are as follows:
- Height: the row height can be changed in the first column.
- Expand/Collapse: each bus can be individually expanded or collapsed.
- Name: shows the signal or bus name.
- Edit: clicking on the edit icon of a signal or bus row opens the editor.
- DIO: shows the device digital IO pin number.
- Parameter: clicking on the edit icon of a signal or bus row opens the parameter editor.
- Type: selects the type (constant, clock, pulse, random, custom, etc.) of signal or bus.
- Output: by clicking on this column, a combo box lets you select the desired output for the corresponding signal or bus.
- Idle: selects the output for the idle state when the generator is not running (Config, Armed, Done, Stopped, or Wait state).
- Parameter #: adjusts the parameter values for the selected signal or bus. The values can be adjusted between the minimum and maximum values selected in the parameter editor.
The grid context menu opens on mouse right-click. This contains similar buttons as the grid toolbar's Add, Remove, and Edit menus.

The waveform area is divided into three sections: top, bottom, and center.
On the bottom area, the time position can be adjusted by a horizontal left mouse button drag while the time base can be adjusted by a right mouse button drag.
- Top Area: In the top-left corner, the status label shows the state of the logic patterns. See Generator States for more information.
- Bottom Area: On the bottom section, the major time grids are displayed.
- Center Area: This area is used to display rows containing the graphical visualization of waveforms.
4. Property Editor
The property editor can be opened for the selected signal, bus, or interpreter under the grid toolbar edit menu.
4.1. Signal

In the signal property editor, the name can be specified and the device pin changed.
4.2. Bus

In the bus property editor, the following can be configured:
- Name: edit the displayed name of the bus.
- Available: shows the available signals.
- Selected: shows the selected bus signals. The signals can be added or removed with the left/right arrow keys or a mouse drag and drop. The order of the bus signals can be changed with up/down arrow keys or with a mouse drag and drop.
- Format: selects the values format of the bus.
- Binary values are displayed with “b” leading character.
- Decimal
- Hexadecimal values are displayed with “h” leading character.
- Vector values are displayed with “v” leading character. Vector value is the raw binary value without index.
- Sign and Magnitude
- Ones' complement
- Two's complement
- Endianness: selects between little and big endian, least significant bit (LSB) first, or most significant bit (MSB) first.
- LSB/MSB: selects the values for first and last indices, LSB, and MSB. The index values can be set so that the index remains within the -32 and +31 range.
4.3. ROM Logic
The ROM Logic channel allows creating combination logic or state machine.

In the property editor, the name and update frequency can be specified, the input and output digital signals selected.
The number of available input signals depends on the Patterns custom buffer size. The signals added for input as well as output can be used as state bits.

The truth table shows the inputs signals in columns on the left side and outputs on the right. Each row defines a combinational logic between input and outputs signals. The statements in consecutive rows might overwrite earlier ones.
The inputs signals for a statement can be X don't care, 0 logic low or 1 logic high.
The output signals can be 0 logic low, 1 logic high, 'input signal' or '/input signal' negation of an input signal.

5. Parameter Editor
The parameter editor can be opened for the selected signal or bus under the grid toolbar's edit menu, under the context menu, or by double-clicking your mouse on the row.
5.1. Parameters

The type, output, and idle parameters have dedicated columns in the signal definition grid. For the other parameters, a minimum and maximum value can be specified and linearly changed using the track bar.
The Idle parameter lets you select the signal or bus output while not running.
The output type determines the output behavior of the signals and buses. For OD and OS signals, use external pull-up or pull-down resistors. The output types are:
- PP – Push Pull: The allowed values are 0 and 1.
- OD – Open Drain: The allowed values are 0 and Z. The bus value is computed by treating Z as 1.
- OS – Open Source: The allowed values are Z and 1. The bus value is computed by treating Z as 0.
- TS – Three State: The allowed values are 0, 1, and Z. The bus values that contain only 0s and 1s are shown as normal numbers. A question
mark is displayed for values that contain Z in at least one of the bus signals.
The possible parameters for different types are the following:
- Constant: By default, a newly added signal or bus is a constant with value Z.
- Output lets you select between PP, OS, OD, and TS.
- Idle lets you select the output value while not running.
- Constant lets you specify the signal(s) value.
- Clock: The parameters used to define a clock signal:
- Output lets you select between PP, OS, and OD.
- Idle lets you select the output value while not
running.
- Frequency lets you specify the clock frequency
expressed in Hz. The maximum clock frequency is half of the digital
base frequency.
- Duty lets you adjust the duty factor between 0%
and 100%.
- Phase lets you adjust the clock phase between 0
and 360 degrees.
- Pulse: The initial values for divider (Div Init) and counter (Cnt Init) specify the initially loaded values, initial delay, when entering in Running state. The Divider specifies the clock division. After dividing the 100Mhz clock by the divider value we will obtain the rate which will be the frequency for the counter. When entering Running state, the initial divider value is loaded. When this expires, the value specified by divider will be loaded upon each expiration. When the counter initial value expires, the Low (or High) value is loaded. Upon the counter reaching the preset value, the level is toggled and the subsequent High (or Low) value is loaded. In case one of these is zero, the level is not toggled.
The parameters used to define a pulse signal:
- Output lets you select between PP, OS, and OD.
- Idle lets you select the output value while not running.
- Start lets you select the pulse to start low or high.
- Low/High lets you adjust the low/high counter values.
- Counter Init lets you adjust the initial counter value. Zero value sets the counter to a low or high value, depending on start parameter.
- Divider lets you adjust the divider value. The base frequency (100 MHz) will be divided by this value for the counter.
- Divider Init lets you adjust the initial divider value.
- Random: The random values are generated on the device. It is not possible to show a preview for this type. To see the output, use the Logic Analyzer instrument or generate custom/random data.
- Output lets you select between PP, OS, OD, and TS. In TS output, the result probability for output levels are the following: Z 50%, 0-low 25% and 1-high 25%.
- Idle lets you select the output value while not running.
- Frequency lets you specify the random output update frequency.
- Custom:Using this type, the user may define a custom digital pattern.
- Output lets you select between PP, OS, OD, and TS. In TS mode, the available device buffer size is half the one for other modes.
- Idle lets you select the output value while not running.
- Frequency lets you specify the sample update frequency.
- Number: Using this type, the bus values will be generated as a constant value.
- Output lets you select between PP, OS, OD, and TS.
- Idle lets you select the output value while not running.
- Number lets you specify the bus constant value.
- Binary/Gray/Johnson Counter: Using these types, the bus values will be generated as Binary/Gray/Johnson counter values.
- Output lets you select between PP, OS, and OD.
- Idle lets you select the output value while not running.
- Frequency lets you specify the bus value change rate. For example, at 1 kHz the binary counter will increment every 1ms.
- Number lets you select the counter start value for binary and Gray counters. A Johnson counter will always start with 0 value.
- Walking 0/1: Using these types, the bus values will be generated as a train of 0 or 1 bits walking left or right.
- Output lets you select between PP, OS, and OD.
- Idle lets you select the output value while not running.
- Frequency lets you specify the bit shift rate.
- Direction lets you select left or right shift direction.
- Length lets you specify the train length of the 0 or 1 bits.
5.2. Custom Plot

The custom plot shows the custom data buffer and allows mouse editing. By pressing a mouse button, the value of the corresponding element in the buffer will be changed depending on the vertical position in the row and on the allowed values. By dragging the mouse, multiple buffer positions can be edited with the same value (all positions between the start and the end of the operation). On a bus waveform, all the signals will be changed to the 0, 1, or Z value. Dragging with the left mouse button and changing the vertical position can change the entered value. Dragging with the right mouse button keeps the initial value.
The Samples allow you to specify the used device sample buffer size. On generation, the buffer is repeated while running.
The Undo and Redo buttons allow you to revert the recent changes.
The Show allows you to select a smaller number of samples than the buffer size starting from the specified value.
5.3. Custom Import
The supported import file types are Comma Separated Values (.csv) and Tab-Delimited Text files (.txt).

- File: it shows the opened file path and a new file can be selected with the Browse button. The import options can be adjusted under the menu next to the Browse button.
- First: specifies the first sample position to be imported.
- Count: specifies the number of samples to be imported. This can be set up to the minimum between the number of samples in the file or the device buffer size.
- Plot:
- File column: shows the file column names.
- Rows: the file data plot.
- [#] columns: the checkboxes let you select for which signal file data column to import.