Arithmetic Operators

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:
    • Basics on combinational logic design: slides
    • Basics on sequential logic design: slides
  • SystemVerilog for combinational logic: slides
  • Tutorials on Verilog/SystemVerilog:
  • Online free verilog compilers:
  • About sin, cos, tan HW implementation with CORDIC