-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d071f75
commit 4785e18
Showing
17 changed files
with
369 additions
and
319 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
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 | ||
generation. | ||
- Processes are now run concurrently. There is still some false dependency | ||
between them, due to buses, which results in processes not always running in | ||
parallel. | ||
- 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 | ||
build. | ||
- 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,72 +1,27 @@ | ||
all: build | ||
|
||
DEPENDS_CSPROJ=$(find . -type f -name "*.csproj" | xargs echo) | ||
VERSION=$(shell cat SME/SME.csproj | grep "<PackageVersion>" | cut -f 2 -d ">" | cut -f 1 -d "<") | ||
PKGS=SME SME.AST SME.Components SME.CPP SME.GraphViz SME.Tracer SME.VHDL | ||
PKG_TARGETS=$(PKGS:%=nupkg/%.$(VERSION).nupkg) | ||
API=$(shell cat ~/.config/nuget_api.txt) | ||
|
||
PROJECT_NAME=SME | ||
DEPENDS_CS=$(find . -type f -name "*.cs" | xargs echo) | ||
DEPENDS_TT=$(find . -type f -name "*.tt" | xargs echo) | ||
DEPENDS_CSPROJ=$(find . -type f -name "*.csproj" | xargs echo) | ||
VERSION=$(shell cat SME/SME.nuspec | grep "<version>" | cut -f 2 -d ">" | cut -f 1 -d "<") | ||
build: SME.sln | ||
dotnet build -c Release SME.sln | ||
|
||
build: SME.sln ${DEPENDS_CS} ${DEPENDS_TT} ${DEPENDS_CSPROJ} | ||
dotnet build --configuration Release SME.sln | ||
|
||
nupkg: build | ||
nupkg_folder: | ||
if [ -d nupkg ]; then rm -rf nupkg; fi | ||
mkdir nupkg | ||
|
||
nupkg/SME.nupkg: SME/SME.nuspec nupkg | ||
cd SME; nuget pack SME.nuspec | ||
pwd | ||
mv SME/SME.$(VERSION).nupkg nupkg/SME.$(VERSION).nupkg | ||
|
||
nupkg/SME.Tracer.nupkg: SME.Tracer/SME.Tracer.nuspec nupkg | ||
cd SME.Tracer; nuget pack SME.Tracer.nuspec | ||
mv SME.Tracer/SME.Tracer.$(VERSION).nupkg nupkg/SME.Tracer.$(VERSION).nupkg | ||
|
||
nupkg/SME.Components.nupkg: SME.Components/SME.Components.nuspec nupkg | ||
cd SME.Components; nuget pack SME.Components.nuspec | ||
mv SME.Components/SME.Components.$(VERSION).nupkg nupkg/SME.Components.$(VERSION).nupkg | ||
|
||
nupkg/SME.GraphViz.nupkg: SME.GraphViz/SME.GraphViz.nuspec nupkg | ||
cd SME.GraphViz; nuget pack SME.GraphViz.nuspec | ||
mv SME.GraphViz/SME.GraphViz.$(VERSION).nupkg nupkg/SME.GraphViz.$(VERSION).nupkg | ||
|
||
nupkg/SME.AST.nupkg: SME.AST/SME.AST.nuspec nupkg | ||
cd SME.AST; nuget pack SME.AST.nuspec | ||
mv SME.AST/SME.AST.$(VERSION).nupkg nupkg/SME.AST.$(VERSION).nupkg | ||
nupkg/%.$(VERSION).nupkg: % | ||
dotnet pack -c Release -o nupkg -p:PackageVersion=$(VERSION) $< | ||
|
||
nupkg/SME.CPP.nupkg: SME.CPP/SME.CPP.nuspec nupkg | ||
cd SME.CPP; nuget pack SME.CPP.nuspec | ||
mv SME.CPP/SME.CPP.$(VERSION).nupkg nupkg/SME.CPP.$(VERSION).nupkg | ||
pack: build nupkg_folder $(PKG_TARGETS) | ||
|
||
nupkg/SME.VHDL.nupkg: SME.VHDL/SME.VHDL.nuspec nupkg | ||
cd SME.VHDL; nuget pack SME.VHDL.nuspec | ||
mv SME.VHDL/SME.VHDL.$(VERSION).nupkg nupkg/SME.VHDL.$(VERSION).nupkg | ||
|
||
pack: nupkg nupkg/SME.nupkg nupkg/SME.Tracer.nupkg nupkg/SME.Components.nupkg nupkg/SME.GraphViz.nupkg nupkg/SME.AST.nupkg nupkg/SME.CPP.nupkg nupkg/SME.VHDL.nupkg | ||
|
||
|
||
deploy: | ||
cd nupkg; nuget push SME.$(VERSION).nupkg -src https://www.nuget.org | ||
cd nupkg; nuget push SME.Components.$(VERSION).nupkg -src https://www.nuget.org | ||
cd nupkg; nuget push SME.Tracer.$(VERSION).nupkg -src https://www.nuget.org | ||
cd nupkg; nuget push SME.GraphViz.$(VERSION).nupkg -src https://www.nuget.org | ||
cd nupkg; nuget push SME.AST.$(VERSION).nupkg -src https://www.nuget.org | ||
cd nupkg; nuget push SME.CPP.$(VERSION).nupkg -src https://www.nuget.org | ||
cd nupkg; nuget push SME.VHDL.$(VERSION).nupkg -src https://www.nuget.org | ||
deploy: pack | ||
dotnet nuget push "nupkg/*.nupkg" -s https://api.nuget.org/v3/index.json -k $(API) | ||
|
||
all: build | ||
|
||
clean: | ||
msbuild /target:Clean SME.sln | ||
find . -type d -name obj | xargs rm -r | ||
find . -type d -name bin | xargs rm -r | ||
if [ -f nupkg/SME.$(VERSION).nupkg ]; then rm nupkg/SME.$(VERSION).nupkg; fi | ||
if [ -f nupkg/SME.Tracer.$(VERSION).nupkg ]; then rm nupkg/SME.Tracer.$(VERSION).nupkg; fi | ||
if [ -f nupkg/SME.GraphViz.$(VERSION).nupkg ]; then rm nupkg/SME.GraphViz.$(VERSION).nupkg; fi | ||
if [ -f nupkg/SME.AST.$(VERSION).nupkg ]; then rm nupkg/SME.AST.$(VERSION).nupkg; fi | ||
if [ -f nupkg/SME.VHDL.$(VERSION).nupkg ]; then rm nupkg/SME.VHDL.$(VERSION).nupkg; fi | ||
|
||
|
||
|
||
.PHONY: all build clean | ||
dotnet clean | ||
find . -type d -name obj | xargs rm -rf | ||
find . -type d -name bin | xargs rm -rf | ||
rm -rf nupkg |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,50 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\SME\SME.csproj" /> | ||
</ItemGroup> | ||
<!-- Project dependencies --> | ||
<ItemGroup> | ||
<ProjectReference Include="..\SME\SME.csproj" /> | ||
|
||
<PackageReference Include="NewtonSoft.Json" Version="12.0.1" /> | ||
<PackageReference Include="ICSharpCode.Decompiler" Version="3.0.2.3465" /> | ||
<PackageReference Include="Mono.Cecil" Version="0.10.0" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="NewtonSoft.Json" Version="12.0.1" /> | ||
<PackageReference Include="ICSharpCode.Decompiler" Version="3.0.2.3465" /> | ||
<PackageReference Include="Mono.Cecil" Version="0.10.0-beta7" /> | ||
</ItemGroup> | ||
<!-- Project output name and format --> | ||
<PropertyGroup> | ||
<OutputType>library</OutputType> | ||
<TargetFramework>netstandard2.1</TargetFramework> | ||
<RootNamespace>SME.AST</RootNamespace> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup> | ||
<OutputType>library</OutputType> | ||
<TargetFramework>netstandard2.1</TargetFramework> | ||
<RootNamespace>SME.AST</RootNamespace> | ||
</PropertyGroup> | ||
<!-- Nuget package metadata --> | ||
<PropertyGroup> | ||
<PackageId>SME.AST</PackageId> | ||
<Title>Synchronous Message Exchange (SME)</Title> | ||
<PackageVersion>0.4.2</PackageVersion> | ||
<Authors>Kenneth Skovhede, Carl-Johannes Johnsen</Authors> | ||
<Description>Abstract syntax tree builder for SME networks</Description> | ||
<Copyright>Copyright ©2020 - The SME team</Copyright> | ||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> | ||
<DevelopmentDependency>false</DevelopmentDependency> | ||
<PackageTags>SME;hardware simulation</PackageTags> | ||
<RepositoryUrl>https://github.com/kenkendk/sme</RepositoryUrl> | ||
<RepositoryBranch>master</RepositoryBranch> | ||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | ||
</PropertyGroup> | ||
|
||
<!-- Adding the license file to the Nuget package --> | ||
<ItemGroup> | ||
<None Include="..\..\LICENSE" Pack="true" PackagePath="" /> | ||
</ItemGroup> | ||
|
||
<!-- Adding release notes text file to the Nuget package --> | ||
<Target Name="PrepareReleaseNotesFromFile" BeforeTargets="GenerateNuspec" > | ||
<ReadLinesFromFile File="..\..\RELEASE_NOTES.txt" > | ||
<Output TaskParameter="Lines" ItemName="ReleaseNoteLines" /> | ||
</ReadLinesFromFile> | ||
<PropertyGroup> | ||
<PackageReleaseNotes>@(ReleaseNoteLines, '%0a')</PackageReleaseNotes> | ||
</PropertyGroup> | ||
</Target> | ||
|
||
</Project> |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,54 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\SME\SME.csproj" /> | ||
<ProjectReference Include="..\SME.AST\SME.AST.csproj" /> | ||
</ItemGroup> | ||
<!-- Project dependencies --> | ||
<ItemGroup> | ||
<ProjectReference Include="..\SME\SME.csproj" /> | ||
<ProjectReference Include="..\SME.AST\SME.AST.csproj" /> | ||
|
||
<PackageReference Include="ICSharpCode.Decompiler" Version="3.0.2.3465" /> | ||
<PackageReference Include="Mono.Cecil" Version="0.10.0" /> | ||
<PackageReference Include="System.CodeDom" Version="4.7.0" /> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="ICSharpCode.Decompiler" Version="3.0.2.3465" /> | ||
<PackageReference Include="Mono.Cecil" Version="0.10.0-beta7" /> | ||
<PackageReference Include="System.CodeDom" Version="*" /> | ||
</ItemGroup> | ||
<EmbeddedResource Include="Templates/*.hpp" /> | ||
<EmbeddedResource Include="Templates/*.cpp" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<EmbeddedResource Include="Templates/*.hpp" /> | ||
<EmbeddedResource Include="Templates/*.cpp" /> | ||
</ItemGroup> | ||
<!-- Project output name and format --> | ||
<PropertyGroup> | ||
<OutputType>library</OutputType> | ||
<TargetFramework>netstandard2.1</TargetFramework> | ||
<RootNamespace>SME.CPP</RootNamespace> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup> | ||
<OutputType>library</OutputType> | ||
<TargetFramework>netstandard2.1</TargetFramework> | ||
<RootNamespace>SME.CPP</RootNamespace> | ||
</PropertyGroup> | ||
<!-- Nuget package metadata --> | ||
<PropertyGroup> | ||
<PackageId>SME.CPP</PackageId> | ||
<Title>Synchronous Message Exchange (SME)</Title> | ||
<PackageVersion>0.4.2</PackageVersion> | ||
<Authors>Kenneth Skovhede, Carl-Johannes Johnsen</Authors> | ||
<Description>C++ transpiler for SME networks</Description> | ||
<Copyright>Copyright ©2020 - The SME team</Copyright> | ||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> | ||
<DevelopmentDependency>false</DevelopmentDependency> | ||
<PackageTags>SME;hardware simulation</PackageTags> | ||
<RepositoryUrl>https://github.com/kenkendk/sme</RepositoryUrl> | ||
<RepositoryBranch>master</RepositoryBranch> | ||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | ||
</PropertyGroup> | ||
|
||
<!-- Adding the license file to the Nuget package --> | ||
<ItemGroup> | ||
<None Include="..\..\LICENSE" Pack="true" PackagePath="" /> | ||
</ItemGroup> | ||
|
||
<!-- Adding release notes text file to the Nuget package --> | ||
<Target Name="PrepareReleaseNotesFromFile" BeforeTargets="GenerateNuspec" > | ||
<ReadLinesFromFile File="..\..\RELEASE_NOTES.txt" > | ||
<Output TaskParameter="Lines" ItemName="ReleaseNoteLines" /> | ||
</ReadLinesFromFile> | ||
<PropertyGroup> | ||
<PackageReleaseNotes>@(ReleaseNoteLines, '%0a')</PackageReleaseNotes> | ||
</PropertyGroup> | ||
</Target> | ||
|
||
</Project> |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,46 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\SME\SME.csproj" /> | ||
</ItemGroup> | ||
|
||
<PropertyGroup> | ||
<OutputType>library</OutputType> | ||
<TargetFramework>netstandard2.1</TargetFramework> | ||
<RootNamespace>SME.Components</RootNamespace> | ||
</PropertyGroup> | ||
<!-- Project dependencies --> | ||
<ItemGroup> | ||
<ProjectReference Include="..\SME\SME.csproj" /> | ||
</ItemGroup> | ||
|
||
<!-- Project output name and format --> | ||
<PropertyGroup> | ||
<OutputType>library</OutputType> | ||
<TargetFramework>netstandard2.1</TargetFramework> | ||
<RootNamespace>SME.Components</RootNamespace> | ||
</PropertyGroup> | ||
|
||
<!-- Nuget package metadata --> | ||
<PropertyGroup> | ||
<PackageId>SME.Components</PackageId> | ||
<Title>Synchronous Message Exchange (SME)</Title> | ||
<PackageVersion>0.4.2</PackageVersion> | ||
<Authors>Kenneth Skovhede, Carl-Johannes Johnsen</Authors> | ||
<Description>Optional hardware components SME networks</Description> | ||
<Copyright>Copyright ©2020 - The SME team</Copyright> | ||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> | ||
<DevelopmentDependency>false</DevelopmentDependency> | ||
<PackageTags>SME;hardware simulation</PackageTags> | ||
<RepositoryUrl>https://github.com/kenkendk/sme</RepositoryUrl> | ||
<RepositoryBranch>master</RepositoryBranch> | ||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | ||
</PropertyGroup> | ||
|
||
<!-- Adding the license file to the Nuget package --> | ||
<ItemGroup> | ||
<None Include="..\..\LICENSE" Pack="true" PackagePath="" /> | ||
</ItemGroup> | ||
|
||
<!-- Adding release notes text file to the Nuget package --> | ||
<Target Name="PrepareReleaseNotesFromFile" BeforeTargets="GenerateNuspec" > | ||
<ReadLinesFromFile File="..\..\RELEASE_NOTES.txt" > | ||
<Output TaskParameter="Lines" ItemName="ReleaseNoteLines" /> | ||
</ReadLinesFromFile> | ||
<PropertyGroup> | ||
<PackageReleaseNotes>@(ReleaseNoteLines, '%0a')</PackageReleaseNotes> | ||
</PropertyGroup> | ||
</Target> | ||
|
||
</Project> |
Oops, something went wrong.