Andrews University

College of Technology

Engineering and Computer Science Department

ENGR335 Logic Circuit Design

Syllabus - Fall 2007

**Instructor:** Ronald L. Johnson

**Office:** Haughey Hall - HYH330

**Office Hours:** MWF at 9:30-10:20 and MWR at 2:00-3:15

**Contact Info:** johnsonr@andrews.edu,
office 471-3368, home 683-7418

**Class Location: **HYH329

**Class Time:** MR 3:30-4:45

**Course Description:** This course is intended for the students in the E&C Engineering
track. The course will introduce
discrete logic circuits used in combinatorial and sequential logic
circuits. Then programmable logic
(field-programmable gate arrays) will be introduced along with CAD software
that will allow the logic to be defined using the hardware description language
VHDL. Boolean algebra expression
minimization techniques will be introduced, arithmetic circuits will be
studied, and decoders, encoders, and multiplexers will be presented. Flip-flops will be used to construct
registers, counters, and state machines.
This is a 3 credit course with two 1½-hour lecture periods each week.

**Course Prerequisites: **ENGR275 Electronics I or the equivalent.

**Text:** Tocci, Widmer, and Moss, __Digital
Systems - Principles and Applications__, 10^{th} edition,
Prentice-Hall, 2007

**Course Outline:**

A. Ch. 2 -
Number Systems and Codes 1.5
weeks

Ch. 3 - Describing Logic Circuits

B. Ch. 4 -
Combinational Logic Circuits 1.5
weeks

C. Ch. 5
-Flip-Flops and Related Devices
2
weeks

D. Ch. 6 - Digital Arithmetic: Operations and
Circuits 1 week

E. Ch. 7 -
Counters and Registers 2
weeks

F. Ch. 8 - Integrated-Circuit Logic Families

Ch. 9 - MSI Logic Circuits

G. Ch. 10 - Digital System Projects Using HDL 2
weeks

H. Ch. 11 -
Interfacing with the Analog World 2
weeks

Ch. 12 - Memory Devices

Ch. 13 - Programmable Logic Device
Architecture

I. Class
Projects** ** 2 weeks

**Course Objectives:** Upon successful completion of this course the student
is expected to have demonstrated these outcomes:

A. Number Systems and Codes, Boolean Algebra Theorems, Combinatorial Logic, and VHDL

l. Count in binary numbers and convert between decimal and
binary numbers.

2.
Write binary numbers in octal and hexadecimal form and convert between these
forms.

3. Explain how BCD codes can be used to
represent decimal numbers and how ASCII codes can be used to represent text.

4. Draw the symbols for AND, OR, and NOT gates
and construct the truth table for each.

5. Use the axioms, theorems, and properties to
manipulate and simplify Boolean logic expressions.

6. Use Venn diagrams to prove Boolean logic
identities.

7. Synthesize circuits using AND, OR, and NOT
gates from Boolean logic expressions.
Use NAND and NOR gates to synthesize Boolean logic expressions.

8. Write simple VHDL programs that describe the
functions of logic expressions.

B. Combinatorial Logic Circuits

1. Use Karnaugh maps
to simplify both SOP and POS functions with up to 5 inputs.

2. Know the truth table for Exclusive-OR gates
and give some EOR applications.

3. Simplify implementations of functions that
have unspecified (don’t care) input combinations.

4. Demonstrate how VHDL can be used to define
functions for CAD programs that will in turn generate simplified logic circuit
implementations

C. Flip-Flops and Related Devices

1. Define the difference between sequential
circuits and combinatorial circuits.

2. Draw the schematic, show the truth table, and
give the graphical symbol for a NOR-gate latch, a NAND-gate latch, a gated
NOR-gate latch, a gated NAND-gate latch, and a gated D-latch.

3. Define the terms setup time and hold time in
terms of a D-latch. Explain how a
master-slave D flip-flop and an edge-triggered flip-flop can ensure that the
data input to the D-latch is stable.

4. Draw the schematic, show the truth table, and
give the graphical symbol for a JK flip-flop.
Then add the preset and clear inputs, and explain their operation with
emphasis on why we call these inputs asynchronous.

