a compiler level program for teaching digital systems design

6
IEEE TRANSACTIONS ON EDUCATION, VOL. E-12, NO. 4, DECEMBER 1969 A Compiler Level Program for Teaching Digital Systems Design MARLIN H. MICKLE, MEMBER, IEEE Abstract-Instruction in the concepts as well as the design tech- niques of digital systems, including computers, can be considerably facilitated by demonstration. The hardware equipment required for such demonstration in a comprehensive course covering many sys- tems and techniques may be very expensive. One solution to the cost problem is to simulate the systems to be studied using programs written for a general purpose digital computer, which normally is readily available. The instructional aids described are based on systems whose simulation programs are written in a compiler lan- guage as well as a language specifically developed for the simulation of digital systems. In summary, the design of digital systems and computers can be made more meaningful through the aid of such digi- tal simulation programs. INTRODUCTION NSTRUCTION in the design and understanding of digital systems is made considerably more effective if the student has the ability to see his designs as well as existing systems working. In the context of this paper, a digital computer will be included in the term digital system. The ability to obtain hands-on operation of existing as well as proposed digital systems can be- come extremely expensive and time consuming if actual hardware is to be used. A common approach in teaching these concepts is to follow a particular text going through the standard definitions and presenting various sections and com- ponents of systems or computers. While such a general approach gives the student familiarity with existing techniques, the reasons why the various techniques are used may often escape the student. A particular case in point is a general purpose com- puter. While computation in a batch-processing mode on a given computer may be available, hands-on use of hardware for instruction purposes may not be possible. Thus a particular machine is selected as a design ex- ample and the corresponding specifications and sche- matics are meticulously discussed in class. There are two basic disadvantages in this type of approach. First of all the course is made machine-dependent and, while the result of the digital designer is available, the underlying reasons for using many ingenious "tricks" in the design are difficult for the student to figure out. Many students often feel there are hidden black boxes which can act as brains to make the whole thing work. The evaluation of Manuscript received November 28, 1968; revised January 15, 1969. The author is with the University of Pittsburgh, Pittsburgh, Pa. design alternatives by the student is possible only in the most general sense because of the inability to actually make any modifications. The feasibility and desirability of many of the modifications is difficult to assess due to the interdependence of a large number of elements in such a system. In essence, such approaches result in taking a compli- cated, but completely detailed, system and making black boxes out of the various subsystems. An alterna- tive approach is to begin with a simpler, but completely detailed, system and work in the opposite direction. While the simpler system may initially not have all the power of the more complicated one, it enables the stu- dent to understand very quickly how the complete sys- tem operates. At this point, the student is then in a position to observe the shortcomings of the simpler system and to begin proposing his own designs of more sophisticated subsystems to fit in the general scheme of the system. This encourages the creativity of the student rather than forcing him to sort through a design which has evolved through various stages unknown to him and probably unknown to the instructor. The approach to be taken to the computer-aided design of digital systems is to first consider a small scale digital computer and its possible design modifications which can be performed by the student. The next step will be the approach to the detailed design considera- tions of portions of the computer as well as the design of general types of digital systems. THE 9-BIT COMPUTER While sixty-four words of core storage may present a problem for a programmer, the effect is just the opposite when it comes to teaching the philosophy of design of digital computers. The particular machine under discus- sion [1] has a set of single field machine instructions based on a 9-bit word length. The complement of in- structions is not designed to give an optimum utiliza- tion of the machine in any problem environment, but rather to enable a student to readily understand the previously designed computer. The block diagram is given in Fig. 1. The instruction repertoire is made up of the following instructions: clear accumulator, jump, add x, substract x, move x, (accumulator to memory), load x (memory to accumulator), branch on positive, branch on negative. It is obvious that one of the branch instructions can be 274

Upload: marlin-h

Post on 24-Sep-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A Compiler Level Program for Teaching Digital Systems Design

IEEE TRANSACTIONS ON EDUCATION, VOL. E-12, NO. 4, DECEMBER 1969

A Compiler Level Program for Teaching

Digital Systems Design

MARLIN H. MICKLE, MEMBER, IEEE

Abstract-Instruction in the concepts as well as the design tech-niques of digital systems, including computers, can be considerablyfacilitated by demonstration. The hardware equipment required forsuch demonstration in a comprehensive course covering many sys-tems and techniques may be very expensive. One solution to thecost problem is to simulate the systems to be studied using programswritten for a general purpose digital computer, which normally isreadily available. The instructional aids described are based onsystems whose simulation programs are written in a compiler lan-guage as well as a language specifically developed for the simulationof digital systems. In summary, the design of digital systems andcomputers can be made more meaningful through the aid of such digi-tal simulation programs.

