09.03.2013 Views

Processor Local Bus Functional Model Toolkit User's Manual

Processor Local Bus Functional Model Toolkit User's Manual

Processor Local Bus Functional Model Toolkit User's Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6.3.9 Branch () Command<br />

The branch command enables the user to re-direct the command decode location within the PLB<br />

master decode unit internal command array. It also enables looping and jumping. Branch targets are<br />

established by specifying label attributes with a PLB master command, such as:<br />

T1:read(req_delay=3,addr=00001000,size=0000,be=1111) -- establish a branch target called T1<br />

Note: The “:” between the label and master command delineates the two BFL constructs. Each<br />

branch instruction executes in one PLB clock cycle.<br />

• SRC<br />

This parameter specifies the condition register to determine whether the branch is taken. A<br />

condition register is used in this comparison.<br />

• OP<br />

This parameter specifies the comparison operator to compare the condition register. The valid<br />

conditions are:<br />

LT: less than<br />

GT: greater than<br />

EQ: equal<br />

NL: not less than<br />

NG: not greater than<br />

NE: not equal<br />

• Label<br />

This parameter specifies the BFL destination of the branch if the condition register matches the<br />

operator parameter. The label must be defined in the test case using the label command attribute.<br />

Example: branch (CR3, LT, Label1)<br />

6.3.10 Move () Command<br />

The move command enables the user to move a 32-bit internal register or internal memory value to<br />

an internal register. Register to Register Move instructions execute in one clock cycle. Internal<br />

memory to register Move instructions are decoded in one clock, and the register update occurs in the<br />

next clock.<br />

Note: Register data is always available in the next clock for following instructions.<br />

• DST=SRC<br />

The SRC parameter specifies the internal register or 32-bit internal memory value to be used as<br />

the source of the move instruction. The DST parameter specifies the internal register which is<br />

updated with the SRC parameter value. The DST may be CR, SR, or R0-31.<br />

Example: move(CR,R0)<br />

Example: move(CR,12345678)<br />

Version 4.9.2 PLB <strong>Bus</strong> <strong>Functional</strong> Language 39

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!