DPSD Lecture Notes
DPSD Lecture Notes
COLLEGE OF ENGINEERING
Sir.C.V.Raman Nagar, Tirunelveli-12
/
k
t
.
e
Department of Computer b
Science and
u
Engineering
t
e
s
/c Principles and
Subject Name: /Digital
:
p
System Design
t
ht
Subject Code : CS34
Year/Semester: II/III
Staff Name: R.Velayutham
http://csetube.weebly.com/
Syllabus
CS 34 DIGITAL PRINCIPLES AND SYSTEM DESIGN
(Common to CSE & IT)
AIM
To provide an in-depth knowledge of the design of digital circuits and the use of
Hardware Description Language in digital system design.
OBJECTIVES
To understand different methods used for the simplification of Boolean functions
To design and implement combinational circuits
To design and implement synchronous sequential circuits
To design and implement asynchronous sequential circuits
To study the fundamentals of VHDL / Verilog HDL
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
OBJECTIVES
Motivation
Switches and logic gates
Logic functions, truth tables and variables
Boolean axioms and laws, sum of products, product of sums
Simple algebraic minimization - making things cheaper
Sequential Logic
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Digital System
The term digital refers to any process that is accomplished using discrete units
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
Complements
Complements are used in digital computers for simplifying the subtraction
operation and for logical manipulation. There are two types of complements
i)
rs complement
ii)
(r-1)s complement.
http://csetube.weebly.com/
Binary Codes
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
000
001
002
003
004
005
006
007
010
011
012
013
014
015
016
017
Bin
00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001001
00001010
00001011
00001100
00001101
00001110
00001111
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
00010000
00010001
00010010
00010011
00010100
00010101
00010110
00010111
00011000
00011001
00011010
00011011
00011100
00011101
00011110
00011111
/
k
t
.
e
b
u
t
e
020
021
022
023
024
025
026
027
030
031
032
033
034
035
036
037
Bin
s
c
/
/
:
p
Binary to Decimal
Binary
110112
24+23+01+21+20
Result
tt
Decimal to binary
Division
Remainder
25/2
= 12+ remainder of 1
12/2
= 6 + remainder of 0
6/2
= 3 + remainder of 0
3/2
= 1 + remainder of 1
1/2
= 0 + remainder of 1
Result
2510
Decimal
=16+8+0+2+1
2710
Binary
1 (Least Significant Bit)
0
0
1
1 (Most Significant Bit)
= 110012
http://csetube.weebly.com/
Binary to octal
100 111 0102 = (100) (111) (010)2 = 4 7 28
Decimal to octal
Division
177/8
22/ 8
2/8
Result
Binary
Result
= 22+ remainder of 1
= 2 + remainder of 6
= 0 + remainder of 2
17710
Decimal to Hexadecimal
Division
Result
378/16
= 23+ remainder of 10
23/16
= 1 + remainder of 7
1/16
= 0 + remainder of 1
Result
37810
Binary
Binary
1 (Least Significant Bit)
6
2 (Most Significant Bit)
= 2618
= 0101100012
Hexadecimal to binary
Hexadecimal
A (Least Significant Bit)23
7
1 (Most Significant Bit)
= 17A16
= 0001 0111 10102
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
Hexadecimal to octal
tt
Hexadecimal
5A816
Result
Binary/Octal
= 0101 1010 1000 (Binary)
= 010 110 101 000 (Binary)
= 2 6 5 0 (Octal)
Binary Arithmetic
Rules of Binary Addition
0
0
1
1
+
+
+
+
0
1
0
1
=
=
=
=
0
1
1
0, and carry 1 to the next more significant bit
http://csetube.weebly.com/
For example,
00011010 + 00001100 = 00100110
1 1
carries
0
+ 0
0
0
0
0
1
0
1
1
0
1
1
0
0 = 26(base 10)
0 = 12(base 10)
0 = 38(base 10)
1 1 1 1 1
carries
0
+ 0
0
0
0
1
1
1
0
1
0
1
1
1
1 = 19(base 10)
0 = 62(base 10)
1 = 81(base 10)
Note: The rules of binary addition (without carries) are the same as the truths of the
XOR gate.
/
k
t
.
e
b
0
0
1
1
0
1
0
1
=
=
=
=
u
t
e
0
1, and borrow 1 from the next more significant bit
1
0
s
c
/
/
:
p
For example,
tt
borrows
1
0
- 0
0
0
1 0
0 1
0
0
1
0
0
0
1 = 37(base 10)
1 = 17(base 10)
0 1
0 = 20(base 10)
0 10 1
borrows
0 0 1 1 0 0 1 1 = 51(base 10)
- 0 0 0 1 0 1 1 0 = 22(base 10)
1
0 1
1 1
= 29(base 10)
0 x 0 = 0
0 x 1 = 0
http://csetube.weebly.com/
1 x 0 = 0
1 x 1 = 1, and no carry or borrow bits
For example,
00101001 00000110 =
11110110
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1 =
0 =
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0 =
41(base 10)
6(base 10)
246(base
10)
00010111 00000011 =
01000101
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1 =
1 =
t
.
e
k/
1 1 1 1 1
0
0
0
0
0
0
1
1
0
b
u
t
e
s
c
23(base 10)
3(base 10)
carries
0
1
1
1
1
1
1 =
69(base 10)
Note: The rules of binary multiplication are the same as the truths of the AND gate.
/
/
:
Another Method: Binary multiplication is the same as repeated binary addition; add the
multicand to itself the multiplier number of times.
p
t
t
For example,
carries
8(base 10)
8(base 10)
8(base 10)
0
0
+ 0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0 =
0 =
0 =
0 = 24(base 10)
Binary Division
Binary division is the repeated process of subtraction, just as in decimal division.
For example,
00101010 00000110
http://csetube.weebly.com/
7(base 10)
= 00000111
1
0
1
= 42(base 10)
= 6(base 10)
borrows
1
1
-
0
1
0
1
1
0
1
1
1
1
0
0
0
10000111 00000101
= 00011011
1
1
-
1
1
1
0
cs
/
/
:
p
t
t
=
=
1
0
1
1
1
0
1
1
1
1
0
0
= 27(base 10)
/
k
t
1
0
1
.
e
b
u
t
e
1
1
0
http://csetube.weebly.com/
135(base
10)
5(base 10)
Binary Equivalents
1 Nybble (or nibble) = 4 bits
1 Byte = 2 nybbles = 8 bits
1 Kilobyte (KB) = 1024 bytes
1 Megabyte (MB) = 1024 kilobytes = 1,048,576 bytes
1 Gigabyte (GB) = 1024 megabytes = 1,073,741,824 bytes
Logic gates
Digital systems are said to be constructed by using logic gates. These gates are the AND,
OR, NOT, NAND, NOR, EXOR and EXNOR gates. The basic operations are described
below with the aid of truth tables.
AND gate
/
k
t
.
e
b
u
t
e
The AND gate is an electronic circuit that gives a high output (1) only if all its
inputs are high. A dot (.) is used to show the AND operation i.e. A.B. Bear in
mind that this dot is sometimes omitted i.e. AB
s
c
/
OR gate
/
:
p
t
t
h
The OR gate is an electronic circuit that gives a high output (1) if one or more of
its inputs are high. A plus (+) is used to show the OR operation.
NOT gate
The NOT gate is an electronic circuit that produces an inverted version of the
input at its output. It is also known as an inverter. If the input variable is A, the
http://csetube.weebly.com/
inverted output is known as NOT A. This is also shown as A', or A with a bar
over the top, as shown at the outputs. The diagrams below show two ways that the
NAND logic gate can be configured to produce a NOT gate. It can also be done
using NOR logic gates in the same way.
NAND gate
/
k
t
.
e
b
u
t
e
NOR gate
s
c
/
/
:
p
t
t
h
EXOR gate
The 'Exclusive-OR' gate is a circuit which will give a high output if either, but
not both, of its two inputs are high. An encircled plus sign ( ) is used to show
the EOR operation.
http://csetube.weebly.com/
EXNOR gate
The 'Exclusive-NOR' gate circuit does the opposite to the EOR gate. It will give a low
output if either, but not both, of its two inputs are high. The symbol is an EXOR gate
with a small circle on the output. The small circle represents inversion.
The NAND and NOR gates are called universal functions since with either one the AND
and OR functions and NOT can be generated.
/
k
t
Note:
.
e
b
A function in sum of products form can be implemented using NAND gates by replacing
all AND and OR gates by NAND gates.
u
t
e
A function in product of sums form can be implemented using NOR gates by replacing
all AND and OR gates by NOR gates.
Table 1: Logic gate symbols
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
8421
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
2421
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111
Excess-3
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
5211
0000
0001
0011
0101
0111
1000
1010
1100
1110
1111
t
t
h
http://csetube.weebly.com/
5211 code
This is a weighted code; its weights are 5, 2, 1 and 1. A decimal number is
represented in 4-bit form and the total four bits weight is 5 + 2 + 1 + 1 = 9. Hence
the 5211 code represents the decimal numbers from 0 to 9.
Reflective code
A code is said to be reflective when code for 9 is complement for the code for 0,
and so is for 8 and 1 codes, 7 and 2, 6 and 3, 5 and 4. Codes 2421, 5211, and
excess-3 are reflective, whereas the 8421 code is not.
Sequential code
A code is said to be sequential when two subsequent codes, seen as numbers in
binary representation, differ by one. This greatly aids mathematical manipulation
of data. The 8421 and Excess-3 codes are sequential, whereas the 2421 and
5211 codes are not.
/
k
t
.
e
b
Non-Weighted code
u
t
e
Non weighted codes are codes that are not positionally weighted. That is, each
position within the binary number is not assigned a fixed value.
s
c
/
Excess-3 code
/
:
p
Excess-3 is a non weighted code used to express decimal numbers. The code
derives its name from the fact that each binary code is the corresponding 8421
code plus 0011(3).
t
t
h
The gray code belongs to a class of codes called minimum change codes, in
which only one bit in the code changes when moving from one code to the next.
The Gray code is non-weighted code, as the position of bit does not contain any
weight. The gray code is a reflective digital code which has the special property
that any two subsequent numbers codes differ by only one bit. This is also called
a unit-distance code. In digital Gray code has got a special place.
Decimal Number
0
1
2
Binary Code
0000
0001
0010
Gray Code
0000
0001
0011
http://csetube.weebly.com/
3
4
5
6
7
8
9
10
11
12
13
14
15
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
/
k
t
.
e
b
For reliable transmission and storage of digital data, error detection and
correction is required. Below are a few examples of codes which permit error
detection and error correction after detection.
u
t
e
s
c
/
When data is transmitted from one point to another, like in wireless transmission,
or it is just stored, like in hard disks and memories, there are chances that data
may get corrupted. To detect these data errors, we use special codes, which are
error detection codes.
/
:
p
Parity bit
t
t
h
In parity codes, every data byte, or nibble (according to how user wants to use it)
is checked if they have even number of ones or even number of zeros. Based on
this information an additional bit is appended to the original data. Thus if we
consider 8-bit data, adding the parity bit will make it 9 bit long.
At the receiver side, once again parity is calculated and matched with the
received parity (bit 9), and if they match, data is ok, otherwise data is corrupt.
Two types of parity
Even parity: Checks if there is an even number of ones; if so, parity bit is zero.
When the number of ones is odd then parity bit is set to 1.
http://csetube.weebly.com/
Odd Parity: Checks if there is an odd number of ones; if so, parity bit is zero.
When number of ones is even then parity bit is set to 1.
Error correcting codes
Error-correcting codes not only detect errors, but also correct them. This is used
normally in Satellite communication, where turn-around delay is very high as is
the probability of data getting corrupt.
Hamming codes
Hamming code adds a minimum number of bits to the data transmitted in a noisy
channel, to be able to correct every possible one-bit error. It can detect (not
correct) two-bit errors and cannot distinguish between 1-bit and 2-bits
inconsistencies. It can't - in general - detect 3(or more)-bits errors.
/
k
t
Alphanumeric codes
The binary codes that can be used to represent all the letters of the alphabet,
numbers and mathematical symbols, punctuation marks, are known as
alphanumeric codes or character codes. These codes enable us to interface the
input-output devices like the keyboard, printers, video displays with the computer.
.
e
b
u
t
e
ASCII codes
s
c
/
ASCII stands for American Standard Code for Information Interchange. It has
become a world standard alphanumeric code for microcomputers and computers.
It is a 7-bit code representing 27 = 128 different characters. These characters
represent 26 upper case letters (A to Z), 26 lowercase letters (a to z), 10
numbers (0 to 9), 33 special characters and symbols and 33 control characters.
/
:
p
t
t
h
EBCDIC codes
http://csetube.weebly.com/
Principle of duality
1. Interchanging the OR and AND operations of the expression.
2. Interchanging the 0 and 1 elements of the expression.
3. Not changing the form of the variables.
T1: Commutative Law
(a) A + B = B + A
(b) A B = B A
T2: Associative Law
(a) (A + B) + C = A + (B + C)
(b) (A B) C = A (B C)
T3: Distributive Law
(a) A (B + C) = A B + A C
(b) A + (B C) = (A + B) (A + C)
T4: Identity Law
(a) A + A = A
(b) A A = A
T5: Negation Law
(a)
(b)
T6: Redundance Law
(a) A + A B = A
(b) A (A + B) = A
T7:
(a) 0 + A = A
(b) 1 A = A
(c) 1 + A = 1
(d) 0 A = 0
T8 :
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
(a)
(b)
T9 :
(a)
(b)
T10 : De Morgan's Theorem
(a)
(b)
http://csetube.weebly.com/
Using theorems,
/
k
t
.
e
b
u
t
e
s
c
/
The diagram below illustrates the correspondence between the Karnaugh map and the
truth table for the general case of a two variable problem.
/
:
p
t
t
h
The values inside the squares are copied from the output column of the truth table,
therefore there is one square in the map for every row in the truth table. Around the edge
of the Karnaugh map are the values of the two input variable. A is along the top and B is
down the left hand side. The diagram below explains this:
http://csetube.weebly.com/
The values around the edge of the map can be thought of as coordinates. So as an
example, the square on the top right hand corner of the map in the above diagram has
coordinates A=1 and B=0. This square corresponds to the row in the truth table where
A=1 and B=0 and F=1. Note that the value in the F column represents a particular
function to which the Karnaugh map corresponds.
Example 1:
/
k
t
.
e
b
u
t
e
s
c
/
Note that values of the input variables form the rows and columns. That is the
logic values of the variables A and B (with one denoting true form and zero
denoting false form) form the head of the rows and columns respectively.
Bear in mind that the above map is a one dimensional type which can be used to
simplify an expression in two variables.
There is a two-dimensional map that can be used for up to four variables, and a
three-dimensional map for up to six variables.
/
:
p
t
t
h
http://csetube.weebly.com/
Example 2:
Consider the expression Z = f(A,B) =
map:
+A +
Pairs of 1's are grouped as shown above, and the simplified answer is obtained by
using the following steps:
/
k
t
Note that two groups can be formed for the example given above, bearing in mind
that the largest rectangular clusters that can be made consist of two 1s. Notice that
a 1 can belong to more than one group.
The first group labelled I, consists of two 1s which correspond to A = 0, B = 0
and A = 1, B = 0. Put in another way, all squares in this example that correspond
to the area of the map where B = 0 contains 1s, independent of the value of A. So
when B = 0 the output is 1. The expression of the output will contain the term
.
e
b
u
t
e
s
c
/
For group labeled II corresponds to the area of the map where A = 0. The group
can therefore be defined as . This implies that when A = 0 the output is 1. The
output is therefore 1 whenever B = 0 and A = 0
Hence the simplified answer is Z = +
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
This is because the FIRST RULE of the Tabular method for two terms to combine, and
thus eliminate one variable, is that they must differ in only one digit position.
t
t
h
Bear in mind that when two terms are combined, one of the combined terms has one digit
more at logic 1 than the other combined term. This indicates that the number of 1's in a
term is significant and is referred to as its index.
For example: f(A, B, C, D)
0000...................Index 0
0010, 1000.............Index 1
1010, 0011, 1001.......Index 2
1110, 1011.............Index 3
1111...................Index 4
The necessary condition for combining two terms is that the indices of the two terms
must differ by one logic variable which must also be the same.
Examples
http://csetube.weebly.com/
Example 1:
Consider the function: Z = f(A,B,C) =
C+A
+A C
To make things easier, change the function into binary notation with index value and
decimal value.
Tabulate the index groups in a colunm and insert the decimal value alongside.
/
k
t
.
e
b
u
t
e
s
c
/
From the first list, we combine terms that differ by 1 digit only from one index group to
the next. These terms from the first list are then seperated into groups in the second list.
Note that the ticks are just there to show that one term has been combined with another
term. From the second list we can see that the expression is now reduced to: Z =
+
+ C+A
/
:
p
t
t
h
From the second list note that the term having an index of 0 can be combined with the
terms of index 1. Bear in mind that the dash indicates a missing variable and must line up
in order to get a third list. The final simplified expression is: Z =
Bear in mind that any unticked terms in any list must be included in the final expression
(none occured here except from the last list). Note that the only prime implicant here is Z
= .
The tabular method reduces the function to a set of prime implicants.
Note that the above solution can be derived algebracially. Attempt this in your notes.
Example 2:
Consider the function f(A, B, C, D) =
is in decimal form.
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
D + BD + A
+ AB
s
c
/
The chart is used to remove redundant prime implicants. A grid is prepared having all the
prime implicants listed at the left and all the minterms of the function along the top. Each
minterm covered by a given prime implicant is marked in the appropriate position.
/
:
p
t
t
h
From the above chart, BD is an essential prime implicant. It is the only prime implicant
that covers the minterm decimal 15 and it also includes 5, 7 and 13.
is also an
essential prime implicant. It is the only prime implicant that covers the minterm denoted
by decimal 10 and it also includes the terms 0, 2 and 8. The other minterms of the
http://csetube.weebly.com/
+ BD +
+A
Combinational Circuits
A combinational circuit neither contains a periodic clock signal nor has any
provisions for storage. There are no feedbacks involved and the output at all time is
dependent on the inputs provided. The name combinational is derived from the
combinations of logic gates used for such circuits.
A sequential circuit involves feedback and has memory (so it is employed for
designing RAM). It also has a periodic clock signal and hence the output is also a
function of time in addition to being a function of inputs and previous outputs. The name
sequential is derived as the output is produced in sequences as the clock circuit enables
and disables the functioning. (A latch is also a sequential circuit but has no clock signal
and hence is a special case. It is also the basic building block of any sequential circuit.)
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
ADDERS
Half adder
t
t
h
A half adder is a logical circuit that performs an addition operation on two one-bit
binary numbers often written as A and B. The half adder output is a sum of the two
inputs usually represented with the signals Cout and S where . Following is the logic
table for a half adder:
http://csetube.weebly.com/
Inputs Outputs
A B C S
0
0
1
1
0
1
0
1
0 0
0 1
0 1
1 0
S=A (XOR) B
C=AB
/
k
t
Full Adder
A full adder is a logical circuit that performs an addition operation on three onebit binary numbers often written as A, B, and Cin. The full adder produces a two-bit
output sum typically represented with the signals Cout and S.
Inputs Outputs
.
e
b
u
t
e
s
c
/
A B Ci Co S
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
SUBTRACTOR
u
t
e
Half subtractor
s
c
/
XYDB
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
/
:
p
t
t
h
http://csetube.weebly.com/
Full subtractor
The Full_subtractor is a combinational circuit which is used to perform
subtraction of three bits. It has three inputs, X (minuend) and Y (subtrahend) and Z
(subtrahend) and two outputs D (difference) and B (borrow).
XYZDB
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
B=AB + AC + BC
C=A xor B xor C
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
Parallel adder:
Parallel adder is the one where we input the all the bits of two
given numbers and we dont need any memory element.
Binary Adder: In this adder we need n full adders for n bit adder. In this adder we use
the n full adders in cascaded from to implement the ripple carry adder. This type of adder
is also called carry propagation adder. The circuit for 4-bit parallel adder is as follow:
http://csetube.weebly.com/
Input carry:
0 1
Ci
Augend:
1 0
Ai
0 0
1 Bi
Addend:
2 1
/
k
t
u
t
e
--------------------------------
s
c
/
Sum:
1 0
Si
Output carry:
1 1
Ci+1
Binary Subtractor
.
e
b
/
:
p
t
t
h
Adder Subtractor
The addition and subtraction can be combined into one circuit with one common
binary adder (see next slide).
The mode M controls the operation. When M=0 the circuit is an adder when M=1
the circuit is subtractor. It can be don by using exclusive-OR for each Bi and M.
Note that 1 x = x and 0 x = x
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
In this circuit well convert BINARY numbers to GRAY numbers. Following is the
truth table for it:
B3
B2
B1
B0
G3
G2
G1
G0
0.
1.
2.
3.
4.
5.
6.
http://csetube.weebly.com/
8.
9.
10.
11.
12.
13.
14.
15.
/
k
t
K-MAPS:
K-MAP FOR G3:
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
B2
G2
B1
/
k
t
G1
.
e
b
u
t
e
s
c
/
G0
B0
/
:
p
t
t
h
COMPARATORS
For example to design a comparator for 2 bit binary numbers A (A1A0) and B
(B1B0) we do the following steps:
1-bit comparator: Lets begin with 1 bit comparator and from the name we can
easily make out that this circuit would be used to compare 1 bit binary numbers.
http://csetube.weebly.com/
If we list all the input combinations at the input then we get the following table
describing the corresponding outputs.
And now we find the equations using K-maps each for f (A>B), f (A=B) and f
(A<B) as follow:
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
For a 2-bit comparator we have four inputs A1A0 and B1B0 and three output
E ( is 1 if two numbers are equal) G (is 1 when A > B) and L (is 1 when A < B)
If we use truth table and KMAP the result is
E= A1A0B1B0 + A1A0B1B0 + A1A0B1B0 + A1A0B1B0
or E=(( A0 B0) + ( A1 B1))
G = A1B1 + A0B1B0 + A1A0B0
L= A1B1 + A1A0B0 + A0B1B0
/
k
t
= x3x2x1x0
(A> B)
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
BCD Adder
Number
S8
S4
S2
S1
http://csetube.weebly.com/
Number
S8
S4
S2
S1
10
11
12
13
14
15
16
17
18
19
cs
Binary Sum
Number
//
:
p
t
.
e
b
1
0
u
t
e
Z8
Z4
Z2
Z1
11
ht
12
13
14
15
16
17
18
19
10
/
k
t
http://csetube.weebly.com/
Number
Z8
Z4
Z2
Z1
10
11
12
13
14
15
16
17
18
19
Number
Z8
Z4
Z2
10
11
12
13
14
15
17
18
19
0
1
s
c
/
Z1
:/
p
t
t
16
.
e
b
u
t
e
1
/
k
t
C= K +
C= K + Z8*Z4+
C = K + Z8*Z4+Z8*Z2
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
Decoders
/
:
p
t
t
h
Consists of:
Inputs (n)
Outputs (2n , numbered from 0 2n - 1)
Selectors / Enable (active high or active low)
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
Encoder
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Multiplexer
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Demultiplexer
SEL0
SEL1
ENABL
E
D
00
/
k
t
D
01
.
e
b
tu
D
10
e
s
c
D
11
//
ENBL
:
p
tSEL1
t
h
0
1
1
1
1
X
0
0
1
1
SEL2
X
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1 to 8 line Demultiplexer
http://csetube.weebly.com/
0
0
0
1
0
0
0
0
0
1
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
PROM Notation
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Sequential Circuits
x1
z1
Combinational
logic
xn
zm
(a)
x1
z1
xn
zm
Combinational
logic
y1 yr
Yr Y1
/
k
t
Memory
.
e
b
(b)
u
t
e
Flip Flop
s
c
/
/
:
p
SR Flip-Flop
t
t
h
Graphical Symbol
Characteristic table
0 x No change
1 0
0 (reset)
http://csetube.weebly.com/
1
1
1 (set)
Characteristic Equation
Q(t+1)=S+R1Q
Logic diagram
/
k
tQ
.
e
b
u
t
e
s
c
/
EXCITATION TABLE
Q
Q(next)
/
:
p
S
0
R
X
tt
1
http://csetube.weebly.com/
D Flip-Flop
S
Q
C
Q
R
D
/
k
t
.
e
b
Characteristic table
Q(t+1)
Operation
0
1
0
1
Reset
Set
u
t
e
s
c
/
/
:
p
Characteristic Equation
t
t
h
Q(t+1) = D
EXCITATION TABLE
Q
Q(next)
http://csetube.weebly.com/
JK Flip-Flop
Graphical Symbol
Characteristic table
Q(t+1)
Operation
0
0
1
1
0
1
0
1
Q(t)
0
1
Q(t)
No change
Reset
Set
Complement
Characteristic Equation
Q(t+1)
= KQ(t) + JQ(t)
/
k
t
.
e
b
u
t
e
s
c
/
Logic Diagram
/
:
p
t
t
h
http://csetube.weebly.com/
EXCITATION TABLE
Q
0
Q(next)
0
J
0
K
X
T Flip-Flop
Graphical Symbol
/
k
t
.
e
b
Characteristic Table
u
t
0
Q(t)
No change
e
s
1
Q(t)
Complement
c
/
/
:
p
t
ht
Q(t+1)
Operation
Characteristic Equation
Q(t+1)
= TQ(t) + TQ(t)
= T Q(t)
Logic Diagram
http://csetube.weebly.com/
Q
0
Q(next)
0
T
0
EXCITATION TABLE
Shift Register
A shift register is a cascade of Flip flops, sharing the same clock, which has the
output of any one but the last flip-flop connected to the "data" input of the next
one in the chain, resulting in a circuit that shifts by one position the onedimensional "bit array" stored in it, shifting in the data present at its input and
shifting out the last bit in the array, when enabled to do so by a transition of the
clock input. More generally, a shift register may be multidimensional, such that
its "data in" input and stage outputs are themselves bit arrays: this is implemented
simply by running several shift registers of the same bit-length in parallel.
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
Counters
In digital logic and computing, a counter is a device which stores (and sometimes
displays) the number of times a particular event or process has occurred, often in
relationship to a clock signal.
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
tt
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Present State
A
B
0
0
1
1
00
0
1
0
1
Next State
A
B
0
1
1
0
/
k
t
.
e
b
01
11
1
0
1
0
u
t
e
s
c
/
t
t
h
/10
:
p
Counter Design
http://csetube.weebly.com/
00
01
11
10
0
00
0
u
t
e
/
:
p
Present State
Q1
Q0
.
e
b
s
c
/ 10
t
t
h
0
0
0
0
1
1
1
1
01
11
/
k
t
0
0
1
1
0
0
1
1
Inputs
X
0
1
0
1
0
1
0
1
Next State
Q1
Q0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
If we use D flip-flops, then the D inputs will just be the same as the desired
next states.
Equations for the D flip-flop inputs are shown at the right.
http://csetube.weebly.com/
Present State
Q1
Q0
0
0
0
0
1
1
1
1
Inputs
X
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Next State
Q1
Q0
0
1
Q1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
0
X
Q0
0
1
Q1
:
p
t
ht D
1
1
X
Q0
0
0
0
0
= Q0
If we use JK flip-flops instead, then we have to compute the JK inputs for each flip-flop.
Look at the present and desired next state, and use the excitation table on the right.
Present State
Q1
Q0
0
0
0
0
1
1
1
1
cs
//
.
e
b
u
t
e
D1 = Q1 Q0 X
1
1
/
k
t
1
0
0
0
1
1
0
0
1
1
Inputs
X
Next State
Q1
Q0
J1
0
0
1
0
x
1
1
1
1
1
x
1
0
1
0
1
x
x
1
0
0
0
x
x
0
1
1
x
0
1
1
0
1
x
1
1
0
0
0
x
1
x
http://csetube.weebly.com/
1
1
0
x
0
x
K0
x
x
1
1
x
x
1
1
We can then find equations for all four flip-flop inputs, in terms of the present
state and inputs. Here, it turns out J1 = K1 and J0 = K0.
J1 = K1 = Q0 X + Q0 X
J0 = K0 = 1
Johnson Counter
/
k
t
.
e
b
u
t
e
State Table
s
c
/
The state table representation of a sequential circuit consists of three sections labelled
present state, next state and output. The present state designates the state of flip-flops
before the occurrence of a clock pulse. The next state shows the states of flip-flops after
the clock pulse, and the output section lists the value of the output variables during the
present state.
State Diagram
In addition to graphical symbols, tables or equations, flip-flops can also be
represented graphically by a state diagram. In this diagram, a state is represented by a
circle, and the transition between states is indicated by directed lines (or arcs) connecting
the circles. An example of a state diagram is shown in Figure below.
/
:
p
t
t
h
Figure .
State
Diagram
http://csetube.weebly.com/
State Table
Present State
00
01
10
11
Next State
X=0
11
11
10
10
Output
X=1
01
00
11
10
X=0
0
0
0
0
X=1
0
0
1
1
State reduction
In the design of sequential circuits, we need to reduce the number of flip flops and
the number of logic gates used in the combinational circuit part. Reduction of the number
of flip-flops may result from the reduction of the number of states in the circuit. This is
possible if we are interested in the input output relationship of the circuit and not in the
outputs of the flip-flops.
/
k
t
State Assignment
State Assignment procedures are concerned with methods for assigning binary
values to states in such a way as to reduce the cost of combinational circuit that drives the
flipflop.
State
A
B
C
D
Assignment 1
001
000
010
110
.
e
b
u
t
e
Assignment 2
000
010
101
111
s
c
/
/
:
p
Races
A race condition or race hazard is a flaw in an electronic system or process whereby
the output and/or result of the process is unexpectedly and critically dependent on the
sequence or timing of other events. The term originates with the idea of two signals
racing each other to influence the output first.
t
t
h
http://csetube.weebly.com/
Transition Table
/
k
t
.
e
b
The analysis of the circuit starts by considering the excitation variables (Y1 and Y2) as
outputs and the secondary variables (y1 and y2) as inputs.
The next step is to plot the Y1 and Y2 functions in a map:
u
t
e
s
c
/
/
:
p
t
t
h
Combining the binary values in corresponding squares the following transition table is
obtained:
http://csetube.weebly.com/
/
k
Primitive flow table: one that has only one stable state int
each row.
.
To obtain the circuit described by a flow table, it is necessary
to assign
e
to each state a distinct binary value, which converts
the flow table into a
b
transition table.
u
t
e
s
c
/
/
:
p
t
ht
http://csetube.weebly.com/
Races
A race condition exists in an asynchronous circuit when two or more binary state
variables change value in response to a change in an input variable. When unequal delays
are encountered, a race condition may cause the state variable to change in an
unpredictable manner. If the final stable state that the circuit reaches does not depend on
the order in which the state variables change, the race is called a noncritical race.
Examples of noncritical races are illustrated in the transition tables below:
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Hazard
In digital logic, a hazard in a system is an undesirable effect caused by either a
deficiency in the system or external influences. Logic hazards are manifestations of a
problem in which changes in the input variables do not change the output correctly due to
some form of delay caused by logic elements (NOT, AND, OR gates, etc.) This results in
the logic not performing its function properly. The three different most common kinds of
hazards are usually referred to as static, dynamic and function hazards.
Hazards are a temporary problem, as the logic circuit will eventually settle to the desired
function. However, despite the logic arriving at the correct output, it is imperative that
hazards be eliminated as they can have an effect on other connected systems.
A static hazard is the situation where, when one input variable changes, the output
changes momentarily before stabilizing to the correct value. There are two types of static
hazards:
/
k
t
Static-1 Hazard: the output is currently 1 and after the inputs change, the output
momentarily changes to 0 before settling on 1
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
Static-0 Hazard: the output is currently 0 and after the inputs change, the output
momentarily changes to 1 before settling on 0
A dynamic hazard is the possibility of an output changing more than once as a result of
a single input change. Dynamic hazards often occur in larger logic circuits where there
are different routes to the output (from the input). If each route has a different delay, then
it quickly becomes clear that there is the potential for changing output values that differ
from the required / expected output. e.g. A logic circuit is meant to change output state
http://csetube.weebly.com/
from 1 to 0, but instead changes from 1 to 0 then 1 and finally rests at the correct value 0.
This is a dynamic hazard.
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
Y = x1x2 + x2 x3
http://csetube.weebly.com/
/
k
t
Y = x1x2 + x2 x3 + x1x3
Hazard Free Logic diagram is
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
The main advantage of synchronous logic is its simplicity. Every operation in the circuit
must be completed inside a fixed interval of time between two clock pulses, called a
'clock cycle'. As long as this condition is met (ignoring certain other details), the circuit is
guaranteed to be reliable. Synchronous logic also has two main disadvantages, as follows.
1. The clock signal must be distributed to every flip-flop in the circuit. As the clock is
usually a high-frequency signal, this distribution consumes a relatively large amount of
http://csetube.weebly.com/
power and dissipates much heat. Even the flip-flops that are doing nothing consume a
small amount of power, thereby generating waste heat in the chip.
2. The maximum possible clock rate is determined by the slowest logic path in the circuit,
otherwise known as the critical path. This means that every logical calculation, from the
simplest to the most complex, must complete in one clock cycle. One way around this
limitation is to split complex operations into several simple operations, a technique
known as 'pipelining'. This technique is prominent within microprocessor design, and
helps to improve the performance of modern processors.
In digital circuit theory, sequential logic is a type of logic circuit whose output
depends not only on the present input but also on the history of the input. This is in
contrast to combinational logic, whose output is a function of, and only of, the present
input. In other words, sequential logic has storage (memory) while combinational logic
does not.
/
k
t
Sequential logic is therefore used to construct some types of computer memory, other
types of delay and storage elements, and finite state machines. Most practical computer
circuits are a mixture of combinational and sequential logic.
.
e
b
There are two types of finite state machine that can be built from sequential logic circuits:
u
t
e
Moore machine: the output depends only on the internal state. (Since the internal
state only changes on a clock edge, the output only changes on a clock edge too).
Mealy machine: the output depends not only on the internal state, but also on the
inputs.
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Analysis Procedure
The analysis consists of obtaining a table or a diagram that describes the sequence of
internal states and outputs as a function of changes in the input variables.
1. Determine all feedback loops.
2. Designate each feedback-loop output with Yi and its corresponding input with yi for i
= 1; : : : ; k, where k is the number of feedback loops.
3. Derive the boolean functions for all Y s.
4. Plot the transition table from the equations.
/
k
t
Design Procedure
.
e
b
u
t
e
s
c
/
/
:
p
Example problem
t
t
h
Design a gated latch circuit with two inputs, G (gate) and D (data), and one output Q. The
gated latch is a memory element that accepts the value of D when G = 1 and retains this
value after G goes to 0. Once G = 0, a change in D does not change the value of the
output Q.
Solution
State table
State
a
b
c
d
e
f
Inputs
D
0
1
0
1
1
0
G
1
1
0
0
0
0
Output
Q
0
1
0
0
1
1
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Informal Merging
Formal Merging
/
k
t
Compatible Pairs
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Maximal Compatibles
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Reduced Table
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
Logic Diagram
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
HDL
Register - Retains the last value assigned to it. Often used to represent storage elements.
wire equivalent; when there are multiple drivers driving them, the outputs of the drivers
are shorted together.
Arithmetic operators - *, /, +, -, %
Logical operators - ! logical negation && logical AND | | logical OR
Relational operators >, <, >=, <=, ==, !=
Bitwise operators ~, &, |, ^, ~^
Reduction operators (operate on all the bits within a word) &, ~&, |, ~|, ^, ~^
accepts a single word operand and produces a single bit as output
Shift operators >>, <<
Concatenation { }
Replication { n { } }
Conditional <condition> ? <expression1> : <expression2>
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Basic Structure
/
k
t
output f;
.
e
b
assign f = x & y;
endmodule
u
t
e
s
c
/
/
:
p
t
t
h
Simple HDL
module smpl_circuit(A,B,C,x,y);
input A,B,C;
output x,y;
wire e;
and g1(e,A,B);
http://csetube.weebly.com/
/
k
t
.
e
b
or #(20) g3(x,e,y);
u
t
e
/
:
p
s
c
/
t
t
h
Input
Output
(ns)
ABC
yex
<0
000
101
111
101
10
111
001
20
111
001
Time
http://csetube.weebly.com/
30
111
010
40
111
010
50
111
011
/
k
t
.
e
b
u
t
e
input A,B,C;
output x,y;
s
c
/
/
:
p
assign y = ~C ;
endmodule
t
t
h
http://csetube.weebly.com/
module mux2x1_bh(A,B,select,OUT);
input A,B,select;
output OUT;
reg OUT;
always @ (select or A or B)
if (select == 1) OUT = A;
else OUT = B;
endmodule
//D Latch
module DLatch(D, Control, Q, notQ);
/
k
t
input D, Control;
.
e
b
output Q, Qnot;
reg Q, Qnot;
u
t
e
always @ (Control or D)
begin
s
c
/
if (Control) Q = D;
/
:
p
Qnot = ~Q;
end
endmodule
//D flipflop
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
21. What is the algebraic function of Exclusive-OR gate and Exclusive-NOR gate?
F=xy1 + x1 y
F=xy +x1 y1
22. What are the methods adopted to reduce Boolean function?
i)
Karnaugh map
ii)
Tabular method or Quine mccluskey method
iii)
Variable entered map technique.
23. Why we go in for tabulation method?
This method can be applied to problems with many variables and has the
advantage of being suitable for machine computation.
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
28. List out the advantages and disadvantages of Quine-Mc Cluskey method?
The advantages are,
a. This is suitable when the number of variables exceed four.
b. Digital computers can be used to obtain the solution fast.
c. Essential prime implicants, which are not evident in K-map, can be clearly
seen in the final results.
The disadvantages are,
a. Lengthy procedure than K-map.
b. Requires several grouping and steps as compared to K-map.
c. It is much slower.
d. No visual identification of reduction process.
e. The Quine Mc Cluskey method is essentially a computer reduction
method.
29. Define Positive Logic.
http://csetube.weebly.com/
When high voltage or more positive voltage level is associated with binary 1
and while the low or less positive level is associated with binary 0 then the system
adhering to this is called positive logic.
30. Define Negative Logic.
When high voltage level is associated with binary 0 and while the low level is
associated with binary 1 then the system adhering to this is called negative logic
31. List the characteristics of digital Ics
i)
propagation delay
ii)
power dissipation
iii)
Fan-in
iv)
Fan-out
v)
Noise margin
32. What is propagation delay?
It is the average transition delay time for the signal to propagate from input to
output when the signals change in value.
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
i.
ii.
2-4-2-1 code.
Excess-3 code.
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
47. What are the two types of logic circuits for digital systems?
Combinational and sequential
48. Define Combinational circuit.
A combinational circuit consist of logic gates whose outputs at anytime are
determined directly from the present combination of inputs without regard to previous
inputs.
49. Define sequential circuits.
Their outputs are a function of the inputs and the state of memory elements. The
state of memory elements, in turn, is a function of previous inputs.
50. What is a half-adder?
The combinational circuit that performs the addition of two bits are called a halfadder.
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Output
Borrow( B )
0
1
0
0
Diffe ( D )
0
1
1
0
63.From the truth table of a half adder derive the logic equation
S=XY
C=X.Y
64. From the truth table of a half subractor derive the logic equation
D=XY
B = X1 . Y
/
k
t
.
e
b
65. From the truth table of a full adder derive the logic equation
S=XYZ
C = XY + YZ + XZ
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
tu
Output
Sum ( S )
Carry ( C )
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
e
s
c
/
/
:
p
t
t
75. From the truth table of a full subtractor derive the logic equation
S=XYZ
C = X1Y + YZ + X1Z
76. What is priority encoder?
A priority encoder is an encoder that includes the priority function. The operation
of the priority encoder is such that if two or more inputs are equal to 1 at the same time,
the input having the highest priority will take precedence.
77. Can a decoder function as a Demultiplexer?
Yes. A decoder with enable can function as a Demultiplexer if the enable line E is
taken as a data input line A and B are taken as selection lines.
78. List out the applications of multiplexer?
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
INPUTS
A
n-bit
comparator
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
Storage
capacitor
DRAM cell
/
k
t
The stored charges on the capacitors tend to discharge with time and the
capacitors must be tending to discharge with time and the capacitors must be
periodically recharged by refreshing the dynamic memory.
DRAM offers reduced power consumption and larger storage capacity in a
single memory chip.
88. Explain SRAM?
Static RAM (SRAM) consists of internal latches that store the binary
information. The stored information remains valid as long as the power is applied to
the unit.
SRAM is easier to use and has shorter read and write cycle.
The memory capacity of a static RAM varies from 64 bit to 1 mega bit.
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
Non-volatile memory
It retains stored information when power is
turned off.
E.g. Magnetic disc and ROM
90. What are the terms that determine the size of a PAL?
The size of a PLA is specified by the
a. Number of inputs
b. Number of products terms
c. Number of outputs
91. What are the advantages of RAM?
The advantages of RAM are
a. Non-destructive read out
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
END entity_name;
97. What do you meant by concurrent statement?
Architecture contains only concurrent statements. It specifies behavior,
functionality, interconnections or relationship between inputs and outputs.
98. What are operates used in VDHL language?
There are different types of operators used in VHDL language
Logical operators
: AND, OR, NOT, XOR, etc.,
Relational operator : equal to, <less than etc.,
Shift operators
: SLL- Shift Left Logical,
ROR- Rotate Right Logical etc.,
Arithmetic operators: Addition, subtraction etc.,
Miscellaneous operators: <= assign to etc.,
99. Define VHDL package?
A VHDL, package is a file containing definitions of objects which can be used
in other programs. A package may include objects such as signals, type, constant,
function, procedure and component declarations
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
s
c
/
:/
Q(t)
0
0
1
1
p
t
t
u
t
e
Q(t+1)
0
1
0
1
J
0
1
X
X
K
X
X
1
0
S
0
1
0
X
R
X
0
1
0
Q(t+1)
0
1
0
1
http://csetube.weebly.com/
Q(t)
0
0
1
1
Q(t+1)
0
1
0
1
T
0
1
1
0
Q(t+1)
0
1
0
1
T
0
1
0
1
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
119. What is the difference between truth table and excitation table.
i)
An excitation table is a table that lists the required inputs for a given
change of state.
ii)
A truth table is a table indicating the output of a logic circuit for various
input states.
120. What is counter?
A counter is used to count pulse and give the output in binary form.
121. What is synchronous counter?
In a synchronous counter, the clock pulse is applied simultaneously to all flipflops. The output of the flip-flops change state at the same instant. The speed of operation
is high compared to an asynchronous counter
122. What is Asynchronous counter?
http://csetube.weebly.com/
In a Asynchronous counter, the clock pulse is applied to the first flip-flops. The
change of state in the output of this flip-flop serves as a clock pulse to the next flip-flop
and so on. Here all the flip-flops do not change state at the same instant and hence speed
is less.
123. What is the difference between synchronous and asynchronous counter?
Sl.No.
Synchronous counter
1.
Clock pulse is applied
simultaneously
2.
Asynchronous counter
Clock pulse is applied to the first
flip-flop, the change of output is
given as clock to next flip-flop
Speed of operation is low.
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
136. Form the truth table for 3-bit binary down counter.
Clk
1
1
1
1
1
1
1
1
1
Q2
1
1
1
1
0
0
0
0
1
.
e
b
u
t
e
s
c
/
/
:
p
Q1
1
1
0
0
1
1
0
0
1
Q0
1
0
1
0
1
0
1
0
1
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
157. What is link path? How many entrance paths & exit paths are there in SM block?
A path through an SM block from entrance to exit is referred to as link path. An
SM block has one entrance and exit path.
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
167. Does Hazard occur in sequential circuit? If so what is the problem caused?
Yes, Hazards occur in sequential circuit that is Asynchronous sequential circuit.
It may result in a transition to a wrong state.
168. Give the procedural steps for determining the compatibles used for the purpose of
merging a flow table.
The purpose that must be applied in order to find a suitable group of compatibles
for the purpose of merging a flow table can be divided into 3 procedural steps.
i.
Determine all compatible pairs by using the implication table.
ii.
Find the maximal compatibles using a Merger diagram
iii.
Find a minimal collection of compatibles that covers all the states and is
closed.
169. What are the types of hazards?
The 3 types of hazards are 1) Static 0 hazards
2) Static 1 hazard
3) Dynamic hazards
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/
/
k
t
.
e
b
u
t
e
s
c
/
/
:
p
t
t
h
http://csetube.weebly.com/