INTRODUCTIONNSTRUCTION in the design and understanding ofdigital systems is made considerably more effectiveif the student has the ability to see his designs as

well as existing systems working. In the context of thispaper, a digital computer will be included in the termdigital system. The ability to obtain hands-on operationof existing as well as proposed digital systems can be-come extremely expensive and time consuming if actualhardware is to be used.A common approach in teaching these concepts is to

follow a particular text going through the standarddefinitions and presenting various sections and com-ponents of systems or computers. While such a generalapproach gives the student familiarity with existingtechniques, the reasons why the various techniques areused may often escape the student.A particular case in point is a general purpose com-

puter. While computation in a batch-processing modeon a given computer may be available, hands-on use ofhardware for instruction purposes may not be possible.Thus a particular machine is selected as a design ex-ample and the corresponding specifications and sche-matics are meticulously discussed in class. There are twobasic disadvantages in this type of approach. First of allthe course is made machine-dependent and, while theresult of the digital designer is available, the underlyingreasons for using many ingenious "tricks" in the designare difficult for the student to figure out. Many studentsoften feel there are hidden black boxes which can act asbrains to make the whole thing work. The evaluation of

Manuscript received November 28, 1968; revised January 15,1969.

The author is with the University of Pittsburgh, Pittsburgh, Pa.

design alternatives by the student is possible only in themost general sense because of the inability to actuallymake any modifications. The feasibility and desirabilityof many of the modifications is difficult to assess due tothe interdependence of a large number of elements insuch a system.

In essence, such approaches result in taking a compli-cated, but completely detailed, system and makingblack boxes out of the various subsystems. An alterna-tive approach is to begin with a simpler, but completelydetailed, system and work in the opposite direction.While the simpler system may initially not have all thepower of the more complicated one, it enables the stu-dent to understand very quickly how the complete sys-tem operates. At this point, the student is then in aposition to observe the shortcomings of the simplersystem and to begin proposing his own designs of moresophisticated subsystems to fit in the general scheme ofthe system. This encourages the creativity of the studentrather than forcing him to sort through a design whichhas evolved through various stages unknown to himand probably unknown to the instructor.The approach to be taken to the computer-aided

design of digital systems is to first consider a small scaledigital computer and its possible design modificationswhich can be performed by the student. The next stepwill be the approach to the detailed design considera-tions of portions of the computer as well as the design ofgeneral types of digital systems.

THE 9-BIT COMPUTER

While sixty-four words of core storage may present aproblem for a programmer, the effect is just the oppositewhen it comes to teaching the philosophy of design ofdigital computers. The particular machine under discus-sion [1] has a set of single field machine instructionsbased on a 9-bit word length. The complement of in-structions is not designed to give an optimum utiliza-tion of the machine in any problem environment, butrather to enable a student to readily understand thepreviously designed computer. The block diagram isgiven in Fig. 1.The instruction repertoire is made up of the following

instructions: clear accumulator, jump, add x, substractx, move x, (accumulator to memory), load x (memory toaccumulator), branch on positive, branch on negative.It is obvious that one of the branch instructions can be

274

Page 2: A Compiler Level Program for Teaching Digital Systems Design

MICKLE: PROGRAM FOR TEACHING DIGITAL SYSTEMS DESIGN

Fig. 1. 9-bit computer.

done away with, but this is left as an exercise to thestudent as a part of his design work. The given instruc-tion set allows sufficient flexibility for machine languageprogramming.

All components of the computer are at the gate leveland all wiring diagrams of the computer are easilydrawn on four letter size pages. It is thus easy for astudent to get a quick view of all the system componentsand interconnection.

SIMULATION

The complete logic operation of the machine is simu-lated using a program written in MAD for an IBM 7090[2]. The effects of the levels and edges of the machinesignals are included in the simulation program for thecomputer in order to most accurately represent theoperation of the various edge sensitive devices [3]. Theprogram was written to simulate only clocked functionsthus implying ideal elements with no loading problems.The program is modular in construction in order to be

able to readily identify any section of the program withits corresponding simulated section in the machine. Theuse of the Boolean mode of the language makes it quitesimple to identify machine components with the cor-responding program statements.The basic machine cycle is composed of six clock

cycles giving twelve identifiable time segments. Thesimulation program provides printouts of various regis-ters and memory, and any additional machine variablescan be easily printed.The program accepts as input the machine language

