©
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 ]
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).
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).
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.
Fig. 7. The timing diagram of the ‘193 counter generated as local simulation.
Fig. 8. A local simulation of the logical behavior of the ‘193 counter.
Fig. 9. Local simulation: simultaneous representation of a FSM-based digital
system and its timing diagram.
Fig. 10. Local simulation: simultaneous visualization of ASM chart and
time-domain evolution.