Luca Benini: Catalogue data in Autumn Semester 2020

Name Prof. Dr. Luca Benini
FieldDigital Integrated Circuits and Systems
Address
Institut für Integrierte Systeme
ETH Zürich, ETZ J 84
Gloriastrasse 35
8092 Zürich
SWITZERLAND
Telephone+41 44 632 66 64
E-maillbenini@iis.ee.ethz.ch
DepartmentInformation Technology and Electrical Engineering
RelationshipFull Professor

NumberTitleECTSHoursLecturers
227-0085-02LProjects & Seminars: Game Development with Unity Restricted registration - show details
Only for Electrical Engineering and Information Technology BSc.

The course unit can only be taken once. Repeated enrollment in a later semester is not creditable.
3 credits3PL. Benini
AbstractThe category of "Laboratory Courses, Projects, Seminars" includes courses and laboratories in various formats designed to impart practical knowledge and skills. Moreover, these classes encourage independent experimentation and design, allow for explorative learning and teach the methodology of project work.
ObjectiveGame Development is a big field and is constantly growing. A powerful tool to create cross-platform games is Unity. Unity is a cross-platform real-time game engine that uses C# as its programming language (very similar to Java). This P&S is a
great chance for gaining practical experience, creating something from scratch and establishing a supporting community. Therefore, if you are eager to improve your coding skills as well as bring them to life by applying them to game development, this is the right P&S for you!
227-0085-04LProjects & Seminars: Microcontrollers for Sensors and Internet of Things Restricted registration - show details
Only for Electrical Engineering and Information Technology BSc.

The course unit can only be taken once. Repeated enrollment in a later semester is not creditable.
4 credits4PL. Benini
AbstractThe category of "Laboratory Courses, Projects, Seminars" includes courses and laboratories in various formats designed to impart practical knowledge and skills. Moreover, these classes encourage independent experimentation and design, allow for explorative learning and teach the methodology of project work.
ObjectiveUltra Low Power Microcontroller (MCU) – Firmware Programming and Sensors Interfacing using an Arm Cortex-M (STM32) Microcontroller

Microprocessors are used to execute big and generic applications, while microcontrollers are low cost and low power embedded chips with program memory and data memory built onto the system which are used to execute simple tasks within one specific application (i.e. sensor devices, wearable systems, and IoT devices). Microcontrollers demand very precise and resource-saving programming, therefore it is necessary to know the processor core, and particular importance has the investigation of the microcontroller's hardware components (ADC, clocks, serial communication, timers, interrupts, etc.).

The STM32 from STMicroelectronics has gained in popularity in recent years due to its low power and ease of use. The goal of this course is the development of understanding the internal processes in the microcontroller chip from TI. This will enable you to conduct high-level-firmware-programming of microcontrollers, to learn about the STM32 MCU features, benefits, and programming and how they can be connected with sensors, acquire the data, processing them and send the information to other devices. The course will also include an introductive lecture on machine learning and artificial intelligence on the embedded system and in particular microcontrollers. The C language will be used to program the microcontroller.

The course will be taught in English.
227-0085-06LProjects & Seminars: Neural Network on Low Power FPGA: A Pratical Approach Restricted registration - show details
Does not take place this semester.
Only for Electrical Engineering and Information Technology BSc.

The course unit can only be taken once. Repeated enrollment in a later semester is not creditable.
2 credits2PL. Benini
AbstractThe category of "Laboratory Courses, Projects, Seminars" includes courses and laboratories in various formats designed to impart practical knowledge and skills. Moreover, these classes encourage independent experimentation and design, allow for explorative learning and teach the methodology of project work.
ObjectiveArtifical Intelligence and in particular neural networks are inspired by biological systems, such as the human brain. Through the combination of powerful computing resources and novel architectures for neurons, neural networks have achieved state-of-the-art results in many domains such as computer vision. FPGAs are one of the most powerful platform to implement neural networks as they can handle different algorithms in computing, logic, and memory resources in the same device. Faster performance comparing to competitive implementations as the user can hardcore operations into the hardware. This course will give to the student the basis of Machine Learning to understand how they work and how they can be trained and giving hand-on experiences with the training tools such as Keras. Moreover the course will focus in deploy algorithms in low power FPGA such as the Lattice sensAI platform to have energy efficient running algorithms. The course will provide to the students the tools and know-how to implement neural netwok on an FPGA, and the student will challenge theirself in a 5 weeks piratical project that they will present at the end of the course. Experience in FPGA programming is desirable but not mandatory.

The course will be taught in English.
227-0085-16LProjects & Seminars: Machine Learning for Brain-Computer Interfaces Restricted registration - show details
Only for Electrical Engineering and Information Technology BSc.

