Sie sind auf Seite 1von 5

Session 13c6

A Hierarchical Approach to Digital Design Using Computer-Aided Design and

Hardware Description Languages

MAJ Walter Kleinfelder, MAJ Dan Gray and LTC Glen Dudevoir
Department of Electrical Engineering and Computer Science
United States Military Academy
West Point, New York 10997
Abstract Teaching digital design in an electrical The concentric circles depict how these levels of abstraction
engineering program relies on the implementation of are interrelated.
Design Simulate Build Test for a student to
Structural Functional
understand many of the common digital engineering
principles. The role of computer-aided design (CAD) tools Processor - Memory - Switch Algorithm
and hardware description languages (HDL) in the Register Transfer Register Transfer Language
classroom and laboratory has become increasingly Boolean Equation
important in providing a common thread that runs
Transistor Differential Equation
throughout the students experience. Starting with the very
simplest logic circuits at gate level, CAD tools and HDLs
allow students to abstract general design concepts and apply
them in ever increasingly complex digital engineering Sticks
Standard Cells

The Digital Design Sequence Floor Plan

At the United States Military Academy (USMA) the course Geometric

of study for a degree in electrical engineering has two stems,
or tracks. One is the Electronic Systems Engineering option Figure 1. Domains and Levels of Abstraction
that focuses on communication and analog systems. The
other is a Computer Engineering option that concentrates on For our students, their first digital design course
digital system design in terms of both hardware and introduces the fundamentals of digital logic and logic gate
software. It is in the later stem where we have made great functions. They learn Boolean algebra and how to develop
use of CAD tools and HDLs to enhance the students functions using Karnaugh maps and minimization. Standard
learning process so they can succeed in their studies. logic gates are used to implement various functions and
The use of CAD tools improves the students ability to circuits. CAD tools are used to simulate and test their
model and simulate much larger systems than they could designs prior to any wiring on protoboards. We then
build and test using MSI and LSI devices. By using HDLs, introduce finite state machine (FSM) design and
instructors can focus on the concepts of digital design, and implementation. As part of FSM implementation, a simple
spend less time troubleshooting wiring problems in the HDL is introduced along with how to program and use
laboratory. In recent years CAD tools have advanced programmable logic devices (PLDs), and EPROMs.
significantly, allowing students to integrate HDL models Our students next course in the digital sequence begins
into digital circuits along with standard MSI/LSI library to explore more complex designs by focusing on computer
parts. organization. Students learn the basics of digital system
Modeling digital systems can really be classified into design and organization by describing systems using register
three domains: function, structure and geometry. The transfer language (RTL). The idea is to define the what of
functional domain deals with operations performed by the the systems operation. They also learn how to develop the
system, or the behavior of the system. The structural instruction set architecture (ISA), and various methods of
domain deals with how the system is composed of controlling the digital system. A more robust HDL is taught
interconnected subsystems. The geometric domain deals that allows students to abstract the what the system is
with the layout of the system in physical space [1]. Figure 1, accomplishing from the gate-level how.
devised by Gajaski and Kuhn [2], shows how these three After completing the introductory computer
domains can be divided into different levels of abstraction. organization course, students take a second course in
computer architecture that builds upon the basic knowledge

0-7803-5643-8/99/$10.00 1999 IEEE November 10 - 13, 1999 San Juan, Puerto Rico
29th ASEE/IEEE Frontiers in Education Conference
Session 13c6

