CONSTANT DATA |
- The user defined data bytes (max 32-bit wide) is constantly sent on all stream
transfers.
-
The user can select the constant data pattern by setting
tdata_pattern csv field
to
constant and can set the data byte
value on tdata_pat_value csv field.
-
For example, if the tdata_pattern= constant, tdata_pat_value=
0x5556_5758 and AXI Data Width= 64, all the stream transfer
values of the given instruction will be sent as
0x0000_0000_5556_5758.
|
RANDOM DATA |
|
HAMMER DATA |
- The hammer data has long number of tail bits (MSbits) with value of 0 or 1 and short
number of header bits (LSbits) with inverted bit value in a
stream transfer. In each stream packet, the value of tail bits
(wide of ¾th of data_width_bits) and header bits (wide of ¼th of
data_width_bits) of first stream transfer are 0 and 1
respectively. From the second transfer onwards, each stream
transfer value is generated as inverse of previous stream
transfer.
-
The user can select the hammer data pattern by setting the
tdata_pattern csv field to
hammer.
-
For example, if AXI Data Width= 64, pkt_cnt=2 and
pkt_len=0x5, stream transfers are generated as below:
-
In each stream packet, the 1st stream transfer is calculated
as header bits of 16{{1’b1}} and tail bits of 48{{1’b0}}.
From 2nd transfer onwards, the previous tdata value are
inverted on each transfer.
TDATA = 0x0000_0000_0000_FFFF, TLAST = 0
TDATA = 0xFFFF _ FFFF _FFFF_0000, TLAST = 0
TDATA = 0x0000_0000_0000_FFFF, TLAST = 0
TDATA = 0xFFFF _ FFFF _FFFF_0000, TLAST =
0
TDATA = 0x0000_0000_0000_FFFF, TLAST = 1
TDATA = 0x0000_0000_0000_FFFF, TLAST = 0
TDATA = 0xFFFF _ FFFF _FFFF_0000, TLAST =
0
TDATA = 0x0000_0000_0000_FFFF, TLAST = 0
TDATA = 0xFFFF _ FFFF _FFFF_0000, TLAST =
0
TDATA = 0x0000_0000_0000_FFFF, TLAST = 1
|
BYTE_INCR DATA |
- Every byte in the stream transfer has an incremented value. In
each stream packet, the LSbyte value of first transfer is 0x00
and every other byte of transfers has an incremented value.
-
The user can select the byte_incr data pattern by setting
tdata_pattern csv field to
byte_incr.
-
For example, if AXI Data Width= 128, pkt_cnt=2 and
pkt_len=0x3, stream transfers are generated as below:
TDATA=
0x0F0E_0D0C_0B0A_0908_0706_0504_0302_0100, TLAST= 0
TDATA=
0x1F1E_1D1C_1B1A_1918_1716_1514_1312_1110, TLAST= 0
TDATA=
0x2F2E_2D2C_2B2A_2928_2726_2524_2322_2120, TLAST= 1
TDATA=
0x0F0E_0D0C_0B0A_0908_0706_0504_0302_0100, TLAST= 0
TDATA=
0x1F1E_1D1C_1B1A_1918_1716_1514_1312_1110, TLAST= 0
TDATA=
0x2F2E_2D2C_2B2A_2928_2726_2524_2322_2120, TLAST= 1
|
16BYTE_INCR DATA |
- Every 16 byte in the stream transfer has an incremented value.
In each stream packet, the value of Least significant 16 bytes
of first transfer is 0x0 and every other set of 16 bytes of
transfers has an incremented value.
Note: 16byte_incr data pattern is only
supported on 128-bit, 256-bit and 512-bit data width
designs.
-
The user can select the 16byte_incr data pattern by setting
tdata_pattern
csv field to
16byte_incr.
-
Example1, if AXI Data Width= 128, pkt_cnt=2 and pkt_len=0x4,
stream transfers are generated as below:
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0000, TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0001, TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0002, TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0003, TLAST= 1
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0000, TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0001, TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0002, TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0003, TLAST= 1
- Example2, if AXI Data Width= 256, pkt_cnt=2 and pkt_len=0x4,
stream transfers are generated as below:
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0001_0000_0000_0000_0000_0000_0000_0000_0000,
TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0003_0000_0000_0000_0000_0000_0000_0000_0002,
TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0005_0000_0000_0000_0000_0000_0000_0000_0004,
TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0007_0000_0000_0000_0000_0000_0000_0000_0006,
TLAST= 1
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0001_0000_0000_0000_0000_0000_0000_0000_0000,
TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0003_0000_0000_0000_0000_0000_0000_0000_0002,
TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0005_0000_0000_0000_0000_0000_0000_0000_0004,
TLAST= 0
TDATA=
0x0000_0000_0000_0000_0000_0000_0000_0007_0000_0000_0000_0000_0000_0000_0000_0006,
TLAST= 1
|