m.tech notes advanced logic design
m.tech notes advanced logic design
Avoid it?
Metastability in VLSI is an unstable equilibrium occurrence in digital electronics in which the sequential
element is unable to resolve the state of the input signal. This causes the output to remain unresolved for
an infinite period. This often occurs when data transitions extremely close to the active edge of the clock,
breaking setup and holding constraints. Because the data transitions near the active edge of the clock,
the flop is unable to catch the data entirely. The flop begins to capture data, and the output begins to
transition. However, before the output changes its state, the input is disconnected from the output when
the clock edge arrives.
When there is setup and hold time violations in a flip-flop, it enters a state in which its output is
unpredictable: this is known as a metastable state (quasi-stable state). At the end of the metastable state,
the flip-flop settles down to either ‘1’ or ‘0’. This is referred to as metastability. When the flip-flop is in a
metastable state, the output oscillates between ‘0’ and ‘1’. The time it takes to settle down is determined
by the technology of the flip-flop.
In reality, it is impossible to prevent metastability without the employment of complex self-timed circuits
and increasing clock-to-Q delays when synchronizing asynchronous inputs. Designers can tolerate
metastability in the simplest instance by ensuring that the clock period is long enough to allow for the
resolution of quasi-stable states and the delay of whatever logic is in the route to the next flip-flop. This
strategy is rarely viable given the performance needs of most current systems.
Tolerating metastability in VLSI is most commonly accomplished by adding one or more subsequent
synchronizing flip-flops to the synchronizer. This method permits metastable events in the first
synchronizing flip-flop to resolve themselves across a complete clock period. However, this increases the
delay in the perception of input changes of the synchronous logic. Neither of these systems can ensure
that metastability will not pass through the synchronizer. They only lower the likelihood to manageable
levels.
Conclusion
If you are interested in knowing about VLSI in depth or are willing to make a career in VLSI, then
Chipedge is the right place for you. It is the best VLSI training institute in Bangalore that offers a wide
range of VLSI courses online that includes VLSI design courses, DFT courses, RTL courses, Design
verification courses, and many more. Enroll yourself now.
The noise margin in VLSI
The noise margin in VLSI is the amount of noise that a CMOS circuit can endure without interfering with
its function. The noise margin ensures that any logic ‘1’ signal with finite noise added to it is still identified
as logic ‘1’ and not logic ‘0’. It is essentially the difference between the signal and noise values.
The noise margin in a VLSI digital circuit is the amount by which the signal exceeds the threshold for a
correct ‘0’ or ‘1’. As an example, a digital circuit may be constructed to swing between 0.0 and 1.2 volts,
with anything less than 0.2 volts regarded as a ‘0’ and anything greater than 1.0 volts considered as a ‘1’.
The noise margin for a ‘0’ is the amount by which a signal is less than 0.2 volts, while the noise margin for
a ‘1’ is the amount by which a signal exceeds 1.0 volts. Noise margins are assessed as an absolute
voltage rather than a ratio in this situation. Because VOH min is closer to the power supply voltage and
VOL max is closer to zero, noise margins for CMOS chips are often substantially higher than those for
TTL.
There are two noise margins to consider: high noise margin (NMH) and low noise margin (NML). NMH is
the voltage difference between an inverter moving from a logic high (1) to a logic low (0) and vice versa
for NML. Equations are:
With a CMOS inverter, VOH equals VDD and VOL equals the ground potential.
In practice, the noise margin in VLSI is the amount of noise that a logic circuit can endure. Positive noise
margins ensure correct operation, whereas negative noise margins result in impaired functioning or
outright failure.
Conclusion
If you found this useful and want to know more about the semiconductor industry in depth or want to
make a career in the VLSI field, then Chipedge is here to help you. Being the best VLSI training institute
in Bangalore, it offers a wide range of online VLSI courses that covers courses
including DFT, RTL, Design Verification, and many more. Enroll yourself now.
Fanout
In VLSI (Very Large Scale Integration), the term "max fanout" refers to the maximum
number of standard loads that a gate output can drive while still maintaining correct
logic levels. It is an important parameter in digital circuit design, as exceeding the
max fanout can lead to signal degradation and timing issues.
The Fan-out Pattern is a software design pattern commonly used in distributed systems to efficiently
manage and distribute messages from a single source to multiple destinations. In this pattern, there is a
central component or service that acts as the source of messages.
CMOS has the maximum fan-out capacity. Additional Information. Fan-Out is the maximum number of
inputs that can be connected to the output of a gate without affecting the normal operation..
Synchronous circuit
To make these circuits work correctly, a great deal of care is needed in the design of
the clock distribution networks. Static timing analysis is often used to determine the
maximum safe operating speed.
Nearly all digital circuits, and in particular nearly all CPUs, are fully synchronous circuits
with a global clock. Exceptions are often compared to fully synchronous circuits.
Exceptions include self-synchronous circuits, globally asynchronous locally
[1][2][3][4]
synchronous sequential circuits are digital circuits that use clock signals to
determine the timing of their operations. They are commonly used in digital systems
to implement timers, counters, and memory elements and are essential components
in digital systems design.
A Moore machine is a type of FSM where the outputs depend only on the
current state. This implies that regardless of the inputs, the outputs are
determined by the state the machine is in. The transitions between states
are triggered by the inputs, but the outputs are associated with the states
themselves.
Latch
A latch is an electronic device that changes its output immediately on the basis of the applied input. One
can use it to store either 0 or 1 at a specified time. A latch contains two inputs- SET and RESET, and it
also has two outputs. They complement each other.
A door latch is a general type of latch used for keeping doors or gates closed. A typical door latch is a
door knob composed of a latching mechanism, a locking mechanism, and two knobs on the interior and
exterior sides. Other types of latches are bolt, spring, cam, compression, slam, and rotary latches.
The simplest bistable device, therefore, is known as a set-reset, or S-R, latch. To create an S-R latch, we
can wire two NOR gates in such a way that the output of one feeds back to the input of another, and vice
versa, like this: The Q and not-Q outputs are supposed to be in opposite states.
A latch or catch (called sneck in Northern England and Scotland) is a type of mechanical fastener
that joins two (or more) objects or surfaces while allowing for their regular separation. A latch typically
engages another piece of hardware on the other mounting surface.
A D latch is like an S-R latch with only one input: the “D” input. Activating the D input sets the circuit, and
de-activating the D input resets the circuit. Of course, this is only if the enable input (E) is activated as
well. Otherwise, the output(s) will be latched, unresponsive to the state of the D input. A D latch is like an
S-R latch with only one input: the “D” input. Activating the D input sets the circuit, and de-activating the D
input resets the circuit. Of course, this is only if the enable input (E) is activated as well. Otherwise, the
output(s) will be latched, unresponsive to the state of the D input.
In summary, latches are digital circuits that store a single bit of information and hold
its value until it is updated by new input signals. There are two types of latches: S-R
(Set-Reset) Latches and D (Data) Latches, and they are widely used in digital
systems for various applications.
Master–slave edge-triggered
Master–slave edge-triggered D flip-flopThis allows the "master" latch to store the
input value when the clock signal transitions from low to high. As the clock signal
goes high (0 to 1) the inverted "enable" of the first latch goes low (1 to 0) and the
value seen at the input to the master latch is "locked".
They are:types
Latch or Set-Reset (SR) flip-flop.
JK flip-flop.
T (Toggle) flip-flop.
D (Delay or Data) flip-flop.
Counters
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. Counters are used in digital
electronics for counting purpose, they can count specific event happening in the circuit. For
example, in UP counter a counter increases count for every rising edge of clock. Not only
counting, a counter can follow the certain sequence based on our design like any random
sequence 0,1,3,2… .They can also be designed with the help of flip flops. They are used as
frequency dividers where the frequency of given pulse waveform is divided. Counters are
sequential circuit that count the number of pulses can be either in binary code or BCD form. The
main properties of a counter are timing , sequencing , and counting. Counter works in two modes
Up counter
Down counter
Counter Classification
Counters are broadly divided into two categories
1. Asynchronous counter
2. Synchronous counter
1. Asynchronous Counter
In asynchronous counter we don’t use universal clock, only first flip flop is driven by main clock
and the clock input of rest of the following flip flop is driven by output of previous flip flops. We can
understand it by following diagram-
It is evident from timing diagram that Q0 is changing as soon as the rising edge of clock pulse is
encountered, Q1 is changing when rising edge of Q0 is encountered(because Q0 is like clock
pulse for second flip flop) and so on. In this way ripples are generated through Q0,Q1,Q2,Q3
hence it is also called RIPPLE counter and serial counter. A ripple counter is a cascaded
arrangement of flip flops where the output of one flip flop drives the clock input of the following flip
flop
2. Synchronous Counter
Unlike the asynchronous counter, synchronous counter has one global clock which drives each flip
flop so output changes in parallel. The one advantage of synchronous counter over asynchronous
counter is, it can operate on higher frequency than asynchronous counter as it does not have
cumulative delay because of same clock is given to each flip flop. It is also called as parallel
counter.
Decade Counter
A decade counter counts ten different states and then reset to its initial states. A simple decade
counter will count from 0 to 9 but we can also make the decade counters which can go through
any ten states between 0 to 15(for 4 bit counter).
Q
Clock pulse Q2 Q1 Q0
3
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 0 0 0 0
Q2. The control signal functions of a 4-bit binary counter are given below (where X is “don’t
care”)
The counter is connected as follows:
Assume that the counter and gate delays are negligible. If the counter starts at 0, then it
cycles through the following sequence:
(A) 0,3,4
(B) 0,3,4,5
(C) 0,1,2,3,4
(D) 0,1,2,3,4,5 (GATE-CS-
2007)
Solution:
Initially A1 A2 A3 A4 =0000
Clr=A1 and A3
So when A1 and A3 both are 1 it again goes to 0000
Hence 0000(init.) -> 0001(A1 and A3=0)->0010 (A1 and A3=0) -> 0011(A1 and A3=0) -> 0100 (A1
and A3=1)[ clear condition satisfied] ->0000(init.) so it goes through 0->1->2->3->4
Ans is (C) part.
Quiz on Digital Logic
Article contributed by Anuj Batham, Please write comments if you find anything incorrect, or you
want to share more information about the topic discussed above
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech
landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at
affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the
millions we've already empowered, and we're here to do the same for you. Don't miss out - check
it out now!
Commit to GfG's Three-90 Challenge! Purchase a course, complete 90% in 90 days, and save
90% cost click here to explore.
Last Updated : 06 Mar, 2023
48
Previous
Conversion of J-K Flip-Flop into D Flip-Flop
Next
Ripple Counter in Digital Logic
Share your thoughts in th
Courses
Jobs
Pre-Requisite: Flip-Flops
Flip flops can be used to store a single bit of binary data (1 or 0). However, in order to
store multiple bits of data, we need multiple flip-flops. N flip flops are to be connected in
order to store n bits of data. A Register is a device that is used to store such
information. It is a group of flip-flops connected in series used to store multiple bits of
data. The information stored within these registers can be transferred with the help
of shift registers.
Shift Register is a group of flip flops used to store multiple bits of data. The bits stored
in such registers can be made to move within the registers and in/out of the registers by
applying clock pulses. An n-bit shift register can be formed by connecting n flip-flops
where each flip-flop stores a single bit of data. The registers which will shift the bits to
the left are called “Shift left registers”. The registers which will shift the bits to the right
are called “Shift right registers”. Shift registers are basically of following types.
The shift register, which allows serial input (one bit after the other through a single data
line) and produces a serial output is known as a Serial-In Serial-Out shift register. Since
there is only one output, the data leaves the shift register one bit at a time in a serial
pattern, thus the name Serial-In Serial-Out Shift Register. The logic circuit given below
shows a serial-in serial-out shift register. The circuit consists of four D flip-flops which
are connected in a serial manner. All these flip-flops are synchronous with each other
since the same clock signal is applied to each flip-flop.
The above circuit is an example of a shift right register, taking the serial data input from
the left side of the flip flop. The main use of a SISO is to act as a delay element.
The shift register, which allows serial input (one bit after the other through a single data
line) and produces a parallel output is known as the Serial-In Parallel-Out shift register.
The logic circuit given below shows a serial-in-parallel-out shift register. The circuit
consists of four D flip-flops which are connected. The clear (CLR) signal is connected in
addition to the clock signal to all 4 flip flops in order to RESET them. The output of the
first flip-flop is connected to the input of the next flip flop and so on. All these flip-flops
are synchronous with each other since the same clock signal is applied to each flip-flop.
The above circuit is an example of a shift right register, taking the serial data input from
the left side of the flip-flop and producing a parallel output. They are used in
communication lines where demultiplexing of a data line into several parallel lines is
required because the main use of the SIPO register is to convert serial data into parallel
data.
The shift register, which allows parallel input (data is given separately to each flip flop
and in a simultaneous manner) and produces a serial output is known as a Parallel-In
Serial-Out shift register. The logic circuit given below shows a parallel-in-serial-out shift
register. The circuit consists of four D flip-flops which are connected. The clock input is
directly connected to all the flip-flops but the input data is connected individually to
each flip-flop through a multiplexer at the input of every flip-flop. The output of the
previous flip-flop and parallel data input are connected to the input of the MUX and the
output of MUX is connected to the next flip-flop. All these flip-flops are synchronous with
each other since the same clock signal is applied to each flip-flop.
Parallel-In Serial-Out Shift Register (PISO)
A Parallel in Serial Out (PISO) shift register is used to convert parallel data to serial data.
The shift register, which allows parallel input (data is given separately to each flip flop
and in a simultaneous manner) and also produces a parallel output is known as Parallel-
In parallel-Out shift register. The logic circuit given below shows a parallel-in-parallel-out
shift register. The circuit consists of four D flip-flops which are connected. The clear
(CLR) signal and clock signals are connected to all 4 flip-flops. In this type of register,
there are no interconnections between the individual flip-flops since no serial shifting of
the data is required. Data is given as input separately for each flip flop and in the same
way, output is also collected individually from each flip flop.
A Parallel in Parallel out (PIPO) shift register is used as a temporary storage device and
like SISO Shift register it acts as a delay element.
If we shift a binary number to the left by one position, it is equivalent to multiplying the
number by 2 and if we shift a binary number to the right by one position, it is equivalent
to dividing the number by 2. To perform these operations we need a register which can
shift the data in either direction. Bidirectional shift registers are the registers that are
capable of shifting the data either right or left depending on the mode selected. If the
mode selected is 1(high), the data will be shifted toward the right direction and if the
mode selected is 0(low), the data will be shifted towards the left direction. The logic
circuit given below shows a Bidirectional shift register. The circuit consists of four D flip-
flops which are connected. The input data is connected at two ends of the circuit and
depending on the mode selected only one gate is in the active state.
Universal Shift Register is a type of register that contains the both right shift and the left
shift. It has also parallel load capabilities. Generally, these types of registers are taken
as memory elements in computers. But, the problem with this type of register is that it
shifts only in one direction. In simple words, you mean that the universal shift register is
a combination of the bidirectional shift register and the unidirectional shift
register.
Universal Shift Register
N-bit universal shift register consists of flip-flops and multiplexers. Both are N in size. In
this, all the n multiplexers share the same select lines and this select input selects the
suitable input for flip-flops.
Shift Register Counters are the shift registers in which the outputs are connected back
to the inputs in order to produce particular sequences. There are basically two types:
Ring Counter
Johnson Counter
Ring Counter
A ring counter is basically a shift register counter in which the output of the first flip-flop
is connected to the next flip-flop and so on and the output of the last flip-flop is again
fed back to the input of the first flip-flop, thus the name ring counter. The data pattern
within the shift register will circulate as long as clock pulses are applied. The logic
circuit given below shows a Ring Counter.
The circuit consists of four D flip-flops which are connected. Since the circuit consists of
four flip-flops the data pattern will repeat after every four clock pulses as shown in the
truth table. A Ring counter is generally used because it is self-decoding. No extra
decoding circuit is needed to determine what state the counter is in.
Ring Counter
Johnson Counter
A Johnson counter is basically a shift register counter in which the output of the first flip
flop is connected to the next flip flop and so on and the inverted output of the last flip
flop is again fed back to the input of the first flip flop. They are also known as twisted
ring counters. The logic circuit given below shows a Johnson Counter. The circuit
consists of four D flip-flops which are connected.
An n-stage Johnson counter yields a count sequence of 2n different states, thus also
known as a mod-2n counter. Since the circuit consists of four flip-flops the data pattern
will repeat every eight clock pulses as shown in the truth table. The main advantage of
the Johnson counter is that it only needs n number of flip-flops compared to the ring
counter to circulate a given data to generate a sequence of 2n states.
Johnson Counter