of using a HDL to design, simulate and test concepts The first course in the digital sequence is EE365, called
covered in the course. Topics include advanced processor Digital Computer Logic. As previously stated, this is the
design, such as pipelining, and the use of a memory course that introduces the key concepts and design principles
hierarchy and design to speedup the system. At the end of that students need to form a basis for the digital design
the course, students are introduced to networking concepts experience. It involves classroom instruction along with lab
and distributed computing. exercises to demonstrate concepts with handson
The last instructional course in the sequence lets experience. Throughout the course, they are taught Boolean
students experience digital design and input/output logic and algebra, combinational and sequential logic, and
interfacing with other devices. It uses a microcontroller as simple TTL designs and gates.
the centerpiece and takes the students through the Students are introduced to their first CAD tool,
hardware/software co-design of a system. They do the Workview Office (Student Edition), which provides a
driver/handler software design in native assembly language schematic entry tool and a simulation environment. The first
for the microcontroller. Students abstract the controller as a labs have the students compare and contrast different
white-box; they have a programmers knowledge of its methods of implementing discrete logic designs, then
resources and capabilities. They then take other digital or simulate them with the CAD tool. By the time they are
analog sub-components and interface them together to ready to wire together the TTL circuits on a protoboard, they
provide a working solution. already know how the circuit should behave and have
The pinnacle of the sequence is a senior design project corrected any wiring errors. This makes the hardware
that is common to both options in the EE program. It is an portion of the exercise easier and less error prone.
interdisciplinary project that can involve not only EE As the course progresses, students are introduced to
students from both tracks, but also students from the CS PLDs and shown how to use them in a digital design. They
program and other departments at the Academy. Students start to understand how to design custom digital circuitry
who are taking the digital option focus on those aspects of and hardware using simple gate array or programmable array
the project that relate to their course of study. logic (GALs/PALs) devices using a very simple HDL called
CUPL. They also learn FSM design and implementation
Design Simulate Build Test using PLDs, and how these devices relate to combinational
and sequential logic. There are several labs that help the
Figure 2 shows the full course load of a student taking the students understand how to use PLDs in FSM design. One
computer engineering option as an electrical engineering such lab has students design a discrete logic train controller
major. The computer engineering option courses are that keeps two model trains from colliding on a track. The
depicted in the gray shaded boxes. Two of these courses are track has some shared sections (meaning that both trains
part of the electrical engineering core course sequence must use it as part of their movement), and sensors that
common to both of the EE options (shown as courses in provide information to help control each trains speed, and
italic). At each level we use CAD tools and HDLs to the switch settings on the model railroad.
enhance the students ability to abstract key design concepts This introductory course focuses students on the how
and principles from the classroom and laboratory instruction. of digital logic design. It teaches them gate level functions
and logic equations, while still allowing them to abstract
concepts through the use of CAD and HDL tools. Students
Computer Engineering Option, Electrical Engineering and instructors are able to concentrate on increasing their
First Year Second Year Third Year Fourth Year understanding of design practices, instead of being
overburdened with implementation issues.
MA103 MA104 MA205 LX204 EN302 SS307 HI301 HI302 The next two courses, Introduction to Computer
Organization (EE475) and Computer Architecture Using
CH101 CH102 PH201 SS202 MA206 PL300 LW403 VHDL (EE484), increase the design complexity while still
teaching sound digital design practices and engineering
HI103 HI104 LX203 EE365 EE302 EE363A EE407 EE408D
methodology. The emphasis is to now abstract the how of
PL100 CS105 PY201 PH202 PH365 EE381 Elective Elective a digital design by focusing on the what of a digital
system, like a computer. Students learn to integrate various
EN101 EN102 SS201 EV203 CS360A EM302 Elective EM301 digital sub-components and study their interconnections to
EE475 EE484 EE400A
describe a digital systems behavior. Their primary tool is
1 credit
RTL, which is later adapted to a hardware description
Note: 5 course EE major sequence in italics language called VHSIC Hardware Description Language
Computer Engineering depth courses in bold
In EE475, instructors describe simple processor and
Figure 2. Digital EE major Course Progression instruction set design by using RTL. From this knowledge

0-7803-5643-8/99/$10.00 1999 IEEE November 10 - 13, 1999 San Juan, Puerto Rico
29th ASEE/IEEE Frontiers in Education Conference
Session 13c6