The course unit can only be taken once. Repeated enrollment in a later semester is not creditable.
3 credits3PL. Benini
AbstractThe category of "Laboratory Courses, Projects, Seminars" includes courses and laboratories in various formats designed to impart practical knowledge and skills. Moreover, these classes encourage independent experimentation and design, allow for explorative learning and teach the methodology of project work.
ObjectiveA brain-computer interface (BCI) provides a communication and control channel based on the recognition of subject’s intention from spatiotemporal activity of the brain. A typical method to acquire neural activity signals is electroencephalograhy (EEG), which is often used in BCI. In order to make these data usable and get useful information out of them, signal processing techniques play a crucial role. Moreover, feature extraction and machine learning methods are applied to obtain a highly accurate BCI.
The aim of the Project and Seminars course is to give insights of signal processing and machine learning applied to brain-computer interfaces to undergraduate students, by having hands-on experience in brain signal acquisition, data processing, feature extraction, and machine learning.
227-0085-28LProjects & Seminars: iCEBreaker FPGA For IoT Sensing Systems Restricted registration - show details
Only for Electrical Engineering and Information Technology BSc.

The course unit can only be taken once. Repeated enrollment in a later semester is not creditable.
3 credits3PL. Benini
AbstractThe category of "Laboratory Courses, Projects, Seminars" includes courses and laboratories in various formats designed to impart practical knowledge and skills. Moreover, these classes encourage independent experimentation and design, allow for explorative learning and teach the methodology of project work.
ObjectiveUltra Low Lattice FPGA – High Level Programming – Peripehrals Interfacing using an Lattice FPGA

Field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturing , so they are also "field-programmable". The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC). However more and more nowdays producers and open source community are providing higher level toolls to program them similary than processors. On the other side still it is important know the hardware architectures. This course will give to the students the opportunity to program FPGA in a high level way and use them to connect with external peripherals such as display, sensors, etc. In particular, the course will use the iCEBreaker FPGA boards that is specifically designed for students and engineers . They work out of the box with the latest open source FPGA development tools and next-generation open CPU architectures. The course will also iCEBreaker can be expandable through its Pmod connectors, so the students can make use of a large selection of third-party modules. The course will include a project where the students will learn how to build a full working system for the next generation of Internet of Things intelligent smart sensing.

The course will be taught in English by the new D-ITET center for Project-based learning.
227-0116-00LVLSI I: From Architectures to VLSI Circuits and FPGAs Information 6 credits5GF. K. Gürkaynak, L. Benini
AbstractThis first course in a series that extends over three consecutive terms is concerned with tailoring algorithms and with devising high performance hardware architectures for their implementation as ASIC or with FPGAs. The focus is on front end design using HDLs and automatic synthesis for producing industrial-quality circuits.
ObjectiveUnderstand Very-Large-Scale Integrated Circuits (VLSI chips), Application-Specific Integrated Circuits (ASIC), and Field-Programmable Gate-Arrays (FPGA). Know their organization and be able to identify suitable application areas. Become fluent in front-end design from architectural conception to gate-level netlists. How to model digital circuits with SystemVerilog. How to ensure they behave as expected with the aid of simulation, testbenches, and assertions. How to take advantage of automatic synthesis tools to produce industrial-quality VLSI and FPGA circuits. Gain practical experience with the hardware description language SystemVerilog and with industrial Electronic Design Automation (EDA) tools.
ContentThis course is concerned with system-level issues of VLSI design and FPGA implementations. Topics include:
- Overview on design methodologies and fabrication depths.
- Levels of abstraction for circuit modeling.
- Organization and configuration of commercial field-programmable components.
- FPGA design flows.
- Dedicated and general purpose architectures compared.
- How to obtain an architecture for a given processing algorithm.
- Meeting throughput, area, and power goals by way of architectural transformations.
- Hardware Description Languages (HDL) and the underlying concepts.
- SystemVerilog
- Register Transfer Level (RTL) synthesis and its limitations.
- Building blocks of digital VLSI circuits.
- Functional verification techniques and their limitations.
- Modular and largely reusable testbenches.
- Assertion-based verification.
- Synchronous versus asynchronous circuits.
- The case for synchronous circuits.
- Periodic events and the Anceau diagram.
- Case studies, ASICs compared to microprocessors, DSPs, and FPGAs.

During the exercises, students learn how to model FPGAs with SystemVerilog. They write testbenches for simulation purposes and synthesize gate-level netlists for FPGAs. Commercial EDA software by leading vendors is being used throughout.
Lecture notesTextbook and all further documents in English.
LiteratureH. Kaeslin: "Top-Down Digital VLSI Design, from Architectures to Gate-Level Circuits and FPGAs", Elsevier, 2014, ISBN 9780128007303.
Prerequisites / NoticePrerequisites:
Basics of digital circuits.

Examination:
In written form following the course semester (spring term). Problems are given in English, answers will be accepted in either English oder German.

