wiki:DsxArchitectureCreation

Version 6 (modified by Nicolas Pouillon, 17 years ago) (diff)

Split up

The concept

Generic Architecture means we will define some SoC hardware architecture with few variable parameters. The main goal is to change number of Cpus or memory banks, but not main architecture like interconnect choice.

Implementation

An architecture is defined in a python class inherited from GenericArchitecture (defined in dsx). Method architecture will create contents of the SoC: components creation, connections, utilities (like MappingTable?).

You'll have to tell the architecture framework where is the lowest-level component, most probably the base interconnect. This must be archieved by calling self.setBase(component).

Parameters

Anywhere in architecture method, you may call self.getParam(name) to get an architecture instance parameter.

  • name is the parameter name
  • default value is optionnal
    • user-specified value overrides default value
    • if default value is not given when calling getParam, user-specified argument becomes mandatory.
  • default value must be specified in class-global dictionnary 'defaults'

Other specific architecture definitions

You may also use SoclibGenericArchitecture?, a specialization of GenericArchitecture? for VCI-based platforms.

In your design, there may be some MacroComponents you would like to define on their own.