Digital Electronics
A.Y. 2024/2025
Learning objectives
The teaching introduces the student to the understanding of digital electronic circuits, both from a theoretical point of view and with practical examples, and is divided into five parts:
1. Logic circuits: from Boolean algebra to physical implementation
2. Design of combinational and sequential logic circuits
3. Semiconductor memory systems
4. Programmable logic circuits
5. Signal distribution
The first part of the teaching will introduce the concepts and methodologies underlying digital electronics, with examples of simple circuits to be considered the primary elements for learning the remaining parts of the course.
In the second part of the teaching, gradually more complex digital circuits will be described, combinatorial and sequential in nature, emphasizing memory elements and criteria for synchronizing operations among the multiple aspects of a complex circuit.
In the third part of the teaching, a subclass of digital circuits necessary for the operation of semiconductor memories will be explored. The most common types of memory will be analyzed in terms of functionality and performance.
The fourth part of the lecture will introduce programmable logic devices, user-reconfigured by software, on which more and more digital apparatuses are based. Such systems are the new frontier of digital electronics, in which hardware and software are closely linked. The complexity of today's digital systems also necessitates automatic design techniques through specific programming languages such as VHDL. In the 1970s, a digital circuit was designed; since the 1990s, a digital circuit has been said to be "automatically synthesized" from a VHDL "listing." The essential elements of the VHDL language will be briefly explained.
In the fifth part of the teaching, the transmission line concept will be introduced, in light of which the distribution of high-frequency digital signals, clock signals, and power supply will be considered. Finally, more realistic high-frequency models for capacitors, inductors, and resistors will be introduced.
1. Logic circuits: from Boolean algebra to physical implementation
2. Design of combinational and sequential logic circuits
3. Semiconductor memory systems
4. Programmable logic circuits
5. Signal distribution
The first part of the teaching will introduce the concepts and methodologies underlying digital electronics, with examples of simple circuits to be considered the primary elements for learning the remaining parts of the course.
In the second part of the teaching, gradually more complex digital circuits will be described, combinatorial and sequential in nature, emphasizing memory elements and criteria for synchronizing operations among the multiple aspects of a complex circuit.
In the third part of the teaching, a subclass of digital circuits necessary for the operation of semiconductor memories will be explored. The most common types of memory will be analyzed in terms of functionality and performance.
The fourth part of the lecture will introduce programmable logic devices, user-reconfigured by software, on which more and more digital apparatuses are based. Such systems are the new frontier of digital electronics, in which hardware and software are closely linked. The complexity of today's digital systems also necessitates automatic design techniques through specific programming languages such as VHDL. In the 1970s, a digital circuit was designed; since the 1990s, a digital circuit has been said to be "automatically synthesized" from a VHDL "listing." The essential elements of the VHDL language will be briefly explained.
In the fifth part of the teaching, the transmission line concept will be introduced, in light of which the distribution of high-frequency digital signals, clock signals, and power supply will be considered. Finally, more realistic high-frequency models for capacitors, inductors, and resistors will be introduced.
Expected learning outcomes
Upon completion of the course, students will be able to:
1. Represent digital electronic systems in a top-down approach
2. Understand the design flow of complex digital electronic systems
3. Understand the physical problem related to signal interconnections and how to deal with it under various circumstances
4. Understand the essential elements of Boolean algebra
5. Analyze and synthesize combinational logic circuits
6. Understand circuit diagrams of logic-arithmetic units (ALUs)
7. Understand the principles of operation of MOS transistors
8. Understand and design circuit diagrams of logic gates using CMOS devices
9. Understand and use the number representation systems most used in digital electronics
10. Understand and design simple sequential logic circuits
11. Understand the operation of essential memory elements, e.g., the bistable element, flip-flops, etc.
12. Understand and synthesize simple state machines
13. Understand and describe the basic architecture of the personal computer
14. Understand the essential characteristics and performance of volatile and nonvolatile memory circuits
15. Understand the operation of the main types of memories: registers in CMOS technology, SRAM, DRAM, EPROM, FLASH, etc.
16. Understand programmable logic devices, their advantages, and disadvantages compared to more traditional solutions
17. Understand the basic concepts of the VHDL language with simple, practical examples
1. Represent digital electronic systems in a top-down approach
2. Understand the design flow of complex digital electronic systems
3. Understand the physical problem related to signal interconnections and how to deal with it under various circumstances
4. Understand the essential elements of Boolean algebra
5. Analyze and synthesize combinational logic circuits
6. Understand circuit diagrams of logic-arithmetic units (ALUs)
7. Understand the principles of operation of MOS transistors
8. Understand and design circuit diagrams of logic gates using CMOS devices
9. Understand and use the number representation systems most used in digital electronics
10. Understand and design simple sequential logic circuits
11. Understand the operation of essential memory elements, e.g., the bistable element, flip-flops, etc.
12. Understand and synthesize simple state machines
13. Understand and describe the basic architecture of the personal computer
14. Understand the essential characteristics and performance of volatile and nonvolatile memory circuits
15. Understand the operation of the main types of memories: registers in CMOS technology, SRAM, DRAM, EPROM, FLASH, etc.
16. Understand programmable logic devices, their advantages, and disadvantages compared to more traditional solutions
17. Understand the basic concepts of the VHDL language with simple, practical examples
Lesson period: First semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course can be attended as a single course.
Course syllabus and organization
Single session
Responsible
Lesson period
First semester
Course syllabus
1. Digital circuits: from Boolean algebra to physical implementation
1.1 Boolean algebra.
1.1.1. The properties, postulates, and theorems of Boolean algebra.
1.1.2. The canonical form of algebraic functions
1.2. Analysis and synthesis of combinatorial logic circuits
1.2.1. Design and optimization of a logic function
1.2.2. Symbolism of representation of logic circuits
1.2.3. Elementary logic circuits
1.2.4. Complex logic circuits
1.2.5. Delays and errors of logic circuits
1.3. Circuit diagrams of logic gates
1.3.1. Recalls of semiconductor physics
1.3.2. Field effect transistors (MOSFETs)
1.3.3. Characteristics, patterns, transistors as switches
1.3.4. Introduction to integrated circuits
1.3.5. General design criteria
1.3.6. The families of logic gates
1.3.7. NMOS and CMOS logics
2. Design of combinational and sequential logic circuits
2.1. Numbering systems
2.1.1. The binary system
2.1.2. Conversion techniques
2.1.3. Signed numbers
2.1.4. Binary operations
2.1.5. Binary codes
2.1.6. Error detection and correction codes
2.2. Logical schemes of arithmetic units
2.2.1. Circuits for arithmetic operations.
2.2.2. Digital comparators
2.2.3. Circuits for quality control
2.2.4. Encoding and decoding circuits
2.3. The "storage" function and the bistable element
2.3.1. Monostable and bistable circuits
2.3.2. Networks of bistable circuits and the application equation
2.3.3. Models for delay circuits
2.3.4. Characteristic equations
2.3.5. State diagrams
2.3.6. Time diagrams
2.3.7. Simple asynchronous sequential circuits
2.3.8. Simple sequential logic gate circuits
2.4. Circuits with Flip-Flops
2.4.1. Edge-Triggered flip-flops
2.4.2. Pulse-triggered flip-flop
2.4.3. Other types of flip-flops
2.4.4. Design of simple synchronous counters with T-type flip-flops
2.5. State machines
2.5.1. Moore, Mealy, and mixed models
2.5.2. Analysis of synchronous systems
2.5.3. Reductions of "instabilities'' in synchronous circuits
2.5.4. Design of state machines with D-type flip-flops
2.5.5. Design of state machines with T-type flip-flops
2.5.6. Design of state machines with J-K type flip-flops
2.5.7. Methods for designing state machines
2.5.8. Examples of state machines
3. Semiconductor memories
3.1. Brief introduction to personal computer architecture
3.2. Generalities about memories
3.3. Classification of memories
3.4. General characteristics of memory systems
3.5. RAM (Random Access Memory)
3.6. ROM - read-only memories
3.7. PROM, EPROM, and E2PROM - programmable read-only memories
3.8. CAM associative memories
3.9. Serial memories
4. Programmable logic circuits
4.1. Generalities
4.1.1. Basic definitions
4.1.2. Advantages and disadvantages compared with traditional technology
4.1.3. Types of programmable logic
4.2. Types of PLDs.
4.2.1. Possible operations
4.2.2. Boundary scan
4.2.3. Architecture of PLDs
4.2.4. Programming methodology of simple PLDs
4.2.5. The main architectures of PLDs
4.3. FPGA types.
4.3.1. Architecture of an FPGA
4.3.2. Configuration and programming sequences
4.4. Programmable logic development systems
4.4.1. Design rules and techniques
4.4.2. Design entry and design verification
4.4.3. Integrated development software
4.4.4. Designing with PLDs and with FPGAs
4.5. Hints of VHDL
4.5.1. Basic concepts of synthesis
4.5.2. Objects of a VHDL file
4.5.3. Verification of a VHDL code
4.5.4. VHDL codes for simple combinational logic circuits
4.5.5. VHDL codes for simple sequential synchronous circuits
4.6. Complex systems
4.6.1. Available construction technologies
4.6.2. Reprogrammable systems
4.6.3. Microprocessors and programmable logic
5. Distribution of signals
5.1. Transmission line model for signals
5.1.1. Distribution of high-frequency digital signals
5.1.2. Distribution of clock signals
5.1.3. Power distribution
5.1.4. Modeling of real capacitors, inductors, and resistors
1.1 Boolean algebra.
1.1.1. The properties, postulates, and theorems of Boolean algebra.
1.1.2. The canonical form of algebraic functions
1.2. Analysis and synthesis of combinatorial logic circuits
1.2.1. Design and optimization of a logic function
1.2.2. Symbolism of representation of logic circuits
1.2.3. Elementary logic circuits
1.2.4. Complex logic circuits
1.2.5. Delays and errors of logic circuits
1.3. Circuit diagrams of logic gates
1.3.1. Recalls of semiconductor physics
1.3.2. Field effect transistors (MOSFETs)
1.3.3. Characteristics, patterns, transistors as switches
1.3.4. Introduction to integrated circuits
1.3.5. General design criteria
1.3.6. The families of logic gates
1.3.7. NMOS and CMOS logics
2. Design of combinational and sequential logic circuits
2.1. Numbering systems
2.1.1. The binary system
2.1.2. Conversion techniques
2.1.3. Signed numbers
2.1.4. Binary operations
2.1.5. Binary codes
2.1.6. Error detection and correction codes
2.2. Logical schemes of arithmetic units
2.2.1. Circuits for arithmetic operations.
2.2.2. Digital comparators
2.2.3. Circuits for quality control
2.2.4. Encoding and decoding circuits
2.3. The "storage" function and the bistable element
2.3.1. Monostable and bistable circuits
2.3.2. Networks of bistable circuits and the application equation
2.3.3. Models for delay circuits
2.3.4. Characteristic equations
2.3.5. State diagrams
2.3.6. Time diagrams
2.3.7. Simple asynchronous sequential circuits
2.3.8. Simple sequential logic gate circuits
2.4. Circuits with Flip-Flops
2.4.1. Edge-Triggered flip-flops
2.4.2. Pulse-triggered flip-flop
2.4.3. Other types of flip-flops
2.4.4. Design of simple synchronous counters with T-type flip-flops
2.5. State machines
2.5.1. Moore, Mealy, and mixed models
2.5.2. Analysis of synchronous systems
2.5.3. Reductions of "instabilities'' in synchronous circuits
2.5.4. Design of state machines with D-type flip-flops
2.5.5. Design of state machines with T-type flip-flops
2.5.6. Design of state machines with J-K type flip-flops
2.5.7. Methods for designing state machines
2.5.8. Examples of state machines
3. Semiconductor memories
3.1. Brief introduction to personal computer architecture
3.2. Generalities about memories
3.3. Classification of memories
3.4. General characteristics of memory systems
3.5. RAM (Random Access Memory)
3.6. ROM - read-only memories
3.7. PROM, EPROM, and E2PROM - programmable read-only memories
3.8. CAM associative memories
3.9. Serial memories
4. Programmable logic circuits
4.1. Generalities
4.1.1. Basic definitions
4.1.2. Advantages and disadvantages compared with traditional technology
4.1.3. Types of programmable logic
4.2. Types of PLDs.
4.2.1. Possible operations
4.2.2. Boundary scan
4.2.3. Architecture of PLDs
4.2.4. Programming methodology of simple PLDs
4.2.5. The main architectures of PLDs
4.3. FPGA types.
4.3.1. Architecture of an FPGA
4.3.2. Configuration and programming sequences
4.4. Programmable logic development systems
4.4.1. Design rules and techniques
4.4.2. Design entry and design verification
4.4.3. Integrated development software
4.4.4. Designing with PLDs and with FPGAs
4.5. Hints of VHDL
4.5.1. Basic concepts of synthesis
4.5.2. Objects of a VHDL file
4.5.3. Verification of a VHDL code
4.5.4. VHDL codes for simple combinational logic circuits
4.5.5. VHDL codes for simple sequential synchronous circuits
4.6. Complex systems
4.6.1. Available construction technologies
4.6.2. Reprogrammable systems
4.6.3. Microprocessors and programmable logic
5. Distribution of signals
5.1. Transmission line model for signals
5.1.1. Distribution of high-frequency digital signals
5.1.2. Distribution of clock signals
5.1.3. Power distribution
5.1.4. Modeling of real capacitors, inductors, and resistors
Prerequisites for admission
The teaching "Digital Electronics Systems" requires no special prior knowledge and may be of interest to:
- students in the third year of a bachelor's degree in Physics with an electronics major
- Physics students from other majors who, while not having chosen the electronics major, wish to gain knowledge to understand components, circuits, and systems of digital electronics
- students with a Bachelor of Science degree in Physics
- students in the third year of a bachelor's degree in Physics with an electronics major
- Physics students from other majors who, while not having chosen the electronics major, wish to gain knowledge to understand components, circuits, and systems of digital electronics
- students with a Bachelor of Science degree in Physics
Teaching methods
Teaching consists of face-to-face lectures in the traditional mode, during which examples and exercises are also carried out, which play an essential role, given the objective of the course and the examination methods.
Teaching Resources
R.S. Sandige, "Digital Design Essentials," Prentice-Hall
J.F. Wakerly, "Digital design: principles and practices," Prentice-Hall Int. Ed.
F.Fummi, M.G.Sami, C.Silvano, "Digital Design," McGraw-Hill Italia
P. Spirito, "Digital electronics 2nd edition," McGraw-Hill Italy
C. A. De Rosa, "Introduction to Programmable Logics," Dell'Ambrosino ed.
U. Pellegrini, "Digital Systems Electronics," Clup Library
R. C. Jaeger, "Microelectronics," Mc Graw-Hill
A.S.Sedra, K.C.Smith, "Microelectronics Circuits," Saunders College Publ.
J.F. Wakerly, "Digital design: principles and practices," Prentice-Hall Int. Ed.
F.Fummi, M.G.Sami, C.Silvano, "Digital Design," McGraw-Hill Italia
P. Spirito, "Digital electronics 2nd edition," McGraw-Hill Italy
C. A. De Rosa, "Introduction to Programmable Logics," Dell'Ambrosino ed.
U. Pellegrini, "Digital Systems Electronics," Clup Library
R. C. Jaeger, "Microelectronics," Mc Graw-Hill
A.S.Sedra, K.C.Smith, "Microelectronics Circuits," Saunders College Publ.
Assessment methods and Criteria
L'esame consiste in un colloquio, della durata tipica di 45 minuti, in cui si verificherà, anche attraverso lo svolgimento di semplici esercizi, la comprensione da parte dello studente dei principi dell'elettronica dei sistemi digitali e la loro applicazione a casi eterogenei.
ING-INF/01 - ELECTRONIC ENGINEERING - University credits: 6
Lessons: 42 hours
Professors:
Citterio Mauro, Riboldi Stefano
Educational website(s)
Professor(s)
Reception:
Upon appointment
Via Celoria 16, LITA building, 2nd floor