English
Language : 

COREMP7 Datasheet, PDF (16/30 Pages) Actel Corporation – CoreMP7
CoreMP7
Functionality
This section describes the specific functionality of the
ARM7 BFM. The BFM models the ARM7 native bus.
Specifically, this models the following bus signals:
• ADDR,
// address bus
• WDATA, // write data bus
• RDATA,
// read data bus
• TRANS,
// next transaction type (i, n, or s)
• WRITE,
// indicates write access
• CLKEN,
// clock enable
The BFM also models the following control signals:
• CFGBIGEND, // big/little endian configuration
• CLK,
// clock
• nFIQ,
// interrupt request
• nIRQ,
// fast interrupt request
• SIZE,
// memory access width
CoreConsole v1.1
ARM7 Pin Compatibility
The BFM model is pin-for-pin compatible with the
ARM7TDMI-S. This allows the model to be dropped into
the space that would be occupied by the ARM in the
Verilog/VHDL system testbench.
ARM7 Bus Cycle Accuracy
The bus cycle timings for the ARM7 native bus signals are
specified in the ARM7TDMI Technical Reference Manual.
The BFM models these bus cycles exactly.
Scripting
In order to provide a simple and extensible mechanism
for providing stimuli to the BFM, a BFM scripting
language is defined (see the "BFM Script Language"
section). The scripting language can initiate writes to
system resources, reads from system resources (with or
without checking of expected data), and can wait for
events.
Self-Checking
The BFM gives a pass/fail indication at the end of a test
run. This is based on whether any of the expected data
read checks failed or not.
Endianess
The BFM supports both big and little-endian memory
configurations. For byte and halfword transfers, it reads
and writes data from/to the appropriate data lanes.
Interrupt Support
The BFM has the ability to wait for either of the two
ARM7 interrupt lines to be triggered, before proceeding
with the remainder of the test script.
Log File Generation
The BFM generates output messages to the console of
the simulation tool and also generates a plain text log
file.
BFM Script Language
The following script commands are defined for use by
the BFM:
memmap
This command is used to associate a label, representing a
system resource, with a memory map location. The other
BFM script commands may perform accesses to locations
within this resource by referencing this label and a
register offset relative to this base address.
Syntax
memmap resource_name base_address;
resource_name
This is a string containing the user-friendly instance
name of the resource being accessed. For BFM scripts
generated automatically by CoreConsole, this name
corresponds to the instance name of the associated core
in the generated subsystem Verilog or VHDL.
base_address
This is the base address of the resource, in hexadecimal.
write
This command causes the BFM to perform a write to a
specified offset, within the memory map range of a
specified system resource.
Syntax
write width resource_name byte_offset data;
width
This takes on the enumerated values of W, H, or B, for
word, halfword, or byte.
resource_name
This is a string containing the user-friendly instance
name of the resource being accessed, as defined by the
user in the memory map (when input to CoreConsole).
byte_offset
This is the offset from the base of the resource, in bytes.
It is specified as a hexadecimal value.
data
This is the data to be written. It is specified as a
hexadecimal value.
Example
write W videoCodec 20 11223344;
16
v2.6