The COmmunication Synthesis Infrastructure framework, is a
public-domain design framework for the design exploration and
synthesis of interconnection networks.
COSI, based on the Platform-Based Design paradigm, allows researchers and designers to contribute, combine, and compare optimization algorithms, communication protocols, partial designs, and models for interconnection design. Specifically, COSI enforces a clean separation among network specification, the library of building blocks that can be instanced and composed to derive the network implementation, the models of performance and cost associated with each of them, and the optimization algorithms that are used to explore the design space. Adopting this methodology allows comparing different interconnection topologies and different building blocks thus smoothing out preconceived ideas about efficiency of particular interconnection schemes.
The design paradigm advocated by COSI is implemented in the form of a software library which defines the data structures and their organization. The release of COSI also includes two design flows for on-chip communications and building automation networks. Specifically:
- COSI NoC 1.2 for on chip networks
- COSI 2.0 core library
- COSI 2.0 for on-chip communications
- COSI 2.0 for building automation networks (wired, wireless upon request)
The result of this study is a general methodology for the design
space exploration of networks. The formulation of the design
problem is independent of the particular application domain. In
fact, the behavior of the components of a network can be
abstracted to a set of flows traversing network components. Once
the behavior is fixed, one has to define the models of
performance and cost associated with the components and rules to
The COSI software library defines basic classes to model the following aspects of a design flow:
- Quantities: variables used to capture components' attributes such as performance and cost.
- Communication structures: a special class of labeled graph to model communication networks.
- Components: elements of the communication library. Each components provides an interface for instantiation and is associated with a set of models that compute quantities to be attached to the component.
- Composition rules: special rules that must be satisfied when composing elements from the library. Example of rules are interface compatibility and topology restrictions.
- Environment: elements of the embedded system surrounding the network. Examples are the walls and floors of a building that affect the performance and cost of a building automation network.
- Synthesis algorithms: specific optimization algorithms that solve a network synthesis problem.
- Input/Output: parsers and code generator to read the specification of a network synthesis problems and generate results and simulators.
COSI provides the full implementation of two design flows for
on-chip communications and building automation networks.
The on-chip communication design flow allows to read the specification of a System-on-Chip in terms of the IP cores (including their geometrical properties), the communication requirements among them, and the models of the on-chip communication components. Several synthesis algorithms are provided to generate an optimal network with different properties. Code generators are also provided to produce numerical results as well as SystemC executable simulations.
The building automation network design flow allows to read the specification of a the problem in a graphical format (including the floorplan of a building, the wiring restrictions, the position of sensors and actuators and the communication requirements among sensors, actuators and controllers). Several synthesis algorithms are provided to synthesize and optimal network. Code generators are available to provide graphical and numerical results.
COSI does not...
COSI does not implement, as of today, a general enough algorithm to solve any network design problem. This problem very complex and, indeed, it is not new. It has been extensively studied by computer scientists and operations researchers for the design of data networks and transportation networks. A large body of approximation and heuristic algorithms is available. The algorithms can be applied to the synthesis and optimization of interconnection networks for systems-on-chip or distributed embedded systems provided they are properly adapted and combined with accurate models of performance and cost of the communication building blocks. COSI offers the infrastructure and the methodology to relief designers from the burden of implementing these algorithms fighting with design software.