IEEE© 1997 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE. By choosing to view this document, you agree to all provisions of the copyright laws protecting it.

[ Index | Introduction | Expositive | Demonstrative | Interactive | Practical | Conclusion | References ]

The Demonstrative Methodology

        Digital electronics is a very good example of a technological field where a compact, uncomplicated and relatively small set of theoretical rules is able to generate a huge variety of applications. To start mastering this field is therefore necessary to explore this enormous and growing world of digital systems.
        The second kind of methodology, the demonstrative, is the natural prosecution of the first one. Concepts that have been introduced with the hypertext and explained, when useful, by animation, are further investigated and expanded through examples of practical implementations.


        Animation, as described in the previous paragraph, is a tool useful to demonstrate the behavior of digital devices. Fig. 6 shows the step by step construction of a timing diagram of a real component, the ‘193 counter. An explanation window linked to the animation provide textual explanation of the diagram (working example).

Local Simulation

        Animation, as described above, provides a description of a process that the user cannot change, except in its visualization parameters. Animated tool are, therefore, quite limited in their capabilities to represent real digital systems. In our own terminology we call "local simulation" simplified software simulation of specific processes or networks that the learner can control by setting the values of some of the input variables. Scripts underlying the schematics and algorithms contains their behavioral descriptions and are able to process the inputs provided by the learner. The result can be visualized in one or more different formats, according to the pedagogical needs. Animation and simulation have been developed using the features offered by hypertext authoring tools; as a consequence, they are embedded in the hypertext [17].
        In Fig. 7 the timing diagram of the ‘193 counter is now generated on the screen according to the inputs activated. In the example shown the learner has executed a sequence of counting up and then an asynchronous load. The component (Counter ‘193) is the same presented in the example of animation of Fig. 6. In the case of animation, the learner cannot change the inputs and, therefore, gets all the times the same timing diagram. By making a parallel with a laboratory experiments, the local simulation provides the same kind of information that can be obtained with the real components and an oscilloscope as a visualization device. Of course, the real experiment would provide more data (i. e. delays), but it would require much more time and experience in measurements [18] (working example).
        Fig. 8 is another example of local simulation. This time, learner’s attention is focused on the behavior of the same component in terms of logical output levels as a function of inputs. The underlying script reacts to mouse clicks on the input terminals by changing accordingly the output levels. The tool reproduces a typical laboratory situation where a student explores a component behavior with level and clock generators to stimulate the inputs and read the outputs with simple logic level displays .
        The examples shown above regarding the ‘193 counter belong to a category of our courseware that we call "simulated data sheets". We’ve developed a set of them, covering the most representative standard digital components, with the purpose of investigating an innovative way of describing real components. Local simulation should help bridging the gap between theory and practical applications, and introduce and facilitate laboratory practice. The reader can explore this tool using the working example, that we provide as a completion of the above description.
        Another example of demonstrative methodology is represented by the solutions of past written examinations provided to students for reference. Such examination normally are based on the design of a FSM-based digital system and an Assembly language microprocessor program: local simulation has proven an excellent language to describe both digital algorithms. The example that we’re using takes advantage of the possibility of Asymetrix ToolBook of displaying several windows (viewers) on the same screen to demonstrate the behavior of a digital system in different domains. The two viewers of Fig. 9 show the digital system being simulated (top right) and its timing diagram. The system is a digital function generator: the samples stored in the EPROM are addressed cyclically by a counter and sent to output through a latch. The local simulation starts from a reset condition and evolves with the "clock" and "go" signals applied by the user with mouse clicks. The evolution of the system is represented simultaneously in the two viewers as logical levels on the wires of the schematic diagram and wave-forms in the timing diagram (working example).
        In Fig. 10 the same timing diagram is associated with the ASM chart of the FSM controlling the system. The clock action that updates the timing diagram has also the effect of highlighting (green in the figure) the active state of the FSM. In our understanding, the representation provided by this example of demonstrative methodology has advantages over the traditional way of studying FSM, where the student has to execute mentally binary algorithms, to draw the evolution of timing diagrams, and to visualize the propagation of logic signals. When this activity is performed separately for three domains (ASM chart, timing diagram, circuit), the learner may not acquire a unitary vision of the system under study. It is worth to mention that a local simulation is built upon a unique solution of a problem, something that is seldom the case in real digital design. In fact our approach is now to provide several design solutions, each of them supported by the three-domain simulation (working example).

Figure 6

Fig. 6. The timing diagram of the ‘193 counter is shown progressively, by clicking
on the NEXT STEP button and an explanation window is linked to each step.

Figure 7

Fig. 7. The timing diagram of the ‘193 counter generated as local simulation.

Figure 8

Fig. 8. A local simulation of the logical behavior of the ‘193 counter.

Figure 9

Fig. 9. Local simulation: simultaneous representation of a FSM-based digital system and its timing diagram.

Figure 10

Fig. 10. Local simulation: simultaneous visualization of ASM chart and time-domain evolution.

Working Examples