SME 0.4.2

There is a newer version of this package available.
See the version list below for details.
Install-Package SME -Version 0.4.2
dotnet add package SME --version 0.4.2
<PackageReference Include="SME" Version="0.4.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SME --version 0.4.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SME, 0.4.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install SME as a Cake Addin
#addin nuget:?package=SME&version=0.4.2

// Install SME as a Cake Tool
#tool nuget:?package=SME&version=0.4.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Synchronous Message Exchange simulation and component library

NuGet packages (6)

Showing the top 5 NuGet packages that depend on SME:

Package Downloads

Abstract syntax tree builder for SME networks


VHDL transpiler for SME networks


Tracing module for SME networks


GraphViz renderer for Synchronous Message Exchange


C++ transpiler for SME networks

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.4.4 241 4/27/2021
0.4.3 313 2/18/2021
0.4.2 489 9/16/2020
0.4.1-beta 600 6/26/2019
0.4.0-beta 733 2/19/2019
0.3.3-beta 904 3/22/2018
0.3.2 845 2/11/2018
0.3.1 805 12/11/2017
0.3.0 552 12/11/2017
0.1.0 801 5/3/2016

New in version 0.4.2 since 0.4.1-beta
* Changes *
- Updated to .NET Core 3.1.102. Newer versions won't work with VHDL code
- Processes are now run concurrently. There is still some false dependency
between them, due to buses, which results in processes not always running in
- Changed when an SME simulation stops. The new default is to stop when all of
the simulation processes have finished. Stopping a simulation can also be
triggered by invoking `Simulation.Current.RequestStop()`.
- Processes can now inherit from an abstract class.
- Updated RAM components to give a warning, instead of throwing an exception,
when doing both a read and a write on the same address.
* Fixes *
- Fixed error with arrays containing default values being expanded into huge
initializations instead of using `others => `.
- Updated unit tests to correctly do testing.
- Updated examples to reflect proper SME.
- All examples are now also run as unit tests, as in they now verify their
output is correct.
- Removed GHDL warning about redundant `others` case.
- Updated Travis for continoues integration of the updated SME on the Debug
- Fixed VHDL simulation, where a `RDY` flag wasn't properly set.
- Fixed overflow error when generating bit strings
- Flipped how arrays are initialized in the RAM templates.
- Added intermediate signals for buses in VHDL, which are both input for
processes and top-level output.
- Fixed handling of non-continoues enums.
- Removed unused flag in state machines.
- Reworked state machine transformations so they are more stable.
- Fixed premature bus loading performed by the .NET debugger.
- Fixed triggering of processes in VHDL.
- Fixed error with generating too many type definitions in VHDL.
- Fixed redundant variable definition for loop invariants.
- Fixed error with inner exceptions silently being "handled".
- Fixed export of arrays in VHDL.