Margarita D. Takach and Alvin T. Moser
Department of Electrical Engineering
Seattle University, Seattle, WA
In the last several years our department has systematically revised and improved the computer engineering component of our curriculum [1]. This effort included the improvement of our sophomore level course on Digital Logic. This course and Circuits I are the first electrical engineering classes that students take.
Our introductory course on Digital Logic previously consisted of mostly lectures, with no major effort in integrating software and hardware projects as part of the course. Then the first experience in building logic circuits would take place in the introductory junior labs. However, these labs were recently restructured to emphasize solely analog design thus eliminating their digital experiments. In this situation, the students would get their first experience in building digital circuits in an advanced elective, provided they chose to take that elective course. In an effort to introduce laboratory work as early in the curriculum as possible and to provide all students with a lab experience with digital logic circuits a set of hardware and software projects was developed for the sophomore digital logic course.
The goals in designing the projects were as follows: to give students a genuine design experience, to introduce the use of programmable devices as well as discrete logic, to persuade students of the benefits of simulation and to leave students well prepared for related classes such as the microprocessor class and the advanced digital design elective. The projects are described next.
At the beginning of the quarter students are provided with a kit consisting of a breadboard, TTL gates, resistors and LEDs. The breadboard is tied to a package of 4 D-size batteries providing a total of 6 volts. The batteries are then placed in series with a diode to bring the battery voltage down to a value closer to the 5 volts needed by the TTL gates. With this kit students build and test circuits at a time and place of their convenience. Students are asked to demonstrate the working circuit to the instructor. The projects are assigned about every two weeks. A total of five projects were developed, which was found to be about optimal for a 4 credit class in the quarter system.
The simulation projects involve the use of LogicWorks and OrCAD. In our department LogicWorks are available on Macs while OrCAD are on PCs, so students learn to work with both systems. A description of the projects follows.
Project #1: Introduction to standard TTL gates
This project introduces students to the breadboard, resistors, LEDs and some TTL gates. Students are asked to power an AND gate (7408) and verify the truth table. Then they build a NAND gate using an AND gate and an open-collector INVERTER (7405). An LED connected in series with acurrent limiting resistor is used as a ``probe'' to check the output logic level.
Project #2: Introduction to LogicWorks
This project teaches students to use LogicWorks as a design verification tool and to start developing skills of circuit schematic entry. Students design a half adder, simulate it using LogicWorks, build it and test it using standard TTL NAND and INVERTER gates (7400 and 7404). As part of the project students are asked to go through the LogicWorks tutorial.
Project #3: Programming PLDs
This project introduces students to Programmable Logic Devices and to a second software package. Students design a driver for a seven-segment display using a GAL20V8 PLD. Students create and compile a PLD file using OrCAD. Once the JEDEC file is generated by OrCAD, students use the 2900 Programming System from Data I/O to program the PLD. Finally, students test the PLD by using it in a breadboard with a seven-segment display. Students are given step-by-step instructions on the use of OrCAD and the 2900 Programming System. These instructions are necessary because of the level of difficulty in learning to use OrCAD. Students quickly realize the advantages of using Programmable Logic Devices.
Alternative project #3: Programming PLDs
Again using the GAL20V8 PLD, students design in OrCAD a hardware squaring circuit to produce the 8-bit result corresponding to the square of the 4-bit input. Students implement the design and test it in a provided breadboard test circuit.
Project #4: Designing a counter
This project introduces students to flip-flops. Students design a Johnson counter, simulate it using LogicWorks, build it and test it. Students use D flip-flops (7474) and a 555 timer to create the clock signal.
Alternative project #4: Designing a sequential machine
Students design a sequential machine in OrCAD for implementation on the GAL20V8 PLD. Their machine must drive a tone generation circuit to play a simple tune up to sixteen notes in length. The tone generation circuit is part of the test breadboard and consists of a D/A converter, a voltage controlled oscillator and a PLD for converting inputs to D/A input values.
Project #5: Final design project
The purpose of this project is to have students design and simulate with LogicWorks a sequential machine. Examples of final projects include the design of a vending machine, a washing machine and a digital lock. There is usually not enough time left in the quarter to build the design.
Student response has been positive toward the projects. The main student benefits achieved with the projects are:
Through experience the authors have learned that engineering students enjoy and learn a subject the most when they get to design and build circuits. Building circuits is an important aspect since it makes the subject more real and gives students a sense of achievement. It also helps students develop basic laboratory skills and learn to like laboratory work. Hardware projects in an introductory Digital Logic course are ideal since they do not require test equipment and consumes very little class time.