Software Model Interface
© Copyright 2000-2001 Adrian Lewis
 

SMI Home
Why SMI?
Documentation
Download
Platforms
Future
Support

   

SMI Future Developments

The following extensions have been proposed for future releases of SMI:

Proposal C Interface
Summary Create an interface for modeling using C rather then C++.

Although C++ has been about for a while, there are many engineers that are still only comfortable when they're using C (and some are not even comfortable with C). The extension would enable C-only programmers to use SMI without requiring any C++ knowledge or other new-fangled ideas.

Proposal Cynapps/System-C Integration
Summary Turn the test process into a Cynapps or System-C co-simulation

Currently, signal values are only available to the test process as integer or text strings. By integrating the Cynapps or System-C libraries, signal values could be converted into the bit-vector classes defined by those libraries, and take advantage to the additional functions these libraries provide. This extension could form the basis of a co-simulation environment.

Future developments now implemented

Proposal Communicating Threads
Summary Replace multiple processes with multiple threads
Implemented Version 1.3

Currently, the hardware simulation and the test processes communicate with each other using sockets or CORBA. This extension proposes that the processes are replaces by threads running within the hardware simulation. These threads would communicate using shared data structures, which should be much faster than inter-process communication.

Proposal Model Prototype
Summary Create SMI software model instances using prototype instances.
Implemented Version 1.2

Currently, all SMI software models must be instanced by the test process giving each a specific model and instance name. This is fine for small numbers of models but, for large numbers, naming and creating each model is tedious. This extension proposes that the test process supply SMI with a prototype software model instance of a given model. SMI would then clone this prototype instance whenever a software model instance of that model was required.

Tell me about it!

You can influence the future of SMI by letting me know which extension you'd like to see implemented first (or by proposing your own extension). The Support page contains contact information.