5. Show how D-type flip-flops can be used to
create a shift register.

6. Explain the operation of a one-shot multivibrator and give some applications.

7. Show some clock circuit schematics and
describe their applications.

8. Use both VHDL and schematic capture to create
one or more of the flip-flops described above in a FPGA.

D. Digital Arithmetic: Operations and Circuits

1. Show circuits to add two single-bit unsigned
binary numbers (note this is a half adder).
Then show how two half adders and an OR gate can be used to form a full
adder circuit.

2. Determine the range of values that can be
represented by 8 bits using unsigned and 2's complement signed numbers. Be able to express any positive or negative
value in 2's complement form.

3. Explain how an adder circuit can be used to
do 2's complement subtraction, and show the block diagram for a 4-bit 2's
complement adder/subtractor (control input is 0 for
addition and 1 for subtraction).

4. Explain the concept of “overflow” with
respect to the adder/subtractor in number 5 above.

5. Use schematic capture to implement a full
adder circuit in a FPGA and then use this instance of a full adder to create
the 4-bit adder/subtactor described in number 5
above.

6. Convert a fixed point number from decimal to
binary (both the integer and fractional parts).

7. Explain how BCD codes can be used to
represent decimal numbers and how ASCII codes can be used to represent
text. Draw the block diagram of a 4-bit
BCD adder circuit.

8. Use VHDL to design a 4-bit full-adder/subtractor circuit for 4-bit 2's complement numbers.

E. Counters and Registers

1. Show the schematic for a 4-bit asynchronous
up-counter using edge-triggered JK flip-flops with active low clock
inputs. Then show the schematic for a
4-bit synchronous up-counter using the same flip-flops. Explain why the synchronous counter is
preferred in some applications.

2. Describe and show the schematics for a BCD
counter, a ring counter, and a Johnson counter.
Explain why it is important to start the ring counter and the Johnson
counter in a known initial state.

3. Show how the shift register can be modified
so that data can be entered in parallel and then shifted out serially, or now
the data can be shifted in serially and then accessed in parallel. Look for standard 7400 examples.

F. IC Logic Families and MSI Devices

1. List the 7400-series standard logic families
and compare them in terms of speed, power dissipation, input/output logic
levels, and fanout

2. Describe open-collector/open-drain output
devices and explain how and why they are applied.

3. Describe tristate
output devices and explain how and why they are applied.

4. List the device parameters that must be
considered when interfacing devices from different families.

5. Describe the operation and application of
CMOS transmission gate.

6. Know the operation and how you could build
these MSI circuits from simple gates and flip-flops: decoders, encoders,
multiplexers, demultiplexers, magnitude comparators,
code converters, and tristate registers.

7. Demonstrate ability to create these devices
in the FPGA using VHDL.

G. Digital System Projects

1. Demonstrate design ability with VHDL to build
a significant project in the FPGA.
Demonstrate and document your project.

H. ADC, DAC, Memory Devices, and Programmable
Logic Device Architectures

1. Explain the concept and give a circuit
example of digital-to-analog conversion (DAC).

2. Explain the concept and give two circuit
examples of analog-to-digital conversion (ADC).

3. Compare the different ADC methods in terms of
complexity and conversion time.

4. Name, physically describe, and compare the
characteristics of the different memory types: ROM, flash, RAM(static),
and DRAM.

5. Describe the programmable logic device
architectures starting with the simple and going to the more complex. Give examples of each type.

**Course Procedures:** Some of the course procedures that we will be
following are listed below.

*Attendance*–You are expected to attend each class and participate
in the class and lab activities conducted.
Assignments for individual or group presentations at the next class will
at times be given. Successful
presentations of these assignments will be a part of the homework grade for the
class.

*Intellectual
Honesty– *Any work that you submit is
expected to be your work and not something that you have “borrowed” from
others. I encourage you to collaborate
in your work, but not to copy the work of others. On exams I expect that you will follow the
exam instructions carefully and not use materials other than those
specified. When writing reports be sure
to give credit for ideas or quotations borrowed from others. Deviation from these expectations may result
in a failing grade on the assignment or even for the class. For further information on the issue of
academic integrity see the Academic Integrity section of the Bulletin on page
28 and the corresponding section in the Student Handbook.

