The Description and Use of Register Transfer Modules (RTMs)
C. GORDON BELL, JOHN EGG ERT, JOHN GRASON, and PETER WILLIAMS
In the design of digital systems (e.g., computers) the problem formulation and the design solution are most likely carried out at a register transfer concept level. Early and recent texts on logical and computer design discuss the register transfers as primitive components [Bartee et al., 1962; Chu, 1970]. Logical design simulators that use a register transfer language have been written, and there have been several attempts to carry out detailed sequential and combinational logic designs from register transfer descriptions [Friedman and Yang, 1969]. Despite the acknowledgment that there are primitives based on register transfers, there is yet to emerge a common set of modules that are taken as primitive in the same way we think of various flip-flop types and NAND and NOR gates. However, Clark at Washington University, St. Louis, Mo. [Clark, 1967], has been developing and evaluating such a basic set of modules, called Macromodules.
Register Transfer Modules are our first attempt at providing a basic set of modules for high level digital systems design. These modules have been implemented by the Digital Equipment Corporation (DEC). The design of RTMs has been influenced by many of the above approaches and disciplines, and by programming methods. This note presents the general problem RTMs are trying to solve, the factors constraining their design, a brief description of the more important modules from a user's point of view, and two examples of their use.
Several aspects of the RTM system are important.
1. Digital system design is carried out entirely in terms of the modules; combinational and sequential switching circuit design are not used. (The process is akin to programming a sequential computer.) Design time is significantly less than with conventional logical de sign.
2. The most abstract representation, and usually the only representation of a given design, has enough information for constructing the system. This representation is a standard flowchart to specify the control flow, coupled to a data part that holds the data and carries out data operations.