previous | contents | next

THE DESCRIPTION AND USE OF REGISTER TRANSFER MODULES 445

flow checkout by the user; providing for sense lights (indicators); providing for a word source of zero, i.e., ¬ 0; forming Boolean functions of the Bus register; power-on initialization; manual startup; and bus termination.

DESIGN WITH RTMs

Digital systems engineers are concerned with formulating algorithms that, when executed by hardware, behave according to the solution of the original design problem. The solutions of digital systems design problems using programming, conventional logical design, and RTM design are all similar. The three design and implementation processes have the same goal: to construct a program for a machine, or a hard-wired machine to execute the algorithm stated (or implied) in the problem. Thus, programming and digital systems engineering are concerned with interconnecting basic components or building blocks for executing algorithms; the building blocks are machine operations and logical design components, respectively. RTMs are a basic set of components for constructing hardware algorithms. That is, they are the components for digital systems design.

The design protocol using RTMs is very much akin to that of designing a program. The designer takes a natural language statement of the problem and carries out the conversion to a process description that acts on a set of data variables (and any temporary data variables). An RTM design has two parts: (1) the explicitly declared data variables and the implied data operations that are attached to these variables; and (2) the control part, a finite state machine, that accepts inputs and evokes the various operations on the data part. The control part is shown as a combined flowchart-wiring diagram.

Two examples show how this design is carried out. The schematic for the first example, an algorithm to sum integers, shows all wires and modules and the schematic for the second example, a small stored program computer, shows the control flow and the data part but excludes the connections between the control and data parts.

Example: Sum of Integers to N

A small system to sum the integers to N (S¬ 0+ l + 2+ ... +N) can be built that uses the four aforementioned modules: DM.gpa, K.bus, K.evoke, and K.branch together with a switch register to enter N and a manual start control module to start the system. The data and control parts together are given in the RTM wiring diagram (Figure 3); the data part is shown on the right and the control part on the left. The final result S and the variable N are held in a general purpose arithmetic module DM.gpa. N is held in the switch register T initially. The control sequence is initiated by a K.manual-start (a human presses a key). Instead of counting to N, we start with N and count down to zero while tallying the sum S.

Figure 3. RTM digital system to take a value from a switch register input and to sum the integers to the input value.

previous | contents | next