diff --git a/CHANGELOG.md b/CHANGELOG.md index 54421ce96..346faa9fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,41 @@ Changelog ========= +Sail 0.17 +--------- + +##### Performance improvements + +This release is primarily intended to fix performance issues. Overall +the Sail to C compilation can be almost 10x faster, and consumes +significantly less memory. + +##### Order parameters deprecated + +The order parameter on the bitvector and vector types no longer does +anything. The `default Order ` statement now sets the bitvector +and vector ordering globally. In practice only POWER uses increasing +bit order, and there is never a valid reason to mix them in a +specification. Overall they added significant complexity to the +language for no real gain. Over subsequent releases a warning will be +added before they are eventually removed from the syntax. + +##### String append pattern rework + +For a while string append patterns `x ^ y` have been marked with a +special non-executable effect that forbids them from being used. Now +the implementation has been removed due to the deleterious effect +the generated code has on performance. Such clauses are now eagerly +removed from the syntax tree during rewriting pending a revised +implementation. + +##### SystemVerilog backend (EXPERIMENTAL) + +Sail can now produce SystemVerilog output using the -sv flag. Note +that this is not intended to be human readable or produce a +synthesizable design, but is instead intended to be used with +SystemVerilog verification tools like JasperGold. + Sail 0.16 --------- diff --git a/dune-project b/dune-project index a14ff443b..8c4e42aa2 100644 --- a/dune-project +++ b/dune-project @@ -4,7 +4,7 @@ (using dune_site 0.1) (name sail) -(version 0.16) +(version 0.17) (generate_opam_files true) diff --git a/libsail.opam b/libsail.opam index b4cbffc14..f0c2d441d 100644 --- a/libsail.opam +++ b/libsail.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Sail is a language for describing the instruction semantics of processors" description: """ diff --git a/sail.opam b/sail.opam index 674772235..ff7a190ac 100644 --- a/sail.opam +++ b/sail.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Sail is a language for describing the instruction semantics of processors" description: """ diff --git a/sail_c_backend.opam b/sail_c_backend.opam index bb1687045..e2c529577 100644 --- a/sail_c_backend.opam +++ b/sail_c_backend.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Sail to C translation" maintainer: ["Sail Devs "] authors: [ diff --git a/sail_coq_backend.opam b/sail_coq_backend.opam index ab6d716ea..8cc4a82dc 100644 --- a/sail_coq_backend.opam +++ b/sail_coq_backend.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Sail to Coq translation" maintainer: ["Sail Devs "] authors: [ diff --git a/sail_doc_backend.opam b/sail_doc_backend.opam index 38fdbd633..dcc3354ae 100644 --- a/sail_doc_backend.opam +++ b/sail_doc_backend.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Sail documentation generator" maintainer: ["Sail Devs "] authors: [ diff --git a/sail_latex_backend.opam b/sail_latex_backend.opam index 518a7b34b..14e0a7af7 100644 --- a/sail_latex_backend.opam +++ b/sail_latex_backend.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Sail to LaTeX formatting" maintainer: ["Sail Devs "] authors: [ diff --git a/sail_lem_backend.opam b/sail_lem_backend.opam index 4a720eafd..ddfe87526 100644 --- a/sail_lem_backend.opam +++ b/sail_lem_backend.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Sail to Lem translation" maintainer: ["Sail Devs "] authors: [ diff --git a/sail_manifest.opam b/sail_manifest.opam index f13c1efc6..f15bfc4a9 100644 --- a/sail_manifest.opam +++ b/sail_manifest.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Helper tool for compiling Sail" maintainer: ["Sail Devs "] authors: [ diff --git a/sail_ocaml_backend.opam b/sail_ocaml_backend.opam index 4e3c6d4d5..7f8d7c426 100644 --- a/sail_ocaml_backend.opam +++ b/sail_ocaml_backend.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Sail to OCaml translation" maintainer: ["Sail Devs "] authors: [ diff --git a/sail_output.opam b/sail_output.opam index c1a412d0c..784851af8 100644 --- a/sail_output.opam +++ b/sail_output.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Example Sail output plugin" maintainer: ["Sail Devs "] authors: [ diff --git a/sail_smt_backend.opam b/sail_smt_backend.opam index bb1687045..e2c529577 100644 --- a/sail_smt_backend.opam +++ b/sail_smt_backend.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Sail to C translation" maintainer: ["Sail Devs "] authors: [ diff --git a/sail_sv_backend.opam b/sail_sv_backend.opam index 1e965967d..fb2938d04 100644 --- a/sail_sv_backend.opam +++ b/sail_sv_backend.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -version: "0.16" +version: "0.17" synopsis: "Sail to Systemverilog translation" maintainer: ["Sail Devs "] authors: [