SlideShare a Scribd company logo
1 of 13
Download to read offline
11/12/2013 ECE 465 PROJECT 1
SIDHARTH KUMAR – skumar37@uic.edu
BAHAREH POURSHIRAZI – bpours2@uic.edu
ECE 465: PROJECT 1
OBJECTIVE
We need to design a 16-bit 3-number adder that can add three 16-bit numbers A, B, D and produce an
18-bit sum output S. This has to be achieved using two different designs:
(a) Wait Strategy
(b) Speculative Strategy
DESIGN
Divide and Conquer approach has been used for both the cases in order to make the problem simpler and
getting a design which can reduce the propagation delays when compared with the conventional designs.
At the lowest level, we have our basic building block named as FA5 which is a 5-bit full adder. FA5 consists
of 2 3-bit Full Adders and 1 Half Adder as shown in Fig 3. It produces three outputs - Sum, Ci+1 and Ci+2.
The design is shown in the Fig 1.
Fig 1: D&C Tree
16-bit RCA
8-bit RCA 8-bit RCA
4-bit RCA 4-bit RCA
2-bit RCA 2-bit RCA
FA5 FA5 FA5 FA5
.
.
.
10 FA5
FA5FA5
.
.
.
A. WAIT STRATEGY
Instead of trying to add all the bits at once, we divide them into halves till we get a 1-bit addition as shown
in the design tree given below. We don’t need a stitch up function as we don’t need to go up the tree. The
schematic capture showing the critical path can be found at the end of the report.
WORKING
In this design, the Carry outputs from ith
stage is given to the Carry inputs of (i+1) and (i+2) stages. Hence,
the (i+1) and (i+2) stage has to wait for the ith
stage to complete its operation and generate the carry outs.
So in this case, the carry ripples from first stage to the last one. At the end of the 16th
FA5, we are left with
three carry outs. We need to group them and make it two as explained in the problem. We add Ci+1 from
16th
level and Ci+2 from 15th
level using a Half adder. The sum of these two bits becomes 17th
bit of final
sum and the carry of the Half Adder is OR’ed with the Ci+2 of 16th
level and this gives the 18th
bit of final
sum. In this way we get a 18-bit sum. We can also call this design a 16-bit RCA with FA5 as the building
block and additional HA and an OR gate for highest 2 bits (Check Fig 4).
The above explanation is described in the figures below.
Fig 2: Design of Wait Strategy at leaf level
Fig 3: Design for FA5 (Leaf node)
Fig 4: Calculating Carry bits at the last stage
AREA CALCULATION
Area of FA5 = 5 inputs
Total Area, A = 16 FA5 + 1 HA + 1 OR = 80 + 2 + 2 = 84 inputs
DELAY CALCULATION
(a) Theoretical delay
Delay for 1 FA5 = Delay of (2 3-bit FA’s + 1 HA) = 2X5 + 4 = 14p units
Total Delay = 16X14 + 4 + 2 = 224+6 = 230p units
(a) Delay captured from Quartus (Output Pin Load = 10pf)
Worst case propagation delay, Ts = 36.705 ns.
T = 28.1ns (obtained by checking the max delay found across the test vector. Check the snapshot below)
AT2
= 66327.24 units
B. SPECULATIVE STRATEGY
Also known as design for all cases or DAC. We divide our problem in smaller subproblem and then design
the circuit in a way that it solves the subproblem for all possible cases and is ready with the output by the
time we get to know which is the correct copy and the only delay is taken in choosing this copy. The
schematic capture showing the critical path can be found at the end of the report.
WORKING
In this design, we need to break the problem to a level at which we can speculate the carry inputs to make
the design faster and the same time try not to increase the area by a big margin. So we choose it to be done
at the 3rd
level from top. We break the 16 bits into 4 parts. Each of these 4 are further broken in the same
way as done for part A. So we have 4 4-bit RCA’s.
The lowest 4 bits are calculated with the 3 carry inputs as zeros. But next 4-bit RCA is dependent on the
carry outputs from the lowest RCA. Instead of waiting for the lowest RCA to complete its operation, we
can have 8 copies (3 select inputs) of the RCA2. If we look closely, we don’t really need 8 copies. If we
order the carry outputs like Co22 (Ci+2 from last FA5 of RCA1), Co21 (Ci+2 from 2nd
last FA5 of RCA1),
Co11 (Ci+1 from last FA5 of RCA1), we find out that the only possible values are 000-100. So we have 5
copies of RCA2 with the Co22, Co21, Co11 as inputs having values from 000-100.
Since we cannot have a 5:1 MUX and using 8:1 MUX takes more delay (dependent on number of inputs),
we can have a 4:1 MUX which samples the inputs based on Co21, Co11 (00-11). These are the cases when
Co22=0. Now we can use another 2:1 MUX which will have Co22 as its select input. This MUX takes the
output of 4:1 MUX when Co22=0 otherwise passes the output of the RCA2 which has 100 as its carry
inputs. We use this 5:1 MUX to get the correct carry outputs and Sum bits from all the copies of RCA2
based on the carry outputs from RCA1. So for each stage, we need 4 of these MUX’es – one each for the
carry outs and one for 4-bit Sum. The 1-bit MUX is shown in Fig 6. 4-bit MUX needed for Sum is also
designed in the same way (Fig 7 & 8).
We continue this step for next 8 bits in the same way and the final carry outs will be tackled in the same
way as we did for the part A (Shown in Fig 4). The design is shown in the Fig 5.
Fig 5: DAC Design
16-bit CSA
Speculative
8-bit RCA 8-bit RCA
4-bit RCA
4-bit RCA
4-bit RCA
4-bit RCA
4-bit sum
4-bit sum
4-bit sum
4-bit sum
4-bit sum
Reduced MUX
5-1
4-bit sum
4-bit RCA4 4-bit RCA3
FA5 FA5 FA5 FA5
Reduced
MUX
5-1
Reduced
MUX
5-1
Reduced
MUX
5-1
These three carry
outputs go to Fig. X
This structure which gives us one
4-bit sum and three carry outputs
is repeated for each of the three
4-bit RCA2 RCA3 and RCA4, the
first RCA works like a normal RCA
with its three carry inputs set to
‘0’
4-bit RCA2 4-bit RCA1
These
are the
outputs
of the
previous
RCA
carry
MUXs
Fig 6: 1-bit 5:1 MUX design
Fig 7: 4-bit 5:1 MUX design
Fig 8: 4-bit 5:1 MUX explained
2-1
4-bit MUX
2-1
4-bit MUX
2-1
4-bit MUX
2-1
4-bit MUX
Co11
Co21
Co22
This one is Ci+1 from the last
FA5 of RCA-4
If we consider all the
possible cases for adding two
4-bit numbers, this bit can
be ‘1’ only if the other two
carry outs (Co21 and Co11)
are ‘0’.
S2S1
S5
0 1
S3 S5
The structure of carry
MUXs is the same and just
instead of having a 4-bit
MUX, we need 1-bit MUXs
only.
We implemented a 4-bit
MUX by 4 1-bit MUX which
work simultaneously with the
same selector
AREA CALCULATION
Area of 4-bit RCA = 12 input bits + 3 Carry bits = 15 inputs
Area of 1-bit 5:1 MUX = 5 1-bit inputs + 3 select lines = 8 inputs
Area of 4-bit 5:1 MUX = 5 4-bit inputs + 3 select lines = 5X4+3 = 23 inputs
Total Area, A = 16 4-bit RCA inputs + 9 1-bit 5:1 MUX inputs + 3 4-bit 5:1 MUX inputs + 2 HA inputs +
2 OR gate inputs = 16X15+9X8+3X23+2+2= 385 inputs
DELAY CALCULATION
(b) Theoretical delay
Delay for 1 4-bit RCA = 4 FA5 = 4X14 = 56p units
Delay of 1 8:1 MUX = 5X3 = 15p units
Total Delay = 56 + 3X15 + 4 + 2 = 107p units
(c) Delay captured from Quartus (Output Pin Load = 10pf)
Worst case propagation delay, Ts = 26.947 ns.
T = 22.3ns (obtained by checking the max delay found across the test vector. Check the snapshot below)
AT2
= 191456.65 units
CONCLUSIONS
As it can be seen from our calculations and the simulation outputs that the expected delay reduction was
around 50% but we get only 26.6% for the static delay (Ts).
Also, Ts/T !=1 in both the cases. This is known as the discrepancy factor. Ts shows the time when no inputs
are provided and hence it gives the worst propagation delay. Whereas T is specific to the set of inputs
provided to the adder. The worst case of T will still be equal to Ts but only for some specific inputs. The
test vector which we have used, never goes through that path which introduces the discrepancy.
Delay for n-bit adder
(a) Wait strategy = n(delay of FA5) + Delay of 1 Half Adder + Delay of 1 OR gate
(b) DAC strategy = x(delay of FA5) + (n/x-1)(Delay of 5:1 MUX) ;where x is group size and 5:1
MUX is as defined above.
Number of basic components for n-bit adder
(a) Wait strategy = n FA5 + 1 HA + 1 OR = (n+2) basic components
(b) DAC strategy = x[5(n/x-1)+1] FA5 + 3(n/x-1)*4*(2:1 MUX) + (n/x-1)*16*(2:1 MUX)
= (5x+28)(n/x-1)+x ;Second and third terms are for 1-bit 5:1 MUX and 4-bit 5:1 MUX
Wait Strategy
Speculative or DAC Strategy
THANK YOU