instructions in binary code. No additional capability isassumed in the simulation over what is available inhardware. It is therefore necessary to include a boot-

strap for inputing any program to be run. This type ofoperation is an advantage from an educational stand-point where the object of the simulation is not debug-ging but rather machine operation.

It is now possible to provide each student with hisown "computer" for the price of duplicating a deck ofabout 700 cards. Not only does he have his own "com-puter" to work with, but he has the ability to modifyit with relative ease.The availability of a computer to use as often and as

extensively as the simulation program can be processedon another machine is extremely valuable. The unavail-ability of individual hardware normally forces the in-structor to answer questions and talk through programsat one speed for the entire class while the simulationprogram essentially allows each student to move aheadat his own pace.The simulated machine not only aids in the instruc-

tion about computers but also provides two importantside benefits. First, the student gains increasing familiar-ity with a compiler language, the one in which the pro-gram is written. The familiarity is more than one of amechanical or instructural nature. Using such a lan-guage on a relatively sophisticated computer to simu-late a less sophisticated computer makes the studentlook closely at the compiler language, and thus he usu-ally gains more insight into the machine language intowhich the more powerful language is compiled andassembled. The design of digital computers requiresconsideration of software as well as hardware. The con-struction of a software-hardware package must be ahand-in-hand operation. This aspect of the design pro-cess is illustrated wherever possible in the course ofinstruction.

275

Page 3: A Compiler Level Program for Teaching Digital Systems Design

IEEE TRANSACTIONS ON EDUCATION, DECEMBER 1969

The second aid is an exposure to the ideas and con-cepts of one type of simulation. Much of the literaturetoday deals with the various reasons for and methods ofsimulation. Here is an opportunity for the student to beexposed to one phase of the increasing uses of simulation.

DESIGN

The ways and means of teaching design have receivedconsiderable attention in the literature. Much of whathas been written applies to the teaching of design ofdigital systems. It is very easy to pay lip service to thevarious reasons why this should be done or that shouldnot be done. It is also possible to introduce general pro-cedures which are employed with the existing state ofthe art. While abstraction of design principles and ra-tionale are worthwhile, there is a fundamental principlewhich is best stated in a quotation of Aristotle, "Hereand elsewhere we shall not obtain the best insight intothings until we actually see them growing from thebeginning."Many excellent lectures can be much more effective if

the teacher, who has cast them in the light of his ownexperience, enables the student to obtain experience ofhis own. Thus with the simulated machine, as well aslater developed modifications and sophistications of it,the student can in a limited way,. see them grow-ing from the beginning."Once a familiarity is gained with the basic machine,

the instructor is in a position to assign limited size pro-gramming problems which are to be written in machinelanguage and run on the simulation. A judicious choiceof problems can allow the student to see for himself thelimitations of the existing hardware and to proposemodifications. One particular example is that of a soft-ware multiplication routine. While such a routine ispossible with the instruction repertoire provided, itcould be performed much more simply if a shift instruc-tion were available. At this point, the redundancy of thebranch on positive and branch on negative instructionscan be alleviated by replacing one of them with a shiftinstruction. Which instruction is to be retained, andwhat specific type of shift instruction is to be utilizedcan be proposed by the student where the decision isnow cast in the light of his own familiarization with thehardware and software.The computer-aided design advantages to the indi-

vidual students is obvious at this point. There is, inaddition, an advantage to the instructor. Each studentdesign can now be incorporated into his own simulation.The instructor need not trace through and decipher thevarious modifications proposed by each student. In-stead, he can have them solve a common problem andhave the computer find the obvious mistakes for themallowing the instructor more time for a critical evalua-tion. Such a procedure is definitely computer-aided

ALTERNATE COMPUTER TYPES

While the indicated machine represents a somewhattypical digital computer, many recent proposals havereceived considerable attention. One particular type ofcomputer is based on using the residue number system[4] rather than binary, decimal, etc. The use of such a

number system has been shown to be a definite advan-tage for a particular class of problems [5], [6]. One dis-advantage from an instructional standpoint of introduc-ing new design concepts is the lack of particular hardwareexamples of existing machines. Such a lack of hardwareby no means implies that such proposals are lacking inmerit.The use of the residue number system represents a

change in philosophy from a mathematical standpointbut is relatively conventional with respect to the controland memory structure. The variations in design repre-