base, a simple computer system is designed with busses, On a parallel direction but with different emphasis to
memory and other peripherals. Topics such as how to the two architecture courses is EE487, Designing With
represent and store digital data, and how to perform the Microprocessors. In this course, the students use a
various operations defined by the ISA (logic, shift and microcontroller as opposed to a microprocessor as the center
mathematical) are also covered. By this time, it becomes of their designs. We chose a microcontroller because it has
very impractical and time consuming to implement the many of the I/O capabilities resident on chip, versus a
concepts covered in some form of hardware in the lab. That microprocessor that requires additional I/O function chips
is why we choose to use VHDL. making the designs more complex and error prone. This
Using VHDL, students can describe a digital design approach also gives the students the feel of an embedded
behaviorally, instead of at the MSI/LSI gate level. This is system design. Not only do they design the hardware
not to say the VHDL cannot handle structural designs, it can. interface, but also the software drivers/handlers necessary to
You can describe the interconnections of various subsystems make the microcontroller and the I/O devices work together.
using VHDL constructs, and can mix both structural and Since the microcontroller has many of the needed
behavioral models in the same design. By using these interface functions built-in, the actual wiring students have
VHDL constructs, students begin to grasp the principles of to do for a lab exercise is minimal. This allows them to
digital design as they are forced to abstract the how by focus more on the implementation of an I/O subsystem and
only describing the what of the system. Picking a CAD the hardware/software co-design necessary to make it work.
tool to help implement this was simple. The hardware interfacing is relatively straight forward, and
In EE365, students were introduced to the student requires little elaboration. The software design is a little
edition of Workview Office. The full version of this product different.
has the ability to allow students to design, simulate, test and Each microcontroller has its own ISA and built in
build (using synthesis) their implementation using VHDL. interface utilities. This means that some time must be spent
However, we decided to use a different tool based on the describing the resources and instructions available to the
Unix operating system. We chose Powerview, which is the user. Once this is done, students can begin interfacing
Unix equivalent to Workview Office. The reason for this digital or analog hardware and developing the software (or
choice will be discussed later. drivers/handlers) needed to operate the system. The
Immediately following EE475, students take EE484. software development is done using the microcontrollers
This course builds on the basics of computer organization assembly language. By staying with assembly language,
that they have just finished studying. Students examine the students get a feel for how the various components interact
differences between the two philosophies for ISA design, with the microcontroller.
Complex Instruction Set Computer (CISC) architecture and The culmination of a students digital design experience
the Reduced Instruction Set Computer (RISC) architecture. is the Capstone Design Project, EE408D. Students from
We also talk about how to achieve greater speedup of both electrical engineering options come together to solve a
systems using techniques like multi-bussed and pipelined real problem by designing and building a real system. The
architectures. Other enhancements such as memory and idea is to integrate all aspects of digital design that they have
cache implementation, the use of direct memory access learned within a full-blown engineering design process. The
(DMA) and other I/O interfacing techniques are also projects involve real-world interfacing with both analog and
covered. digital components. The process goes from concept, all the
Throughout the course students are given lab exercises way to prototyping and fabrication.
that use VHDL to reinforce class concepts and show how The potential is for the computer architecture trackers to
well they have grasped them. In EE475 they gained a basic apply the abstract concepts they have learned to an actual
understanding of VHDL, now they learn more about the system. To this end, they have several very powerful tools
CAD environment and how to use VHDL to describe the at their disposal. They can do custom design at the logic
complex behavior of a computer system. The final gate level, use a microcontroller, or develop a solution in
demonstration of this is a course design project. In lieu of a VHDL and use complex PLDs (CPLDs) or field
final exam, students are broken into design teams and given programmable gate arrays (FPGAs) to implement it as a
the specifications for a 16-bit microcontroller. They are custom application-specific integrated circuit (ASIC). The
required to come up with a functional architecture of the CAD tools they have used will allow them to take their ideas
system, and a description using RTL. Once that is done, all the way from design and simulation, to construction,
they then design, simulate and test their implementation testing and delivery of a solution.
using VHDL and Powerview. The project is fairly open-
ended, allowing each team to develop their own solution Programming and Software Tools
applying concepts covered in class. They then must sell
their design to the instructor. At the United States Military Academy, we use Ada95 as the
common programming language taught to all computer

0-7803-5643-8/99/$10.00 1999 IEEE November 10 - 13, 1999 San Juan, Puerto Rico
29th ASEE/IEEE Frontiers in Education Conference
Session 13c6

