ASM_Creator

advertisement
ASM Creator Manual
ASM Creator is part of the EDA tool for logic and system design of very complicated
digital circuits named Abelite. With ASM Creator it is possible draw the Algorithmic State
Machine (ASM) flowchart and build it to connectivity list. An example flowchart of the
Euclidean algorithm for finding greatest common divisor (GCD) is presented on Figure 1.
Figure 1: Flowchart of the Euclidean GCD Algorithm
The flowchart consists of a number of interconnected vertices. Any algorithm starts with
the “Begin” vertex, which is followed by a combination of “Condition” and “Process”
vertices, and terminates with an “End” vertex. There are also special “Comment“ vertices,
which are not part of the algorithm, but can be added for explanatory purposes. To place a
vertex, select it from the pane on the left and drag-and-drop it to the desired location. It will
align to the grid automatically.
To make a connection, press “Connector” button, left-click any red dot of the source vertex,
then left-click any red dot of the target vertex. If connection requires a twisting path, then
left-click the turning point and continue in other direction. When successful, the
“Connector” button is unselected automatically (right-click for manual deselect), so in
order to make a new connection it must be pressed again.
Every vertex has a fixed number of available connections. The “Begin” vertex allows only
one output connection, while “End” vertex – only one input connection. “Process” vertex
takes one input connection and provides one output connection. “Condition” vertex allows
one input connection and two output connections. Note, that the first output connection of
the “Condition” vertex is automatically considered a “0” path. Double-click the arrow to
change the value of the condition for the path. After the vertex has been fully connected, it
becomes unavailable, although it may still have free connection points.
Both “Condition” and “Process” verteces can accommodate a textural description of the
conditional equations and micro instructions respectively. While the exact content is used
for illustrative purpose only, in case of “Process” vertices every line of this description is
treated as a separate micro operation. Vertices may be resized in order to fit the textural
description properly.
ASM Creator provides a vast array of possibilities for changing the visual appearance of the
flowchart. The formatting can be applied to an individual element by simply selecting it, or
to a group of elements. The desired flowchart portion is selected either by drawing a
rectangle around it with a mouse, or by clicking individual elements while holding the
“Ctrl” key down. Any vertex or connection arrow can have an unique line width, line
pattern, line and fill colour. For textural information it is possible to select the font, size,
style, alignment and colour as well.
Any selected element or a group of elements of the flowchart can be freely moved around.
However, in order to maintain connection, arrows, which link the selected part to the rest of
the flowchart, should not be selected. To lengthen or shorten an arrow, select it first and
then drag by either a starting, ending or turning point, which is marked with a rectangle.
Figure 2: Generalized Operator “Remainder_Computation”
When ready, the flowchart can be saved as an “ASM_name.asd” file for subsequent
viewing, editing or printing with ASM Creator. ASM Creator allows to open multiple “.asd”
files at the same time. To switch between the opened files, click the corresponding filename
in the pane just above the workspace. In order to close a file, select it and press the button
with a white cross in a red rectangle or select “Close” command from the “File” drop-down
menu.
ASM Creator allows to build a hierarchy of algorithms. Any “Process” vertex can be linked
to another “.asd” file, which contains a sub-algorithm. An example flowchart of the
remainder computation algorithm is presented on Figure 2. In order to link it to a
“Remainder_Computation” vertex of the flowchart from Figure 1, the sub-algorithm should
be saved with the exactly same name (“Remainder_Computation.asd”). It does not really
matter in which folder this file is situated, as ASM Creator would search the whole
computer, if necessary, to find it.
To open the flowchart of the linked sub-algorithm, right-click the corresponding “Process”
vertex and select “Open” command. If there is none, an empty workspace will be opened.
To insert the sub-algorithm into the current flowchart, right-click the corresponding
“Process” vertex and select “Expand” command. Pressing “Yes” in the following dialog
box uncovers the whole hierarchy for the selected “Process” vertex, expanding every subalgorithms of the linked flowcharts as well. Pressing “No” inserts only the next level of
hierarchy, leaving the nested algorithms of the linked flowchart closed. In the same dialog
box, it is possible to choose the color of the connection arrows, which are linked to the
beginning and the end of sub-algorithm in the current flowchart.
The flowchart can be built to connectivity list by pressing the “Build“ button in the toolbar
or by selecting the “Build“ command from “Build“ drop-down menu. Each line of the
resultant connectivity list (“ASM_name.gsa”) corresponds to a vertice in the flowchart,
which is numbered and provided with a list of subsequent vertices. File “ASM_name.mic”
provides the list of encoded micro instructions (capital Y-s) together with encoded micro
operations (small y-s). File “ASM_name.txt” provides the encoding legend for micro
instructions, micro operations and logical conditions.
Download