Visible to Intel only — GUID: jlb1606925012141
Ixiasoft
Visible to Intel only — GUID: jlb1606925012141
Ixiasoft
13.9.4. Configuration and Status Registers
Configuration registers that govern the resulting traffic pattern affect one of the following aspects of the pattern:
- Test duration / Instruction pattern
- Address pattern
- Data pattern
Symbol Address | Register Name | Register Width | Number of Registers | Readable or Writeable | Register Section | Register Description |
---|---|---|---|---|---|---|
0x0 | TG_VERSION | 32 | 1 | Readable | N/A | Version number of the traffic generator address map. |
0x4 | TG_START | 1 | 1 | Writeable | N/A | Perform a write to this register to start the traffic generator (any value). |
0x8 | TG_LOOP_COUNT | 32 | 1 | Readable and Writeable | Test Duration/Instruction Pattern | The number of read/write loops to run. A loop is defined as a block of writes followed by a block of reads. If this value is set to 0, the traffic generator will run infinite loops. |
0xC | TG_WRITE_COUNT | 12 | 1 | Readable and Writeable | Test Duration/Instruction Pattern | The number of unique writes to perform in each loop. |
0x10 | TG_READ_COUNT | 12 | 1 | Readable and Writeable | Test Duration/Instruction Pattern | Number of unique reads to perform in each loop. |
0x14 | TG_WRITE_REPEAT_COUNT | 16 | 1 | Readable and Writeable | Test Duration/Instruction Pattern | Number of times to repeat each write operation. |
0x18 | TG_READ_REPEAT_COUNT | 16 | 1 | Readable and Writeable | Test Duration/Instruction Pattern | Number of times to repeat each read operation. |
0x20 | TG_CLEAR | 4 | 1 | Readable and Writeable | Status | Clears the failure status registers. Allows clearing these registers independently from one another by writing a 1 to the following bits. BIT0 - Clears the recorded PNF data. BIT1 - Clears the recorded number of Avalon reads. BIT2 - Clears the recorded data of the first failure (address, expected data, and actual data). BIT3 - Clears the recorded data of address overflow due to burst length (last address written to, failure status). |
0x1C | TG_BURST_LENGTH | 7 | 1 | Readable and Writeable | Test Duration/Instruction Pattern | Avalon burst length. |
0x38 | TG_RW_GEN_IDLE_COUNT | 16 | 1 | Readable and Writeable | Test Duration/Instruction Pattern | Number of cycles for which the traffic generator remains idle between a write block and the next read block. |
0x3C | TG_RW_GEN_LOOP_IDLE_COUNT | 16 | 1 | Readable and Writeable | Test Duration/Instruction Pattern | Number of cycles for which the traffic generator remains idle between a read block and the next write block. |
0x40 | TG_SEQ_START_ADDR_WR | 32 | 12 | Readable and Writeable | Address Pattern | Start address for writes; used as a seed address in Random and Fixed Modes. Consists of 12 registers, 2 for each address field.[CS1] Each pair of adjacent registers represents the lower 32 bits and upper 32 bits of a start address for the corresponding field. For example: |
0x80 | TG_ADDR_MODE_WR | 2 | 6 | Readable and Writeable | Address Pattern | Address mode for writes. Consists of 6 registers, where each register specifies the write address mode for the corresponding address field. Available address modes include (see Address Generator Modes for details): |
0xC0 | TG_RETURN_TO_START_ADDR | 1 | 1 | Readable and Writable | Address Pattern | If set to 1, specifies to return to start address in each loop. If set to 0, specifies to resume the address pattern from where the previous loop left off. |
0x84 | TG_RAND_SEQ_ADDRS_RD | Readable and Writeable | Address Pattern | Number of times to increment sequentially on the random base address before generating a new random write address for reads. | ||
0x88 | TG_PASS | 1 | 1 | Read Only | Status | A value of 1 indicates that the traffic generator passed at the end of all test stages. |
0x8C | TG_FAIL | 1 | 1 | Read Only | Status | A value of 1 indicates that the traffic generator failed at the end of all test stages. |
0x90 | TG_FAIL_COUNT_L | 32 | 1 | Read Only | Status | The number of failed reads (lower 32 bits). |
0x94 | TG_FAIL_COUNT_H | 32 | 1 | Read Only | Status | The number of failed reads (upper 32 bits). |
0x98 | TG_FIRST_FAIL_ADDR_L | 32 | 1 | Read Only | Status | The address of the first failed read (lower 32 bits). |
0x9C | TG_FIRST_FAIL_ADDR_H | 32 | 1 | Read Only | Status | The address of the first failed read (upper 32 bits). |
0xA0 | TG_TOTAL_READ_COUNT_L | 32 | 1 | Read Only | Status | The number of read operations executed - sent and received (lower 32 bits). |
0xA4 | TG_TOTAL_READ_COUNT_H | 32 | 1 | Read Only | Status | The number of read operations executed - sent and received (upper 32 bits). |
0xA8 | TG_TEST_COMPLETE | 1 | 1 | Read Only | Status | A value of 1 indicates that the traffic generator run has completed. |
0xAC | TG_INVERT_BYTEEN | 1 | 1 | Readable and Writeable | Data/Byte-Enable Pattern | If set to 1, specifies to invert byte-enable values and write_data. |
0xB4 | TG_USER_WORM_EN | 1 | 1 | Readable and Writeable | Test Duration/Instruction Pattern | If set to 1, enables WORM mode. |
0xB8 | TG_TEST_BYTEEN | 1 | 1 | Readable and Writeable | Data/Byte-Enable Pattern | If set to 1, specifies to change the comparison pass/fail condition, such that for each byte:
|
0xC4 | TG_NUM_DATA_GEN | 5 | 1 | Read Only | Data/Byte-Enable Pattern | Number of data generators in the design. |
0xC8 | TG_NUM_BYTEEN_GEN | 5 | 1 | Read Only | Data/Byte-Enable Pattern | Number of byte-enable generators in the design. |
0xDC | TG_RDATA_WIDTH | 32 | 1 | Read Only | Data/Byte-Enable Pattern | Width of read_data, write_data, and PNF signals. |
0xEC | TG_ERROR_REPORT | 32 | 1 | Read Only | Status | Reports illegal configurations of the traffic generator. Value is 0 when no error is present. (Details about error codes can be found below.) |
0xF0 | TG_DATA_RATE_WIDTH_RATIO | 4 | 1 | Read Only | Data/Byte-Enable Pattern | Data rate width ratio is the ratio between the data width at the ctrl_amm interface and the data width at the memory interface. |
0x100 | TG_SEQ_ADDR_INCR | 8 | 6 | Readable and Writeable | Address Pattern | Sequential address increment for both the read and write addresses. This value is only used if the field mode is set to Sequential. Consists of 6 registers, where each register specifies the sequential address increment for both the read and write address generators of the corresponding address field. For field 0 this value must be greater than or equal to the value of TG_BURST_LENGTH. |
0x140 | TG_SEQ_START_ADDR_RD | 32 | 12 | Readable and Writeable | Address Pattern | Start address for reads; used as a seed address in Random and Fixed modes. Organized as 2*6=12 registers to reserve space for 64-bit start addresses across all address fields. The start addresses are organized such that each pair of 2 adjacent start addresses represent the lower 32 bits and upper 32 bits of a start address. |
0x180 | TG_ADDR_MODE_RD | 2 | 6 | Readable and Writeable | Address Pattern | Address mode for reads. Consists of 6 registers, where each register specifies the read address mode for the corresponding address field. Available address modes include (see Address Generator Modes for details): |
0x1C0 | TG_PASS | 1 | 1 | Read Only | Status | A value of 1 indicates that the traffic generator passed at the end of all test stages |
0x1C4 | TG_FAIL | 1 | 1 | Read Only | Status | A value of 1 indicates that the traffic generator failed at the end of all test stages. |
0x1C8 | TG_FAIL_COUNT_L | 32 | 1 | Read Only | Status | The number of failed reads (lower 32 bits). |
0x1CC | TG_FAIL_COUNT_H | 32 | 1 | Read Only | Status | The number of failed reads (upper 32 bits). |
0x1D0 | TG_FIRST_FAIL_ADDR_L | 32 | 1 | Read Only | Status | The address of the first failed read (lower 32 bits). |
0x1D4 | TG_FIRST_FAIL_ADDR_H | 32 | 1 | Read Only | Status | The address of the first failed read (upper 32 bits). |
0x1D8 | TG_TOTAL_READ_COUNT_L | 32 | 1 | Read Only | Status | The number of read operations executed - sent and received (lower 32 bits). |
0x1DC | TG_TOTAL_READ_COUNT_H | 32 | 1 | Read Only | Status | The number of read operations executed - sent and received (upper 32 bits). |
0x1E0 | TG_TEST_COMPLETE | 1 | 1 | Read Only | Status | A value of 1 indicates that the traffic generator run has completed. |
0x1E4 | TG_INVERT_BYTEEN | 1 | 1 | Readable and Writable | Data/Byte-Enable Pattern | If set to 1, specifies to invert byteenable values and write_data. |
0x1EC | TG_USER_WORM_EN | 1 | 1 | Readable and Writable | Test Duration/ Instruction Pattern | If set to 1, enables WORM mode. |
0x1F0 | TG_TEST_BYTEEN | 1 | 1 | Readable and Writable | Data/Byte-Enable Pattern | If set to 1, specifies to change the comparison pass/fail condition, such that for each byte:
|
0x1F8 | TG_NUM_DATA_GEN | 5 | 1 | Read Only | Data/Byte-Enable Pattern | Number of data generators in the design. |
0x1FC | TG_NUM_BYTEEN_GEN | 5 | 1 | Read Only | Data/Byte-Enable Pattern | Number of byte-enable generators in the design. |
0x200 | TG_RDATA_WIDTH | 32 | 1 | Read Only | Data/Byte-Enable Pattern | Width of read_data, write_data, and PNF signals. |
0x204 | TG_ERROR_REPORT | 32 | 1 | Read Only | Status | Reports illegal configurations of the traffic generator. Value is 0 when no error is present. (See details about error codes below.) |
0x208 | TG_DATA_RATE_WIDTH_RATIO | 4 | 1 | Read Only | Data/Byte-Enable Pattern | Data rate width ratio is the ratio between the data width at the ctrl_amm interface and the data width at the memory interface. |
0x240 | TG_PNF | 32 | ceil(TG_RDATA_WIDTH/32) | Read Only | Status | Persistent Pass Not Fail (PNF) signal. Bus Width = TG_RDATA_WIDTH. |
0x340 | TG_FAIL_EXPECTED_DATA | 32 | ceil(TG_RDATA_WIDTH/32) | Read Only | Status | The expected data on the first failure. Bus Width = TG_RDATA_WIDTH. (See details below.) |
0x440 | TG_FAIL_READ_DATA | 32 | ceil(TG_RDATA_WIDTH/32) | Read Only | Status | The received data on the first failure. Bus Width = TG_RDATA_WIDTH. (See details below.) |
0x540 | TG_DATA_SEED | 32 | TG_NUM_DATA_GEN | Readable and Writeable | Data/Byte-Enable Pattern | Seed or starting value for each data generator (DG). This consists of TG_NUM_DATA_GEN entries. To set the seed value for the first DG[0], use the specified symbol address. For DG[1], increment the symbol address by 4. For DG[2], increment it by 8, etc. |
0x580 | TG_BYTEEN_SEED | 32 | TG_NUM_BYTEEN_GEN | Readable and Writeable | Data/Byte-Enable Pattern | Seed or starting value for each byte-enable generator (BEG). This consists of TG_NUM_BYTEEN_GEN entries. To set the seed value for the first BEG[0], use the specified symbol address. For BEG[1], increment the symbol address by 4. For BEG[2], increment it by 8, etc. |
0x5C0 | TG_PPPG_SEL | 6 | TG_NUM_DATA_GEN | Readable and Writeable | Data/Byte-Enable Pattern | Select pattern for a Data Generator. This consists of TG_NUM_DATA_GEN entries. Select from the available pattern modes: 0: Fixed. 1: PRBS7 2: PRBS15 3: PRBS31 4: Rotating |
0x600 | TG_BYTEEN_SEL | 6 | TG_NUM_BYTEEN_GEN | Readable and Writeable | Data/Byte-Enable Pattern | Select pattern for a Byte-Enable Generator. This consists of TG_NUM_BYTEEN_GEN. Select from the available pattern modes: 0: Fixed. 1: PRBS7 2: PRBS15 3: PRBS31 4: Rotating |
0x640 | TG_ADDR_FIELD_RELATIVE_FREQ | 16 | 6 | Readable and Writeable | Address Pattern | Frequency setting for both reads and writes. Consists of 6 registers, where each register specifies after how many read or write operations an address field generates a new address. To understand relative frequencies of address fields, refer to Address Generator Relative Frequencies. |
0x680 | TG_ADDR_FIELD_MSB_INDEX | 6 | 5 | Readable and Writeable | Address Pattern | Most significant bit (MSB) position setting for both reads and writes. Consists of 5 registers, where each register specifies the index of the MSB of the corresponding field. This ties each of the 6 address generators to a bit range of the generated address. Field number 5 is implied to have an MSB index of AMM_WORD_ADDRESS_WIDTH-1 and need not be specified. The width of an address field is derived from these MSB indices. To understand MSB indices of address fields, refer to Address Generator MSB Indices. |
0x6C0 | TG_BURSTLENGTH_OVERFLOW_OCCURRED | 1 | 1 | Read Only | Status | A value of 1 indicates that an attempt was made to write outside of the address space. This occurs when the current address plus the burst length is greater than the total address space. This is an invalid operation and the burst length is clipped to prevent an invalid operation on the Avalon® interface. |
0x700 | TG_BURSTLENGTH_FAIL_ADDR_L | 32 | 1 | Read Only | Status | The address at which the burst length overflow was attempted (lower 32 bits). The value at this register is valid only if TG_BURSTLENGTH_OVERFLOW_OCCURED is 1. |
0x704 | TG_BURSTLENGTH_FAIL_ADDR_H | 32 | 1 | Read Only | Status | The address at which the burst length overflow was attempted (upper 32 bits). The value at this register is valid only if TG_BURSTLENGTH_OVERFLOW_OCCURED is 1. |
0x740 | TG_WORM_MODE_TARGETTED_DATA | 32 | ceil(TG_RDATA_WIDTH/32) | Readable | Status Checker | Received data from the targeted read. Targeted read data is set when WORM mode is enabled and the result of the second read to the first fail address occurs. Bus Width = TG_RDATA_WIDTH. |
In the table above, some configuration settings and status information can fit within one 32-bit register, while others are broken into several registers. The Starting Address column indicates the address of the first register in the set while the Number of Registers column indicates the number of registers located after the start address.
For example: TG_PPPG_SEL occupies 8 registers when TG_NUM_DATA_GEN=8, so the data can be accessed by reading from addresses 0x5C0, 0x5C4, … 0x5E0.