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
rfsm-v1.6-alpha-3.tbz
sha256=eb9583d2a7e354f00f4e0f6b2ea34f2825c92a15a21b708e03fa72c570104ab6
sha512=baff3194770f85efc55e813bbf5e515e1d0d4fae44c492fc6c15ba4834cc41fae5ecb842de1b1fdea10bafe19b4b72320b829d862aeefc6d58845270d8b3088f
doc/CHANGES.html
Changes
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)"
>