You are on page 1of 12

VLSI DESIGN PROJECT – Group 4

Student Name ID No.


Sai Kiran Reddy 2023H1400114H
Mekala Sravan Kumar 2023H1400115H
Vattipelli Srinath 2023H1400116H
M Naveen Kumar 2023H1400131H
AIM:
Design and implement an 8-bit right rotation linear barrel shifter based on Transmission
Gate switches using Cadence Virtuoso. Report the average power dissipation and
propagation delay. Explain the procedure in detail, the steps to convert this right rotation
shifter to a left rotation shifter.

Tools Used:
Cadence Virtuoso

Libraries Used:
Gpdk180 library, analog Lib library
Introduction:
A linear barrel shifter is a digital circuit used in computer architecture and digital design
to perform bitwise shift operations on binary data. It allows for shifting the bits of a
binary number by a fixed or variable number of positions in a linear, sequential manner.
Unlike a non-linear barrel shifter which can shift by arbitrary amounts, a linear barrel
shifter shifts the data by fixed increments in a straightforward sequence.
1. Bitwise Shifting Operations: In digital systems, bitwise shifting involves
moving each bit in a binary number to the left or right by a specified number of
positions. Shifting left is equivalent to multiplication by powers of 2, while
shifting right is equivalent to division by powers of 2 (for unsigned integers).
2. Fixed Increment Shifts: Linear barrel shifters operate by shifting the bits of the
input data by a fixed number of positions at each stage. For example, in an 8-bit
linear barrel shifter, each stage might shift the data by 1 bit, resulting in an 8-bit
shift performed in eight sequential stages.
3. Hardware Implementation: Linear barrel shifters can be designed using
various hardware components such as multiplexers, shift registers, logic gates, or
Transmission Gate switches, depending on the design requirements and
constraints.

Barrel Shifter:
Linear barrel shifters play a critical role in digital systems, including arithmetic and
logic units (ALUs), processors, and other data manipulation circuits, providing a
fundamental capability for shifting binary data in a systematic and controlled manner.
There are two primary types of barrel shifters:
1. Serial Barrel Shifter: In a serial barrel shifter, the bits are shifted sequentially,
one bit at a time. It operates in a series of stages, with each stage responsible for
shifting the bits by one position. This type is simpler but slower compared to
parallel barrel shifters.
2. Parallel Barrel Shifter: A parallel barrel shifter can shift the entire binary
number by multiple positions in a single clock cycle. It uses a network of
multiplexers to select the appropriate shifted bits based on the shift amount
provided as input.

Working of Barrel Shifter:


1. Input Data: The linear barrel shifter takes an input data word of fixed length
(e.g., 8, 16, or 32 bits) that needs to be shifted.
2. Control Signals: Control logic determines the amount and direction of shifting
in each stage based on the shift amount specified. Control signals activate the
appropriate stages to perform the necessary shifts.
3. Shift Direction: Depending on whether it is a left or right shift operation, the
bits are moved accordingly. In a right shift, each stage shifts the bits to the right,
and the bits that are shifted out of the most significant position (MSB) are
discarded.
Example Operation:
Consider an 8-bit parallel barrel shifter. For instance, if you want to shift a binary
number 10101010 by 3 positions to the left:
• The barrel shifter would take the input number.
• Based on the shift amount (3 in this case), it would select the appropriate bits
from the input and rearrange them to create the shifted output.
• After shifting, the result would be 01010100.

Advantages of Barrel Shifter:


1. Speed: Linear barrel shifters can perform shifts on multi-bit data in a relatively
short time, often within a single clock cycle, making them suitable for high-
speed processing.
2. Simplicity: Compared to non-linear or variable-shift barrel shifters, linear
barrel shifters are simpler in design and control logic, making them easier to
implement in hardware.

Transmission gates:
Transmission gates are used in digital circuits for signal routing and control. They use
complementary metal-oxide-semiconductor CMOS technology and consist of parallel
NMOS and PMOS transistors forming an electronic switch.
Working of Transmission Gates:
Transmission gates operate by controlling the conduction between two signal paths.
They have two terminals: the input terminal and the output terminal.
• NMOS and PMOS Pair: The transmission gate consists of an NMOS transistor
and a PMOS transistor connected in parallel. When the control signal is
activated, one transistor (NMOS or PMOS) conducts while the other remains
non-conducting, allowing the passage of the input signal to the output.
• Control Signal: The control signal determines which transistor within the
transmission gate conducts and which one remains off. When the control signal
is high, the NMOS transistor turns on, allowing the signal to pass from input to
output. Conversely, when the control signal is low, the PMOS transistor
conducts, enabling the signal passage in the opposite direction.

Advantages of Transmission Gates:


