Academic Year 2018/2019
- Docente: Aldo Romani
- Credits: 6
- SSD: ING-INF/01
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Cesena
- Corso: First cycle degree programme (L) in Electronics Engineering for Energy and Information (cod. 8767)
Learning outcomes
The course will provide know-how about the design of digital systems. Upon attendance of the course, the student will learn to perform, from the designer's perspective, analyses and critical assessments of the main architectures for computing, communications, data storage. The course will also focus on learning computer aided digital design techniques and hardware description languages (HDL), with a special attention to programmable logic devices, logic synthesis and simulation. At the end of the course, the student will be able to develop digital systems based on programmable logic and microcontrollers.
Course contents
INTRODUCTION. Introduction to digital circuits and systems.
ARCHITECTURES. Architecture of Field-Programmable Gate Arrays.
Granularity, area and performance. Logic blocks, switches,
interconnections. Architecture of Altera devices. Microprocessors,
classification, architectures and examples. Parallel architectures: superscalar and VLIW. Microcontrollers. The
Microchip PIC18F microcontroller, architecture, main peripherals, interrupts. Microcontroller programming, with
examples in C language. DSP: main features and comparison with general-purpose
microprocessors. Laboratory sessions: design and programming of basic
microcontroller systems.
COMMUNICATION PROTOCOLS. Hand-shake protocols and parallel ports.
Serial communication with UART ports. SPI protocol. I2C protocol.
1-wire protocol. USB protocol.
VHDL: history and purposes. VHDL as a design tool. Design flow for
FPGAs. Entity and architectures. Concurrent statements. Structural
descriptions and components. VHDL operators. Arithmetics in VHDL. Processes and
sequential constructs. Sequential logic and registers. Description
style for synthesizable VHDL. RTL descriptions. Finite State Machines. Design
examples. Laboratory sessions: design of digital systems with
hardware development boards.
Readings/Bibliography
Course materials available online on institutional repositories.
For further insights:
R. Jasinski, "Effective Coding with VHDL. Principles and practice", MIT Press, 2016
D. Perry, "VHDL. Programming by examples", McGraw-Hill Professional; 4th edition, 2002
F. Zappa, "Microcontrollers. Hardware and Firmware for 8-bit and 32-bit devices", 1st edition, 2017, Esculapio
J. Rose, A. El-Gamal, A. Sangiovanni-Vincentelli, "Architecture of Field-Programmable Gate Arrays", Proc. IEEE, vol. 81, n. 7, July 1993, pp.1013-1029
Teaching methods
Besides normal class activity, a relevant part of the course will be spent in the laboratory of Electronics in order to learn hardware description languages and digital design tools. Many laboratory sessions will focus on practicing FPGA design and microcontroller programming, with the aid of hardware development boards available in the laboratories.
Assessment methods
The assessment is composed of two independent parts:
- an oral examination, about the contents presented during the
course, consisting in the discussion of questions in order to
verify the knowledge and comprehension of course contents. The exam aims at assessing the actual comprehension level of course contents, the ability of elaborating course contents and the use of the specific technical language of the course.
- a practical examination, which will be held in the laboratories, consisting in
the design of a simple digital system with the VHDL language and the
synthesis/simulation tools presented in this course. The
specifications to be addressed will be presented in the text of the
problem. The exam aims at assessing the correctness of the proposed digital architecture, the correctness of the VHDL implementation, the ability of validating the design by means of dedicated digital simulations.
Teaching tools
Presentations and class notes available online. Laboratory sessions on computer aided digital design and practice on FPGA and microcontroller systems. Development boards for FPGA and microcontrollers.
Links to further information
http://www-micro.deis.unibo.it/cgi-bin/dida?~romani/www/Dida03
Office hours
See the website of Aldo Romani