Code Monkey home page Code Monkey logo

ece550-project's Introduction

Project1 - ALU Checkpoint 2

Author: Yuzhe Ding (yd160); Aohua Zhang (az147) Date: 09.23.2021

Description of our design implementation

32-bit General Adder Design

  • 8-bit Ripple Carry Adder (RCA) implemented with 8 consecutive Full Adders (FA) connected by Cin and Cout
  • 16-bit Carry Select Adder (CSA) implemented with 3 8-bit RCAs and 1 8-bit 2-to-1 multiplexer (Mux)
  • 32-bit CSA consists of 3 16-bit CSA and 1 16-bit 2-to-1 Mux
  • Calculate the overflow by implementing xor operation between the Cout and Cin of the most significant bit (namely the 31th bit of the adder)
  • Extract the least significant bit (LSB) of ctrl_ALUopcode as the Cin of the entire 32-bit CSA
  • Use the LSB of ctrl_ALUopcode to determine whether to invert the input data_operandB

32 bitwise And/Or

  • Put 32 1-bit And/Or in parallel

Barrel Shift left (logic)

  • Use five level mux stacks, which shift 1, 2, 4, 8, 16 bits respectively

Barrel Shift right (arithmetic)

  • Use five level mux stacks, which shift 1, 2, 4, 8, 16 bits respectively

5-to-32 Decoder

  • First implement a 2-to-4 decoder with an Enable input
  • Then use 2 2-to-4 decoders to construct 3-to-8 decoder with the Enable input connected to the MSB of the input
  • It's the same for 4-to-16 and 5-to-32 decoder

Tristate Buffer

  • I use the constant 1'bz to implement the tristate buffer
  • Use the output of the decoder to enable the tristate buffer to select which data appears on the final output

ece550-project's People

Contributors

dukebean avatar

Watchers

James Cloos avatar Yuzhe Ding avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.