The Use Of Simulation Based Laboratory Exercises To Improve The ...

""
Below is a cache of http://fie.engrng.pitt.edu/fie96/papers/367.pdf. It's a snapshot of the page taken as our search engine crawled the Web.
The web site itself may have changed. You can check the current page or check for previous versions at the Internet Archive. Yahoo! is not affiliated with the authors of this page or responsible for its content.
The Use Of Simulation Based Laboratory Exercises To Improve The Undergraduate Digital Logic Design Experience The Use Of Simulation Based Laboratory Exercises To Improve The Undergraduate
Digital
Logic Design Experience
Russell D. Meier, Charles T. Wright, Jr.
Department of Electrical and Computer Engineering
Iowa State University
201 Coover Hall
Ames, IA 50011
meier@iastate.edu, wright@iastate.edu
Abstract
An instructional method utilizing sophisticated
simulation tools has replaced the traditional digital
design instruction at Iowa State University. The
simulation tools are introduced during the first course in
digital logic where they anchor a framework of creative
design, simulation, and redesign that is integrated
throughout much of the undergraduate curriculum. We
believe our method encourages learning, inspires
creativity, and enhances the overall quality of our
undergraduate engineers. This paper will discuss our
simulation tools and provide example laboratory
exercises from our various computer engineering
courses.
Introduction
The Department of Electrical and Computer
Engineering at Iowa State University has enhanced the
instruction of digital logic design by incorporating
computer-aided instruction methods throughout the
undergraduate curriculum. Digital design at ISU has
traditionally been taught with the aid of small laboratory
exercises that require students to build gate-level logic
from readily available integrated circuits. This approach
is limited since each MSI/LSI chip typically contains
only a small amount of logic, requiring many chips for
even a mildly complex design. In contrast, we now use
sophisticated simulation tools to complete much larger
designs in three-hour laboratory periods. We believe
that by using simulation, students more readily learn
basic concepts and become more creative and assertive
in their designs.
Schematic editors, hardware description
languages, and simulation tools are introduced in our
first digital logic course, which is required of all
computer engineering, electrical engineering and
computer science students. By introducing the tools
early within the curriculum, students can become well-
versed in their use and can apply them at the advanced
level. This approach greatly unifies instruction
throughout the curriculum while also introducing
students to current tools used in industry. Figure 1
represents five courses in our computer engineering
curriculum. The text to the right of the courses shows
how the simulation tools are used to enhance learning at
each course level.
Figure 1. Digital Simulation Within The Curriculum
This diamond structure reflects our core computer
engineering curriculum. Simulation exercises advance
in difficulty as students progress through the second and
third years.
It should be noted that a large number of our
exercises are also built by the students after they
complete a design using the simulation tools. Since the
tools we use are reliable, building circuits is not
required
, but we have found that students enjoy the
personal satisfaction of seeing a real circuit work off of
the computer screen! Standard MSI/LSI chips are
supplemented with both PEEL and FPGA programmable
logic circuits, and the students build their designs on
their own personal prototyping boards.
We illustrate our approach in the following
sections by showing sample laboratory assignments that
CprE 301
CprE 308
CprE 305
CprE 211
CprE 210
Simulation of microprocessor systems
and computer architectures.
Extensive use of hardware description
languages.
Simulation of digital controllers and
the use of hardware description
languages.
Intensive introduction to design and
simulation of digital logic circuits.
Introduction to hardware description
languages. are given to students in our undergraduate courses. In
limited space, the examples will not accurately show
how simulation exercises progress from basic logic to
complex device drivers used in microprocessor-based
computer systems. But, they will provide a starting
point for those interested in using simulation within a
computer engineering curriculum.
Simulation Tools
We use DesignWorks and MacABEL, two
products developed by Capilano Computing Systems
Limited, as the backbone of our simulation environment.
DesignWorks provides an integrated toolset for
schematic editing, report generation, and most
importantly digital simulation. The DesignWorks
simulation tools are remarkably powerful and come in
two basic flavors: visual and text-based simulation.
Visual simulation is used most heavily by our students,
while text-based simulation can be used by more
advanced students to exhaustively test a circuit. Visual
simulation is supported in DesignWorks by timing
diagrams generated as a circuit is stimulated and by a
unique set of interface devices which allow the student
to visualize the behavior of individual elements of the
circuit. For example, hexadecimal displays and single-
value binary displays can be attached to wires in the
circuit. The values displayed will be the binary values
carried on the wires at that point of the simulation.
Further, binary switches are provided to allow students
to force logic values onto wires, while clocks are
provided to progress simulation time forward. All of
these devices provide a more user-centered approach to
simulation, in contrast to the text-only interface of many
other available tools.
We use MacABEL as our introductory hardware
description language. The students use MacABEL to
model digital circuits at the behavioral level. The
MacABEL compiler then creates the digital logic
equations that are equivalent to the described behavior.
ABEL (Advanced Boolean Expression Language) is a
relatively simple hardware description language to learn
and has enough expressive power in the language
constructs to adequately suit our needs. MacABEL
provides a text-based circuit simulator as well, but we do
not use the MacABEL simulator. Rather, DesignWorks
is used to simulate circuits described in MacABEL. This
allows us to use a single simulation environment.
MacABEL also creates mapping files that allow our
students to actually implement the described circuits in
programmable devices.
Both DesignWorks and MacABEL are currently
installed on a network of Macintosh® computers in our
Digital Systems Design Laboratory. We have been
extremely pleased with the performance of these
products on the Macintosh and can report no difficulties.
The products are extremely stable and have well-written
documentation. Capilano Computing also sells versions
of DesignWorks and MacABEL for Microsoft
Windows®, but since we do not have installed versions
we cannot comment on their performance or reliability.
Laboratory Examples
We provide examples from two courses in our
core set: CprE 210 and CprE 301. CprE 210 is our
introductory course in digital logic design, while CprE
301 is our microprocessor systems course. These
examples provide some basic ideas of how we use the
tools.
Combinational Simulation: CprE 210 Week 3
Week three of CprE 210 is devoted to a study of
Karnaugh maps, binary coded decimal, and hardware
description languages. During the three-hour laboratory
period, eight different circuits challenge each students
ability to solve digital problems. Figure 2 describes the
second challenge circuit.
A common internal representation for numbers is BCD (Binary
Coded Decimal). Each decimal digit is represented as a 4-bit
binary number. For example, decimal 5 is equivalent to binary
0101. We sometimes want to use a numbers 9s complement
value. The 9s complement value of decimal 5 is decimal 4,
which is equivalent to binary 0100. Note that a number and its
9s complement value add up to decimal 9.
Design a circuit using K-maps that will accept a 4-bit BCD
input value and display the 9s complement of that number.
We suggest that you use 4 K-maps to solve the problem -- one
K-map for each output bit. Create your circuit and simulate it
within DesignWorks.
Figure 2. Challenge Circuit 2 of CprE 210 Week 3
The students are expected to demonstrate a circuit
visually by simulating it within DesignWorks. Incorrect
designs must be redesigned and simulated. The true
benefit to the student is the incredible ease of building a
circuit. It will probably take a student five to ten
minutes to enter a circuit into the schematic editor and Figure 3. A DesignWorks Simulation of Challenge Circuit 2 from CprE 210 Week 3
prepare it for simulation. However, actually wiring the
circuit on a prototype board could take thirty minutes!
Mistakes are extremely time expensive on pr