sent a relatively easy transition for the student tounderstand. Many of the considerations to be taken intoaccount in decisions to be made in the design such as theselection of moduli, input/output conversion, etc. are

subtle. The student understands what is being done as

he is led through a step by step analysis of what hasalready been done. However the ability to make judge-ments on these factors is often difficult to convey underthese circumstances.The simulation program is used to aid in conveying

these points. The students are grouped together witheach group being given the task of modifying the 9-bitbinary machine into a residue number computer (RNC)[11], [12]. The primary constraint on design being thatthe word length is restricted to nine bits for the instruc-tional reasons which were initially iterated. The use ofgroup design serves two purposes. First of all, the con-

siderations to be taken into account on an individualbasis may be too time consuming. Both the design andsimulation are to be carried out along with other prob-lems, and an individual project would be out of propor-

tion from the standpoint of time. Second, the inter-change of ideas as well as the assuming of various tasksto be performed by each group member is valuableexperience. The computer-aided design and simulationmakes such a means of teaching readily possible. Theblock diagram of the residue modification is given inFig. 2.The use of a design in which all components can be

grasped reasonably well has a general advantage whichis apparent in trying to evaluate alternate designs forthe RNC. The cost of any modification to convert theexisting machine is a definite practical factor. While itcan be argued that the same thing can be done for penciland paper designs, the checking of the designs is at besttedious. The advantage of the aid of the computer isobvious.

design from the standpoint of the instructor.

276

There is an additional benefit which comes from this

Page 4: A Compiler Level Program for Teaching Digital Systems Design

MICKLE: PROGRAM FOR TEACHING DIGITAL SYSTEMS DESIGN

Fig. 2. 9-bit residue computer.

type of approach although it is aside from the generaltheme. The students are responsible for and must con-sider the effects of the design on existing software, docu-mentation, development, etc. It is interesting to notethat while many of their assessments must be made with-out benefit of past experience, they turn out to be re-markably accurate and competitive with each other.Another type of digital machine which is widely used

today is the process control computer. While it hasmany similarities to the conventional computer, thereare many basic differences which require understanding.As opposed to the RNC, there are many existing processcontrol machines. For the same instructional reasons aswere pointed out previously, it is felt that a first handknowledge is valuable. As in the other examples, thestudents lay out their pencil and paper designs, incor-porate them in the simulation program, and do the test-ing and debugging with the aid of the processingcomputer.While it is obvious that a sixty-four word machine is

limited in the stored program it can handle, the limita-tion with the division of the memory into four sectorsis more dramatic in the sixteen words allotted to eachsector. The resident core program is given one of thefour sectors. The other three allow three stored pro-grams for three levels of priority interrupt. While it isobvious that practical process control computers re-quire more core storage and more levels of priorityinterrupt, the concepts and principles can be demon-strated on a much more limited scale.

In the case of the process control computer as well as

Fig. 3. 9-bit process control computer.

with the residue number computer and general purposecomputer, a particular design is made available to thestudent which represents his own individual machinewhose modification and subsequent simulation is limitedonly by the ingenuity of the student himself. As eachsimulated machine is finalized by a student or studentgroup, it is considered for use as the fundamental ma-chine which will be used in the subsequent term. Anyselection is based on the educational value it has as thestarting point for student assignments. In this sense, themachine used is the best available although it may notrepresent the ultimate in design and efficiency of digitalsystems. The 9-bit process control computer is shownin Fig. 3.

SOFTWAREThe particular course sequence for which the previ-

ously described simulations are used, is for teachinghardware system design concepts. It is true that hard-ware design should take into consideration software andvice versa.

In the context that software influences hardware, thesoftware for the designed machines is covered. Thestudents must, of course, write their programs in ma-chine language to be run on the simulated machines.The necessary bootstrap programs for all the machinesare discussed. The changes in concept for the RNCrequires software for both input and output. The process

277

Page 5: A Compiler Level Program for Teaching Digital Systems Design

IEEE TRANSACTIONS ON EDUCATION, DECEMBER 1969

control machine has routines in each sector to storeregister contents and partial results when a runningprogram is interrupted in order that it can be subse-quently picked up at the point at which it was inter-rupted.A compiler and/or assembler language to be processed

on the indicated machines is virtually impossible. It ispossible, on the other hand, to have programs for thosemachines compiled and assembled on larger machines.The inclusion of these concepts is incorporated to a

limited extent in the design of digital systems.

DIGITAL SIMULATION LANGUAGES

The discussion thus far has dealt with computer-aided design where the simulation is performed usingstandard compiler level languages such as FORTRAN,

