STATECHIPGENERATOR 1.8.2023
StateChipGenerator generates AstroChip sources from StateChipGenerator
files. The files describe a simple machine. The machine starts with
the bit "1" in the firststate modules. In every computing cycle one
data word is processed. If a state module contains the bit "1" and
the current data word is equal to one in the rules, the bit is
transferred to the module defined in the rule.
StateChipGenerator files:
The first line must be:
statechipgenerator
Define the states:
firststate
firststatename
or:
state
statename
The line after "firststate" or "state" contains the state name.
The lines until the next "firststate", "state" or "data" keyword
are state change rules.
example:
001->state2
If the data words are three bits long and the data word currently
processed is "001", the next state is "state2". You can use "*"
instead of "0" or "1". Then the rule is used for "0" and "1" at
that position.
The lines after this keyword contain data words. The first data
word is processed first.
data
data word examples:
000
001
010
The StateChipGenerator files (.scg) can be transformed with
java StateChipGenerator example.scg
or another source instead of example.scg.
StateChipGenerator is written in JAVA. It is compatible to JAVA 1.8
and doesn't use a deprecated JAVA API. JAVA 1.8 or higher must
be installed to start it with the "java" command.
A target file is created, if there are no errors.
You can use AstroChip2.1 to test it. The AstroChip2.1 source must be loaded
in AstroChip2.1. Then you must use the MODULE browser and select some
logic elements. The status of those elements is displayed after
every cycle. If no logic elements are displayed, nothing of the
data flow is visible.
There are five examples contained in StateChipGenerator: example.scg,
example2.scg, example3.scg, example4.scg and example5.scg. First they
must be compiled with StateChipGenerator.
The corresponding view-files example.view,
example2.view, example3.view, example4.view and example5.view can be
loaded in the MODULE browser to view the main data flow in the examples.