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.

This parameter specifies the data which will be used to update the PLB master internal memory.<br />

An immediate 4-byte data value or an internal register may be used.<br />

Example: mem_update(addr=00001000,data=05060708)<br />

6.3.6 Reg_Update () Command<br />

The reg_update command updates an internal master register during the decode and execution of<br />

master bus commands. Each reg_update command executes in one PLB clock cycle.<br />

• DST = [4 byte]<br />

This parameter specifies the 32-bit destination register of the internal register to be updated.<br />

Example: reg_update(R0=05060708)<br />

6.3.7 Send () Command<br />

The send command causes a vectored intercommunication signal to be asserted at the<br />

corresponding level parameter and does not directly cause PLB bus activity. The synch_Out signal is<br />

asserted for one clock per send instruction and may be used to communicate between multiple model<br />

instantiations in order to coordinate bus activity. The send is executed sequentially along with the<br />

read/write commands and is a serializing instruction, meaning that the model waits for all previously<br />

issued bus cycles to complete on the bus before sending its intercommunication signal.<br />

• level = [integer: range 0 to 31]<br />

The level parameter allows for one or more send signals to be asserted on the synch_Out bus.<br />

Multiple levels may be used in the same clock by listing more than one level. Note that it is possible<br />

for a user to use the same intercommunication level with multiple masters, however the assertion<br />

of the same level in the same clock by multiple masters will not be distinguished on the<br />

intercommunication send vector.<br />

• * req_delay = [integer]<br />

This parameter specifies how many clock cycles the PLB master needs to wait before it asserts the<br />

synch signal for the corresponding send instruction. The counter starts when all cycles on the bus<br />

are complete since the send instruction is a serializing instruction.<br />

Example: send(level=1)<br />

6.3.8 Wait () Command<br />

The wait command causes the bus master to suspend instruction decode until an intercommunication<br />

signal is received. The wait instruction is a serializing instruction and is executed sequentially along<br />

with the read/write commands. In addition, all previously issued bus cycles need to complete on the<br />

bus before the intercommunication signal on the synch_In bus is recognized.<br />

• level = [integer: range 0 to 31]<br />

The level parameter specifies the synch_In signal to be sampled before instruction execution<br />

continues.<br />

Example: wait(level=1)<br />

38 <strong>Processor</strong> <strong>Local</strong> <strong>Bus</strong> <strong>Functional</strong> <strong>Model</strong> <strong>Toolkit</strong> Version 4.9.2

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

Saved successfully!

Ooh no, something went wrong!