science majors, and electrical engineering majors. Although Cadence suite that were never used, and the administration
some would argue to use C++, or some other high level of the tool became overwhelming for our departments
language (HLL) as the basis for programming instruction, computer support personnel. Since the students were not
Ada95 has had positive side effects on the computer only switching CAD tools, but also environments, the
engineering option. learning curve was quite steep. Additionally, many of our
All students at USMA are introduced to the departments instructors are here for three-year assignments,
fundamentals of programming and problem solving using making the learning curve steep for them as well. As soon
Ada95 in the core computer science course, CS105. Of as they become comfortable with the CAD tools and the
course, CS majors take their programming studies further, course, they leave to return to the Army at large. This
but so do the electrical engineering majors in the computer prompted us to look for a better solution. We found it in
engineering option. They have at least one more required both Workview Office and Powerview.
programming course and have the option take others as By adopting Workview Office on the PC and
electives. The beneficial side effect this has is that the Powerview on Unix workstations, we kept the ability to
students have a better background in programming and introduce students to different computing environments. It
programming constructs, and that VHDL is syntactically the also helped in our ability to enable the students to abstract
same as Ada95. This facilitates studying VHDL and key concepts and design principles from the courses.
modeling digital systems, versus learning and getting used to Although the user interface is not exactly the same on both
a new programming language. tools, the functionality of the various design and simulation
The higher-level programming knowledge is also pieces is the same, thus flattening the learning curve for both
helpful in EE487 even though students use assembly students and instructors allowing both to focus on problem
language. Even though each microcontroller has its own solving. Administration also became a lot simpler for our
ISA, and therefor its own assembly language, all an computer support personnel. All in all, courses started
instructor has to do is focus on syntax and how to implement focusing on the design process and helping students
the HLL program constructs they already know in the ISA. understand and grasp the key concepts they needed take
This again allows the emphasis to be on design concepts, away from the courses. We also discovered that the students
rather than on specific implementation issues. found it easier to relate the early digital logic concepts to the
Another issue relative to programming is the use of VHDL abstraction.
multiple operating system platforms and integration of CAD
tools across platforms. We have found it very useful to Additional Resources
expose our students to both PC-based solutions and Unix-
based ones as well. One problem with this approach is As part of developing the digital design sequence, we looked
cross-platform compatibility of the software, and the student for and evaluated information about hardware description
(and instructor) learning curves associated with each piece languages. Here we will provide some of the literature,
of software. companies and internet sites that may help others integrate
In the past there has been a great disparity between PC- HDLs and microcontroller technology across the digital
based and Unix-based CAD tools. During recent years the design sequence.
gap has narrowed. PC-based CAD tools were relatively There is a lot of information available on VHDL, but it
straight forward, easy to install, maintain, and use. They has only been recent that books have targeted students
were however, single function oriented and not well wanting to learn and start using this tool. In our courses, we
integrated. Unix CAD tools, on the other hand, provided use the text noted in reference [1], but there are other
much greater versatility with a broad suite of integrated introductory books. These include VHDL Starters Guide,
tools. Unfortunately, the Unix tools were also harder to by Sudhakar Yalamanchili (ISBN 0-13-519802-X), and A
install, maintain, and not necessarily very user friendly. VHDL Primer, by J. Bhasker (ISBN 0-13-096575-8).
We started with using B2Logic as a schematic entry and Beyond these introductory books, there is a vast array of
simulation tool on PCs in EE365. It is a very simple VHDL design literature. Some of the texts we have found
program, but really had no utility beyond basic schematic most useful are Digital Design and Modeling With VHDL
design and simulation, limiting its use in terms of and Synthesis, by K. C. Chang (ISBN 0-8186-7716-3), A
developing higher levels of abstraction. It did not provide Designers Guide to VHDL, by Peter Ashenden (ISBN 1-
for the possibility of using HDLs, and we still wanted to use 55860-270-4), VHDL, by Douglas Perry (ISBN 0-07-
VHDL in later courses. This meant finding a CAD tool that 049434-7), and HDL Chip Design, by Douglas Smith
supported VHDL, which led us to Cadence, a Unix-based ISBN 0-9651934-3-8). The last book has an interesting
suite of CAD tools. comparison of digital designs in both VHDL, and Verilog
Cadence however, was more of a kitchen sink HDL.
approach then we needed, which was just the opposite of In addition to texts, some essential information about
B2Logic. There were many different pieces within the VHDL is contained in the IEEE standard for the language.