MAD, etc. While this type of language is satisfactory forrather large, well-defined simulations, it does not alwayslend itself readily to repeated use in situations wheremany different types of systems are to be simulated on a

single run basis. It has become obvious in the past fewyears that there is a need for a language devoted to thesimulation of digital systems.One of the primary objectives in this type of language

is a variable level of simulation. The variable level isneeded to avoid the logic level design of an entire com-

puter, for example, when only the arithmetic unit is ofparticular interest.There are two fundamental approaches in designing a

digital system simulation language. The first and mostobvious is to write the complete language package andassociated translators or compilers based on a funda-mental set of rules. The second approach is to write a

macro-language over an existing language by writingappropriate subroutines in the base (compiler) language.Both approaches have advantages which are, in many

cases, subjective. The latter happens to be the one inwhich this author has been involved and will be consid-ered as the basis for the remainder of this discussion.The digital system simulation language written over a

compiler language is, in essence, a set of subroutines or

external functions which can be called from the simula-tion program. One advantage of this type of approachis that the compiler language itself can be used to expandthe digital language with relative ease. A second ad-vantage is that most people involved in digital systemhave a working knowledge of the base language bringingabout an easier understanding of many technicalitiesof the simulation language.The simulation language as well as the base language

have in general the capability of verifying Booleanstatements. The power of the language is not entirelyin this area but also in the ability to simulate those partsof the system where such things as timing and edgesensitivity [3r] of logic elements are important. Ordinarylevel sensitive combinational logic can be easily testedwith the Boolean mode capabilities of the base languagessuch as FORTRAN and MAD.

SIMULATION LANGUAGES AS A DESIGN AID

The variable level capability of digital simulationlanguages allows the laying out of the system accordingto a relatively simple block diagram which gives thedesired input and output to the indicated blocks with-out actually performing a detailed simulation of what isto happen within the block. An example of this can beseen by considering the digital system such as the previ-ously described 9-bit computer. The simple block dia-gram may consist only of the control, arithmetic, mem-ory and input/output blocks. During the initial designand simulation stages, the memory unit is to be includedbut only as a block for which an output occurs for aparticular input.The memory at this level can be easily simulated by a

subroutine where the first element of the calling vectoris the machine representation of the address to be inter-rogated and the second element is the memory contentsof the given address. The memory simulation routine inthis sense may consist of simply a conversion of thesimulated machine input representation into an integerwhich in turn is used as the subscript of an array that isused to store the information for each word. The con-tents of the indicated element can in turn be convertedto the machine representation of the simulated com-puter which is now the memory output.The detailed simulation of the memory can be started

from this point by breaking up the simple block into aseries of blocks until the final desired simulation levelis achieved. The detailing can be accomplished by con-tinuing with the compiler language or adding the addi-tional routines with the digital simulation language.The important point of this discussion is the ability

to use the computer as an aid in the design of digitalsystems even in particular, another computer. Severalyears ago, it was possible to sketch out a circuit design,check it over by inspection and give it to a technicianwho would build it and actually add corrections whenhe found the digital circuit did not work as specified.While this basic procedure is still possible, the individualsteps of the procedure have become much more costlyand time consuming on an "experimental" basis due tothe many advances in the state of the art of electronictechnology. These advances need to be paralled in thesteps used by the designer. The computer is now addedto do many of the bookkeeping tasks which it does wellin order to allow the logical mind to be freed of suchroutine things and let it do what it does best, design.The digital system simulation language is a method ofcommunication between the designer and the computer.

SUMMARY AND CONCLUSIONS

Several years ago, it was possible to design very in-genious systems, simplify and test them by inspection.These initial systems have led to more complicated sys-tems although very similar to the earlier ones in concept.The complication by virtue of its magnitude can compli-

278

Page 6: A Compiler Level Program for Teaching Digital Systems Design

279MICKLE: PROGRAM FOR TEACHING DIGITAL SYSTEMS DESIGN

cate instruction in the techniques of the system design.The simulation of digital systems on a computer can

simplify the instruction thus aiding in many phases ofdesign concepts and techniques.As familiarity with the systems is gained, the problem

of the mechanics of the more complicated design is stillpresent. Again the computer can be used, this time as a

design tool. The bookkeeping of the design as it isbrought forth, can be handled as well as the putting inplace of each new phase with what already exists. Tak-ing these two essentially routine tasks away from thedesigner frees him for the more creative aspects of de-sign. This is truly computer-aided circuit design.

