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 mode in which lock is deasserted. This may be specified as clock<br />

mode or cycle mode. Clock mode specifies the deassertion of lock as the number of clocks from<br />

when lock was previously asserted. Cycle mode specifies the number of cycles to expire before<br />

lock is deasserted. In cycle mode, lock is deasserted when Mn_request is deasserted during the<br />

last locked cycle.<br />

• * unlock_delay = [integer:range 1 to 255]<br />

This parameter specifies the number of clocks to deassert lock after it was previously<br />

asserted, or the number of cycles to elapse before it is deasserted. The mode for the<br />

deassertion of lock is specified with the unlock_mode parameter. A cycle is defined by the<br />

assertion of PLB_MAddrAck, PLB_MTimeout or M_abort. Note that if two commands are<br />

given, both with an unlock_delay > 1, the unlock_delay from the first command will be used to<br />

deassert M_buslock and not the second. For example:<br />

write(addr=08f9f360,size=0001,priority=11,lock=1,unlock_delay=4,unlock_mode=cycle)<br />

read(addr=08f9f460,size=0001,priority=11,lock=1,unlock_delay=3,unlock_mode=cycle)<br />

In this case, the M_buslock will be deasserted 4 cycles after the write request. The<br />

unlock_delay of 3 will be ignored.<br />

• * type = [3 bit] default:000<br />

This parameter specifies the Mn_type signals of the PLB. The valid size combinations are listed in<br />

the PLB architecture specifications under transfer qualifier signals. The default value is a memory<br />

transfer.<br />

• * compress = [1 bit] default:0<br />

This parameter enables the assertion of the Mn_Compress signal for the duration of the master<br />

request phase.<br />

• * guarded = [1 bit] default:0<br />

This parameter enables the assertion of the Mn_Guarded signal for the duration of the master<br />

request phase.<br />

• * ordered = [1 bit] default:0<br />

This parameter enables the assertion of the Mn_Ordered signal for the duration of the master<br />

request phase.<br />

• * lockErr = [1 bit] default:0<br />

This parameter enables the assertion of the Mn_lockErr signal or the duration of the master<br />

request phase.<br />

• burst_count = [integer]<br />

This parameter specifies the total number of data transfers when a burst cycle is used with the size<br />

parameter. The master will continue to execute cycles until an internal transfer counter equals the<br />

burst_count parameter. Note that this parameter is only used when a burst cycle is specified with<br />

the size parameter. For a burst of one data transfer, the rd/wr_burst signals will not be asserted,<br />

and the burst_count parameter should be set to ‘1’ or simply omitted from the command.<br />

Note: For fixed length bursts, the PLB Architecture allows the pre-mature de-assertion of the<br />

M_rd/wrburst signal before the number of data beat transfers specified by the byte enables.<br />

The PLB Architecture also allows Masters to continue bursting beyond the fixed length burst<br />

beat count if a slave burst terminate signal is NOT received during a fixed length burst transfer.<br />

36 <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!