More Related Content

What's hot

Digital Electronics (EC8392) UNIT-II -PPT-S.SESHA VIDHYA/ ASP/ECE
Digital Electronics (EC8392) UNIT-II -PPT-S.SESHA VIDHYA/ ASP/ECEDigital Electronics (EC8392) UNIT-II -PPT-S.SESHA VIDHYA/ ASP/ECE
Digital Electronics (EC8392) UNIT-II -PPT-S.SESHA VIDHYA/ ASP/ECESeshaVidhyaS
 
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...Hsien-Hsin Sean Lee, Ph.D.
 
00 chapter07 and_08_conversion_subroutines_force_sp13
00 chapter07 and_08_conversion_subroutines_force_sp1300 chapter07 and_08_conversion_subroutines_force_sp13
00 chapter07 and_08_conversion_subroutines_force_sp13John Todora
 
8085 branching instruction
8085 branching instruction8085 branching instruction
8085 branching instructionprashant1271
 
Stack and subroutine
Stack and subroutineStack and subroutine
Stack and subroutineAshim Saha
 
03 shift registers_and_more_data_manipulation_sp15
03 shift registers_and_more_data_manipulation_sp1503 shift registers_and_more_data_manipulation_sp15
03 shift registers_and_more_data_manipulation_sp15John Todora
 