Further details:
https://iis-students.ee.ethz.ch/lectures/vlsi-i/
227-0148-00LVLSI III: Test and Fabrication of VLSI Circuits Information 6 credits4GF. K. Gürkaynak, L. Benini
AbstractIn this course, we will cover how modern microchips are fabricated, and we will focus on methods and tools to uncover fabrication defects, if any, in these microchips. As part of the exercises, students will get to work on an industrial 1 million dollar automated test equipment.
ObjectiveLearn about modern IC manufacturing methodologies, understand the problem of IC testing. Cover the basic methods, algorithms and techniques to test circuits in an efficient way. Learn about practical aspects of IC testing and apply what you learn in class using a state-of-the art tester.
ContentIn this course we will deal with modern integrated circuit (IC) manufacturing technology and cover topics such as:
- Today's nanometer CMOS fabrication processes (HKMG).
- Optical and post optical Photolithography.
- Potential alternatives to CMOS technology and MOSFET devices.
- Evolution paths for design methodology.
- Industrial roadmaps for the future evolution of semiconductor technology (ITRS).

If you want to earn money by selling ICs, you will have to deliver a product that will function properly with a very large probability. The main emphasis of the lecture will be discussing how this can be achieved. We will discuss fault models and practical techniques to improve testability of VLSI circuits. At the IIS we have a state-of-the-art automated test equipment (Advantest SoC V93000) that we will make available for in class exercises and projects. At the end of the lecture you will be able to design state-of-the art digital integrated circuits such as to make them testable and to use automatic test equipment (ATE) to carry out the actual testing.

During the first weeks of the course there will be weekly practical exercises where you will work in groups of two. For the last 5 weeks of the class students will be able to choose a class project that can be:
- The test of their own chip developed during a previous semester thesis
- Developing new setups and measurement methods in C++ on the tester
- Helping to debug problems encountered in previous microchips by IIS.

Half of the oral exam will consist of a short presentation on this class project.
Lecture notesMain course book: "Essentials of Electronic Testing for Digital, Memory and Mixed-Signal VLSI Circuits" by Michael L. Bushnell and Vishwani D. Agrawal, Springer, 2004. This book is available online within ETH through
http://link.springer.com/book/10.1007%2Fb117406
Prerequisites / NoticeAlthough this is the third part in a series of lectures on VLSI design, you can follow this course even if you have not visited VLSI I and VLSI II lectures. An interest in integrated circuit design, and basic digital circuit knowledge is required though.

Course website:
https://iis-students.ee.ethz.ch/lectures/vlsi-iii/
227-0155-00LMachine Learning on Microcontrollers Restricted registration - show details
Registration in this class requires the permission of the instructors. Class size will be limited to 16.
Preference is given to students in the MSc EEIT.
6 credits3GM. Magno, L. Benini
AbstractMachine Learning (ML) and artificial intelligence are pervading the digital society. Today, even low power embedded systems are incorporating ML, becoming increasingly “smart”. This lecture gives an overview of ML methods and algorithms to process and extract useful near-sensor information in end-nodes of the “internet-of-things”, using low-power microcontrollers/ processors (ARM-Cortex-M; RISC-V)
ObjectiveLearn how to Process data from sensors and how to extract useful information with low power microprocessors using ML techniques. We will analyze data coming from real low-power sensors (accelerometers, microphones, ExG bio-signals, cameras…). The main objective is to study in details how Machine Learning algorithms can be adapted to the performance constraints and limited resources of low-power microcontrollers.
ContentThe final goal of the course is a deep understanding of machine learning and its practical implementation on single- and multi-core microcontrollers, coupled with performance and energy efficiency analysis and optimization. The main topics of the course include:

- Sensors and sensor data acquisition with low power embedded systems

- Machine Learning: Overview of supervised and unsupervised learning and in particular supervised learning (Bayes Decision Theory, Decision Trees, Random Forests, kNN-Methods, Support Vector Machines, Convolutional Networks and Deep Learning)

- Low-power embedded systems and their architecture. Low Power microcontrollers (ARM-Cortex M) and RISC-V-based Parallel Ultra Low Power (PULP) systems-on-chip.

- Low power smart sensor system design: hardware-software tradeoffs, analysis, and optimization. Implementation and performance evaluation of ML in battery-operated embedded systems.

The laboratory exercised will show how to address concrete design problems, like motion, gesture recognition, emotion detection, image and sound classification, using real sensors data and real MCU boards.

Presentations from Ph.D. students and the visit to the Digital Circuits and Systems Group will introduce current research topics and international research projects.
Lecture notesScript and exercise sheets. Books will be suggested during the course.
Prerequisites / NoticePrerequisites: C language programming. Basics of Digital Signal Processing. Basics of processor and computer architecture. Some exposure to machine learning concepts is also desirable