Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mrsamsonn/vlsi-project

VLSI Project for CMPE 480______ Authors: John San Juan, Cody Hum, Vincent Verdan, Jose Zaragosa
https://github.com/mrsamsonn/vlsi-project

gates logic logisim magic vlsi-circuits vlsi-design

Last synced: 2 days ago
JSON representation

VLSI Project for CMPE 480______ Authors: John San Juan, Cody Hum, Vincent Verdan, Jose Zaragosa

Awesome Lists containing this project

README

        

## vlsi-project
Project: Register File + ALU

![](https://progress-bar.dev/100/?title=Magic:&width=150) ![](https://progress-bar.dev/100/?title=Logisim:&width=150)

**Milestone Checklist**
- [x] Preliminary project cell layouts: defines full schematic hierarchy and functionality.
- [x] updated version of your milestone #2 writeup with any changes based on comments made. [ updated MS#2 submission with errors fixed (Canvas)]
- [x] conclusion is missing.
- [x] drop multiplication for ALU
- [x] schematic is not working
- [x] demonstrate loading of values to the reg file and operating on them
- [x] Please only include one test harness. It should consist of input pins, output ins, and a single part.
- [x] Please turn off the three-state inputs on your input pins
- [x] DFFs have serious design flaws. Please fix Logisim simulation is not working.
- [x] Many of the layouts submitted have design errors in them.
- [x] Please include .cmd files to demonstrate that the layouts simulate proerly
- [x] complete Logisim/LogicWorks schematic (Canvas command)
- [x] .cmd test files for IRSIM (turnin command)
- [x] partially complete set of Magic layouts for standard cells (these should only be submitted if DRC correct) (turnin command)
---
**Magic Hierarchy Development [Layer0 - Layer4]**

-- ** *Layer0: transistor-level* **

- [x] magic: OR2 gate
- [x] magic: NOR2 gate
- [x] magic: INV
- [x] magic: OR3 gate
- [x] magic: OR4 gate
- [x] magic: NAND2 gate
- [x] magic: XOR2 gate
- [x] magic: AND2 gate
- [x] magic: AND3 gate

-- ** *Layer1: gate-level* **

- [x] magic: 1-bit MUX3
- [x] magic: 1-bit MUX2
- [x] magic: 1-bit MUX8
- [x] magic: 1-bit 3-to-8 Decoder
- [x] magic: 1-bit D Flip Flop
- [x] magic: 1-bit full-Adder
- [x] magic: 1-bit full-Subtractor
- [x] magic: 1-bit half-Adder
- [x] magic: 1-bit half-Subtractor
- [x] magic: 4-bit AND2
- [x] magic: 4-bit OR2
- [x] magic: 4-bit NAND2
- [x] magic: 4-bit NOR2

-- ** *Layer2: parts-level* **

- [x] magic: 4-bit MUX3
- [x] magic: 4-bit MUX8
- [x] magic: 4-bit Register
- [x] magic: 1-bit DFF with Enabler [merge MUX2 + DFF]
- [x] magic: 4-bit Adder
- [x] magic: 4-bit Subtractor

-- ** *Layer3: block-level* **

- [x] magic: 4-bit Register File
- [x] magic: 4-bit ALU

-- ** *Layer4: top-level [single block]* **

- [x] magic: 4-bit single-block [merge MUX3 + Register File + ALU]

---

**Progress**
- [x] Logisim functional (unless bugs/issues encountered)
- [x] magic gate layouts
- [x] make a single block as top level
- [x] make sure all magic simulates properly (will help us in the long run before we build the parts)
- [x] build MUX3 in magic?
- [x] build Register File in magic?
- [x] build ALU in magic?

**Issues**
- [x] Fix DFF incorrect output
- [x] Fix Oscillation Apparent

**Workload**
- [x] Remove Multiplier
- [x] 8 bits to 4 bits
- [ ] Remove MUX3?
- [ ] cut down number of registers? (8 registers currently)

Abstract:
This project shows three crucial blocks: MUX3, Register File, and Arithmetic Logic Unit (ALU). The MUX3 selects data for storage in the Register File, which features 8 registers and dynamic address selection. The ALU performs arithmetic operations based on user selection, producing 4-bit results. Also, the ALU's output loops back to the MUX3, forming a crucial feedback loop for iterative calculations. Understanding these blocks is essential for understanding computing systems.

Parts: MUX3, Reg File, ALU

**Top level**

![Top](https://github.com/mrsamsonn/vlsi-project/assets/98930957/424d23e8-9215-4015-9972-f29a376ac115)

Screenshot 2024-03-19 at 3 37 23 PM

![TOP](https://github.com/mrsamsonn/vlsi-project/assets/98930957/d908c312-bd5a-4b92-923f-6f5e43190a01)

# MUX3 Hierarchy

---

4 bit MUX3

![image](https://github.com/mrsamsonn/vlsi-project/assets/98930957/5a853507-5ef3-4111-9857-65be3b77bb49)

![MUX3](https://github.com/mrsamsonn/vlsi-project/assets/98930957/debcd93d-023c-40ac-8405-17c6231a51d2)

1 bit MUX

![3to1 Mux](https://github.com/mrsamsonn/vlsi-project/assets/98930957/3477f3a8-f016-4f9d-b6b5-b50f7bd1b1ff)

# Register File Hierarchy

---

Register File

image

![reg-file](https://github.com/mrsamsonn/vlsi-project/assets/98930957/5e42f04b-94a9-4fe3-9f16-829485e69b69)

MUX8 (to cover 8 registers)

![image](https://github.com/mrsamsonn/vlsi-project/assets/98930957/3a117b66-c332-4932-b393-d25d4bb669b0)

4 bit Register

![image](https://github.com/mrsamsonn/vlsi-project/assets/98930957/bdcaee91-cc86-4134-aaae-b37431f57798)

D Flip Flop + MUX2[as enabler]

image

D Flip Flop

image

# ALU Hierarchy

---

ALU (Need one more logic to replace multiplier)

![ALU](https://github.com/mrsamsonn/vlsi-project/assets/98930957/8485986d-7a23-47a6-afa8-3933ee1e8197)

![ALU](https://github.com/mrsamsonn/vlsi-project/assets/98930957/64f35090-5ac1-4f21-9ab3-76f6b9b66114)