15CS44 MP & MC Module 1
15CS44 MP & MC Module 115CS44 MP & MC Module 1
15CS44 MP & MC Module 1RLJIT
 
8085 stack & machine control instruction
8085 stack & machine control instruction8085 stack & machine control instruction
8085 stack & machine control instructionprashant1271
 
Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...
Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...
Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...Hsien-Hsin Sean Lee, Ph.D.
 
04 chapter03 02_numbers_systems_student_version_fa16
04 chapter03 02_numbers_systems_student_version_fa1604 chapter03 02_numbers_systems_student_version_fa16
04 chapter03 02_numbers_systems_student_version_fa16John Todora
 
Sequential and combinational alu
Sequential and combinational alu Sequential and combinational alu
Sequential and combinational alu Piyush Rochwani
 
Lec2 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ILP
Lec2 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ILPLec2 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ILP
Lec2 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ILPHsien-Hsin Sean Lee, Ph.D.
 
Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...
Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...
Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...Hsien-Hsin Sean Lee, Ph.D.
 
Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3
Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3
Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3Hsien-Hsin Sean Lee, Ph.D.
 
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Pipelining
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- PipeliningLec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Pipelining
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- PipeliningHsien-Hsin Sean Lee, Ph.D.
 

What's hot (20)

ARM inst set part 2
ARM inst set part 2ARM inst set part 2
ARM inst set part 2
 
