General presentation
This first part of the ECE_5IC01_TP course focuses on the design of dedicated hardware for computation-intensive applications. It introduces fundamental arithmetic building blocks that form the basis of many hardware computing architectures, including digital signal processing, numerical computation, and graph-based workloads such as machine learning inference.
The course explores the design and implementation of basic arithmetic operators, including two-operand adders, multi-operand adders, multipliers, dividers, and related operators. The objective is to study different implementation strategies and evaluate their impact on hardware, particularly in terms of area, speed and latency.
Contents
- Session 1: Introduction
- Session 2: Two-operand addition
- Sessions 3-4: Arithmetic operators
- Sessions 5-6 : Arithmetic operators
- Session 7: Exercises
- Session 8 : Graded Activity
Bibliography and resources
- Documents presented in class : slides
- Books
- Digital Design, by Frank Vahid, John Wiley and Sons Publishers, 2007.
- Synthesis of Arithmetic Architectures, by Jean-Pierre Deschamps, Wiley Editions, 2006.
- Basics on digital electronics:
- SystemVerilog for combinational logic: slides
- Tutorials on Verilog/SystemVerilog:
- Online free verilog compilers:
- About sin, cos, tan HW implementation with CORDIC