IEEE TR"NSACTIoN5 ON COMPUTERS, VOL. c-23, NO. 9, SEPTEMBER 1974
[6] I. M. Vinogradov, Elements of Number Theory. New York:Dover, 1954.
X i _E Ferruccio Barsi was born in Lucca, Italy, onJanuary 3, 1942. He received the Dr.Ing.degree in electronic engineering from theUniversity of Pisa, Pisa, Italy, in 1969.
Since 1969 he has been with the Istitutodi Elaborazione dell'Informazione, ConsiglioNazionale delle Ricerche, Pisa, Italy. He hasbeen engaged in research on minicomputerarchitecture, fault diagnosis, and arith-
| I metic codes.
Piero Maestrini was born in Colle di Vald'Elsa, Italy, on January 9, 1938. He re-ceived the Dr. Ing. degree in electronic en-gineering (cum laude) from the Universityof Pisa, Pisa, Italy, in 1962, and the LiberaDocenza in switching theory and electroniccomputers in 1971.
Since 1962 he has been with the Istitutodi Elaborazione dell'Informazione, ConsiglioNazionale delle Ricerche, Pisa, Italy. Since1969 he has also been an Associate Professor
with the Department of Electrical and Electronic Engineering,University of Pisa. He has been engaged in research concerningdigital electronics, computer architecture, microprogramming, andarithmetic codes.
Generation of Internal State Assignments for Large AsynchronousSequential Machines
ROBERT J. SMITH, II, MEMBER, IEEE
Abstract-Several algorithms have been proposed for generatingsatisfactory state assignments for normal fundamental mode asyn-chronous sequential circuits. Programmed versions of minimal andnear-minimal techniques have been incorporated in automatedsynthesis systems, but are known to require computational effortswhich increase exponentially with flow table size. Other methods,requiring much less effort, produce assignments with far more statevariables than minimal assigmnents.
This table presents a practical method for generating near-minimalunicode single-transition-time state assignments for very large flowtables. The new technique has been programmed and thus used togenerate assignments for tables of up to 400 cells. It is shown thatresources required to generate practical assignments for very largetables increases almost linearly with flow table size using the pro-cedure described.
Index Terms-Asynchronous sequential circuits, design automa-tion heuristics, state assigmnents.
INTRODUCTIONTHE CALCULATION of satisfactory state assignments
for asynchronous sequential circuits is one of the mostdifficult tasks in the synthesis procedure for such networks.
Manuscript received June 6, 1973; revised February 12, 1974.This work was supported by the Computer Science OperationsResearch Center, Institute of Technology, Southern MethodistUniversity, Dallas, Tex. 75275.The author is with the Department of Electrical Engineering and
Computer Science, Southern Methodist University, Dallas, Tex.75275.
This paper considers the state assignment problem forcircuits operating in the normal fundamental mode anddescribes a new procedure especially suited to the auto-mated synthesis of very large circuits.
Operation of the machine to be synthesized is assumedto be described by a flow table, which may have been pre-viously simpliffed or minimized [1]. The reader is assumedto be familiar with this form of specification, illustratedin Fig. 1.The complexity of the state assignment procedure for
asynchronous sequential circuits stems from the necessityof avoiding critical races, which may cause the machine tomalfunction. (A critical race occurs when, due to theasynchronous nature of state transitions, internal statevariables may change values in an order which allows thecircuit to reach a final stable state other than the in-tended one.)
Critical races may be avoided by using standard stateassignments which do not depend on flow table charac-teristics [2]. However, it is often possible to code a givenflow table with significantly fewer variables than requiredfor standard assignments. A standard assignment may berapidly generated for tables of a given size, since it may beused with any table of that size, regardless of behavior.The often smaller nonstandard assignment, however,depends on next-state specifications for a particularmachine.
SMITH: GENERATION OF INTERNAL STATE ASSIGNMENTS
Input States
000
2
001
3
01*
4
Fig. 1. Flow table describing machine 6.
Nonstandard state assignment generation techniqueshave been a popular research topic in recent years. In an
early paper, [3] C. N. Liu showed that a critical-race-freenonstandard assignment could be formed by combiningindividual column codes which are themselves critical race
free; column codes are obtained by considering transitionsfrom unstable to stable states within a column. Liu'stechnique is not computationally complex, but frequentlyproduces assignments with many more variables thannecessary; for tables with many columns, the number ofvariables may approach or even exceed the number re-
quired for a standard assignment.Tracey later described a method for finding minimum
variable nonstandard unicode assignments for normal,fundamental mode asynchronous sequential circuits [4].These restrictions indicate that inputs change only whilethe machine is in a stable internal state, that a single codeis applied to each internal state, and that when inputs dochange, transitions are made directly to the destinationstable state. Such assignments are also known as unicodesingle transition time (USTT) state assignments. Tracevnoted that for "large" (8-12 row) flow tables, the effortrequired to calculate minimum variable USTT codes byhis method becomes prohibitive. He therefore suggestedtwo related algorithms which would require less effort,but would usually produce near minimum variableassignments.
In earlier work [5] the author demonstrated that fortables of more than about 50 cells (rows x columns), even
automated generation of minimum-variable assignmentsis not practical. Furthermore, it was discovered that forvery large flow tables (more than 150 cells), even Tracey'snear-minimum variable methods required extremely largecomputation times. This paper presents an extension of
Tracey's techniques which produces near-minimum vari-able assignments for very large tables, while requiringmuch less computational effort than previous methods.
TRACEY'S METHOD
The techniques described by Tracey are based on theidea that critical races can be avoided by devising stateassignments which partition internal state transitionsunder each input (flow table column). (For more com-
plete information on these methods, see [4].) Minimumvariable assignments may be produced by first recordinga Boolean transition constraint matrix, shown for machine6 in Fig. 2. (Note that the first block of each partitionhas been arbitrarily coded with zeros.) Minimal reductionof the transition constraint matrix is achieved by calcu-lating maximally intersectable classes of constraints, thencovering all initial constraint with a set of maximal inter-sectables. One of several 4-variable assignments found inthis manner for machine 6 is
Yi 000110
Y2 = 001101
13 = 010110
Y4 = 100111.
For tables significantly larger than machine 6, minimiza-tion of the transition constraint matrix becomes a veryformidable task. One 12 row by 4 column table from theliterature requires 50 transition constraints, and has morethan 300 maximal intersectable classes. Even using very
large computers, it has been economically impractical tocalculate minimum variable assignments for tables withmore than a few dozen constraints. (Since the number of
InternalStates
1
2
00 2 Q 11 6
1 () 11 4 3
6 1 00
1o 6 10 6
4 10 - 6
1 01 1 00
925
[1,2; 4,5]
[1,6; 4,5]
[1,2; 5]
[1,2; 3,6]
[1,2; 4,6]
[5; 3,6]
[5; 4,6]
[1,3; 2,4]
Column Orie
Column Two
Column Three
[1,6; 2,4]
[2,3; 1,6] Column Four
[2,3; 4,6]
[2,3; 5,6](a)
IEEE TRANSACTIONS ON COMPUTERS, SEPTEMBER 1974
00*11*
0**110
00**1*
001**1
00*1*1
**1*01
***101
0101**
01*1*0
100**1
*001*1
*00*11
(b)Fig. 2. Transition partitions and corresponding constraint matrix
for machine 6. (a) Transition partitions. (b) Boolean constantmatrix.
[1,2,6; 4,5]
[1,2; 5]
[1,2; 3,4,6]
[5; 3,4,6]
[1,3,6; 2,4]
[2,3; 1,4,5,61
(b)
00*110
00**1*
0011*1
**l101
0101*0
100111
(c)
yl - 00*110
Y2 - 001101
Y3 - 0101*0
Y4 - 100111
(d)Fig. 3. Assignment generation for machine 6 using k-set con-
straints. (a) K-sets which must be partitioned. (b) K-set parti-tions. (c) K-set constraint matrix. (d) Assignment obtained usingminimal reduction.
constraints is related to number of next state entriesrather than number of rows, the number of cells [rows *columns] is used here as a rough measure of flow tablecomplexity.)Tracey proposed a nearly minimum constraint matrix
reduction procedure to allow computation of assignmentsfor larger tables. However, for very large tables, even thistechnique is unable to reduce the required transitionconstraint matrices.To overcome these computational difficulties, Tracey
proposed a further simplification of the constraint matrixreduction problem intended to significantly reduce compu-tation effort while producing "nearly minimal" assign-ments for large flow tables. Consider the k-sets of eachflow table column, each consisting of k-1 unstable nextstate entries in a single column which all specify the samestable next state, which is also included in the k-set. K-sets
for machine 6 are shown in Fig. 3(a). Note that a directtransition in k-set ki does not race critically with directtransitions in any of other k-set kj if at least one y-variableof the state assignment partitions elements of ki and kjinto separate blocks (4). Thus, the number of constraintsrequired to produce critical-race-free assignments can bereduced to the number of stable states plus the number oftable row pairs, or less. Fig. 3(b) shows the k-set con-
straint matrix for machine 6, followed by the state assign-ment resulting from minimal reduction of that matrix.
This method usually decreases the size of the ¢onstraintmatrix significantly, thereby reducing the effort requiredto obtain compact nonstandard assignments. Utilizationof constraints based on k-set membership frequently pre-cludes generation of minimum-variable assignments. Thoseassignments found are, however, almost always muchsmaller than corresponding standard assignments. Limited
926
(1,2,6)
(4,5)
(1,2)
(5)
(3,4,6)
(1,3,6)
(2,4)
(2.3)
(1,4,5.6)
(a)
SMITH: GENERATION OF INTERNAL STATE ASSIGNMENTS
'A
00
90+
.0
N
0
0
Gb-u)
EZ
eD
60+
A & B D
304
A
A
I ~~III100 200
Number of Flow Table Cells (Rows x Columns)
Fig. 4. Comparison of typical Tracey assignment method computation requirements.
experiments with tables of approximately 50 cells showthat use of k-set rather than transition partitions may beexpected to introduce less than 20 percent additionalstate variables (see Fig. 9).
For large tables of more than 75 cells, it can be shownthat minimal reduction of even k-set constraint matricesis impractical. Fig. 4 shows a comparison of assignmentgeneration times, using the following Tracey schemes.
1) Transition partition constraint matrix, reduced to a
minimum state assignment using a minimum cover ofmaximal intersectables.
2) Transition partition constraint matrix, reduced to a
near-minimum variable assignment.3) K-set partition constraint matrix, minimized to pro-
duce a near-minimum variable assignment.4) K-set partition constraint matrix, reduced (but not
minimized) to produce a nonstandard assignment.
Data summarized in Fig. 4 were obtained using identicalflow tables for each of the assignment methods indicated.Note that for tables with over 200 cells, even method .4)requires a nontrivial amount of computation. Indeed, thistechnique becomes impractical for very large problems,since Tracey's nonminimal reduction of constraintmatrices requires computation effort proportional to thesquare of matrix size. (Effort required to generate neces-sary constraints has been found insignificant when com-pared with matrix reduction requirements.)
AN ASSIGNMENT TECHNIQUE FORLARGE TABLES
Because of the exponentially increasing computationtimes for large problems, none of the Tracey assignmentmethods appear to be suitable for dense (mostly specified)flow tables of more than about 250 cells. The remainder of
927
IEEE TRANSACTIONS ON COMPUTERS, SEPTEMBER 1974
1-1-40%O1-4
upu1-1
uCL)En
4;4E-4V.0-H41to4100.9u4JC:0)09)-H0m.e.
00
00
SegmentedReduction
200
Number of Flow Table Cells (Rows x Columns)
Fig. 5. Computational requirements for very large state assignment problems.
this paper describes a modification of Tracey's k-set parti-tion assignment algorithm which permits economicalgeneration of internal state codes for extremely largetables.The strategy employed is a simple one: K-set and row-
pair partitioning constraints are generated, as previouslydescribed. However, the constraint matrix is only allowedto grow to a predetermined size limit, then is partiallyreduced. This procedure will, in geneial, produce assign-ments having at least as many variables as the Traceymethods. It will be shown, however, that the new methodcan be used to rapidly determine assignments for extremelylarge tables.The new state assignment procedure begins by finding
k-set partitions for each flow table column. When thepartition matrix reaches the size limit, the matrix ispartially reduced, yielding state variables and a small
number of constraints not satisfied by the variablesgenerated.
K-set partition generation then resumes. However, ak-set partition is not added to the constraint list if it canbe satisfied by a previously calculated state variable. Theconstraint matrix thus contains only those k-set partitionswhich remain to be satisfied. When this constraint listagain reaches the size limit, the partial matrix reductionprocedure is repeated.
After all k-set partitions have been found, the statevariable and partition lists must be checked to insure thateach flow table row is partitioned by some variable fromevery other flow table row. Any constraints needed tosatisfy this requirement are added to the partition matrix,and it is completely reduced.
Figs. 5 and 6 summarize the large flow table state
928
SMITH: GENERATION OF INTERNAL STATE ASSIGNMENTS
Fig. 6. State assignment procedure for large flow tables.
assignment procedure. The matrix reduction technique isderived from Tracey's algorithm 2 [4], modified to permitthe maximum number of constraints not included in thepartial assignment to be a passed parameter.
Fig. 7 shows a 12 row by 4 column flow table whichwill be used to illustrate the state assignment procedure.It should be noted that the algorithm described herein isnot particularly well suited to tables as small as this ex-ample; it is presented primarily to illustrate the technique.Assume that constraint matrix size limits are 10 rows
maximum and 2 rows minimum (these are unrealisticallylow, but are chosen for illustrative purposes). As shown inFig. 8, the matrix is reduced in two segments, producing asix variable assignment.The state assignment method outlined above produces
codes more economically than the Tracey algorithms be-cause the amount of computation required to reduce aBoolean matrix is much greater for schemes which considerthe entire matrix than for methods which reduce relativelysmall matrix segments. It is, for example, much simplerto reduce four matrix segments of 50 rows each than toreduce one 200 row matrix.Two programmed implementations of the new state
assignment procedure have been used to investigate theeffects of varying matrix size and residue limits. Resultsare problem dependent, but programming considerations
also appear to influence choice of optimum values for theseparameters. An early PL/1 version [5] produced bestresults with a matrix size limit of 20 to 25 constraints anda residue maximum of two to five constraints. A muchmore efficient Fortran program recently developed appearsto be fastest with a matrix size limit of 30-35 (33 was usedin experiments summarized in Fig. 8), and a residue limitof five to eight.
Residue limits below five tend to produce assignmentswith slightly more variables, with no apparent savingsin time; the same effect is observable for low constraintmatrix size limits. Calculation times rise with increasingmatrix size limits, typically producing slightly smallerassignments with 25-50 percent more effort using a 100constraint limit.
Relatively efficient Fortran implementations of Tracey'stechniques and the new method described here have beencreated. These computer programs have been used to cal-culate assignments for a large number of flow tables havingsimilar properties. The state assignment experiments sum-marized in Fig. 9 used the flow tables characterized inAppendix I. Programs utilized were written in Fortranand run on a CDC 1604. Undoubtedly, faster hardware orassembly level coding would improve the execution timecited. Assignment methods are those used in the text,with "SR" designating the segmented reduction pro-
929
IEEE TRANSACTIONS ON COMPUTERS, SEPTEMBER 1974
Input States
InternalStates
1
2
3
4
5
6
7
8
9
10
11
12
00
2
01 11
4
10
Fig. 7. Machine 4 flow table.
K-set Partitions
(1,6; 2,11)(1,6; 3,5,7)(1,6; 4,8,12)(2,11; 3,5,7)(2,11; 4,8,12)(3,5,7; 4,8,12)(1,3; 5,9)(1,3; 2,4,6)(1,3; 7,8,10)(5,9; 2,4,6)
(5,9; 7,8,10)
(2,4,6; 7,8,10)(5,7; 1,6,9)
(8,12; 2,10,11)(1,3,6,8,10,11; 2,4,5,9,12)(1; 3)(7; 9)(8; 10)
Constraint Matrix
1OXXX1XX XXOXixoxolox XxxX
lXx0XOXO XxXO
Xioxoxox Xxix
XlXOxxxO Xxli
XXlOlX1o XXXO1XXIX2XX OXXX
lOlOxoxx xxxx
llxXXxoo xoxx
XOXOlOXX lxxx
lOIOxOxx Xxxx
ixoxolox xxxx
xxx1lXoo lOxx
xlxlx100 xoXx
OXXXlOlX Oxxx
XOXXxXXX xOO1lIOlOOiXi 0110lxOxxxxX Xxxx
xxxxxxlx oxxX
Remarks
Last constraint for column 00
Matrix reduction occurshere, producing state
10101110 XOOXliilolxx Oxxx
lllOXXOO XO1I
variables below andmatrix remainders shown.
Constraint generationresumes in column 01
First constraint added tolist for column 11
Only constraint for column 10Row pair partitioning begins
XXXXXXXt XOXX Second matrix reductionoccurs, producing the statevariable list:
10101110 100011110100 000011101000 001010100011 O1XXllOXOIo0 1110
lOIOOIlXl 0110 and the matrix remaindershown. Since no otherconstraints are required,the assignment is found tocontain 6 variables.
Fig. 8. Constraint matrix segment reduction for machine 4.
cedure described herein. Fig. 9 shows a comparison ofrepresentative performance observed for very large tables,utilizing Tracey's method "D" and the constraint seg-
ment reduction procedure described here.
SUMMARYThis paper has described a technique for generating
nonstandard USTT internal state assignments for very
large normal, fundamental mode asynchronous sequential
000 001 9 11
(iIIIII: 001 6 10 12
011 1 -- 11
010 6 -- 12
3 Oi011 100 12
1 (D 010 9 11
3 100 5 --
4 7 101 11
__ 5 (E)-III:5 110 12
__ 7 Oil0 11
2 __ 10 110
4 __ 8 111
I
930
SMITH: GENERATION OF INTERNAL STATE ASSIGNMENTS
Table Number Standard Assignment Computed CPUReference of Assignment Method Assignment Time,Number Cells Variables Variables Seconds
38 21 63 A 4 496B 4 1.2C -%-300D 5 1.8SR 5 1.4
37 24 63 A 3 12.4B 3 0.9D 5 1.4SR 5 1.2
6 24 63 A 4 \.300B 4 1.7C 4 11.5D 4 1.0SR 4 1.0
9 28 63 A 3 --B 5 2.5D 5 1.9SR 6 1.6
32 36 84 B 6 4.8D 7 3.1SR 7 2.3
33 40 84 B 5 6.0D 6 3.5SR 6 2.5
4 48 84 A 4 "500B 5 7.6D 6 3.4SR 6 3.3
36 60 84 B 6 10.5D 9 5.6SR 9 3.5
35 60 84 B 6 11.3D 8 7.3SR 7 3.8
24 150 84 D 13 6.1SR 13 5.0
26 141 84 D 14 17.0SR 14 8.0
28 250 105 D 27 179.2*SR 29 49.9
29 260 105 D 25 169.6*SR 30 33.9
22 390 126 D 41 475*SR 37 165
23 396 126 SR 43 16121 400 126 D 33 \500*
SR 39 179
*Estimated using the SR method with segment size limits set to 400/8.
Fig. 9. Comparison of computational requirements for five assignment techniques.
TABLE I
TableReference Stable Unstable UnspecifiedNumber Rows Columns Cells K-Sets States States Next-state
4 12 4 48 14 14 27 76 6 4 24 9 9 13 29 7 4 28 12 12 16 0
21 40 10 400 101 101 274 2522 39 10 390 106 106 262 22
23 36 11 396 115 115 271 1024 15 10 150 46 46 95 925 12 12 144 30 30 91 2326 13 11 143 45 45 78 2028 25 10 250 72 72 154 24
29 20 13 260 74 74 150 3632 9 4 36 16 16 16 433 10 4 40 17 17 19 435 12 5 60 23 23 27 1036 10 6 60 24 24 29 7
37 6 4 24 11 11 13 038 7 3 21 11 11 10 0
circuits. The procedure avoids computational difficultiesencountered using previous minimum or near-minimumvariable assignment methods by reducing segments of theconstraint matrix, as it is generated. Computer programs
were developed to compare performance of the new tech-nique with previous methods; these experiments verifiedthe performance advantages of the nev procedure.
APPENDIX I
FLOW TABLE CHARACTERISTICS
Flow tables used in the state assignment experimentsdescribed in this paper are characterized in Table I.Except where indicated, the tables were derived frompseudorandom transition sequences.
931
IEEE TRANSACTIONS ON COMPUTERS, VOL. c23, NO. 9, SEPTEMBER 1974
REFERENCES[1] D. A. Huffman, "The synthesis of sequential switching circuits,"
J. Franklin Inst., vol. 257, pp. 161-190 and pp. 257-303, Mar.-Apr. 1954.
[2] A. D. Friedman, R. L. Graham, and J. D. Ullman, "Universalsingle transition time asynchronous state assignments," IEEETrans ComnDput. vol. C-18, pp. 541-547, June 1969.
[3] C. N. Liu' "A state variable assignment for asynchronoussequential circuits," J. Ass. Comput. Mach., vol. 10, pp. 209-216 Apr. 1963.
[4] J. iH. Tracey, "Internal state assignments for asynchronoussequential machines," IEEE Trans. Electron. Comprut., vol.EC-15, pp. 551-560, Aug. 1966.
[5] R. J. Smith, II, "Synthesis heuristics for large asynchronoussequential circuits," Ph.D. dissertation, Univ. Missouri at Rolla,Rolla, 1970.
Robert J. Smith, II (S'66-M'70) was born in San Francisco, Calif.in 1944. He received the B.S. degree in electrical engineering from
Wichita State University, Wichita, Kans., in1966, and M.S. and Ph.D. degrees in electricalengineering from the University of Missouriat Rolla, Rolla, in 1968 and 1970, respectively.
In 1965 and 1966 he was a Tool DesignEngineer with the Boeing CorporationWichita, Kans. He joined the staff of theMissouri Institute of Psychiatry in 1970,where he worked on computer applications inpsychiatric medicine, and became Director ofthe MIP computer center. In 1971 and 1972
he served as an EDP Plans and Operations Officer at AberdeenProving Ground, Aberdeen, Md. He is currently an Assistant Pro-fessor of Electrical Engineering and Computer Science in theInstitute of Technology, Southern Methodist University, Dallas,Tex. His present research interests are in the areas of digital designautomation, computer organization and biomedical computingapplications.
Dr. Smith is a member of Eta Kappa Nu, Tau Beta Pi, the Associ-ation for Computing Machinery, and the American Society forEngineering Education.
Discretization Error Analysis in Linear DDA ConnectionsLAURI HAKKALA AND LEO OJALA
Abstract-In this paper mathematical models for digital integratorsoperating with multidigit increments are given, and the discretizationerror analysis of their linear connections is studied. The integrationmethods considered are linear multistep integration methods; someexamples are studied in detail. Linear digital differential analyzer(DDA) connections are defined, and their use in connection with thenumerical solution of the initial value problem is explained. Finally,the discretization error in these linear DDA connections has beenanalyzed in detail; the theoretical results have also been verifiedexperimentally.
Index Terms-DDA, digital incremental integrators, discretizationerror analysis, linear DDA connections, linear multistep integrationmethods, multidigit increments.
I. INTRODUCTION
THE digital differential analyzer (DDA) was developedto replace the analog computer in the solution of
ordinary differential equations. The progress has beenvery rapid: the first electronic DDA "MADDIDA"(magnetic drum digital differential analyzer) was built in1950; today there are several types of DDA's with im-
Manuscript received January 11, 1972; revised October 24, 1973.The authors are with the Apphed Electronics Laboratory, Hel-
sinki University of Technology, Otaniemi, Finland.
proved techniques and increased speed and accuracy[1], [2].The operation principle of the conventional fixed-point
DDA is very simple [3], [4]. The basic unit is an inte-grator which usually uses the rectangular (Euler) or thetrapezoidal integration rule, and the communication be-tween these units is conveyed by binary or ternary trans-fer. The major disadvantage of the conventional DDA is itsrather poor accuracy or computing speed. Thus the nextstep in the evolution of the DDA is to increase the amountof information conveyed between the DDA integratorunits: the use of multidigit incremental integrators [5].An additional improvement is to use more efficient andaccurate integration methods [6].
This paper presents a mathematical model for a specialtype of DDA integrator: the model of the multidigitdigital integrator using a general linear multistep integra-tion method. The information between the integratorunits is transferred by words consisting of at most Mbinary digits differing from zero, so-called M-increments.
Furthermore, the concept of a linear DDA connectionis introduced. This is a special arrangement of DDAintegrators which can be used to solve numerically acertain class of initial value problems, namely, the class
932