Lpc 1768 timers
Lpc 1768 timersLpc 1768 timers
Lpc 1768 timers
 
ARM instruction set
ARM instruction  setARM instruction  set
ARM instruction set
 
Digital Electronics (EC8392) UNIT-II -PPT-S.SESHA VIDHYA/ ASP/ECE
Digital Electronics (EC8392) UNIT-II -PPT-S.SESHA VIDHYA/ ASP/ECEDigital Electronics (EC8392) UNIT-II -PPT-S.SESHA VIDHYA/ ASP/ECE
Digital Electronics (EC8392) UNIT-II -PPT-S.SESHA VIDHYA/ ASP/ECE
 
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
 
00 chapter07 and_08_conversion_subroutines_force_sp13
00 chapter07 and_08_conversion_subroutines_force_sp1300 chapter07 and_08_conversion_subroutines_force_sp13
00 chapter07 and_08_conversion_subroutines_force_sp13
 
8085 branching instruction
8085 branching instruction8085 branching instruction
8085 branching instruction
 
Stack and subroutine
Stack and subroutineStack and subroutine
Stack and subroutine
 
03 shift registers_and_more_data_manipulation_sp15
03 shift registers_and_more_data_manipulation_sp1503 shift registers_and_more_data_manipulation_sp15
03 shift registers_and_more_data_manipulation_sp15
 
J0166875
J0166875J0166875
J0166875
 
15CS44 MP & MC Module 1
15CS44 MP & MC Module 115CS44 MP & MC Module 1
15CS44 MP & MC Module 1
 
8085 stack & machine control instruction
8085 stack & machine control instruction8085 stack & machine control instruction
8085 stack & machine control instruction
 
ARM instruction set
ARM instruction  setARM instruction  set
ARM instruction set
 
Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...
Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...
Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...
 
04 chapter03 02_numbers_systems_student_version_fa16
04 chapter03 02_numbers_systems_student_version_fa1604 chapter03 02_numbers_systems_student_version_fa16
04 chapter03 02_numbers_systems_student_version_fa16
 
Sequential and combinational alu
Sequential and combinational alu Sequential and combinational alu
Sequential and combinational alu
 
Lec2 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ILP
Lec2 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ILPLec2 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ILP
Lec2 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ILP
 
Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...
Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...
Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...
 
Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3
Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3
Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3
 
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Pipelining
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- PipeliningLec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Pipelining
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Pipelining
 

Similar to Sidharth_report_proj1

Ece 465 project_1_report_vishesh_shravan
Ece 465 project_1_report_vishesh_shravanEce 465 project_1_report_vishesh_shravan
Ece 465 project_1_report_vishesh_shravanVishesh Chanana
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
DESIGN OF RADIX-8 BOOTH MULTIPLIER USING KOGGESTONE ADDER FOR HIGH SPEED ARIT...
DESIGN OF RADIX-8 BOOTH MULTIPLIER USING KOGGESTONE ADDER FOR HIGH SPEED ARIT...DESIGN OF RADIX-8 BOOTH MULTIPLIER USING KOGGESTONE ADDER FOR HIGH SPEED ARIT...
DESIGN OF RADIX-8 BOOTH MULTIPLIER USING KOGGESTONE ADDER FOR HIGH SPEED ARIT...eeiej_journal
 
