EENG 2710 Chapter 4
Modular Combinational Logic
1
Chapter 4 Homework
EENG 2710 Xilinx Project 1
And
EENG 2710 VHDL Project 2
(Projects are on Instructor’s Website)
2
Basic Decoder
• Decoder: A digital circuit designed to detect the presence of a particular digital state.
• Can have one output or multiple outputs.
• Example: 2-Input NAND Gate detects the presence of ‘11’ on the inputs to generate a
‘0’ output.
3
Single-Gate Decoders
• Uses single gates (AND/NAND) and some
Inverters.
• Example: 4-Input AND detects ‘1111’ on the inputs to generate a ‘1’ output.
• Inputs are labeled D
3
, D
2
, D
1
, and D
0 the MSB (most significant bit) and D
, with D
0
3 the LSB
(least significant bit).
4
Single-Gate Decoders
D
3
D
2
D
1
D
0
Y = D
3
D
2
D
1
D
0
D
3
D
2
D
1
D
0
Y = (D
3
D
2
D
1
D
0
)’
5
Single-Gate Examples
• If the inputs to a 4-Input NAND are given as
D
1
, D
2
, D
3
, D
4
, then the NAND detects the code
0001. The output is a 0 when the code 0001 is detected.
• This type of decoder is used in Address
Decoding for a PC System Board.
6
Multiple Output Decoders
• Decoder circuit with n inputs can activate m =
2 n load circuits.
• Called a n-line-to-m-line decoder, such as a 2to-4 or a 3-to-8 decoder.
• Usually has an active low enable that enables the decoder outputs.
G
7
2-to-4 Decoder
8
3-to-8 Decoder
9
Truth Table for a 3-to-8 Decoder
G D
2
D
1
D
0
Y
0
Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
Y
7
1 X X X 1 1 1 1 1 1 1 1
0 0 0 0 0 1 1 1 1 1 1 1
0 0 0 1 1 0 1 1 1 1 1 1
0 0 1 0 1 1 0 1 1 1 1 1
10
74138 3-to-8 Decoder
11
74138 3-to-8 Decoder
12
Simulation
• Simulation: The verification of a digital design using a timing diagram before programming the design in a Complex Programmable Logic
Device (CPLD).
• Used to check the Output Response of a design to an Input Stimulus using a timing diagram.
13
Simulation
14
VHDL Binary Decoder
• Use select signal assignment statements constructs or conditional signal assignment
statements constructs.
15
2-to-4 Decoder VHDL Entity
• Using a select signal assignment statement:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY decode3a IS
PORT( d : IN STD_LOGIC_VECTOR (1 downto 0); g : IN STD_LOGIC y : OUT STD_LOGIC_VECTOR (3 downto 0));
END decode3;
16
Selected Signal Entity
• In the previous slide, the Entity used a STD
LOGIC Array for Inputs and Outputs.
• The Y : OUT STD_LOGIC_VECTOR(3 downto
0) is equal to Y
3
, Y
2
, Y
1
, Y
0
.
• The STD_LOGIC Data Type is similar to BIT but has added state values such as Z, X, H, and L instead of just 0 and 1.
17
Selected Signal Assignments
• Uses a VHDL Architecture construct called
WITH SELECT.
• Format is:
– WITH (signal input(s)) SELECT.
– Signal input states are used to define the output state changes.
18
2-to-4 Decoder VHDL Architecture
ARCHITECTURE decoder OF decode2to4 IS
SIGNAL inputs : STD_LOGIC_VECTOR (2 downto 0);
BEGIN inputs(2) inputs (1 downto 0)
WITH inputs SELECT
<= g;
<= d; g d(1) y <= "0001" WHEN "000",
"0010" WHEN "001",
"0100" WHEN "010",
"1000" WHEN "011",
"0000" WHEN others;
END decoder;
Y(3) Y(0) d(0)
Default case
19
2-to-4 Decoder VHDL Architecture
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY decode3a IS
PORT( d : IN STD_LOGIC_VECTOR (1 downto 0); g : IN STD_LOGIC y : OUT STD_LOGIC_VECTOR (3 downto 0));
END decode3;
ARCHITECTURE decoder OF decode2to4 IS
SIGNAL inputs : STD_LOGIC_VECTOR (2 downto 0);
BEGIN inputs(2) inputs (1 downto 0)
WITH inputs SELECT y <=
<= g;
<= d;
"0001" WHEN "000",
"0010" WHEN "001",
"0100" WHEN "010",
"1000" WHEN "011",
"0000" WHEN others;
END decoder;
20
Decoder Architecture
• The decoder Architecture used a SELECT to evaluate d to determine the Output y.
• Both d and y are defined as an Array (or bus or vector) Data Type.
• The last state for WHEN OTHERS is added for the other logic states (Z, X, H, L, etc.).
21
Seven-Segment Displays
• Seven-Segment Display: An array of seven independently controlled LEDs shaped like an
8 that can be used to display decimal digits.
22
Seven-Segment Displays
23
Seven-Segment Displays
24
Common Anode Display
• Common Anode Display (CA): A sevensegment display where the anodes of all the
LEDs are connected together to V
CC turns on a segment (a to g).
and a ‘0’
25
Common Cathode Display
• Common Cathode Display (CC): A sevensegment display where all the cathodes are connected and tied to ground, and a ‘1’ turns on a segment.
26
Common Cathode/Anode Display
27
Common Anode Display
28
Seven-Segment Decoder/Driver
• Receives a BCD (Binary Coded Decimal) 4-Bit input, outputs a BCD digit 0000 – 1001 (0 through 9).
• Generates Outputs (a–g) for each of the display LEDs.
• Requires a current limit series resistor for each segment.
29
Seven-Segment Decoder/Driver
• Decoders for a CC-SS have active high outputs while decoders for a CA-SS have active low outputs (a to g).
• The outputs generated for the binary input combinations of 1010 to 1111 are “don’t cares”.
• The decoder can be designed with VHDL Logic
(7447, 7448).
30
SS Decoder/Driver Truth Table
Digit D3 D2 D1 D0 a b c d e f g
0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 1 1 1
4
5
2
3
6
7
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
0
1
8
9
1 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 1 1 0 0
31
Decoder/Driver Entity (CA)
ENTITY bcd_7seg IS
PORT( d3, d2, d1, d0 a, b, c, d, e, f, g
END bcd_7seg;
: IN BIT;
: OUT BIT;
32
Decoder/Driver Architecture
ARCHITECTURE seven_segment OF bcd_7seg IS
SIGNAL input : BIT_VECTOR (3 downto 0);
SIGNAL output : BIT_VECTOR (6 downto 0);
BEGIN input <= d3 & d2 & d1 & d0;
-- Uses two intermediate signals called input and output (internal no pins)
-- Creates an array by using the concatenate operator (&)
In this case input(3) <= d3, input(2) <= d2, etc.
33
Decoder/Driver Architecture
WITH input SELECT output <= “0000001” WHEN “0000”,
“1001111” WHEN “0001”,
“0010010” WHEN “0010”,
“0000110“ WHEN “0011”,
• • •
• • •
• • •
“1111111” WHEN others;
34
Decoder/Driver Architecture f e g
END seven_segment c d a b
<=
<=
<=
<=
<=
<=
<= output(6); output(5); output(4); output(3); output(2); output(1); output(0);
35
SS VHDL File Description
• In the preceding example file, a concurrent select signal assignment was used (WITH
(signals) SELECT.
• The intermediate output signals were mapped to the segments (a to g).
• Example: when Input (D3 – D0) is 0001, the decoder sets a=d=e=f=g=1, b=c=0.
36
Encoders
• Encoder: A digital circuit that generates a specific code at its outputs in response to one or more active inputs.
• It is complementary in function to a decoder.
• Output codes are usually Binary or BCD.
37
Priority Encoders
• Priority Encoder: An encoder that generates a code based on the highest- priority input.
• For example, if input D
3 output is 101, not 011. D
5 than D
3 has a higher priority and the output will respond accordingly.
= input D
5
, then the
38
BCD Priority Encoder
D
9
– D
0
= 0100001111
BCD # = ?
39
BCD Priority Encoder
D
9
– D
0
= 0101001011
Q
3
– Q
0
= 1000 (8
10
)
40
BCD Priority Encoder
D
9
– D
0
= 1000000001
Q
3
– Q
0
= 1001 (9
10
)
41
BCD Priority Encoder
D
9
– D
0
= 1101001011
Q
3
– Q
0
= 1001 (9
10
)
42
1
Put It All Together
D
C
B
A
= 1
= 0
= 0
= 0
43
Priority Encoder VHDL Entity
-- hi_pri8a.vhd
ENTITY hi_pri8a IS
PORT( d q
END hi_pri8a;
: IN BIT_VECTOR (7 downto 0);
: OUT BIT_VECTOR (2 downto 0));
44
Priority Encoder VHDL Architecture
ARCHITECTURE a OF hi_pri8a IS
BEGIN
-- Concurrent Signal Assignments q(2) <= d(7) or d(6) or d(5) or d(4); q(1) <= d(7) or d(6) or ((not d(5)) and (not d(4)) and d(3)) or ((not d(5)) and (not d(4)) and d(2)); q(0)
END a;
<= -- in a similar fashion
45
8 to 3 bit Encoder
46
8-to-3 Encoder Truth Table
Active High Inputs
D7 D6 D5 D4 D3 D2 D1 D0 Q2 Q1 Q0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 1 1 1
47
Basic Multiplexers (MUX)
• (MUX): A digital circuit that directs one of several inputs to a single output based on the state of several select inputs.
• A MUX is called a m-to-1 MUX.
• A MUX with n select inputs will require m = 2 n data inputs (e.g., a 4-to-1 MUX requires 2 select inputs S
1 and S
0
).
48
Basic Multiplexers (MUX)
49
Basic Multiplexers (MUX)
50
4-to-1 Multiplexers Truth Table
S
1
S
0 0
0
0 1
1 0
1 1
Y
D
0
D
1
D
2
D
3
51
Multiplexer Logic
• Boolean expression for a 4-to-1 MUX is
Y
D
0
S
1
S
0
D
1
S
1
S
0
D
2
S
1
S
0
D
3
S
• This expression can be expanded to any size
1
S
0
MUX so the VHDL architecture could use a very long concurrent Boolean statement.
52
Double Subscript Notation
• Naming convention in which variables are bundled in numerically related groups, the elements of which are themselves numbered.
• The first subscript identifies the group that a variable belongs to (D
01
, D
00
).
• The second subscript indicates which element of the group a variable represents.
53
4-bit Bus MUX
54
Truth Table for a 4-to-1
4-bit Bus MUX
S
1
S
0
0 0
0 1
1 0
1 1
Y
3
Y
2
Y
1
Y
0
D
03
D
02
D
01
D
00
D
13
D
12
D
11
D
10
D
23
D
22
D
21
D
20
D
33
D
32
D
31
D
30
55
VHDL Constructs For MUXs
• The following three VHDL constructs can be used to describe the Multiplexer:
– Concurrent Signal Assignment Statement
– Select Signal Assignment Statement
– CASE Statement
56
PROCESS and Sensitivity List
• PROCESS: A VHDL construct that contains statements that are executed if a signal in its sensitivity list changes.
• Sensitivity list: A list of signals in a PROCESS statement that are monitored to determine whether the Process should be executed.
57
Case Statement
• A case statement is a VHDL construct in which there is a choice of statements to be executed, depending on the value of a signal or variable.
58
Case VHDL Template
CASE __expression IS
WHEN __constant_value =>
__statement;
__statement;
WHEN __constant_value =>
__statement;
__statement;
WHEN OTHERS =>
__statement;
__statement;
END CASE;
59
MUX 4-to-1 VHDL – 1
• Basic Entity declaration for a 4-to-1 MUX:
ENTITY mux4case IS
PORT( s d0, d1, d2, d3 : IN BIT;
: IN BIT_VECTOR (1 downto 0); y
END mux4case;
: OUT BIT);
60
MUX 4-to-1 VHDL – 2
ARCHITECTURE mux4to1 OF mux4case IS
BEGIN
-- Monitor select inputs and execute if they change
PROCESS(s)
BEGIN
CASE s IS
61
MUX 4-to-1 VHDL – 3
WHEN "00" =>
END CASE;
END PROCESS;
END mux4to1;
WHEN "01"
WHEN "10"
=>
=>
WHEN "11" =>
WHEN others => y y y y y
<=
<=
<=
<=
<= d0; d1; d2; d3;
'0';
62
Multiplexer Applications
• Used in directing multiple data sources to a single processing element such as multiple CD
Player Streams to a DSP.
• Used in Time Division Multiplexing (TDM) by the Phone Service to multiplex multiple voice channels on a single coax line (or fiber).
63
Multiplexer Applications
Used in directing multiple data sources to a single processing element such as multiple CD Player
Streams to a DSP.
64
Multiplexer Applications
Used in Time Division Multiplexing (TDM) by the
Phone Service to multiplex multiple voice channels on a single coax line (or fiber).
65
Time Division Multiplexing (TDM)
• Each user has a specific time slot in a TDM data frame. Each frame has 24 users.
• TDM requires a time-dependent (counter) source to synchronize the select lines.
• Each user’s time slot repeats on the next frame for more data.
• The links are called T-Carriers (such as a T1
Line).
66
TDM Data Streams
• Two methods in which data is transmitted:
– Bit Multiplexing: One bit is sent at a time from the channel during the channel’s assigned time slot
– Word Multiplexing: One byte is sent at a time from the channel during the channel’s assigned time slot
67
TDM Data Streams
68
TDM Data Streams
69
Demultiplexer Basics
• Demultiplexer: A digital circuit that uses a decoder to direct a single input (from a MUX) to one of several outputs.
• A DEMUX performs the reverse operation of a
MUX.
• The selected output is chosen by the Select
Inputs (as in a MUX).
70
Demultiplexer Basics
• Designated as a 1-to-n DEMUX that requires m select inputs such that n outputs = 2 m select inputs.
• 1-to-4 DEMUX Equations:
Y
( 0 )
D
0
S
1
S
0
; Y
( 1 )
D
0
S
1
S
0
;
Y
( 2 )
D
0
S
1
S
0
; Y
( 3 )
D
0
S
1
S
0
.
• They are similar to a MUX and can be designed using CASE Statements.
71
Demultiplexer Basics
72
Demultiplexer Basics
73
Demultiplexer Basics
74
Demultiplexer VHDL Entity
ENTITY dmux8 IS
PORT( s d y
: IN STD_LOGIC_VECTOR (2 downto 0);
: IN STD_LOGIC;
: OUT STD_LOGIC_VECTOR (0 to 7));
END dmux8;
75
Demultiplexer VHDL Architecture
ARCHITECTURE a OF dmux8 IS
SIGNAL inputs : STD_LOGIC_VECTOR (3 downto 0);
BEGIN inputs <= d & s;
WITH inputs select
Y <= “01111111” WHEN “0000”,
“10111111” WHEN “0001”,
• • •
• • •
“11111111” WHEN others;
END a;
76
Demultiplexer VHDL Architecture
77
Analog MUX/DEMUX
• Uses a CMOS Switch or Transmission Gate that will allow a signal to Pass in two directions for + and – Voltages.
• Some commercial types such as a CD4066 or 74HC4066.
• Multiplexes 4 CMOS Switches to a single output (Y) for analog multiplexing.
78
Analog MUX/DEMUX
79
Analog MUX/DEMUX
80
Magnitude Comparators
• Magnitude Comparator: A digital circuit that compares two n-Bit Binary Numbers and indicates if they are equal or which is greater.
• A very simple One-Bit Magnitude Comparator is the Two-Input XNOR Gate:
– When both inputs are equal, the output is a 1; if they are not, it is a 0.
81
A
1
B
1
A
0
B
0
2-Bit Comparator
AEQB
82
2-Bit Magnitude Comparator
A
1
B
1
A
0
B
0
AEQB
AGTB
ALTB
83
Magnitude Comparators
• Multiple Bit Comparisons
AEQB
( A n1
B n1
) • ( A n2
B n2
)
.
• Also adds A > B (AGTB) and A < B (ALTB) Outputs.
• For A > B, start with the MSB:
– If A n–1
> B n–1
, then AGTB = 1
• If not, then try the next most significant bit.
84
4-Bit Magnitude Comparator
A
3
B
3
A
2
B
2
A
1
B
1
A
B
0
0
ALTB
AEQB
AGTB
85
VHDL 4-Bit Magnitude
Comparator
ENTITY compare4 IS
PORT( a, b
15;
: IN INTEGER RANGE 0 to agtb, aeqb, altb : OUT STD_LOGIC);
END compare4;
86
VHDL 4-Bit Magnitude
Comparator
ARCHITECTURE a OF compare4 IS
SIGNAL compare :STD_LOGIC_VECTOR (2 downto 0);
BEGIN
PROCESS (a, b)
BEGIN
IF a<b THEN compare <= “110”;
ELSIF a = b THEN compare <= “101”;
87
VHDL 4-Bit Magnitude
Comparator
ELSIF a > b THEN compare <= “011”;
ELSE compare <= “111”;
END IF; agtb <= compare(2); aeqb <= compare(1); altb <= compare(0);
END PROCESS
END a;
88
Temperature Comparator
89
Parity Basics
• Parity: A digital system that checks for errors in a n-Bit Binary Number or Code.
• Even Parity: A parity system that requires the binary number and the parity bit to have an even # of 1s.
• Odd Parity: A parity system that requires the binary number and the parity bit to have an
Odd # of 1s.
90
Parity Basics
• Parity Bit: A bit appended on the end of a binary number or code to make the # of 1s odd or even depending on the type of parity in the system.
• Parity is used in transmitting and receiving data by devices in a PC called UARTs, that are on the COM
Port.
• UART = Universal asynchronous
Receiver/Transmitter
91
Parity Basics
92
Parity Calculation
• N
1
= 0110110:
– It has four 1s (an even number).
– If Parity is ODD, the Parity Bit = 1 to make it an odd number (5).
– If Parity is EVEN, the Parity Bit = 0 to keep it an even number (4).
• N
2
= 1000000:
– One 1 in the data.
– P odd
– P even
= 0.
= 1.
93
Parity Generation HW
• A basic two-bit parity generator can be constructed from a
XOR Gate.
• When the two inputs are 01 or 10, the output is a 1 (so this is even parity).
• When the two inputs are 00 or 11, the output is a 0.
• For a parity generator of n bits, add more gates.
94
Parity Generator HW
• Cascading a long chain of XOR gates could cause excessive propagation delays.
• To check for a Parity error, the receiver (R a new Parity Bit (P
X
) just generates
1
) based on the received parallel data and then compares it to the parity bit transmitted (P
2
).
95
Parity Generator HW
• If there is an error, the two bits (P
1 and P
2
) will not be equal, and we can use a two-bit magnitude comparator to check this (an XOR gate).
• This check is called syndrome.
– If there are no errors, the syndrome output (P err
) is 0.
• Parity is not a foolproof system.
– If two bits are in error, the error is not detected.
96
4-Bit Parity Generator
97
VHDL GENERATE Statement
__generate_label:
FOR __index_variable IN __range GENERATE
__statement;
__statement;
END GENERATE;
98
4-Bit Parity VHDL Code
LIBRARY ieee;
USE ieee.std_logic1164.ALL;
ENTITY parity4_gen IS
PORT( d : IN STD_LOGIC_VECTOR (0 to 3); pe ; OUT STD_LOGIC);
END parity4_gen;
99
4-Bit Parity VHDL Code
ARCHITECTURE parity OF parity4_gen IS
SIGNAL p : STD_LOGIC_VECTOR (1 to 3);
BEGIN p(1) <= d(0) xor d(1); parity_generate:
FOR i IN 2 to 3 GENERATE p(i) <= p(i-1) xor d(i);
END GENERATE; pe <= p(3);
END parity;
100
Binary Adders
• Half Adder (HA): A circuit that will add two bits and produce a sum bit and a carry bit.
• Full Adder (FA): A circuit that will add a carry bit from another HA or FA and two operand bits to produce a sum bit and a carry bit.
101
Basic HA Addition
• Binary Two-Bit Addition Rules:
0 + 0 = 00
0 + 1 = 01
1 + 1 = 10
102
HA Circuit
• Basic Equations: S = A XOR B, C = A and B where
S = Sum and C = Carry.
• Truth Table for HA Block:
103
Full Adder Basics
• Adds a C
IN input to the HA block.
• Equations are modified as follows:
C
OUT
(
( A
B
A
B
) C
IN
)
C
IN
A B
• A FA can be made from two HA blocks and an
OR Gate.
104
Full Adder Basics
105
Full Adder Basics
106
Full Adder Basics
107
Parallel Adders
• A circuit, consisting of n full adders, that will add n-bit binary numbers.
• The output consists of n sum bits and a carry bit.
• C
OUT of one full adder is connected to C
IN the next full adder.
of
108
4-Bit Parallel Adder
109
4-Bit Parallel Adder
110
Ripple Carry
• In the n-Bit Parallel Adder (FA Stages) the
Carryout is generated by the last stage (FAN).
• This is called a Ripple Carry Adder because the final carryout (Last Stage) is based on a ripple through each stage by C
IN at the LSB Stage.
111
Ripple Carry
• Each Stage will have a propagation delay on the C
Gate.
IN to C
OUT of one AND Gate and one OR
• A 4-Bit Ripple Carry Adder will then have a propagation delay on the final C
OUT
Gates.
of 4
2 = 8
• A 32-Bit adder such as in an MPU in a PC could have a delay of 64 Gates.
112
Ripple Carry
113
Look-Ahead Carry
• Fast Carry or Look-Ahead Carry:
– A combinational network that generates the final
C
OUT
B n
).
directly from the operand bits (A
1 to A n
, B
– It is independent of the operations of each FA
1 to
Stage (as the ripple carry is).
114
Look Ahead Carry
• Fast Carry has a small propagation delay compared to the ripple carry.
• The fast carry delay is 3 Gates for a 4-Bit
Adder compared to 8 for the Ripple Carry.
115
4-Bit Fast Carry Circuit
116
Subtractor (2’s Complement)
• The concept of Subtraction using 2’s
Complement addition allows a Parallel FA to be used.
• The subtract operation involves adding the inverse of the subtrahend to the minuend and then adding a 1.
117
Subtractor (2’s Complement)
• Difference
A
B
A
B
1
• This operation can be done in a parallel n-Bit FA by inverting (B
1
Stage to +5 V.
to B n
) and connecting C
IN at the LSB
• The circuit can be modified to allow either the ADD or SUBTRACT operation to be performed.
118
Subtractor (2’s Complement)
119
Parallel Binary Adder/Subtractor
• XOR gates are used as programmable inverters to pass binary numbers (e.g., B
1
B
2
B
3
B
4
) to the parallel adder in true or complemented form.
•
When ADD /SUB
1, B is complement ed.
When ADD /SUB
0, B is in its true form.
120
Parallel Binary Adder/Subtractor
1
0
X
B
Y
B
X=1
B’ B
X=0
B
121
Overflow
• If the sign bits of both operands are the same and the sign bit of the sum is different from the operand sign bits, an overflow has occurred.
• Overflow is not possible if the sign bits of the operands are different from each other.
122
Overflow Examples
• Adding two 8-bit negative numbers:
80
80
H
H
1000
1000
0000
0000
100 H 10000 0000 (Sign bit overflow; V
1 )
• Adding two 8-bit positive numbers:
7 FH
01 H
80 H
0111 1111
0000 0001
1000 0000 (Sign bit overflow; V
1 )
123
Overflow 8-bit Parallel Adder
S
A
A
7
A
6
A
5
A
4
A
3
A
2
A
1
( S
A
Sign bit of A )
S
B
B
7
B
6
B
5
B
4
B
3
B
2
B
1
( S
B
Sign bit of B )
S
S
7
S
6
S
5
S
4
S
3
S
2
S
1
( S
Sign bit of sum)
124
Overflow Detector Truth Table
1
1
0
0
S
A
0
0
1
1
0
0
1
1
S
B
0
0
1
1
0
1
0
1
S
0
1
0
1
V
S
A
S
B
S
S
A
S
B
S
1
0
0
V
0
1
0
0
0
125
Overflow Detector
126
BCD Adder
• A Parallel Adder whose output sum is in groups of 4 bits, each representing a BCD
(8421) Digit.
• Basic design is a 4-Bit Binary Parallel Adder to generate a 4-Bit Sum of A + B.
• Sum is input to the four-bit input of a Binaryto-BCD Code Converter.
127
BCD Adder
128