top of page

EEG 251:

Digital Systems I,  (3-1-3)


Office Hours :  Any time, please send an e-mail to :

Office No: 14-146-A

Office Location:  College of Engineering, Building 14.

Office Telephone:  ++ 973 17876286,  or  ++ 973 17876606

[1]  :  EEG 251 : Digital Systems I :    [3,1,3] :

Number system

Basic logic gates

Boolean algebra

Simplification of logic functions: 

Karnaugh maps

Quine-McCluskey method

Patrick’s method

NAND and NOR gates networks :


Multiple output networks :

MSI combinational logic circuits: 





combinational logic circuits design with programmable logic devices. 

Memories :


Flip-Flops :

Design and analysis of counters and registers circuits.

Course Marking-Assessment Distribution :

Assignments   (4 total )10%

Project  (Presentation)05%



Midterm 30%

Final  Exam40%



Course Text  Book :

Recommended Books (in the order of their relevance):

Thomas L.  Floyd, "Digital Fundamentals", Seventh Edition, Pearson Education, 2002; ISBN: 013-046411-2  (highly recommended)

Wakerly, John F. "Digital design: principles and practices" - 3rd edition - Upper Saddle River, N.J.; London : Prentice Hall, 2000

Stonham, T. J., Thomas J. "Digital logic techniques : principles and practice" - 3rd edition - London : Chapman & Hall, 1996

Martin, Kenneth W. (Kenneth William), "Digital integrated circuit design", Oxford University Press, 2000. - (The Oxford series in electrical and computer engineering), ISBN - 0195125843

Fletcher, William I, "An engineering approach to digital design" - Englewood Cliffs, London (etc.) : Prentice-Hall, 1980

Note about the recommended books: The first book on the list covers about 90% of the material taught in the lectures and is an essential book for beginners.

The second book is usually sold with CDs containing the software used for the laboratory sessions (Xilinx Foundations).

College of Engineering 
Electrical Engineering Control Lab

Lab Location : (36-213)        Equipment in the Lab :

Course Experiments  :

Written laboratory reports will be submitted at the end of the semester.

The reports will include the diagrams of the simulated circuits, simulation results and explanations about the operation mode of each circuit.

Where necessary, the reports will include truth tables, Boolean algebra calculations, Karnaugh maps and state diagrams.

Individual Logic Gates

Combinational Logic Circuit Design

Tutorials  (First  test)

Computer Simulation of Logic Circuits

Parallel Adder/Subtractor Circuit

Tutorials (Second test).


Synchronous  Counter Design

Tutorials for final.

Samples:  Course Assignments,  Tutorials,  Quizzes,  Labs  ( Previous years Works ):          



Course  Materials  Press to (From the lecturer) :Week 1

The importance and the basic principles of digital electronics

Binary numbers: transformation from and to decimal format

Hexadecimal numbers

Boolean logic principles

Boolean functions

Defining Boolean functions with truth tables

Theorems of Boolean logic

Types of logic gates (AND, OR, NOT, NAND, NOR, XNOR, XOR, XNOR)


Converting one type of logic gate into another

Week 2

Logic gate families






Shottky TTL


Main parameters defining a logic gate family

Open drain and open collector logic gates

Parameters of logic gate families

Transfer gates

TSL gates: operation and role in digital circuits

The role of pull-up and pull-down resistors

Using transfer gates to implement an XOR gate - advantage compared to normal CMOS implementation


Week 3

Two’s complement representations

One's complement representations

Gray code

DNF and CNF forms of Boolean functions

Karnaugh maps for functions in DMF  (SOP) format

Karnaugh maps for functions in CMF (POS) format

Karnaugh maps for incompletely defined functions


Week 4

Identifying XOR and XNOR functions in Karnaugh maps

Timing hazards

Static Hazards

Dynamic Hazards

Using Karnaugh maps to generate hazard-free circuits

Quine-McClusky minimisation algorithm


Simple multiplexers

Bus multiplexers constructed with or without TSL circuits



Normal encoders

Priority encoders


Normal decoders

Seven-segment decoders

Decoders for bar displays


Week 5

Barrel shifters and their applications to microprocessors

Implementation of Boolean functions with multiplexers, demultiplexers and encoders

Basic arithmetic circuits

Binary addition and subtraction

Typical adder circuits

Adders with look-ahead carry generator

Carry-skip adders

Carry-select adders

Carry-save adders



Week 6

Basic arithmetic circuits (continued)

Simple combinational multipliers

Carry-save multipliers



Incrementation circuits

Decrementation circuits

Complementation circuits (two's complement calculation)

BCD numbers

BCD addition and subtraction


Week 7


General SR bistables



Flip-flop truth tables and excitation tables

Flip-flop conversions


Week 8



Asynchronous Counters

Synchronous Counters

General design procedure for synchronous counters

Simple applications of registers and counters

Pseudo-random number generators

Error detecting circuits based on CRC algorithm

Registers used in conjunction with barrel shifters inside microprocessors


Week 9

Simple applications of registers and counters (continued)

Serial adders

Booth multipliers

Finite State Machines (FSM)

Types of FSMs (Moore, Mealy, synchronous, asynchronous)

Design procedures for synchronous FSMs

Design procedures for asynchronous FSMs


Week 10


Types of PLDs: PLA, PAL, FPGA

Applications of PLDs (implementing Boolean functions and FSMs).

Memory circuits





Flash memory





Memory expansion

Implementing Boolean functions with ROM circuits

Implementing FSMs with ROM circuits

The basic implementation procedure

Using multiplexers, demultiplexers and encoders to reduce the size of the ROM circuit


Week 11

Interface Circuits

Sample-and-hold circuits

Shannon's theorem

A/D converters

D/A converters


The importance of decoupling capacitors in digital circuits


Week 12

Examples of complex digital systems



Mobile telephones

DVD players

Digital cameras

Digital television


Object Oriented Programming using Matlab (OOP):


Object Oriented Programming using Matlab (OOP), uses of classes (class), objects (obj) and data structure (struct) .. if you would like to use this approach in programming for this course, this will be great. This is optional, but it is always good to learn latest advanced programming tools.  Download slides about Matlab (oop), from the Advanced MATLAB for Scientific Computing, Stanford University.  (press here to download >>> )   OOP-Matlab

bottom of page