FPGA Implementation of High Speed Architecture of CSLA using D-Latches
FPGA Implementation of High Speed Architecture of CSLA using D-LatchesFPGA Implementation of High Speed Architecture of CSLA using D-Latches
FPGA Implementation of High Speed Architecture of CSLA using D-LatchesEditor IJMTER
 
Multiplier and Accumulator Using Csla
Multiplier and Accumulator Using CslaMultiplier and Accumulator Using Csla
Multiplier and Accumulator Using CslaIOSR Journals
 
Design and Implementation of Low-Power and Area-Efficient 64 bit CSLA using VHDL
Design and Implementation of Low-Power and Area-Efficient 64 bit CSLA using VHDLDesign and Implementation of Low-Power and Area-Efficient 64 bit CSLA using VHDL
Design and Implementation of Low-Power and Area-Efficient 64 bit CSLA using VHDLIJSRD
 
ECE 380 Engineering Lab Report
ECE 380 Engineering Lab ReportECE 380 Engineering Lab Report
ECE 380 Engineering Lab ReportJonathan Lepp
 
Implementation of Low Power and Area Efficient Carry Select Adder
Implementation of Low Power and Area Efficient Carry Select AdderImplementation of Low Power and Area Efficient Carry Select Adder
Implementation of Low Power and Area Efficient Carry Select Adderinventionjournals
 
Implementation of FinFET technology based low power 4×4 Wallace tree multipli...
Implementation of FinFET technology based low power 4×4 Wallace tree multipli...Implementation of FinFET technology based low power 4×4 Wallace tree multipli...
Implementation of FinFET technology based low power 4×4 Wallace tree multipli...TELKOMNIKA JOURNAL
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
Combinational and sequential logic
Combinational and sequential logicCombinational and sequential logic
Combinational and sequential logicDeepak John
 
The_Mismatch_Noise_Cancellation_Architecture
The_Mismatch_Noise_Cancellation_ArchitectureThe_Mismatch_Noise_Cancellation_Architecture
The_Mismatch_Noise_Cancellation_ArchitectureShereef Shehata
 
Digital to analog convertor
Digital to analog convertorDigital to analog convertor
Digital to analog convertorsartaj ahmed
 
igorFreire_UCI_real-time-dsp_reports
igorFreire_UCI_real-time-dsp_reportsigorFreire_UCI_real-time-dsp_reports
igorFreire_UCI_real-time-dsp_reportsIgor Freire
 
Digital Electronics Unit_2.pptx
Digital Electronics Unit_2.pptxDigital Electronics Unit_2.pptx
Digital Electronics Unit_2.pptxThapar Institute
 

Similar to Sidharth_report_proj1 (20)

Ece 465 project_1_report_vishesh_shravan
Ece 465 project_1_report_vishesh_shravanEce 465 project_1_report_vishesh_shravan
Ece 465 project_1_report_vishesh_shravan
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
DESIGN OF RADIX-8 BOOTH MULTIPLIER USING KOGGESTONE ADDER FOR HIGH SPEED ARIT...
DESIGN OF RADIX-8 BOOTH MULTIPLIER USING KOGGESTONE ADDER FOR HIGH SPEED ARIT...DESIGN OF RADIX-8 BOOTH MULTIPLIER USING KOGGESTONE ADDER FOR HIGH SPEED ARIT...
DESIGN OF RADIX-8 BOOTH MULTIPLIER USING KOGGESTONE ADDER FOR HIGH SPEED ARIT...
 
FPGA Implementation of High Speed Architecture of CSLA using D-Latches
FPGA Implementation of High Speed Architecture of CSLA using D-LatchesFPGA Implementation of High Speed Architecture of CSLA using D-Latches
FPGA Implementation of High Speed Architecture of CSLA using D-Latches
 
F010113644
F010113644F010113644
F010113644
 
Multiplier and Accumulator Using Csla
Multiplier and Accumulator Using CslaMultiplier and Accumulator Using Csla
Multiplier and Accumulator Using Csla
 
