2 send command, Send command – Teledyne LeCroy PETrainer Scripting Language Reference Manual User Manual
Page 86

Teledyne LeCroy
PETrainer Scripting Language
81
16.2 Send Command
A Send command defines a sequence of high-performance packets to send once, a number of times, or
repeatedly. Send commands are allowed only in the Setup command section of a FastTransmit block. A
FastTransmit block can have up to 32 Send commands.
Note: Currently, Send commands are the only commands allowed in the Setup section of FastTransmit
blocks.
The Send command is similar to the Packet=TLP command. The difference is that the Send command
specifically sends memory transactions, which send MRd32/64 or MWr32/64 TLPs at the highest possible
rate. Also, the Send command omits definition of some low-level TLP fields, because they are set
automatically during transmission.
The Send command contains parameters to specify creation of a TLP set or sets:
Parameter
Values
Default
Value
Comment
Snoop
0:1
(Default: NoSnoop)
0
Bit 4 of byte 2 in the TLP header:
0 = hardware enforced cache coherency is
expected.
1 = hardware enforced cache coherency is
not expected.
Ordering
0:1
(Default: Relaxed)
0
Bit 5 of byte 2 of TLP header:
0 = PCI Strongly Ordered Model.
1 = PCI-X Relaxed Ordering Model.
Length
0:1023
1
Length of data payload in DWORDs. If not
specified, this field is 1 for all read/write requests.
For a length of 1024, set Length to 0
(because 0 means 1024).
RequesterID
(XX:XX:X) or
direct value
0
Bytes 4-5 of the TLP Header for
Memory TLP packets.
This parameter can be set in the following format:
(BusNumber:DeviceNumber:FunctionNumber)
Count
0:255
1
Repeats the memory transaction the number of
times specified in a row within the currently
executing loop of the FastTransmit block.
LoopCount
0:255
1
Repeats this command the number of times
specified, within the entire FastTransmit block,
which loops through commands.
LoopCount indicates up to which loop increment
this command repeats. For example:
for(i = 0; i < 255; i++)
{
if(i < this LoopCount)
repeat this Send command
if(i < another LoopCount)
repeat another Send command
etc.
}