onera.pmlanalyzer.pml.examples.simpleKeystone.SimpleKeystonePlatform
Simple model of the Keystone platform illustrating the main features of PML.
The components of the architectures can be created using the constructors provided in pml.model.hardware.BaseHardwareNodeBuilder
For instance the SimpleKeystonePlatform.dma is built with:
val dma: Initiator = Initiator()
An axi-bus is built with:
val axi-bus: SimpleTransporter= SimpleTransporter()
A peripheral or a memory is built with
val sram: Target = Target()
Some components may be composite, if you want to define one instance of composite you can use the object
instantiation pattern used for the TeraNet
object TeraNet extends Composite
You can also define a type of Composite that may be instantiated afterward, for instance here ARMCores are defined
as a composition of a core (initiator) and a cache (transporter). A name is given as a parameter of the ARMCore class
class ARMCore (name:Symbol) extends Composite
Then components can be linked together, this operation simply connect the service of the same type provided by the
two components. For instance
links the pml.model.service.Load and pml.model.service.Store service of the ARM0.core to the ones of the axi-bus
Beware that all links are not possible, for instance you cannot link two pml.model.hardware.Target or a
pml.model.hardware.Composite to another component.
Attributes name the name of the final object merging all facets of the model
See also: Graph Reset zoom Hide graph Show graph
Supertypes class Object
trait Matchable
class Any
Known subtypes Members list Concise view
identifier
the current owner id becomes the id of the current node
the current owner id becomes the id of the current node
Attributes Inherited from: Platform
The full name of a platform is its base name concatenated with the configuration if available
The full name of a platform is its base name concatenated with the configuration if available
Attributes Inherited from: Platform
the implicit descriptor of the source file where the platform is defined
the implicit descriptor of the source file where the platform is defined
Attributes Inherited from: Platform
Name of the type of PML node
Name of the type of PML node
Attributes Inherited from: PMLNode composite_def
Composite representing Keystone ARM cores and their internal L1 cache
Composite representing Keystone ARM cores and their internal L1 cache
Attributes Graph Reset zoom Hide graph Show graph
Supertypes class Object
trait Matchable
class Any
target
Target modelling external DDR
Target modelling external DDR
Attributes
Target modelling DMA registers
Target modelling DMA registers
Attributes
Target modelling MPIC peripheral
Target modelling MPIC peripheral
Attributes
Target modelling SPI peripheral
Target modelling SPI peripheral
Attributes
Target modelling SPI registers
Target modelling SPI registers
Attributes transaction
Set of physical transactions
WARNING: this lazy variable MUST NOT be called during platform object initialisation
Set of physical transactions
WARNING: this lazy variable MUST NOT be called during platform object initialisation
Attributes Inherited from: Platform
Map from the physical transaction id and their service sequence representation
computed through an analysis of the platform
WARNING: this lazy variable MUST NOT be called during platform object initialisation
Map from the physical transaction id and their service sequence representation
computed through an analysis of the platform
WARNING: this lazy variable MUST NOT be called during platform object initialisation
Attributes Inherited from: Platform
Map from the sw to the physical transaction id (default is emptySet)
WARNING: this lazy variable MUST NOT be called during platform object initialisation
Map from the sw to the physical transaction id (default is emptySet)
WARNING: this lazy variable MUST NOT be called during platform object initialisation
Attributes Inherited from: Platform
Map from the service sequence representation to their id
WARNING: this lazy variable MUST NOT be called during platform object initialisation
Map from the service sequence representation to their id
WARNING: this lazy variable MUST NOT be called during platform object initialisation
Attributes Inherited from: Platform initiator
Initiator modelling the DMA
Initiator modelling the DMA
Attributes
Initiator modelling ethernet peripheral
Initiator modelling ethernet peripheral
Attributes printer_function
Print a node only by its name
Print a node only by its name
Attributes Returns: string representation of a PMLNode
Definition Classes Inherited from: PMLNode composite
Composite modelling memory subsystem
Composite modelling memory subsystem
Attributes Graph Reset zoom Hide graph Show graph
Supertypes class Object
trait Matchable
class Any
Self type
Composite modelling the Teranet
Composite modelling the Teranet
Attributes Graph Reset zoom Hide graph Show graph
Supertypes class Object
trait Matchable
class Any
Self type transporter
Transporter modelling AXI bus
Transporter modelling AXI bus
Attributes route_relation
Relation gathering routing constraints
Relation gathering routing constraints
Attributes Inherited from: Instances Type members
Extension methods for physical transaction identifiers
Extension methods for physical transaction identifiers
Attributes x the name of the physical transaction
Inherited from: Platform Graph Reset zoom Hide graph Show graph
Supertypes class Object
trait Matchable
class Any
Value members
Enable to provide the name implicitly
Enable to provide the name implicitly
Attributes implicitName the name of the object/class inheriting from this class
will be the name of platform
Build the scenario id as "t_1|...|t_n"
Build the scenario id as "t_1|...|t_n"
Attributes s the set of physical transactions forming the scenario
Returns: the unique id of the scenario
Inherited from: Platform Implicits
Extension methods for physical transaction identifiers
Extension methods for physical transaction identifiers
Attributes x the name of the physical transaction
Inherited from: Platform