Design and Implementation of Low-Power and Area-Efficient 64 bit CSLA using VHDL
Design and Implementation of Low-Power and Area-Efficient 64 bit CSLA using VHDLDesign and Implementation of Low-Power and Area-Efficient 64 bit CSLA using VHDL
Design and Implementation of Low-Power and Area-Efficient 64 bit CSLA using VHDL
 
ECE 380 Engineering Lab Report
ECE 380 Engineering Lab ReportECE 380 Engineering Lab Report
ECE 380 Engineering Lab Report
 
Digital 4-bit Comprator
Digital 4-bit CompratorDigital 4-bit Comprator
Digital 4-bit Comprator
 
Implementation of Low Power and Area Efficient Carry Select Adder
Implementation of Low Power and Area Efficient Carry Select AdderImplementation of Low Power and Area Efficient Carry Select Adder
Implementation of Low Power and Area Efficient Carry Select Adder
 
cs 3351 dpco
cs 3351 dpcocs 3351 dpco
cs 3351 dpco
 
Implementation of FinFET technology based low power 4×4 Wallace tree multipli...
Implementation of FinFET technology based low power 4×4 Wallace tree multipli...Implementation of FinFET technology based low power 4×4 Wallace tree multipli...
Implementation of FinFET technology based low power 4×4 Wallace tree multipli...
 
Combinational circuit
Combinational circuitCombinational circuit
Combinational circuit
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Combinational and sequential logic
Combinational and sequential logicCombinational and sequential logic
Combinational and sequential logic
 
Digital Logic Design
Digital Logic Design Digital Logic Design
Digital Logic Design
 
The_Mismatch_Noise_Cancellation_Architecture
The_Mismatch_Noise_Cancellation_ArchitectureThe_Mismatch_Noise_Cancellation_Architecture
The_Mismatch_Noise_Cancellation_Architecture
 
Digital to analog convertor
Digital to analog convertorDigital to analog convertor
Digital to analog convertor
 
igorFreire_UCI_real-time-dsp_reports
igorFreire_UCI_real-time-dsp_reportsigorFreire_UCI_real-time-dsp_reports
igorFreire_UCI_real-time-dsp_reports
 
Digital Electronics Unit_2.pptx
Digital Electronics Unit_2.pptxDigital Electronics Unit_2.pptx
Digital Electronics Unit_2.pptx
 

