beautypg.com

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

Page 86

background image

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.
}