|
|
SMI Home Page
This is the home page of the Software Model Interface (SMI).
The Software Model Interface (SMI) is a library for modeling hardware components in a combination of C/C++ and Verilog HDL.
With SMI, hardware components are modelled using simple Verilog bus-functional models (BFMs) controlled by C/C++ running in one or more separate threads or processes.
SMI provides the user with an easy-to-use interface and takes care of all calls to the Verilog-PLI and to the socket/thread library.
Features:
- Powerful implementation
- Create modular re-usable and extendible models.
- Uses multiple processes communicating via sockets or CORBA.
- Models easy to implement and use. For example, for a memory model:
- The Verilog module uses only THREE Verilog task calls.
- The C++ class requires only ONE method in addition to the class
constructor.
- The test code calls only THREE methods on SMI classes plus one constructor
for each memory instance.
- Small learning curve, simple interfaces:
- Fully documented code and user manual with a working example.
- Simple Verilog Interface: only FOUR basic task calls.
- Simple C++ Interface: only FOUR classes, each with an average of FOUR
basic methods.
- Simple installation: run
./configure then make .
- Easy to debug: printable exceptions are raised if SMI encounters a problem.
- Platform portability: tested on Linux and Solaris with Icarus and VCS
simulators.
- Open source: standard GNU License, no sign-up required, no special
conditions of use!
Site Map:
- SMI Home: This page!
- Why SMI?: Why should you use SMI? This page
presents some very persuasive arguments.
- Documentation: The online user
manual and specification explains how to create SMI models and use them in your
simulation environment. The documentation begins with an overview and ends with
a working example.
- Download: The current version of the SMI
software, which includes the online manual and installation instructions, can
be downloaded from this page.
- Platforms: This page describes the
hardware/OS platforms and software versions required to compile and simulate
using SMI.
- Future: You can influence the future of SMI by
reading about proposed extensions presented on this page. Pick the order you'd
like to see the extensions implemented (or suggest your own) and send me an
e-mail.
- Support: Found bugs? Having problems
installing? Want to send me a large cheque but don't know the address? Contact
information is on this page.
This website uses CSS stylesheets and Frames.
|
|