beautypg.com

Using variable values in creating patterns on bus – Teledyne LeCroy Sierra M6-4 SAS_SATA Protocol Analyzer User Manual User Manual

Page 434

background image

Teledyne LeCroy

Sierra Trainer Generation Language

430

 

 

Sierra M6‐4 SAS/SATA Protocol Analyzer User Manual

when {WF_OPEN_ACCEPT} do { … }

elsewhen {WF_OPEN_REJECT} do { … }

on_timeout { … } }

Example:

wait_for (100000) { WF_OPEN_ACCEPT WF_TIMEOUT} { … } # (100 ms)

Note:

Nested wait should not exceed 2 deep. Use a procedure call to extend wait logic sequence. Wait

+ Wait_For ok.

Using Variable Values in Creating Patterns on Bus

In creating patterns to send on bus, trainer script allows using variables. In these cases,
because the created pattern is dynamic, it is not possible to do scrambling and calculating
in software code. These tasks are done in the hardware engine. To activate, set “Auto
scramble mode” in “on” state.

The following examples show uses of variables in creating patterns.

Use variable for field value:

SendOpenAddressFrameSSP

{

InitiatorPort = 0x1

InitiatorConnectionTag = @variableName1

…...

}

The constraints are:

Field Length bigger than 64 bit is not supported.

Field StartBitOffset and EndBitOffset should be in same DWORD, except for
length bigger than 32.

Use LRF directly for field value:

SendSSPFrameCommand_Initiator

{

Data = LRF[startBitOffset:endBitOffset]

Tag = 0x101

}

The constraints are:

Length bigger than 64 bit is not supported.

Offsets (StartBitOffset and EndBitOffset) should be in same DWORD, except for
length bigger than 32.

SendSSPFrameCommand

{

#Data = {00112233 @variableName1 @variableName2 44556677}

}

RawData {

K28.5 D24.0 D30.0 D01.4