YaraHisham61 / Adders-Multipliers-Chip

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Table of Contents

Overview

Project of the VLSI course in our 3rd year in the Faculty of Engineering, Cairo University. Mainly consists of three mini projects which are: adders mania, multipliers maina, and generating the chip.

Project Description

Mini Project 1: Adders Mania

The adders are the building blocks of all “compute” units. Their performance impacts the whole chip. so in this mini project, we:

  • Designed and implemented using Verilog the following 32-bit signed adders
    • Verilog (‘+’) version of adders
    • Ripple Carry Adder
    • Carry Look-Ahead Adder
    • Carry Bypass Adder
    • Carry Select Adder
    • Floating Point Adder (IEEE-standard) using Verilog (‘+’) version of adders
  • Implemented a testbench to test the above adders: Covering 8 cases:
    • Overflow of positive numbers.
    • Overflow of negative numbers.
    • Addition of positive and negative number
    • Addition of positive and positive number
    • Addition of negative and negative number
    • Additional 3 random test cases
  • Synthesis of the adders.
  • Apply post-synthesis simulation using our previously made testbench.

For more details, see Adders Mania Presentation

Mini Project 2: Multipliers Mania

The multiplier is another important block in the chip. So in this mini project, we:

  • Designed and implemented using Verilog the following 32-bit signed multipliers
    • Verilog (‘*’) version of multiplier
    • Multiplier Tree (combinational)
    • Sequential Multiplier using shift & accumulate
    • Booth Algorithm
    • Floating Point Multiplier (IEEE-standard) using Verilog (‘*’) version of multiplier
  • Implemented a testbench to test the above multipliers: Covering 8 cases:
    • Multiplication of positive and negative number.
    • Multiplication of positive and positive number.
    • Multiplication of negative and negative number.
    • Multiplication of negative and positive number.
    • Multiplication by zero.
    • Multiplication by 1.
    • Additional 2 random test cases.
  • Synthesis of the multipliers.
  • Apply post-synthesis simulation using our previously made testbench.

For more details, see Multipliers Mania Presentation

Mini Project 3: Generating The Chip

After synthesizing both floating point adder and multiplier, we generated the chip by placing and routing the adder and multiplier with similar constraints to synthesis. After this step we:

  • Applied post-routing simulation using our previously made testbench with including our sdf files
  • Generated the final GDS file for each design.

Outputs Files

Mini Project 1 & 2

For each adder and multiplier we generated post-synthesis reports of:

  • Total Area
  • Max Delay
  • Max Slack
  • Min Slack
  • Total Power
  • clk

Which can be found in Adders-Mania/Output folder and Multipliers-Mania/Output folder

Mini Project 3

For the floating point adder and multiplier we generated post-routing reports and GDS files which can be found in Routing folder

Contributors

Ahmed Samy
Ahmed Samy
Kareem Samy
Kareem Samy
Nancy Ayman
Nancy Ayman
Yara Hisham
Yara Hisham

License

This software is licensed under MIT License, See License

About

License:MIT License


Languages

Language:Verilog 97.3%Language:Tcl 2.4%Language:Python 0.2%Language:Dart 0.1%Language:Roff 0.0%