Professional Documents
Culture Documents
VLSI Project - Updat
VLSI Project - Updat
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.
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.
• 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:
• 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
• 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:
Output Waveform:
• For the above input 01110101 and R6 control line, the output is 11010101 which
is correct.
Calculations:
Average power dissipation:
Propagation delay:
TPLH :
• TPLH is 452.7ps.
TPHL :
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.