1. Bidirectional Signal Flow: One of the primary advantages of transmission
gates is that they facilitate signal flow in both directions, unlike unidirectional
components like simple CMOS switches or multiplexers.
2. Fast Switching Speed: Transmission gates typically exhibit faster switching
speeds compared to some other types of switches. This makes them suitable for
high-speed digital designs and applications requiring rapid signal switching.
3. Low Resistance in ON State: Transmission gates offer minimal resistance
when turned on, providing a relatively low voltage drop and allowing signals to
pass with minimal distortion or loss. This characteristic makes them preferable
for applications where signal integrity is crucial.
4. Low Power Consumption: When not actively switching, transmission gates
consume minimal power, contributing to overall energy efficiency in digital
circuits.
Whole Circuit Schematic:
Schematic of 8x8 Rotation Barrel Shifter:

• First, we have built this 8-bit right rotation linear barrel shifter using
Transmission gate switches.
• We have 7 possible right shift operations for an 8-bit input data and they can be
selected using 7 control lines R1, R2, R3, R4, R5, R6, R7.
• We also use an extra control line R0 just in case if we want to send the exact
input data to the output without any shift operation.
• We can use the same right rotation shifter to also perform left shifting operations
using a conversion circuit which will be explained in detail in the further steps.
Input block:

• We give the 8-bit input in this block.


• In our case, we have given a 8-bit pulse input to the barrel shifter.

Shift Selector Block:

• The above block is used to select the desired shift whether its right shift or left
shift and also the number of bits to be shifted.
• In the above block, we can see the label R1 which indicates that the input bits are
to be right shifted by 1-bit.
• During any shifting operation, only one control line will be logic 1 and the rest
will be logic 0. So, we just use one DC voltage source and simply rename the
existing label to select other control lines.
• We can perform any shifting operation by just simply renaming the label to our
desired control line. For eg: If we change the label R1 to L3, then L3 control line
will be selected and the barrel shifter will perform a 3-bit left rotation shift
operation on the input data.
Procedure to convert right shifter to left shifter:

• For an 8-bit data, right rotation shifting it by 2 bits is same as left rotation
shifting it by 6 bits. This can be verified by simply taking an example.
Eg: Let’s take an 8-bit input data I=10110100
For R2 operation, output data O= 00101101
For L6 operation, output data O= 00101101
• Similarly, we can perform other left shift operations by simply selecting the
equivalent right shift control lines from the below table

R0 R1 R2 R3 R4 R5 R6 R7
L0 L7 L6 L5 L4 L3 L2 L1

Circuit to convert Right shifter to Left shifter:

• We have built the above block to make the original right rotation barrel shifter to
also perform left shifting operations without disturbing the existing barrel shifter
circuit.
• The original right shifting control lines are given at the output of Ex-Or gates.
• One of the inputs of the Ex-Or gates is by default grounded and the other input
terminal is connected to a left shifting control line.
• For a particular left shift control line at the Ex-Or input, we connect its
equivalent right shift control line at the output.
• So, in the above figure, if we select L2 at the shift selector label, then the Ex-Or
gates will select its equivalent right shift control line R6 and performs right shift
operation by 6 bits which essentially is same as left shifting by 2 bits.

Note: The above circuit comes into picture only when we want to perform left shift
operations. For right shifting operations, we don’t need this Ex-Or gates block.

Input Waveform:

• At a particular instant, the input data chosen is 01110101.


• We have selected R6 as the control line. So we want to perform a right rotation
shifting operation by 6 bits. (R6 control line results in the same operation as L2
control line)

Output Waveform:

• For the above input 01110101 and R6 control line, the output is 11010101 which
is correct.
Calculations:
Average power dissipation:

• The average power dissipation is 1.341milli watts.

Propagation delay:
TPLH :

• TPLH is 452.7ps.

TPHL :

• TPHL is 6.584ns or 6584ps.

Worst Case Propagation Delay:


• The worst-case propagation delay is 6.584ns or 6584ps.
Applications:
1. Instruction Set Architecture (ISA): In computer architecture, linear barrel
shifters are crucial components of arithmetic logic units (ALUs) and processors.
They are used to implement logical and arithmetic operations that involve shifting,
such as multiplication, division, bitwise rotation, and data manipulation.
2. Data Encryption and Compression: Linear barrel shifters are utilized in
cryptographic algorithms and data compression techniques where bitwise
manipulation of data is required, enhancing security protocols and optimizing
storage.
3. Digital Signal Processing (DSP): In DSP applications, barrel shifters are used
for efficient data processing in operations like filtering, convolution, and signal
manipulation.

Challenges:
1. Area and Complexity: As the word size increases the hardware complexity and
area required for linear barrel shifters can also increase significantly.
2. Timing Considerations: Ensuring precise timing and avoiding propagation
delays across multiple stages can be a challenge, especially in high-frequency
applications.

Conclusion:
This project has successfully achieved its objectives in designing and implementing an
8-bit right rotation linear barrel shifter using Transmission Gate switches. Notably, the
same right rotation shifter is seamlessly converted to a left shifter without modifying the
existing circuit connections. The meticulous design process and implementation in
Cadence Virtuoso have resulted in a functional and efficient circuit that meets the
specified criteria. This transformative capability underscores the adaptability of the
designed barrel shifter, making it a versatile component in digital systems.

You might also like