1 |
117 |
jt_eaton |
Fizzim - an open-source FSM design environment.
|
2 |
|
|
==============================================
|
3 |
|
|
Paul Zimmer - Zimmer Design Services
|
4 |
|
|
Michael Zimmer - Zimmer Design Services and UCSB
|
5 |
|
|
Brian Zimmer - Zimmer Design Services and UCD
|
6 |
|
|
|
7 |
|
|
Readme for versions:
|
8 |
|
|
v11.09.25 of fizzim.jar
|
9 |
|
|
v4.41 of fizzim.pl
|
10 |
|
|
|
11 |
|
|
New features / bug fixes:
|
12 |
|
|
2.0:
|
13 |
|
|
(GUI unchanged)
|
14 |
|
|
fizzim.pl:
|
15 |
|
|
- Added support for whitespace in .fzm file
|
16 |
|
|
- Changed both regdp and comb block output structures to use a default
|
17 |
|
|
value ahead of the case statement, then only output values that don't
|
18 |
|
|
match the default. If no default is supplied, fizzim.pl issues a
|
19 |
|
|
warning and uses 0. This improves out-of-the-box synthesis results.
|
20 |
|
|
- Official support of -terse mode. Added alias of -sunburst to -terse.
|
21 |
|
|
- Changed case (1) in regdp output to use 1'b1 and parallel_case full_case
|
22 |
|
|
just like nextstate comb block. This improves out-of-the-box synthesis
|
23 |
|
|
results for onehot.
|
24 |
|
|
- Added onehot_pragma attribute to allow override of parallel_case
|
25 |
|
|
full_case.
|
26 |
|
|
|
27 |
|
|
3.0
|
28 |
|
|
(GUI unchanged)
|
29 |
|
|
fizzim.pl:
|
30 |
|
|
- Added SystemVerilog output format
|
31 |
|
|
- Changed verilog+onehot+default_state_is_x to work like sv+onehot
|
32 |
|
|
- Changed handling of constants. Numbers are now assumed to be decimal. Binary numbers must now have 'b on them (except single-bit values since these are the same in binary and decimal).
|
33 |
|
|
|
34 |
|
|
3.1
|
35 |
|
|
Gui:
|
36 |
|
|
- Changed to store the size info in the .fzm file so that it restores to
|
37 |
|
|
the previous size.
|
38 |
|
|
- Mantis items 24-30 fixed.
|
39 |
|
|
fizzim.pl:
|
40 |
|
|
- Changed to allow "fizzim.pl " as well as input from stdin
|
41 |
|
|
- Made -addversion default on
|
42 |
|
|
|
43 |
|
|
3.6
|
44 |
|
|
Gui:
|
45 |
|
|
- Fixed bug involving changing the name of the reset state after the
|
46 |
|
|
reset attributes were created.
|
47 |
|
|
- File > open now starts in cwd, instead of home directory.
|
48 |
|
|
- Added default state bubble size to preferences.
|
49 |
|
|
- Page setup changes now saved in the .fzm file.
|
50 |
|
|
- Misc small bug fixes (see Mantis).
|
51 |
|
|
fizzim.pl
|
52 |
|
|
- Fixed (harmless) bug where XXX param/enum was added when it wasn't used.
|
53 |
|
|
- Fixed bug where "$" in insert... code was being swallowed.
|
54 |
|
|
- Added enhancement to make indentation work better on insert... code.
|
55 |
|
|
- Added support for parameters.
|
56 |
|
|
- Added code to suppress [0:0] on 1-bit reg/wire
|
57 |
|
|
- Made implied_loopback the default
|
58 |
|
|
- Added -minversion
|
59 |
|
|
|
60 |
|
|
3.6a
|
61 |
|
|
Gui:
|
62 |
|
|
- fixed issue with one-button mouse Mac's
|
63 |
|
|
fizzim.pl
|
64 |
|
|
(same as 3.6)
|
65 |
|
|
|
66 |
|
|
3.71
|
67 |
|
|
Gui (v11.03.08):
|
68 |
|
|
Added flags, UserAtts, ResetVal
|
69 |
|
|
fizzim.pl
|
70 |
|
|
- Added undefined_states_go_here
|
71 |
|
|
- Added flags
|
72 |
|
|
- Added suppress_portlist
|
73 |
|
|
- Changed regd to use resetval if set
|
74 |
|
|
|
75 |
|
|
4.0
|
76 |
|
|
Gui (v11.08.22):
|
77 |
|
|
Fixed bug that gives incorrect message about resetvalue
|
78 |
|
|
fizzim.pl
|
79 |
|
|
- Changed heros state assignment algorithm to speed it up.
|
80 |
|
|
- Add -minbits and -iterations to control state assignment algorithm
|
81 |
|
|
- Added warning code for missing include file
|
82 |
|
|
- Added &verbose subroutine
|
83 |
|
|
|
84 |
|
|
4.01
|
85 |
|
|
Gui (v11.08.29)
|
86 |
|
|
Added support for newline in transition equations
|
87 |
|
|
Fixed implementation of newline support in free text
|
88 |
|
|
fizzim.pl
|
89 |
|
|
Added support for newline in transition equations
|
90 |
|
|
|
91 |
|
|
4.41
|
92 |
|
|
Gui (v11.09.25)
|
93 |
|
|
Just changed help pointer for tutorial
|
94 |
|
|
fizzim.pl
|
95 |
|
|
Fixed bug with mealy handling when fsm input with newer versions of gui
|
96 |
|
|
|
97 |
|
|
|
98 |
|
|
|
99 |
|
|
Contents:
|
100 |
|
|
fizzim.jar - the java gui
|
101 |
|
|
fizzim.pl - the backend perl script
|
102 |
|
|
fizzim_tutorial_091808.pdf - tutorial
|
103 |
|
|
fizzim_091808.pdf - documentation
|
104 |
|
|
examples - directory of example files (referenced in tutorial)
|
105 |
|
|
|
106 |
|
|
Running the gui:
|
107 |
|
|
Fizzim is written in Java and runs under the Java Runtime Environment. This
|
108 |
|
|
is installed on most systems. On PC, just double-clicking the .jar file will
|
109 |
|
|
usually be enough to start the app. If that doesn't work, you can start it from
|
110 |
|
|
the command line like this:
|
111 |
|
|
|
112 |
|
|
java -jar fizzim.jar
|
113 |
|
|
|
114 |
|
|
Java version 1.5 ("Java 5") or greater is required to run fizzim. If you only
|
115 |
|
|
have Java 1.4, there is a eval version of fizzim.jar for 1.4 on fizzim.com.
|
116 |
|
|
But this is intended for evals only. Don't bother to submit bugs on it -
|
117 |
|
|
they won't be fixed. Upgrade to 1.5 or greater.
|
118 |
|
|
|
119 |
|
|
Running the backend:
|
120 |
|
|
The backend is written in perl. This is loaded on all unix systems.
|
121 |
|
|
You can download it for your PC from perl.org.
|
122 |
|
|
|
123 |
|
|
On unix systems, the "sh-bang" at the start of the file will tell the shell to
|
124 |
|
|
run perl, so you can just execute the script:
|
125 |
|
|
|
126 |
|
|
fizzim.pl < your_fsm.fzm
|
127 |
|
|
|
128 |
|
|
On PC's, your shell might not recognize sh-bang, so you may have to use this:
|
129 |
|
|
|
130 |
|
|
perl -S fizzim.pl < your_fsm.fzm
|
131 |
|
|
|
132 |
|
|
Bugs:
|
133 |
|
|
To report bugs, go to fizzim.com and follow the "bug tracking" link.
|
134 |
|
|
|
135 |
|
|
Submitting modifications:
|
136 |
|
|
Please send proposed code modifications to:
|
137 |
|
|
contributions@fizzim.com
|
138 |
|
|
|