Sidharth_report_proj1

  • 1. 11/12/2013 ECE 465 PROJECT 1 SIDHARTH KUMAR – skumar37@uic.edu BAHAREH POURSHIRAZI – bpours2@uic.edu
  • 2. ECE 465: PROJECT 1 OBJECTIVE We need to design a 16-bit 3-number adder that can add three 16-bit numbers A, B, D and produce an 18-bit sum output S. This has to be achieved using two different designs: (a) Wait Strategy (b) Speculative Strategy DESIGN Divide and Conquer approach has been used for both the cases in order to make the problem simpler and getting a design which can reduce the propagation delays when compared with the conventional designs. At the lowest level, we have our basic building block named as FA5 which is a 5-bit full adder. FA5 consists of 2 3-bit Full Adders and 1 Half Adder as shown in Fig 3. It produces three outputs - Sum, Ci+1 and Ci+2. The design is shown in the Fig 1. Fig 1: D&C Tree 16-bit RCA 8-bit RCA 8-bit RCA 4-bit RCA 4-bit RCA 2-bit RCA 2-bit RCA FA5 FA5 FA5 FA5 . . . 10 FA5 FA5FA5 . . .
  • 3. A. WAIT STRATEGY Instead of trying to add all the bits at once, we divide them into halves till we get a 1-bit addition as shown in the design tree given below. We don’t need a stitch up function as we don’t need to go up the tree. The schematic capture showing the critical path can be found at the end of the report. WORKING In this design, the Carry outputs from ith stage is given to the Carry inputs of (i+1) and (i+2) stages. Hence, the (i+1) and (i+2) stage has to wait for the ith stage to complete its operation and generate the carry outs. So in this case, the carry ripples from first stage to the last one. At the end of the 16th FA5, we are left with three carry outs. We need to group them and make it two as explained in the problem. We add Ci+1 from 16th level and Ci+2 from 15th level using a Half adder. The sum of these two bits becomes 17th bit of final sum and the carry of the Half Adder is OR’ed with the Ci+2 of 16th level and this gives the 18th bit of final sum. In this way we get a 18-bit sum. We can also call this design a 16-bit RCA with FA5 as the building block and additional HA and an OR gate for highest 2 bits (Check Fig 4). The above explanation is described in the figures below. Fig 2: Design of Wait Strategy at leaf level Fig 3: Design for FA5 (Leaf node)
  • 4. Fig 4: Calculating Carry bits at the last stage AREA CALCULATION Area of FA5 = 5 inputs Total Area, A = 16 FA5 + 1 HA + 1 OR = 80 + 2 + 2 = 84 inputs DELAY CALCULATION (a) Theoretical delay Delay for 1 FA5 = Delay of (2 3-bit FA’s + 1 HA) = 2X5 + 4 = 14p units Total Delay = 16X14 + 4 + 2 = 224+6 = 230p units (a) Delay captured from Quartus (Output Pin Load = 10pf) Worst case propagation delay, Ts = 36.705 ns. T = 28.1ns (obtained by checking the max delay found across the test vector. Check the snapshot below) AT2 = 66327.24 units
  • 5. B. SPECULATIVE STRATEGY Also known as design for all cases or DAC. We divide our problem in smaller subproblem and then design the circuit in a way that it solves the subproblem for all possible cases and is ready with the output by the time we get to know which is the correct copy and the only delay is taken in choosing this copy. The schematic capture showing the critical path can be found at the end of the report. WORKING In this design, we need to break the problem to a level at which we can speculate the carry inputs to make the design faster and the same time try not to increase the area by a big margin. So we choose it to be done at the 3rd level from top. We break the 16 bits into 4 parts. Each of these 4 are further broken in the same way as done for part A. So we have 4 4-bit RCA’s. The lowest 4 bits are calculated with the 3 carry inputs as zeros. But next 4-bit RCA is dependent on the carry outputs from the lowest RCA. Instead of waiting for the lowest RCA to complete its operation, we can have 8 copies (3 select inputs) of the RCA2. If we look closely, we don’t really need 8 copies. If we order the carry outputs like Co22 (Ci+2 from last FA5 of RCA1), Co21 (Ci+2 from 2nd last FA5 of RCA1), Co11 (Ci+1 from last FA5 of RCA1), we find out that the only possible values are 000-100. So we have 5 copies of RCA2 with the Co22, Co21, Co11 as inputs having values from 000-100. Since we cannot have a 5:1 MUX and using 8:1 MUX takes more delay (dependent on number of inputs), we can have a 4:1 MUX which samples the inputs based on Co21, Co11 (00-11). These are the cases when Co22=0. Now we can use another 2:1 MUX which will have Co22 as its select input. This MUX takes the output of 4:1 MUX when Co22=0 otherwise passes the output of the RCA2 which has 100 as its carry inputs. We use this 5:1 MUX to get the correct carry outputs and Sum bits from all the copies of RCA2 based on the carry outputs from RCA1. So for each stage, we need 4 of these MUX’es – one each for the carry outs and one for 4-bit Sum. The 1-bit MUX is shown in Fig 6. 4-bit MUX needed for Sum is also designed in the same way (Fig 7 & 8). We continue this step for next 8 bits in the same way and the final carry outs will be tackled in the same way as we did for the part A (Shown in Fig 4). The design is shown in the Fig 5.
  • 6. Fig 5: DAC Design 16-bit CSA Speculative 8-bit RCA 8-bit RCA 4-bit RCA 4-bit RCA 4-bit RCA 4-bit RCA 4-bit sum 4-bit sum 4-bit sum 4-bit sum 4-bit sum Reduced MUX 5-1 4-bit sum 4-bit RCA4 4-bit RCA3 FA5 FA5 FA5 FA5 Reduced MUX 5-1 Reduced MUX 5-1 Reduced MUX 5-1 These three carry outputs go to Fig. X This structure which gives us one 4-bit sum and three carry outputs is repeated for each of the three 4-bit RCA2 RCA3 and RCA4, the first RCA works like a normal RCA with its three carry inputs set to ‘0’ 4-bit RCA2 4-bit RCA1 These are the outputs of the previous RCA carry MUXs
  • 7. Fig 6: 1-bit 5:1 MUX design Fig 7: 4-bit 5:1 MUX design
  • 8. Fig 8: 4-bit 5:1 MUX explained 2-1 4-bit MUX 2-1 4-bit MUX 2-1 4-bit MUX 2-1 4-bit MUX Co11 Co21 Co22 This one is Ci+1 from the last FA5 of RCA-4 If we consider all the possible cases for adding two 4-bit numbers, this bit can be ‘1’ only if the other two carry outs (Co21 and Co11) are ‘0’. S2S1 S5 0 1 S3 S5 The structure of carry MUXs is the same and just instead of having a 4-bit MUX, we need 1-bit MUXs only. We implemented a 4-bit MUX by 4 1-bit MUX which work simultaneously with the same selector
  • 9. AREA CALCULATION Area of 4-bit RCA = 12 input bits + 3 Carry bits = 15 inputs Area of 1-bit 5:1 MUX = 5 1-bit inputs + 3 select lines = 8 inputs Area of 4-bit 5:1 MUX = 5 4-bit inputs + 3 select lines = 5X4+3 = 23 inputs Total Area, A = 16 4-bit RCA inputs + 9 1-bit 5:1 MUX inputs + 3 4-bit 5:1 MUX inputs + 2 HA inputs + 2 OR gate inputs = 16X15+9X8+3X23+2+2= 385 inputs DELAY CALCULATION (b) Theoretical delay Delay for 1 4-bit RCA = 4 FA5 = 4X14 = 56p units Delay of 1 8:1 MUX = 5X3 = 15p units Total Delay = 56 + 3X15 + 4 + 2 = 107p units (c) Delay captured from Quartus (Output Pin Load = 10pf) Worst case propagation delay, Ts = 26.947 ns. T = 22.3ns (obtained by checking the max delay found across the test vector. Check the snapshot below) AT2 = 191456.65 units
  • 10. CONCLUSIONS As it can be seen from our calculations and the simulation outputs that the expected delay reduction was around 50% but we get only 26.6% for the static delay (Ts). Also, Ts/T !=1 in both the cases. This is known as the discrepancy factor. Ts shows the time when no inputs are provided and hence it gives the worst propagation delay. Whereas T is specific to the set of inputs provided to the adder. The worst case of T will still be equal to Ts but only for some specific inputs. The test vector which we have used, never goes through that path which introduces the discrepancy. Delay for n-bit adder (a) Wait strategy = n(delay of FA5) + Delay of 1 Half Adder + Delay of 1 OR gate (b) DAC strategy = x(delay of FA5) + (n/x-1)(Delay of 5:1 MUX) ;where x is group size and 5:1 MUX is as defined above. Number of basic components for n-bit adder (a) Wait strategy = n FA5 + 1 HA + 1 OR = (n+2) basic components (b) DAC strategy = x[5(n/x-1)+1] FA5 + 3(n/x-1)*4*(2:1 MUX) + (n/x-1)*16*(2:1 MUX) = (5x+28)(n/x-1)+x ;Second and third terms are for 1-bit 5:1 MUX and 4-bit 5:1 MUX
  • 12. Speculative or DAC Strategy