IEEE TRANSACTIONS ON EDUCATION, VOL. E-26, NO. 4, NOVEMBER 1983 170 [8] T. Sticht, "Some relationships of mental aptitude, reading ability, and listening ability using normal and time-compressed speech," J. Commun., vol. 18, pp. 243-258, Sept. 1968. [9] W. De L'Aune et al., "Speech compression: Personality correlates of successful use," Vis. Impair. Blind., vol. 71, pp. 66-70, Feb. 1977. [10] J. Voor, "The effects of practice upon comprehension of timecompressed speech," thesis, University of Louisville, Louisville, KY, 1962. Application of Top-Down Principles to Digital System Design DAVID J. COMER Abstract-The concept of top-down design of programs is directly transferable to digital system design. This approach is not only useful in practical design, it is an excellent vehicle to use in teaching digital design classes. Top-down design of digital systems is considered here along with an example of this method. I. INTRODUCTION Since 1968 when the American Society for Engineering Education published the "Goals of Engineering Education" [1], electrical engineering programs have attempted to offer more design-oriented courses. This report, based on a study of engineering programs throughout the United States, recognized a serious lack of design courses in the typical engineering curriculum. Students were being trained to analyze a system or circuit rather than develop the system or circuit to meet a set of specifications. The "Goals of Engineering Education" report recommended that this curriculum deficiency be corrected. Since design methods encompass analysis methods, design is more time consuming than analysis. Time is required to first develop a good analysis capability in the student and then proceed to the design problem. Furthermore, analysis methods generally lead to a single answer, whereas design methods may have several equally good answers. The conciseness of analysis appeals to an instructor in an already overcrowded curriculum which continues to absorb new topics. While industry includes engineering jobs that depend almost solely on analysis, a high precentage of jobs require the application of design methods. If a program is to truly prepare a graduate for industry, design principles must be treated in enough depth to be useful to the student. The method described in this paper provides a framework for teaching digital system design. III. ANALYSIS VERSUS DESIGN In elementary school we are given analysis problems such as the following. Mother buys three cans of corn at 27 cents per can, two loaves of bread at 58 cents per loaf, four quarts of milk at 30 cents per quart, and 2 pounds of steak at $2.65 per pound. How much money was spent on groceries? This type of problem serves a useful purpose in teaching a child how math can be used. It has a single answer that immediately measures a person's ability to apply the required mathematics. Furthermore, design methods are generally based on analysis; thus, it is logical to teach analysis prior to design. A design problem based on this same example might read as follows. Mother has $10 with which to purchase groceries. She must buy enough food to serve three people and she desires to include items from the four basic food groups. Given the following price list for food, construct an appropriate shopping list. Obviously, this problem has many answers depending on the length of the price list, the rate of sales tax, the appetites of the people involved, and other factors. This design problem is more closely related to a real world problem than is the analysis problem. It is a situation that mother may face daily and its solution requires an ability to analyze. Generally, it is solved by a trial-and-error approach, and may require several trials to reach an acceptable answer. Analysis can be considered to be an important tool in solving a design problem. A designer must fully understand analysis before he can effectively apply design methods. However, the use of this tool should not be emphasized over the design procedure in digital system classes. Trial-and-Error Methods in Design Trial-and-error methods are often used in digital design just as they might be used to solve the previous food purchase example. A trial system is proposed, then this system is analyzed. By comparing the results of analysis to the specifications, an error can be evaluated. If this error is too large, the trial system is modified to decrease the error. Unfortunately, several trials may be required to achieve acceptable results, making the time expended excessive. While it is perhaps impossible to eliminate trial-and-error methods, a good design procedure should minimize such methods in producing a reliable system. IV. TOP-DOWN DESIGN The term "top-down design" has grown out of the programming area and relates closely to the concept of structured programming. Niklaus Wirth, the developer of the Pascal programming language, provides the following definition of structured programming [2]. "Structured programming is the formulation of programs as hierarchical, nested structures of statements and objects of computation." Implied in this definition is a decomposition or II. DEFINITION OF DIGITAL DESIGN breaking down of a large problem into component parts. These The word "design" is defined by one dictionary to be ". an parts are then decomposed into smaller problems with this underlying scheme or plan that governs the development of an successive refinement continuing until each remaining task can be entity . . ." This definition can be expanded to apply to digital implemented by simple program statements or a series of statesystem design: a digital design is a plan, often expressed in ments. As each statement or structure is executed, a part of the schematic or block diagram form, that governs the development of overall objective is accomplished. The program is decomposed into units called modules. These a digital system. To be effective, digital design methods should allow sound modules are decomposed into control structures or series of techniques to be applied to the development of digital systems. statements. The statement is the basic unit of the program. A very significant point in applying top-down programming is These techniques must allow the designer to produce a reliable system and to minimize at least some resources such as design time, that the modules should be selected to result in minimum interaction between these units. In general, complexity can be component cost, production time, or production cost. reduced with the weakest possible coupling between modules. Manuscript received March 14, 1983; revised June 6, 1983. Departmnent of Electrical Engineering, Brigham The author is with the Young University, Provo, UT 84602. Minimizing connections between modules also minimizes the paths along which changes and errors can propagate into other parts of the system [3]. 0018-9359/83/1100-0170$01.00 © 1983 IEEE Authorized licensed use limited to: UNIVERSITY TEKNOLOGY PETRONAS. Downloaded on January 22,2025 at 07:44:21 UTC from IEEE Xplore. Restrictions apply. IEEE TRANSACTIONS ON EDUCATION, VOL. E-26, NO. 4, NOVEMBER 1983 171 While complete independence is impossible since all modules must be harnessed to perform the overall program objective, interaction is minimal in a well-designed program. V. TOP-DOWN DESIGN OF DIGITAL SYSTEMS When applied to digital systems, top-down design proposes a broad abstract unit to satisfy the given system function. This function will be characterized by a set of specifications. The overall system is then decomposed into modules. These modules are partitioned in such a way to be as independent of each other as possible, but working together will satisfy the overall system function. Just as in programming where higher levels of structure contain the major decision-making or control elements of the program [3], one of the partitioned modules will be the control unit of the system. This control module is not decomposed further at this time. Successive refinement of all other modules leads to decomposition into operational units. These units will often be MSI circuits or groups of circuits. Refinement continues, with an accompanying increase in detail, until all sections can be implemented by known devices or circuits. After all modules except the control module have been reduced to circuits, the time relationship of the required control signals can be specified. A major difference between top-down programming and top-down system design should be emphasized at this point. In a von Neumann architecture, the control unit is forced to execute instructions sequentially to complete a program. In a digital system, several modules or operational units can be functioning simultaneously. As long as the control module can provide appropriate signals to all circuits, parallel operation is generally preferred in order to achieve higher system efficiency. Once the timing diagram has been generated, the control module is designed. There are two major methods of contructing this module. The first uses conventional state machine design techniques to produce a controlling state machine [4]. This results in an all hardware system unless a ROM-controlled state machine is used to create a firmware system. The second method consists of using a microprocessor control unit. When this is done, the microprocessor can use software to absorb some of the functions performed by other operational units. In this case, the control unit and other components of the system may be replaced by the Fig. 1. Functional modules. Fig. 2. Operational units. DVM must perform the measurement function and display the results. A control module is required to direct the operation of the measurement and display modules. Fig. I reflects a high level of abstraction. At this step of the design, almost no detail appears. Modules indicate only broad functions to be performed with no indication relative to how those functions should be carried out. To proceed to the next step, the designer must choose an approach. In this example, the designer might choose to use a dual-slope technique for the measurement module, three seven-segment LED displays for the display module, and a state machine for the control module. All modules except the control module are then decomposed into operational units as shown in Fig. 2. It is at this point that the microprocessor. inexperienced designer or student experiences the most frustraThere are certain characteristics ofthe digital field that make top- tion. There is no plug-in procedure that can be used here. This step down design an easy method to apply. For example, the large requires creativity along with trail-and-error methods to complete. number of SSI and MSI circuits available allows operational units Fig. 2 represents a more detailed picture of the system. Modules and even modules to be realized directly with chips. These chips are have now been broken down into units that perform specific generally designed to require a minimal number of control inputs operations, hence the name operational units. Each of these units and thus, minimal interaction between modules is automatically can be implemented by a circuit or series of circuits using wellachieved, at least to an extent. known design procedures or presently available IC chips. The Another advantage of the top-down method in digital design is comparator, counter, code converter/driver, and seven-segment that the control module can be realized as a state machine. This displays are off-the-shelf items. The electronic switch and integraallows well-known design procedures to be used in designing a tor may also be purchased or designed specifically to meet the given reliable control unit. specifications. The major advantage, however, is that this method provides a Fig. 3 shows some of the basic circuits that may be used to make framework for carrying out a design problem. Although creativity up the counting, code converting, and display units. The system is is required to apply this method, the structured approach directs now completely specified with the exception of the control unit. the effort to the simplest units or procedures. Trial-and-error A timing chart is constructed, showing the relationship between techniques are minimized using top-down design. all necessary control signals, inputs, and outputs. The controlling state machine is then designed by conventional methods [4] to VI. AN EXAMPLE produce the control signals necessary to drive the basic circuits. In order to illustrate the approach, we will consider the design of This completes the design process. a 2-1 / 2 digit digital voltmeter (DVM). Obviously, this problem has VII. EXTENSION OF METHOD TO MICROPROCESSOR DESIGN been solved many times over by equipment manufacturers, but it The method proposed in the preceding paragraphs can easily be relates this well-known design to the use of the top-down extended to a microprocessor-based system. Once the decomposiapproach. The problem statement would begin with a set of specifications tion to operational units is completed, the diagram is checked to that the DVM should meet. After a study of these specifications, find the number of operations that can be performed by the the DVM can be decomposed into a set of modules as shown in Fig. microprocessor. Since the controlling state machine can always be 1. These modules are chosen according to function performed. The implemented by a microprocessor, we can implement the control Authorized licensed use limited to: UNIVERSITY TEKNOLOGY PETRONAS. Downloaded on January 22,2025 at 07:44:21 UTC from IEEE Xplore. Restrictions apply. IEEE TRANSACTIONS ON EDUCATION, VOL. E-26, NO. 4, NOVEMBER 1983 172 simple DVM, but we will consider this example for illustrative purposes. If used for the DVM, the microprocessor could implement the control module, the counting operation, and the code conversion required for display. These functions would be performed by software while the electronic switch, integrator, analog comparator, and display would remain as hardware units. 7490 DECRDE COUNTER 7447R CODE CONVERTER Fig. 3. Basic circuits. unit and any other operations that the microprocessor can perform in software. The remaining operational units that cannot be absorbed by the microprocessor are decomposed into basic circuits. Again, a timing chart is generated and the microprocessor is programmed to accomplish the necessary internal operations and provide control signals for the external circuitry. Although it is beyond the scope of this article, a comparison of cost effectiveness between the conventional and microprocessorbased systems must be carried out before the final configuration is chosen. It would not be cost effective to use a microprocessor for a VIII. CONCLUSIONS The idea of top-down design can be carried over from the programming area to the digital design area and provides a vehicle for teaching design methods. The approach offers a set of guidelines that directs the student's efforts toward specific realizable goals. The concepts of successive refinement and minimal interaction between units can be visualized easily when chips are used for the system implementation. The method can be extended to microprocessor-based digital system design. REFERENCES [I] Goals Committee, "Goals of engineering education," J. Eng. Educ., vol. 58, p. 438, Jan. 1968. [2] N. Wirth, "On the composition of well-structured programs," Comput. Surveys, vol. 6, pp. 247-259, Dec. 1974. [3] V. R. Basili and F. T. Baker, Structured Programmming: Integrated Practices, L-os Alamitos, CA: IEEE Computer Society Press, 1981. [4] W. I. Fletcher, An Engineering Approach to Digital Design. Englewood Cliffs, NJ: Prentice-Hall, 1980. Authorized licensed use limited to: UNIVERSITY TEKNOLOGY PETRONAS. Downloaded on January 22,2025 at 07:44:21 UTC from IEEE Xplore. Restrictions apply.
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )