Department of Electrical and Systems Engineering

ESE170: Principles of Digital Design


Prof: Jan Van der Spiegel

Spring 2015


This course provides a modern introduction to logic design and the basic building blocks used in digital systems, in particular digital computers. It starts with a discussion of combinational logic: logic gates, minimization techniques, arithmetic circuits, and modern logic devices such as field programmable logic gates. The second part of the course deals with sequential circuits: flip-flops, synthesis of sequential circuits, and case studies, including counters, registers, and random access memories. State machines will then be discussed and illustrated through case studies of more complex systems using programmable logic devices. Different representations including truth table, logic gate, timing diagram, switch representation, and state diagram will be discussed.

The course has an accompaning lab component (ESE171) that integrates hands-on experience with modern computer-aided design software including logic simulation, minimization and an introduction of the use of hardware description language (VHDL). The hands-on assignments will make use of the Xilinx ISE toolchain for the design and implementation of a variety of projects.



The objectives of the course can be grouped into two categories. The first one relates to understanding the basics of Boolean algebra and the operation of logic components, combinational, and sequential circuits. The second set of objectives relates to the design of digital circuits and systems.

Specifically, you will learn

  1. to apply the principles of Boolean algebra to manipulate and minimize logic expressions; [a1]
  2. to use K-maps to minimize and optimize two-level logic functions up to 5 variables; [a2]
  3. the operation of latches, flip-flops, counters, registers, and register transfers; [a3]
  4. to analyze the operation of sequential circuits built with various flip-flops; [a4]
  5. the concepts of datapaths, control units, and micro-operations and building blocks of digital systems. [a5]

In addition, you will learn

  1. to design two-level logic functions with AND, OR, NAND, NOR and XOR gates with minimum number of gate delays or literals; [c1]
  2. to design combinational circuits using decoders, ROM and transmission gates; [c2]
  3. the operation of state-of-the-art components to design and build complex digital systems, such as memories, PLA, PALs and programmable logic devices (such as FPGAs); [c3]
  4. to use state machine diagrams to design finite state machines using various types of flip-flops and combinational circuits with prescribed functionality. [c4]
  5. to identify a paper related to the application of digital systems in society, read and summarize the paper (g1)
  6. to articulate how modern microelectronics has impacted society (h1)


Code of Academic Integrity:

Using or attempting to use unauthorized assistance, materials, or solutions (in part or in whole) is a violation of the University Code of Academic Integrity and will result in a zero grade for the course.


Course Logistics

Prerequisites: None

The class is open to students in engineering, mathematics or the physical sciences who are interested in learning Boolean logic and modern digital design.

Credit Units: 1.0CU

Accompaning Lab Course: ESE171  (0.5CU)

Lecture Time and Location


MWF 10-11am, Berger Aud. 100 (Skirkanich Hall)





Jan Van der Spiegel
Office: Moore 201 (inside ESE Office)
Phone: 215-898-7116
Email: jan AT seas DOT upenn DOT edu

Teaching Assistant





1. "Logic and Computer Design Fundamentals," 4th Edition, by M. Mano and C. Kime, Prentice Hall, Upper Saddle River, NJ, 2008. ISBN# 0138134006.

Online Student material, including solutions to selected problems and additional reading: online student resources.

2. "Digital Design," online textbook by ZyBooks (all students enrolled in the class has access to it and will be used for assignments).

Additional texts


(recommended only; on reserve in the Engineering Library)
  1. "Fundamentals of Logic Design", by C. H. Roth, Jr, PWS Publishing Company.
  2. "Digital Design and Computer Architecture," David Money Harris and Sarah Harris, Morgan Kaufmann Publ, 2007
  3. "Digital Design" 3rd Edition by J. F. Wakerly, Prentice Hall, Upper Saddle River,  NJ, 2000.
  4. "Digital Principles," 3rd Ed, Roger L. Tokheim, Schaum's Outline Series, McGraw-Hill Publ, 1994 [contains many worked out examples]
  5. "Introduction to Digital Systems", by Palmer and Perlman, Schaum's Outline Series, McGraw-Hill, New York, 1993 [contains many worked out examples].
  6. "The Art of Electronics," 2nd edition, F. Horowitz and W. Hill, Cambridge Univ. Press, New York, 1989.[has a lot of practical implementation information for both digital and analog circuits].
  7. "Fundamentals of Logic Design", 4th Edition, by C. Roth, PWS Publishing Company, New York, 1999.
  8. VHDL related books:
    1. " VHDL Starter's Guide", S. Yalamanchili, Prentice Hall, Upper Saddle River, NJ, 1998
    2. "VHDL Made Easy", D. Pellerin, D. Taylor, Prentice Hall, Upper Saddle River, NJ, 1997
    3. "The Students' Guide to VHDL," P. Ashenden, Morgan Kaufman Publ, San Francisco, 1998.

Laboratory Sessions (ESE171)

The laboratory consists of weekly assignments that will give you the opportunity to get hands-on experience of what you have learned in the class. The labs will make use of state-of-the-art XILINX CAD tools which include schematic capture, hardware description language (HDL), logic and timing simulation, and implementation of the design in a FPGA. The labs will give you direct feedback on how your design performs and will be a great learning tool. There are three scheduled lab sessions. The TAs will be available during these times to answer questions you may have. In addition the lab will also be available evenings and weekends for those who need more time to complete the labs. The Xilinx software is available in the Ketterer Lab.



See Canvas for grading policies, office hours, lecture notes, homework assignments, and other course information


Exams are closed book and include material covered in class up to the week before the exam (and covered in the last homework). No calculators or cheat sheets are allowed. For the dates see the syllabus.


Last Updated: January 15, 2014