ACKNOWLEDGMENTThe author wishes to thank Dr. T.-W. Sze, Professor

of electrical engineering, University of Pittsburgh, Pitts-burgh, Pa., for his devoted work in digital systems de-sign, J. T. Cain for the original development of thesimulation of the 9-bit computer, and last but obviouslynot least, the many graduate students whose long hourshave made the evolution of the programs possible.

REFERENCES[1] M. H. Mickle, J. T. Cain, and T. W. Sze, "A 9-bit digital com-

puter," Dept. Electrical Engrg. University of Pittsburgh,Computer Group Tech. Rept. 67-2, 1967. (Available on request).

[2] J. T. Cain, M. H. Mickle, and L. P. McNamee, "Simulation of a

digital system using a compiler level language," Southwest IEEEConf. Rec., Rice University, Houston, Tex., pp. 13D1-13D8,1968.

[3] , "Compiler level simulation of edge sensitive flip-flops,"Proc. Spring Joint Computer Conference, vol. 30, pp. 757-759,1967.

[4] H. L. Garner, "The residue number system," IRE Trans.Electronic Computers, vol. EC-8, pp. 140-147, June 1959.

[5] P. W. Cheney, "A digital correlator based on the residue num-

ber system," IRE Trans. Electronic Computers, vol. EC-10, pp.63-70, March 1961.

[6] R. D. Merrill, "Improving digital computer performance using

residue number theory," IEEE Trans. Electronic Computer, vol.EC-13, pp. 93-101, April 1964.

[7] R. P. Larsen and M. M. Mano, "Modeling and simulation ofdigital networks," Commun. ACM, vol. 8, pp. 308-312, May1965.

[8] R. M. McClure, "A programming language for simulating dig-ital systems," J. ACM, vol. 12, pp. 14-22, January 1965.

[9] J. R. Duley and D. L. Dietmeyer, "A digital system design lan-guage (DDL)," IEEE Trans. Computers, vol. 17, pp. 850-861,September 1968.

[10] T. A. Trygar, "The development of a digital simnulation languageto simulate digital systems," M.S. Thesis, University of Pitts-burgh, Pittsburgh, Pa., 1968.

[11] R. P. Voith, R. L. Mueller, and C. Rodriguez, "Residue modi-fications of the digital simulation of a 9-bit computer," Dept.Electrical Engrg., University of Pittsburgh, Computer GroupTech. Rept. 68-1, 1968. (Available on request).

[12] S. Shipkovitz, J. E. Petit, and A. Nauda, "Implementation of a9-bit residue system computer," Dept. of Electrical Engrg.,University of Pittsburgh, Computer Group Tech. Rept. 68-2,1968. (Available on request).

[13] T. C. Lowe, "An educational tool for use in the introduction ofdigital computing," IEEE Trans. Education, vol. E-11, pp. 19-24, March 1968.

[14] H. Schorr, "Computer-aided digital system design and analysisusing a register transfer language," IEEE Trans. ElectronicComputers, vol. EC-13, pp. 730-737, Decembet- 1964.

[151 R. M. Proctor, "A logic design translator experiment demon-strating relationships of language to systems and logic design,"IEEE Trans. Electronic Computers, vol. EC-13, pp. 422-430,August 1964.

[16] H. P. Schlaeppi, "A formal language for describing machinelogic, timing, and sequencing," IEEE Trans. Electronic Com-puters, vol. EC-13, pp. 439-448, August 1964.

[17] P. Lucas, "Requirements on a language for logical data pro-cessing," 1962 Proc. IFIP Cong., pp. 556-559, 1963.

[18] A. Baker, "Computer simulation of digital systems," Electro-Technol., vol. 74, pp. 87-89, September 1964.

[19] M. A. Brewer, "Techniques for the simulation of computerlogic," Commun. ACM, vol. 7, pp. 443-446, July 1964.

[20] R. W. Conway, B. M. Johnson, and W. I. Maxwell, "Some prob-lems of digital system simulation," Management Science, vol. 6,pp. 92-110, January 1950.

[21] J. H. Katz, "Optimizing bit-time computer simulation,"Commun. ACM, vol. 6, pp. 679-684, November 1963.

[22] M. Lehman, R. Eshed, and Z. Netter, "The checking of com-puter logic by simulation on a computer," Computer J., vol. 6,pp. 154-162, July 1963.

[23] F. W. Weingarten, "Simulation of computer logic by FORTRANARITHMETIC," Commun. A CM, vol. 8, pp. 516-517, August1965.