Visible to Intel only — GUID: iga1401400498366
Ixiasoft
Visible to Intel only — GUID: iga1401400498366
Ixiasoft
39.2.1. Functional Description
You can configure the width of the output data signal to either 32-bit or 40-bit when instantiating the core.
You can configure this core to output 8-bit or 10-bit wide symbols. By default, the core generates 4 symbols per beat, which outputs 32-bit or 40-bit wide data to the Avalon® -ST interfaces, respectively. The core’s data format endianness is the most significant symbol first within a beat and the most significant bit first within a symbol. For example, when you configure the output data to 32-bit, bit 31 is the first data bit, followed by bit 30, and so forth. This interface’s endianness may change in future versions of the core.
For smaller data widths, you can use the Avalon® -ST Data Format Adapter for data width adaptation. The Avalon® -ST Data Format Adapter converts the output from 4 symbols per beat, to 2 or 1 symbol per beat. In this way, the 32-bit output of the core can be adapted to a 16-bit or 8-bit output and the 40-bit output can be adapted to a 20-bit or 10-bit output.
For more information about the Avalon® -ST Data Format Adapter, refer to the Quartus® Prime Standard Edition User Guide: Platform Designer and the Quartus® Prime Pro Edition User Guide: Platform Designer.
Control and Status Interface
The control and status interface is an Avalon® -MM agent that allows you to enable or disable the data generation. This interface also provides the run-time ability to choose data pattern and inject an error into the data stream.
Output Interface
The output interface is a parallel Avalon® -ST interface. You can configure the data width at the output interface to suit your requirements.
Supported Data Patterns
The following data patterns are supported in the following manner, per beat. When the core is disabled or in idle state, the default pattern generated on the data output is 0×5555 (for 32-bit data width) or 0×55555 (for 40-bit data width).
Pattern | 32-bit | 40-bit |
---|---|---|
PRBS-7 | PRBS in parallel | PRBS in parallel |
PRBS-15 | PRBS in parallel | PRBS in parallel |
PRBS-23 | PRBS in parallel | PRBS in parallel |
PRBS-31 | PRBS in parallel | PRBS in parallel |
High Frequency | 10101010 x 4 | 1010101010 x 4 |
Low Frequency | 11110000 x 4 | 1111100000 x 4 |
Note to Table 29–1 :
|
This core does not support custom data patterns.
Inject Error
Errors can be injected into the data stream by controlling the Inject Error register bits in the register map (refer to the Inject Error Field Descriptions table). When the inject error bit is set, one bit of error is produced by inverting the LSB of the next data beat.
If the inject error bit is set before the core starts generating the data pattern, the error bit is inserted in the first output cycle.
The Inject Error register bit is automatically reset after the error is introduced in the pipeline, so that the next error can be injected.
Preamble Mode
The preamble mode is used for synchronization or word alignment. When the preamble mode is set, the preamble control register sends the preamble character a specified number of times before the selected pattern is generated, so the word alignment block in the receiver can determine the word boundary in the bit stream.
The number of bits (Numbits) determines the number of cycles to output the preamble character in the preamble mode. You can set the number of bits (Numbits) in the preamble control register. The default setting is 0 and the maximum value is 255 bits. This mode can only be set when the data pattern generation core is disabled.