|
To create the mastercommands.dat bus functional model simulation file, you must first create a bus transaction input file (input.dat) that describes the read, write, wrapping, and incremental burst options, as well as busy and idle transactions and periods of idleness that are initiated by the embedded processor core and directed to the PLD, and then use the exc_bus_translate utility to generate the mastercommands.dat file, which can then be used by the bus functional model to simulate bus transactions. The input.dat may contain only the following the bus transactions in the following high-level command syntax:
COMMAND ::= WRITE ( START, SIZE, LENGTH, DATAVALUE, [ , DATAVALUE …] ); | READ ( START, SIZE, LENGTH); | READMATCH ( START, SIZE, LENGTH, DATAVALUE, [ , DATAVALUE …] ); | INACTIVE ( CYCLES ); READ ::= "read" | "read_i" | "read_w" READMATCH ::= ::= "readmatch" | "readmatch_i" | "readmatch_w" WRITE::= "write" | "write_i" | "write_w" INACTIVE ::= "inactive" START::= <integer> SIZE::= "8" | "16" | "32" LENGTH::= <integer> DATAVALUE::= <integer> IDLE::= "idle" CYCLES::=<integer> <integer>::= C style integer specified as unsigned decimal or hex.
The _i
and _w
suffixes denote a INCREMENTING BURST
and WRAPPING BURST
, respectively.
You may also include comments in the syntax. The following example shows an excerpt of a sample file that includes comments, preceded by two slashes (//):
read (1025, 8, 1); // read byte at address 1025 write (1024, 16, 1, 73); // write the 16-bit value 73 into address 1024 read (1025, 8, 3); // read bytes at addresses 1025, 1026, 1027 write (1024, 32, 3, 1 ,2, 3); // write the values 1, 2, 3 into the words at // addresses 1024, 1028, 1032
When creating the Master Port High-Level Command File, use the following guidelines:
INACTIVE
command inserts a number of cycles of inactivity, not IDLE
bus cycles.READMATCH
command allows the expected data to be specified.
- PLDWorld - |
|
Created by chm2web html help conversion utility. |