0-7803-5643-8/99/$10.00 1999 IEEE November 10 - 13, 1999 San Juan, Puerto Rico
29th ASEE/IEEE Frontiers in Education Conference
Session 13c6

It is contained in the IEEE Standard Language Reference more important in facilitating students understanding at
Manual: ANSI/IEEE Std 1076-1993. The IEEE also higher levels of abstraction. Designs are no longer simple
produces a CDROM that contains an interactive tutorial for discrete circuits, but combinations of simple and complex
VHDL called VHDL Interactive Tutorial. Another models, usually incorporating some form of PLD. As they
essential reference is located on the internet at progress, students become more concerned with the what This site is dedicated to promoting and of their designs, and their ability to model it behaviorally as
maintaining VHDL as an open standard. Registration is free opposed to doing gate level layout and timing. Nothing is
as an individual and entitles you to receive a copy of The lost by adopting a more abstract view of a system, and
VHDL Times, a quarterly publication about current efforts in actually mirrors the recent digital design trends in industry.
VHDL. A secondary outcome of using CAD tools and HDLs is
As previously stated, we have opted to use LogicViews the ability of students to adapt more easily to new
Powerview software for VHDL design and simulation. environments and to generalize concepts. Throughout their
Previously we used Cadences Leapfrog VHDL environment careers and continued studies, students will constantly be
which was only a small part of their CAD suite. There are exposed to new technology that they will have to become
however, other companies that provide excellent design competent with, and able to apply to the problems they face.
environments and have programs that center on supporting The use of CAD tools and HDLs helps guide them through
universities and their needs. Xilinx, Inc., has a program the generalization of concepts, which in turn gives them the
specifically designed for educational institutions called the ability to apply realize they can solve similar problems in
Xilinx University Program (XUP). This program gives you different environments. Students also tend to discover new
access to their Foundation Series software which allows aspects of digital design, as they become more familiar with
users to design in VHDL (and Verilog HDL, also) and the tools.
synthesize the design to FPGAs. XUP also helps schools The challenge for instructors is to continually monitor
learn to use FPGAs, along with ideas of how to integrate and assess the impact new technological advances, such as
them into a course of instruction. Aldec also has a CAD tools and HDLs, can have in course development. The
university support division. Their CAD suite called PC-based CAD tools continue to improve and become more
ActiveCAD also allows users to design in VHDL or Verilog powerful with each passing year. Unix-based tools have not
HDL, to simulate the design, and to synthesize it into an kept pace in terms of ease of use and implementation, yet
FPGA. Aldec also has interactive tutorials for VHDL and they still provide very powerful, well-integrated suites of
Verilog HDL that are available with demonstration versions utilities that PC-based tools are trying to emulate. In
of their software. OrCADs release 9 of their CAD suite choosing a single operating system, or multiple ones, the use
now supports VHDL design and simulation. They also have of CAD tools and HDLs can improve course content by
a division within the organization that deals specifically with allowing both students and instructors to focus on design and
educational institutions. concept questions, yet still give students the necessary
hands-on experience to complement in-class instruction.
Impact and Assessment
The digital design sequence that we have developed is meant
to incorporate the Design Simulate Build Test 1) Ashenden, Peter J., The Students Guide to VHDL,
philosophy with sound electrical engineering methodology. Morgan Kaufmann Publishers, Inc., 1998, p. 4.
To that end, we have found that using CAD tools and HDLs 2) Gajski, D. D., Kuhn, R. H., New VLSI Tools, IEEE
can help our students generalize concepts and understand Computer, Vol. 16, no. 12, December 1983, pp. 11-14.
many of the common principles taught throughout the
sequence of courses. The role of these two integral parts of
the equation cannot be understated.
Starting from the very basic level of discrete logic gates,
we introduce the students to the concepts of digital design
and implementation using small, specific examples. By
introducing PLDs and a simple HDL, students start to take
the next step in abstracting general design principles from
the examples through inductive reasoning. They can then
start to apply them to larger problems as their studies
As the complexity of the design increases, it becomes
impractical to try and implement designs in hardware. This
is when the use of CAD tools and VHDL becomes even

0-7803-5643-8/99/$10.00 1999 IEEE November 10 - 13, 1999 San Juan, Puerto Rico
29th ASEE/IEEE Frontiers in Education Conference