*E-mail
Contact–*I welcome your questions via
e-mail and will suggest that you check your e-mail between class sessions for
further clarification of assignments or tips that may help you do the
homework. Be sure that you are
“connected”!

*Homework*-- Questions and problems at the end of the chapters
will be assigned in class and will be expected to be handed in at the __beginning__
of the next class period unless otherwise indicated. If you have trouble with
the homework, I will try to be of assistance via e-mail or by phone or in
person in the office. __Late papers, if
accepted, will be given ½ credit.__

*Exams*–Exams will be announced at least a week in advance
and will emphasize the material covered since the last exam. Refer to the course objectives to know what
you will be expected to do. It should
be recognized that the material at each stage builds on the previously covered
material so in that sense each exam will cover all of the previous material.

*Students with
Disabilities–*Andrews University accepts and appreciates diversity in its students,
including students with disabilities. Accordingly, students with documented
disabilities are encouraged to inform the University of their disability and enter into a dialogue regarding ways in which
the university might reasonably accommodate them. If you qualify for
accommodations under the Americans with Disabilities Act, please see the
instructor as soon as possible for referral and assistance in arranging such
accommodations.

**Course Grading Procedures:** The final grades will be computed by
weighting the total scores on your daily homework and reading assignments, your
project reports, and your exams by the factors indicated and then comparing
your overall percentage with the scale shown.

**Weighting factors: Grading
Scale:**

Homework 25% 90 -
100% A

Project reports 25% 80
- 89% B

Exams 50% 70 - 79% C

60 - 69% D

< 60% F

**Program Objectives:** We
aspire to be a place of choice for engineering and computer science education
where dedicated students and faculty grow together to reach their God-given
potential for service to society and the church. We embrace a thoughtful respect for diversity
of viewpoints, a caring stewardship for our God-given home, a marked excellence
in our chosen vocations, and a profound faith in the
leadership of God in our lives. We
commit ourselves to the creation of a nurturing environment where all students
willing to work diligently will succeed.

Our students are challenged:

I.
To identify,
formulate, and solve engineering and computing problems, and to design and
carry out experiments that will support these solutions,

II.
To apply the
theories of science, mathematics, engineering, and computing in order to
creatively design practical and economical solutions to defined problems,

III.
To work
effectively in teams with other disciplines to generate design solutions that are sensitive to societal values and environmental
impact.

IV.
To develop broad
competencies and focused proficiencies in their chosen discipline and to
demonstrate skills in the use of modern engineering and computing tools,

V.
To advance in
their disciplines through research and internships, to address contemporary issues, and to adopt the
practice of life-long learning,

VI.
To practice
critical thinking and effective communication,

VII.
To demonstrate
high professional and ethical values in their work,

VIII.
To achieve a
well-rounded, Christ-centered life perspective through the integration of the
entire curriculum.

**Relationship Between Course
Objectives and Program Outcomes: **This course is part of the process ensuring Andrews
University engineering graduates:

1.
Possess an
ability to design and conduct experiments, and to analyze and interpret data.

2.
Possess an
ability to identify, formulate, and solve engineering problems in both
individual and team environments, particularly in the design of a system,
component, or process to meet desired needs.

3.
Possess an
ability to apply knowledge of mathematics, science, and engineering.

4.
Possess an
ability to use the techniques, skills, and modern engineering tools necessary
for engineering practice.

5.
Have knowledge of
contemporary issues in electrical and computer engineering, and mechanical
engineering; and a broad education necessary to understand the impact of
engineering solutions in a societal and global context.

6.
Recognize the
need for and an ability to engage in life-long learning and the importance of
professional licensure.

7.
Communicate
effectively, both orally and in writing, and both individually and as members
of multi-disciplinary teams.

8.
Possess an
understanding of professional ethical responsibility.

9.
Possess a
well-rounded, Christ-centered life perspective through the integration of the
entire Andrews University curriculum.

Program outcomes 1, 2, 3, 4, 5, and 6 are particularly addressed in
this course.