Why Choose Proteus VSM?
When choosing the right software solution it is often easy to lose sight of which products offer what functionality, particularly when several software companies offer packages which at first glance may look identical. Proteus VSM was the first microcontroller co-simulation package and offers more models with greater detail at the best price. To help clarify this, and to avoid confusion over product offerings, we have compiled some functional comparisons below.
Microcontroller Model Functionality
The core of any embedded system design is the microcontroller and the completeness of the model as well as it's accuracy are therefore of primary importance. You should always ensure that simulation models for microcontrollers not only support a peripheral that you want to use but support the mode in which you want to use the peripheral and to a satisfactory level of detail. We have found that some microcontroller models are in fact little more than instruction set simulators (which is light years away from from the level of detail in Proteus VSM microcontroller models !!) The following chart details model particulars - please note that not all peripherals exist on all devices.
The above listing is of course not comprehensive and we have tended not to include peripherals specific to a particular device or one particular family (the Memory Accelerator Module in the LPC2000 family for example). We have however, included all peripherals relevant to devices supported by alternative packages. If you have any questions on Proteus VSM microcontroller models please feel free to contact us.
Microcontroller Coverage
It's not a great deal of use to have a functionally perfect microcontroller model of a variant that you don't want to use and have no model at all for a device you do want to use. The following chart details the model families available . Note that you should always check that variants you want to use are actually modelled - Proteus VSM offers well over 150 microcontroller variants across our range and we are continually responding to customer demand to implement additional variants.
| Proteus VSM | EWB MultiMCU | |
|---|---|---|
| 8051 models | ||
| Microchip PIC models | ||
| PIC10 family | ||
| PIC12 family | ||
| PIC16 family | 16F84A only | |
| PIC18 family | ||
| PIC24 family | ||
| Atmel AVR models | ||
| ATTINY family | ||
| AT90x family | ||
| ATMEGA family | ||
| Motorola HC11 models | ||
| Parallax Basic Stamp models | ||
| BS1 family | ||
| BS2 family | ||
| ARM7 models |
Peripheral Support
In embedded systems design it's vital that you have simulation models for the peripherals that you are likely to use. Aside from the standard collection of TTL/CMOS libraries, opamps, diodes, transistors, etc. the following chart lists some common embedded peripherals and their support within various packages.
The list above is by no means complete covers only a smattering of common embedded peripheral devices (a more detailed listing of such peripherals in VSM can be found here). Peripheral modelling is an area in which we are extremely active and we would be happy to either answer questions on availability of a particular model or indeed to add a model request to our development list. Please feel free to contact us with suggestions, questions, or for clarification.
Debugging Capabilities
Being engineers ourselves we are always conscious that being able to simulate a schematic design is only part of the process. The real value and timesaving potential of co-simulation software lies in it's ability to help you find and fix bugs in both your software and hardware design. The comparison chart below covers some of the common debugging facilities you will find in various packages.
| Proteus VSM | EWB MultiMCU | |
|---|---|---|
| Tool / Language Support | ||
| Native Assembly Language | ||
| Generic support for C compilers | ||
| Support for PIC Basic | ||
| Instrumentation | ||
| Virtual Instruments | ||
| Slave mode Protocol Analysers | ||
| Master mode Protocol Analysers | ||
| Source Level Debugging | ||
| Assembly Level | ||
| High Level ('C' or Basic) | ||
| Breakpoint Support | ||
| Standard Breakpoints | ||
| Conditional Breakpoints | ||
| Hardware Breakpoints | ||
| Memory Displays | ||
| On CPU's | ||
| On Peripherals | ||
| Trace / Debugging Modes | ||
| On CPU's | ||
| On Peripherals | ||
| Watch Window | ||
| Live display of values | ||
| Supports compound types | ||
| Supports drag and drop | ||
| Includes named SFR's | ||
| Expandable into named bitfields | ||
| Variables Window | ||
| Stack Monitoring | ||
| Net Contention Warnings | ||
| Trace mode on models | ||
| Integration with other Compilers / IDEs |
Conclusion
The above discussion is intended to highlight the completeness of Proteus VSM as an essential embedded tool both in industry and in education. It is our genuine belief that you will not find a better co-simulation tool anywhere either in terms of functionality or in terms of price. We are always happy to discuss capabilities or requirements with customers - please do feel free to contact us should you have any questions.
This comparison is, to the best of our knowledge, accurate at the time of writing.