package rfsm
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
A toolset for describing and simulating StateChart-like state diagrams
Install
dune-project
Dependency
Authors
Maintainers
Sources
2.0.tar.gz
md5=1b1942e9d27b5ffa6c7dbe3eb81f4f8e
sha512=fb6db5bb32d965db4584964f7170660163d745ca9f4cec46e61c0e2815bda636205278b019b2e2d7d43ab32fa9bfe8e642bc0d1e94ae22d792a3cd3d45731c37
doc/CHANGES.html
2.0 (Nov 28, 2023)
- Entirely recrafted modular implementation (host+guests languages)
- Documentation now splitted in a User Manual and a Reference Manual
- Formal semantics
- Used by
rfsm-light1.3.0 - No longer depends on
Lascarpackage
1.7 (Mar 30, 2021)
- Outputs can now be specifed using Moore style (i.e. attached to states); many examples have been rewritten accordingly (see for ex.
examples/single/gensig/v1) - Bug fixes
- Many examples added
1.6 (Aug 21, 2019)
- IMPORTANT the GUI is now provided as a separate project; this source tree only concerns the
rfsmlibrary andrfsmccompiler (provided as anopampackage) - build and install processes are now handled by the
duneanddune-releasetools - now uses lascar-v0.6
1.5 (May 30, 2019)
- New syntax for FSM models. Transitions are now written:
| src_state -> dst_state ON ev [WHEN guards] [WITH actions]| -> init_state [WITH actions] - New syntax for comments. Now start with
--(like in VHDL) - The old syntax is still supported by invoking the compiler with the
-old_syntaxoption - The option
-transl_syntaxcan be used to convert source files from old to new syntax - Updated the user manual with new syntax
- The
-mainoption can now also be used to change the name of the top level.dotfile and the generated.vcdfile - Removed option
-vcd - The name of the testbench (resp. toplevel) modules generated by the VHDL backend is now
main_tb(resp.main_top); themainprefix can be changed with the-mainoption. rfsmmakeutility for automatic building of top-levelMakefilefrom.profile (see Sec. 3.6 of User Manual)- Option
-vhdl_dump_ghwto force GHDL dumping in.ghwformat instead of.vcd(useful for displaying values with record type for ex.) - The
configurescript now writes file alib/etc/platformcontaining platform-specific definitions to be used in generated Makefiles - Source code for all examples rewritten as FSM model(s) + testbench +
.profile - Revamped GUI with support for projects
1.4 (Mar 9, 2019)
- Major code recrafting (lib and compiler)
- Fixed several bugs in scripts/Makefiles when building from sources on Linux platforms
- Added options
--no-libsand--no-doctoconfigurescript when building from sources
1.3 (Jan 10, 2019)
- Declarations (types, constants, fsm models, etc) can now appear in any order in source file(s)
- The
rfsmccompiler now accepts a list of.fsm files(to improve source level reuse) - Support for group declarations (ex:
vars i,j: intoroutput o1,o2,o3: bool) - Support for enum and record types (see
examples/single/rpcalcfor ex) - Support for char type (see
examples/single/rlefor ex) - Updated documentation
1.2 (Nov 5, 2018)
- Size and range annotations for int type (ex:
int<8>andint<0:255>) - Bitwise and shift operators for int values (see
examples/single/{r,t}xdfor ex.) - Bit range expressions for ints (ex: "v
2", "v6:2") (seeexamples/single/bcdfor ex.) - Support for global constants
- Testbenches generated by the SystemC and VHDL backend now use a 0.5 duty cycle clock
- VHDL backend now always generate a
Topmodule encapsulating the DUT - Minimal support for multi-FSMs models with shared variable in the VHDL backend
- New examples:
single/{rxd,txd,bcd,rpcalc,rle}andmulti/rxtx - Updated documentation
1.1 (Jul 24, 2018)
* Support for float values (see `examples/single/heron/v1`)
* Changed syntax for integer range (`int<lo:hi>` instead of `int<lo..hi>`)
* Support for global functions (see `examples/single/heron/v2`)
* Support for (1D) array type (see `examples/single/fir/v2`)
* Bug fix for negative constants in parser
* Boolean constants are now denoted (and written) 0 (resp. 1)
* Boolean type is now translated as `std_logic` in VHDL (unless option `-vhld_bool_as_bool` is asserted)
* With option `-vhdl_numeric_std`, ranged integers are translated as `unsigned` and `signed` in VHDL
* The simulator does not stop when encountering an initialized value but propagates it1.0 (Feb 25, 2018)
* First public version
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>