SlideShare a Scribd company logo
The University of Texas at Dallas
EECT 6325- VLSI DESIGN
Fall 2018
16-bit ALU (Arithmetic Logic Unit)
by
Vignesh Ganesan – VXG170004
Jayashree Jayabalan – JXJ180012
Franson Joshua J – FXJ180000
Final Design Project
Introduction:
An arithmetic logic unit (ALU) is a digital circuit used to perform arithmetic and logic
operations. It represents the fundamental building block of the central processing unit (CPU)
of a computer.
An ALU performs basic arithmetic and logic operations. Examples of arithmetic operations are
addition, subtraction, multiplication, and division. Examples of logic operations are
comparisons of values such as NOT, AND, and OR. In this project 16bit ALU where two 16bit
inputs are given and the output obtained will be a 32bit one.
Design constraints:
The main fix in the design of cells is that size is always inversely proportional to delay. In the
design of these cells we used Wp/Wn ratio close to 2.22. Though the value of 3 is most desired
to obtain minimum delay, the size parameter is also considered during the design. Hence the
size and delay parameters are compromised during this design.
Hence we fixed the width of pfet as 2.4um and nfet as 1.08um. Hence the Wp/Wn ratio is 2.22
The Complete Process:
• We designed layout and schematics for 9 cells such as Inverter, NAND2, NOR2, XOR2,
OAI21, OAI211, flipflop, Mux 2:1 and AOI22.
• Using cadence tool, the layout was designed without any errors and was matched with
the schematics respectively.
• All the cells were made to have the same height(10.66um) throughout the design to
eliminate spacing errors during later part of the process in automatic placement and
routing.
• The pins were kept at same axis with equal spacing of 0.48*n. The space between
boundary and pin was maintained at 0.72um(0.24+0.48*n)
• The operation of these cells was tested using the HSpice software and was ensured the
cells were working.
• The abstract view of the cells was generated which were used for generation of LEF and
ASCII files.
• Create library using the Siliconsmart software mentioning the operation of each cell and
their specifications.
• Now using the generated library file create mapped netlist for the actual Verilog code.
• Using modelsim software compare the waveforms of both the codes. They should
exactly match.
• Using the Encounter tool, automatic placement and routing process was done. The
encounter tool requires the LEF files and the mapped netlist Verilog code.
• Once the routing is done add the vias and export the DEF file to the cadence location.
• Now the layout and schematic for the overall Verilog file would be generated.
• Run DRC and LVS for the same as done for the cells designed above.
• Using the generated library file, mapped netlist Verilog file and the design constraints
generate the power timing analysis using Primetime software.
Verilog code:
module alu(
input [15:0] A,B, // ALU 16-bit Inputs
input [3:0] ALU_Sel,// ALU Selection
output [31:0] Y, // ALU 32-bit Output
output CarryOut, // Carry Out Flag
input clk,
input reset
);
reg q;
reg [31:0] ALU_Result;
wire [16:0] tmp;
assign Y = ALU_Result; // ALU out
assign tmp = {1'b0,A} + {1'b0,B};
assign CarryOut = tmp[16]; // Carryout flag
always @(*)
begin
case(ALU_Sel)
4'b0000: // Addition
ALU_Result = A + B ;
4'b0001: // Subtraction
ALU_Result = A - B ;
4'b0010: // Multiplication
ALU_Result = A * B;
4'b0011: // Division
ALU_Result = A/B;
4'b0100: // Logical shift left
ALU_Result = B<<1;
4'b0101: // Logical shift right
ALU_Result = B>>1;
4'b0110: // Rotate left
ALU_Result = {B[14:0],B[15]};
4'b0111: // Rotate right
ALU_Result = {B[0],B[15:1]};
4'b1000: // Logical and
ALU_Result = A & B;
4'b1001: // Logical or
ALU_Result = A | B;
4'b1010: // Logical xor
ALU_Result = A ^ B;
4'b1011: // Logical nor
ALU_Result = ~(A | B);
4'b1100: // Logical nand
ALU_Result = ~(A & B);
4'b1101: // Logical xnor
ALU_Result = ~(A ^ B);
4'b1110: // Greater comparison
ALU_Result = (A>B)?16'd1:16'd0 ;
4'b1111: // Equal comparison
ALU_Result = (A==B)?16'd1:16'd0 ;
default: ALU_Result = A + B ;
endcase
end
always @ ( posedge clk)
if (reset==1)
begin
q <= 1'b0;
end else if(reset==0) begin
q <= ALU_Result;
end
endmodule
Test bench:
`timescale 1ns / 1ps
module tb_alu;
//Inputs
reg[15:0] A,B;
reg[3:0] ALU_Sel;
//Outputs
wire[31:0] ALU_Result;
wire CarryOut;
// Verilog code for ALU
integer i;
alu test_unit(
A,B, // ALU 8-bit Inputs
ALU_Sel,// ALU Selection
ALU_Out, // ALU 8-bit Output
CarryOut // Carry Out Flag
);
initial begin
// hold reset state for 100 ns.
A = 16'h0A;
B = 8'h02;
ALU_Sel = 4'h0;
for (i=0;i<=31;i=i+1)
begin
ALU_Sel = ALU_Sel + 16'h01;
#10;
end
A = 16'hF6;
B = 16'h0A;
end
endmodule
Modelsim Waveforms:
1) Actual Verilog file and testbench
2) Mapped netlist and testbench
Layout of cells with uniform height
1) AOI22
2) MUX 2:1
3) NAND_2
4) NOR_2
5) Inverter
6) D-Flipflop
7) XOR
8) OAI21
9) OAI211
DRC(Design Rule Checker):
LVS(Layout VS Schematic):
Primetime Report:
VLSI Final Design Project
VLSI Final Design Project

More Related Content

What's hot

Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Rahul Borthakur
 
Verilog lab manual (ECAD and VLSI Lab)
Verilog lab manual (ECAD and VLSI Lab)Verilog lab manual (ECAD and VLSI Lab)
Verilog lab manual (ECAD and VLSI Lab)
Dr. Swaminathan Kathirvel
 
Automatic Door Opener using PIR Sensor
Automatic Door Opener using PIR SensorAutomatic Door Opener using PIR Sensor
Automatic Door Opener using PIR Sensor
RAGHUVARMA09
 
8 bit alu design
8 bit alu design8 bit alu design
8 bit alu design
shobhan pujari
 
Speed checker on highway using 8051
Speed checker on highway using 8051Speed checker on highway using 8051
Speed checker on highway using 8051
Rkrishna Mishra
 
VHDL-Behavioral-Programs-Structure of VHDL
VHDL-Behavioral-Programs-Structure of VHDLVHDL-Behavioral-Programs-Structure of VHDL
VHDL-Behavioral-Programs-Structure of VHDL
Revathi Subramaniam
 
Final year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetoothFinal year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetooth
Shubham Bhattacharya
 
Senior Project Students' Presentation on ECG Monitoring
Senior Project Students' Presentation on ECG MonitoringSenior Project Students' Presentation on ECG Monitoring
Senior Project Students' Presentation on ECG Monitoring
Md Kafiul Islam
 
16bit RISC Processor
16bit RISC Processor16bit RISC Processor
16bit RISC Processor
Shashi Suman
 
PIC16F877A interfacing with LCD
PIC16F877A interfacing with LCDPIC16F877A interfacing with LCD
PIC16F877A interfacing with LCD
sunil polo
 
Bilbo 1
Bilbo 1Bilbo 1
Bilbo 1
Naveenkumar G
 
Discrete Input module block diagram and wiring in PLC
Discrete Input module block diagram and wiring in PLCDiscrete Input module block diagram and wiring in PLC
Discrete Input module block diagram and wiring in PLC
parixitpatel6
 
Raspberry pi-3 b-v1.2-schematics
Raspberry pi-3 b-v1.2-schematicsRaspberry pi-3 b-v1.2-schematics
Raspberry pi-3 b-v1.2-schematics
hacguest
 
AUTOMATIC ROOM LIGHTING SYSTEM.pptx
AUTOMATIC ROOM LIGHTING SYSTEM.pptxAUTOMATIC ROOM LIGHTING SYSTEM.pptx
AUTOMATIC ROOM LIGHTING SYSTEM.pptx
Aayush Sharma
 
Binary up and down counter using IC 74193
Binary up and down counter using IC 74193Binary up and down counter using IC 74193
Binary up and down counter using IC 74193
Yashvant Kathiriya
 
Chapter 5 introduction to VHDL
Chapter 5 introduction to VHDLChapter 5 introduction to VHDL
Chapter 5 introduction to VHDL
SSE_AndyLi
 
Asynchronous Sequential Circuit-Unit 4 ppt
Asynchronous Sequential Circuit-Unit 4 pptAsynchronous Sequential Circuit-Unit 4 ppt
Asynchronous Sequential Circuit-Unit 4 ppt
SIVALAKSHMIPANNEERSE
 
Wireless E-Notice Board Using Bluetooth Report.docx
Wireless E-Notice Board Using Bluetooth Report.docxWireless E-Notice Board Using Bluetooth Report.docx
Wireless E-Notice Board Using Bluetooth Report.docx
AbhishekGM10
 

What's hot (20)

Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
 
Verilog lab manual (ECAD and VLSI Lab)
Verilog lab manual (ECAD and VLSI Lab)Verilog lab manual (ECAD and VLSI Lab)
Verilog lab manual (ECAD and VLSI Lab)
 
Automatic Door Opener using PIR Sensor
Automatic Door Opener using PIR SensorAutomatic Door Opener using PIR Sensor
Automatic Door Opener using PIR Sensor
 
8 bit alu design
8 bit alu design8 bit alu design
8 bit alu design
 
8 Bit ALU
8 Bit ALU8 Bit ALU
8 Bit ALU
 
Speed checker on highway using 8051
Speed checker on highway using 8051Speed checker on highway using 8051
Speed checker on highway using 8051
 
4 bit uni shift reg
4 bit uni shift reg4 bit uni shift reg
4 bit uni shift reg
 
VHDL-Behavioral-Programs-Structure of VHDL
VHDL-Behavioral-Programs-Structure of VHDLVHDL-Behavioral-Programs-Structure of VHDL
VHDL-Behavioral-Programs-Structure of VHDL
 
Final year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetoothFinal year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetooth
 
Senior Project Students' Presentation on ECG Monitoring
Senior Project Students' Presentation on ECG MonitoringSenior Project Students' Presentation on ECG Monitoring
Senior Project Students' Presentation on ECG Monitoring
 
16bit RISC Processor
16bit RISC Processor16bit RISC Processor
16bit RISC Processor
 
PIC16F877A interfacing with LCD
PIC16F877A interfacing with LCDPIC16F877A interfacing with LCD
PIC16F877A interfacing with LCD
 
Bilbo 1
Bilbo 1Bilbo 1
Bilbo 1
 
Discrete Input module block diagram and wiring in PLC
Discrete Input module block diagram and wiring in PLCDiscrete Input module block diagram and wiring in PLC
Discrete Input module block diagram and wiring in PLC
 
Raspberry pi-3 b-v1.2-schematics
Raspberry pi-3 b-v1.2-schematicsRaspberry pi-3 b-v1.2-schematics
Raspberry pi-3 b-v1.2-schematics
 
AUTOMATIC ROOM LIGHTING SYSTEM.pptx
AUTOMATIC ROOM LIGHTING SYSTEM.pptxAUTOMATIC ROOM LIGHTING SYSTEM.pptx
AUTOMATIC ROOM LIGHTING SYSTEM.pptx
 
Binary up and down counter using IC 74193
Binary up and down counter using IC 74193Binary up and down counter using IC 74193
Binary up and down counter using IC 74193
 
Chapter 5 introduction to VHDL
Chapter 5 introduction to VHDLChapter 5 introduction to VHDL
Chapter 5 introduction to VHDL
 
Asynchronous Sequential Circuit-Unit 4 ppt
Asynchronous Sequential Circuit-Unit 4 pptAsynchronous Sequential Circuit-Unit 4 ppt
Asynchronous Sequential Circuit-Unit 4 ppt
 
Wireless E-Notice Board Using Bluetooth Report.docx
Wireless E-Notice Board Using Bluetooth Report.docxWireless E-Notice Board Using Bluetooth Report.docx
Wireless E-Notice Board Using Bluetooth Report.docx
 

Similar to VLSI Final Design Project

Cadancesimulation
CadancesimulationCadancesimulation
Cadancesimulation
Gautham Reddy
 
SKEL 4273 CAD with HDL Topic 2
SKEL 4273 CAD with HDL Topic 2SKEL 4273 CAD with HDL Topic 2
SKEL 4273 CAD with HDL Topic 2
alhadi81
 
Arithmatic logic unit using VHDL (gates)
Arithmatic logic unit using VHDL (gates)Arithmatic logic unit using VHDL (gates)
Arithmatic logic unit using VHDL (gates)
TakashiSuoh
 
Advanced Digital Design With The Verilog HDL
Advanced Digital Design With The Verilog HDLAdvanced Digital Design With The Verilog HDL
Advanced Digital Design With The Verilog HDL
Tony Lisko
 
Digital System Design Lab Report - VHDL ECE
Digital System Design Lab Report - VHDL ECEDigital System Design Lab Report - VHDL ECE
Digital System Design Lab Report - VHDL ECE
Ramesh Naik Bhukya
 
A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier us...
A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier us...A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier us...
A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier us...
IJERA Editor
 
Ch5_MorrisMano.pptx
Ch5_MorrisMano.pptxCh5_MorrisMano.pptx
Ch5_MorrisMano.pptx
SangeetaTripathi8
 
Timer ppt
Timer pptTimer ppt
Timer ppt
ChethaSp
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
EasyStudy3
 
Verilog Lecture2 thhts
Verilog Lecture2 thhtsVerilog Lecture2 thhts
Verilog Lecture2 thhts
Béo Tú
 
ECAD lab manual
ECAD lab manualECAD lab manual
ECAD lab manual
Dr. Swaminathan Kathirvel
 
Paper id 37201520
Paper id 37201520Paper id 37201520
Paper id 37201520IJRAT
 
7 compiler lab
7 compiler lab 7 compiler lab
7 compiler lab
MashaelQ
 
Digital logic and microprocessors
Digital logic and microprocessorsDigital logic and microprocessors
Digital logic and microprocessors
Milind Pelagade
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
adnanqayum
 
Behavioral Design and Synthesis of 64 BIT ALU using Xilinx ISE
Behavioral Design and Synthesis of 64 BIT ALU using Xilinx ISEBehavioral Design and Synthesis of 64 BIT ALU using Xilinx ISE
Behavioral Design and Synthesis of 64 BIT ALU using Xilinx ISE
IOSR Journals
 
Lecture-07 Modelling techniques.pdf
Lecture-07 Modelling techniques.pdfLecture-07 Modelling techniques.pdf
Lecture-07 Modelling techniques.pdf
NikhilSoni177492
 
VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015
VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015
VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015
vtunotesbysree
 
VHDL Implementation Of 64-bit ALU
VHDL Implementation Of 64-bit ALUVHDL Implementation Of 64-bit ALU
VHDL Implementation Of 64-bit ALU
IOSR Journals
 

Similar to VLSI Final Design Project (20)

Cadancesimulation
CadancesimulationCadancesimulation
Cadancesimulation
 
SKEL 4273 CAD with HDL Topic 2
SKEL 4273 CAD with HDL Topic 2SKEL 4273 CAD with HDL Topic 2
SKEL 4273 CAD with HDL Topic 2
 
Arithmatic logic unit using VHDL (gates)
Arithmatic logic unit using VHDL (gates)Arithmatic logic unit using VHDL (gates)
Arithmatic logic unit using VHDL (gates)
 
Advanced Digital Design With The Verilog HDL
Advanced Digital Design With The Verilog HDLAdvanced Digital Design With The Verilog HDL
Advanced Digital Design With The Verilog HDL
 
Digital System Design Lab Report - VHDL ECE
Digital System Design Lab Report - VHDL ECEDigital System Design Lab Report - VHDL ECE
Digital System Design Lab Report - VHDL ECE
 
A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier us...
A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier us...A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier us...
A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier us...
 
Ch5_MorrisMano.pptx
Ch5_MorrisMano.pptxCh5_MorrisMano.pptx
Ch5_MorrisMano.pptx
 
Timer ppt
Timer pptTimer ppt
Timer ppt
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Verilog Lecture2 thhts
Verilog Lecture2 thhtsVerilog Lecture2 thhts
Verilog Lecture2 thhts
 
ECAD lab manual
ECAD lab manualECAD lab manual
ECAD lab manual
 
Paper id 37201520
Paper id 37201520Paper id 37201520
Paper id 37201520
 
7 compiler lab
7 compiler lab 7 compiler lab
7 compiler lab
 
Digital logic and microprocessors
Digital logic and microprocessorsDigital logic and microprocessors
Digital logic and microprocessors
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
 
FYP_DCS_seminar
FYP_DCS_seminarFYP_DCS_seminar
FYP_DCS_seminar
 
Behavioral Design and Synthesis of 64 BIT ALU using Xilinx ISE
Behavioral Design and Synthesis of 64 BIT ALU using Xilinx ISEBehavioral Design and Synthesis of 64 BIT ALU using Xilinx ISE
Behavioral Design and Synthesis of 64 BIT ALU using Xilinx ISE
 
Lecture-07 Modelling techniques.pdf
Lecture-07 Modelling techniques.pdfLecture-07 Modelling techniques.pdf
Lecture-07 Modelling techniques.pdf
 
VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015
VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015
VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015
 
VHDL Implementation Of 64-bit ALU
VHDL Implementation Of 64-bit ALUVHDL Implementation Of 64-bit ALU
VHDL Implementation Of 64-bit ALU
 

Recently uploaded

PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdfPORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
fabianavillanib
 
Research 20 slides Amelia gavryliuks.pdf
Research 20 slides Amelia gavryliuks.pdfResearch 20 slides Amelia gavryliuks.pdf
Research 20 slides Amelia gavryliuks.pdf
ameli25062005
 
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
Mansi Shah
 
一比一原版(BU毕业证书)伯恩茅斯大学毕业证成绩单如何办理
一比一原版(BU毕业证书)伯恩茅斯大学毕业证成绩单如何办理一比一原版(BU毕业证书)伯恩茅斯大学毕业证成绩单如何办理
一比一原版(BU毕业证书)伯恩茅斯大学毕业证成绩单如何办理
h7j5io0
 
National-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptxNational-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptx
AlecAnidul
 
Top 5 Indian Style Modular Kitchen Designs
Top 5 Indian Style Modular Kitchen DesignsTop 5 Indian Style Modular Kitchen Designs
Top 5 Indian Style Modular Kitchen Designs
Finzo Kitchens
 
一比一原版(NCL毕业证书)纽卡斯尔大学毕业证成绩单如何办理
一比一原版(NCL毕业证书)纽卡斯尔大学毕业证成绩单如何办理一比一原版(NCL毕业证书)纽卡斯尔大学毕业证成绩单如何办理
一比一原版(NCL毕业证书)纽卡斯尔大学毕业证成绩单如何办理
7sd8fier
 
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
h7j5io0
 
Book Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for DesignersBook Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for Designers
Confidence Ago
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
n0tivyq
 
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
7sd8fier
 
RTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,DRTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,D
cy0krjxt
 
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
708pb191
 
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
smpc3nvg
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
cy0krjxt
 
Portfolio.pdf
Portfolio.pdfPortfolio.pdf
Portfolio.pdf
garcese
 
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
7sd8fier
 
一比一原版(毕业证)长崎大学毕业证成绩单如何办理
一比一原版(毕业证)长崎大学毕业证成绩单如何办理一比一原版(毕业证)长崎大学毕业证成绩单如何办理
一比一原版(毕业证)长崎大学毕业证成绩单如何办理
taqyed
 
一比一原版(Brunel毕业证书)布鲁内尔大学毕业证成绩单如何办理
一比一原版(Brunel毕业证书)布鲁内尔大学毕业证成绩单如何办理一比一原版(Brunel毕业证书)布鲁内尔大学毕业证成绩单如何办理
一比一原版(Brunel毕业证书)布鲁内尔大学毕业证成绩单如何办理
smpc3nvg
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
cy0krjxt
 

Recently uploaded (20)

PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdfPORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
PORTFOLIO FABIANA VILLANI ARCHITECTURE.pdf
 
Research 20 slides Amelia gavryliuks.pdf
Research 20 slides Amelia gavryliuks.pdfResearch 20 slides Amelia gavryliuks.pdf
Research 20 slides Amelia gavryliuks.pdf
 
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
 
一比一原版(BU毕业证书)伯恩茅斯大学毕业证成绩单如何办理
一比一原版(BU毕业证书)伯恩茅斯大学毕业证成绩单如何办理一比一原版(BU毕业证书)伯恩茅斯大学毕业证成绩单如何办理
一比一原版(BU毕业证书)伯恩茅斯大学毕业证成绩单如何办理
 
National-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptxNational-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptx
 
Top 5 Indian Style Modular Kitchen Designs
Top 5 Indian Style Modular Kitchen DesignsTop 5 Indian Style Modular Kitchen Designs
Top 5 Indian Style Modular Kitchen Designs
 
一比一原版(NCL毕业证书)纽卡斯尔大学毕业证成绩单如何办理
一比一原版(NCL毕业证书)纽卡斯尔大学毕业证成绩单如何办理一比一原版(NCL毕业证书)纽卡斯尔大学毕业证成绩单如何办理
一比一原版(NCL毕业证书)纽卡斯尔大学毕业证成绩单如何办理
 
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
 
Book Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for DesignersBook Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for Designers
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证成绩单如何办理
 
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
一比一原版(MMU毕业证书)曼彻斯特城市大学毕业证成绩单如何办理
 
RTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,DRTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,D
 
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
 
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
 
Portfolio.pdf
Portfolio.pdfPortfolio.pdf
Portfolio.pdf
 
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
一比一原版(UNUK毕业证书)诺丁汉大学毕业证如何办理
 
一比一原版(毕业证)长崎大学毕业证成绩单如何办理
一比一原版(毕业证)长崎大学毕业证成绩单如何办理一比一原版(毕业证)长崎大学毕业证成绩单如何办理
一比一原版(毕业证)长崎大学毕业证成绩单如何办理
 
一比一原版(Brunel毕业证书)布鲁内尔大学毕业证成绩单如何办理
一比一原版(Brunel毕业证书)布鲁内尔大学毕业证成绩单如何办理一比一原版(Brunel毕业证书)布鲁内尔大学毕业证成绩单如何办理
一比一原版(Brunel毕业证书)布鲁内尔大学毕业证成绩单如何办理
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
 

VLSI Final Design Project

  • 1. The University of Texas at Dallas EECT 6325- VLSI DESIGN Fall 2018 16-bit ALU (Arithmetic Logic Unit) by Vignesh Ganesan – VXG170004 Jayashree Jayabalan – JXJ180012 Franson Joshua J – FXJ180000 Final Design Project
  • 2. Introduction: An arithmetic logic unit (ALU) is a digital circuit used to perform arithmetic and logic operations. It represents the fundamental building block of the central processing unit (CPU) of a computer. An ALU performs basic arithmetic and logic operations. Examples of arithmetic operations are addition, subtraction, multiplication, and division. Examples of logic operations are comparisons of values such as NOT, AND, and OR. In this project 16bit ALU where two 16bit inputs are given and the output obtained will be a 32bit one.
  • 3. Design constraints: The main fix in the design of cells is that size is always inversely proportional to delay. In the design of these cells we used Wp/Wn ratio close to 2.22. Though the value of 3 is most desired to obtain minimum delay, the size parameter is also considered during the design. Hence the size and delay parameters are compromised during this design. Hence we fixed the width of pfet as 2.4um and nfet as 1.08um. Hence the Wp/Wn ratio is 2.22 The Complete Process: • We designed layout and schematics for 9 cells such as Inverter, NAND2, NOR2, XOR2, OAI21, OAI211, flipflop, Mux 2:1 and AOI22. • Using cadence tool, the layout was designed without any errors and was matched with the schematics respectively. • All the cells were made to have the same height(10.66um) throughout the design to eliminate spacing errors during later part of the process in automatic placement and routing. • The pins were kept at same axis with equal spacing of 0.48*n. The space between boundary and pin was maintained at 0.72um(0.24+0.48*n) • The operation of these cells was tested using the HSpice software and was ensured the cells were working. • The abstract view of the cells was generated which were used for generation of LEF and ASCII files. • Create library using the Siliconsmart software mentioning the operation of each cell and their specifications. • Now using the generated library file create mapped netlist for the actual Verilog code. • Using modelsim software compare the waveforms of both the codes. They should exactly match. • Using the Encounter tool, automatic placement and routing process was done. The encounter tool requires the LEF files and the mapped netlist Verilog code. • Once the routing is done add the vias and export the DEF file to the cadence location. • Now the layout and schematic for the overall Verilog file would be generated. • Run DRC and LVS for the same as done for the cells designed above. • Using the generated library file, mapped netlist Verilog file and the design constraints generate the power timing analysis using Primetime software.
  • 4. Verilog code: module alu( input [15:0] A,B, // ALU 16-bit Inputs input [3:0] ALU_Sel,// ALU Selection output [31:0] Y, // ALU 32-bit Output output CarryOut, // Carry Out Flag input clk, input reset ); reg q; reg [31:0] ALU_Result; wire [16:0] tmp; assign Y = ALU_Result; // ALU out assign tmp = {1'b0,A} + {1'b0,B}; assign CarryOut = tmp[16]; // Carryout flag always @(*) begin case(ALU_Sel) 4'b0000: // Addition ALU_Result = A + B ; 4'b0001: // Subtraction ALU_Result = A - B ;
  • 5. 4'b0010: // Multiplication ALU_Result = A * B; 4'b0011: // Division ALU_Result = A/B; 4'b0100: // Logical shift left ALU_Result = B<<1; 4'b0101: // Logical shift right ALU_Result = B>>1; 4'b0110: // Rotate left ALU_Result = {B[14:0],B[15]}; 4'b0111: // Rotate right ALU_Result = {B[0],B[15:1]}; 4'b1000: // Logical and ALU_Result = A & B; 4'b1001: // Logical or ALU_Result = A | B; 4'b1010: // Logical xor ALU_Result = A ^ B; 4'b1011: // Logical nor ALU_Result = ~(A | B); 4'b1100: // Logical nand ALU_Result = ~(A & B); 4'b1101: // Logical xnor ALU_Result = ~(A ^ B); 4'b1110: // Greater comparison ALU_Result = (A>B)?16'd1:16'd0 ; 4'b1111: // Equal comparison
  • 6. ALU_Result = (A==B)?16'd1:16'd0 ; default: ALU_Result = A + B ; endcase end always @ ( posedge clk) if (reset==1) begin q <= 1'b0; end else if(reset==0) begin q <= ALU_Result; end endmodule Test bench: `timescale 1ns / 1ps module tb_alu; //Inputs reg[15:0] A,B; reg[3:0] ALU_Sel; //Outputs wire[31:0] ALU_Result; wire CarryOut; // Verilog code for ALU integer i;
  • 7. alu test_unit( A,B, // ALU 8-bit Inputs ALU_Sel,// ALU Selection ALU_Out, // ALU 8-bit Output CarryOut // Carry Out Flag ); initial begin // hold reset state for 100 ns. A = 16'h0A; B = 8'h02; ALU_Sel = 4'h0; for (i=0;i<=31;i=i+1) begin ALU_Sel = ALU_Sel + 16'h01; #10; end A = 16'hF6; B = 16'h0A; end endmodule
  • 8. Modelsim Waveforms: 1) Actual Verilog file and testbench 2) Mapped netlist and testbench
  • 9. Layout of cells with uniform height 1) AOI22 2) MUX 2:1