Fall 2005 ECE 4540 Design Project
Project Grading
Level of Difficulty/5
Floor Plan/5
Gate Level Schematic/5
Block Level Drawing/5
Technical Description/15
Connection Diagram (Pin out diagram)/5
Check Plot(s)/10
SPICE Simulation/15
Gate/System Simulation (timing analysis)/10
Recommended Testing information/5
Overall Likelihood of Correctness/10
Overall Quality/10
TOTAL_____
Error Detection and Correction
Integrated Circuit Creation
ECE 4540 Design Project
Fall 2005
12/8/05
TABLE OF CONTENTS
Introduction3
Gate & System Level Circuits and Layout4
2-Input AND w/ one inverted input4
2-1 Multiplexer6
Positive Edge Triggered D Flip-Flop8
2-Input XOR Gate10
4-Input XOR Gate12
Pin Diagram14
Floor Plan of Layout15
Full Chip Layout with Package Frame16
Full Chip Layout17
Floor Plan Explanation18
Location of Cadence Layout Files18
Simulations & Testing19
2-Input AND w/ one inverted input19
2-1 Multiplexer20
Positive Edge Triggered D Flip-Flop22
2-Input XOR Gate23
4-Input XOR Gate24
Timing Analysis27
Test Plan29
Conclusion31
INTRODUCTION
This VLSI Design Project involved creating the simulation, layout, and test procedure for an Error Detection and Correction (EDAC) integrated circuit. The creation of this design established a general understanding of the necessary steps that must take place in the development of an integrated circuit. The general purpose of this circuit is to read the parity of an incoming digital word and generate an output flag when a parity error has occurred. When errors in parity have occurred, the circuit will correct them with the proper parity. The circuit includes 4 input exclusive OR gates, 2 input exclusive OR gates, AND gates, multiplexers, and D Flip Flops. Also to be included is a flip flop register for the 8 input signals. The finished project includes gate and system level diagrams of the chip, a chip pin diagram, a chip floor plan, layouts of the individual gate components, SPICE simulations, and a testing procedure. The layout must fit in a 40 pin package that is 2.2mm X 2.2mm.
The general procedure for the completion of this project first involved finding circuits for each of the necessary components. Each of these gate circuits were then simulated for functionality in PSpice. Upon proving that they were indeed correct, each gate was drawn in layout using optimization techniques from class. HSpice simulations were then run on the individual gate layouts. The timing and delay information was easily extracted from the HSpice data. Each gate was then connected together to complete the full chip design. The package frame was added at the end and each of the inputs and outputs of the circuit were wired to it. Lastly, a test procedure was developed to ensure that the complete chip worked as it was intended.
GATE & SYSTEM LEVEL CIRCUITS AND LAYOUT
2-Input AND w/ one inverted input
The figure below is the transistor level circuit of the 2-input AND gate which is one of the components of the EDAC.
This circuit is equivalent to a NOR gate with inverted inputs. Since the circuit specification required that one of the AND gate inputs be inverted, only one of the inputs was inverted going into this NOR configuration.
This guide outlines the way that this gate was drawn in layout. It should be noted that each node in the schematic are numbered and those numbers correspond to this guide. Each of the arrows going down to a node name is a source or drain and the arrow going up in between is a gate connection.
The layout for the AND gate was drawn according to the simulations that verified its operation. The n-devices and the p-devices are spread out so that their separation matches all of the other gates. It is thought that having all of the rails line up and connected together was a good design practice.
2-1 Multiplexer
The figure below is the transistor level circuit for the 2-1 multiplexer which is also used to realize the EDAC.
The multiplexer is simply an inverter for the control signal and a pair of transmission gates. The control signal selects which transmission gate is on and therefore the input signal that passes to the output.
Layout Guide for Multiplexer
Layout for Multiplexer
Positive Edge Triggered D Flip-Flop
This gate design uses a combination of transmission gates and NOR gates to provide buffered outputs.
Layout Guide for D Flip-Flop
Page 1 of 32
Fall 2005 ECE 4540 Design Project
Page 1 of 32
Fall 2005 ECE 4540 Design Project
2-Input XOR Gate
There are 2 sections to this design: the 4 transistor gate and the 4 transistor buffer. The buffer is necessary to restore the signal of the gate section. The pull-up portion of the gate connects the transistor sources to the opposite transistor gates. The pull-down portion is connected in series and tied to the GND rail.
Gate Schematic
Gate Layout for 2-Input XOR
Page 1 of 32
Fall 2005 ECE 4540 Design Project
4-Input XOR Gate
The 4-Input XOR gate uses 3 2-Input XORs cascaded together with a buffer. This gate used the previously mentioned 2-Input XOR design with the same model parameters and channel widths and lengths.
Gate Level Schematic Using 2-Input XORs
Transistor Level Schematic
Page 1 of 32
Fall 2005 ECE 4540 Design Project
Page 1 of 32
Fall 2005 ECE 4540 Design Project
PIN DIAGRAM
FLOORPLAN OF LAYOUT
Full Layout with Package Frame
Page 1 of 32
Fall 2005 ECE 4540 Design Project
Page 1 of 32
Fall 2005 ECE 4540 Design Project
FLOORPLAN EXPLANATION
The chip was put together in this way so that each of the parts would flow into the next stage of the circuit. The gates were made so that the rails were equal distances apart and all of the rails would line up in the overall floor plan. The general idea behind the structure of the whole chip was that the 8 B Inputs would come in from the left and the outputs of the circuit would come out on the right. Therefore, each gate was added according to its order in line in the circuit. The input flip flop register is first on the left, then the 4 Input XOR gates, then the 2 Input XOR and the AND gates, and lastly the Multiplexers. This strategy kept long running metal lines to a minimum as many of the connections were close to each other. There are 2 rows of gates with the bottom row being normal alignment (n-well on top and nMOS on the bottom) and the top row is mirrored vertically. This allows for one long solid n-well, which is believed to ease manufacturing if this chip were to be made. This also allows for a large contiguous VDD area in the middle of many signal lines to provide a little signal shielding.
LOCATION OF CADENCE LAYOUT FILES
The layout files for this project can be found in the following directory after logging into any of the UNIX machines in the workstation lab. The privilege levels of the files have been modified so that the files can be accessible.
/home/abbash/ece4540/VLSI_Final_Project
Please note that once in cadence these files are under the VLSI_Final_Project folder.
SIMULATIONS & TESTING
2-Input AND w/ one inverted input
The truth table for this gate is as follows:
Input A / Input B / Output0 / 0 / 0
0 / 1 / 0
1 / 0 / 1
1 / 1 / 0
The figure below shows the HSpice simulations for this gate. As you can see, the output is only asserted when is input A is high and input b is low.
2-1 Multiplexer
The truth table for this logic gate is as follows:
S / I1 / I0 / Output0 / 0 / 0 / 0(I0)
0 / 0 / 1 / 1(I0)
0 / 1 / 0 / 0(I0)
0 / 1 / 1 / 1(I0)
1 / 0 / 0 / 0(I1)
1 / 0 / 1 / 0(I1)
1 / 1 / 0 / 1(I1)
1 / 1 / 1 / 1(I1)
The figure below is our HSpice simulations for the multiplexer we laid out. As the simulation indicates, the output depends on the input which is selected from the select line.
Multiplexer Simulation
Positive Edge Triggered D Flip-Flop
The D flip-flop is a time synchronous device. In this project the flip-flop is positive edge triggered. On a low to high transition of the clock the output is updated. Simulation results of our D flip-flop layout are shown in the following figure.
2-Input XOR Gate
The truth table for this gate is as follows:
Input A / Input B / Output0 / 0 / 0
0 / 1 / 1
1 / 0 / 1
1 / 1 / 0
This gate gives an output of ‘1’ when the there is an odd number of active high ‘1’ inputs. Output simulations for our layout for this gate are shown in the following figure.
4-Input XOR Gate
A / B / C / D / Output0 / 0 / 0 / 0 / 0
0 / 0 / 0 / 1 / 1
0 / 0 / 1 / 0 / 1
0 / 0 / 1 / 1 / 0
0 / 1 / 0 / 0 / 1
0 / 1 / 0 / 1 / 0
0 / 1 / 1 / 0 / 0
0 / 1 / 1 / 1 / 1
1 / 0 / 0 / 0 / 1
1 / 0 / 0 / 1 / 0
1 / 0 / 1 / 0 / 0
1 / 0 / 1 / 1 / 1
1 / 1 / 0 / 0 / 0
1 / 1 / 0 / 1 / 1
1 / 1 / 1 / 0 / 1
1 / 1 / 1 / 1 / 0
The HSpice simulation results for our 4-input XOR gate are shown on the following page. All possible combinations on inputs are outputs are shown.
Page 1 of 32
Fall 2005 ECE 4540 Design Project
Page 1 of 32
Fall 2005 ECE 4540 Design Project
Full Chip Simulation
TIMING ANALYSIS
D Flip-Flops:
Maximum Rise Time of Output= (2.5 – 1.6) ns
= 0.9 ns
Maximum Fall Time of Output = (10502 – 10501) ns
= 1 ns
Maximum Delay= (10.502 – 10.501) us
= 1.0 ns
2-Input AND w/ one inverted input:
Maximum Rise Time of Output= (3001.6 – 3000.7) ns
= 0.7 ns
Maximum Fall Time of Output = (501.7 – 501.1) ns
= 0.6 ns
Maximum Delay= (0.97 – 0.25) ns
= 0.72 ns
2-1 Multiplexer:
Maximum Rise Time of Output= (504.0 – 503.1) ns
= 0.9 ns
Maximum Fall Time of Output = (4.1 – 3.3) ns
= 0.8 ns
Maximum Delay= (1503.82 – 1503.00) ns
= 0.82 ns
2-Input XOR Gate
Maximum Delay= (1503.82 – 1503.00) ns
= 0.82 ns
4-Input XOR Gate
Maximum Rise Time of Output= (108.07-107.68) ns
= 0.4 ns
Maximum Fall Time of Output = (109.2-108.4) ns
= 0.8 ns
Maximum Delay= (12 - 7) ns
= 5 ns
Maximum Frequency Calculations
Time for Longest Path to Output= (5 + 5 + 0.72 + 0.82 + 0.82 + 1) ns
= 13.36 ns
= 13.4 ns (approx)
Therefore maximum frequency for this circuit = 1 / Longest Path to Output
= 1 / (13.4 ns)
= 74.6 MHz
TEST PLAN
The test plan can be divided into 3 sections so that parts of the circuit that are not involved do not slow down the testing time. Test points have been included to aid in detection of errors in the circuit.
The parity outputs are directly based on the conditions of the 8 inputs. Therefore, a simple input scan can check the functionality of the parity outputs. The inputs not listed in this section can remain static as they do not affect the outputs of this section.
All of the other B Inputs beside B0 and B1 should remain at logic 0 (GND) for testing this section. The other inputs can remain static.
This section requires probing the pins PGEN and S-IN in order to determine if the outputs are correct. In this section, the B Inputs can remain static.
CONCLUSION
This project demonstrated the necessary steps of creating an integrated circuit from a basic gate schematic. There were several trade-offs involved, many of which were on the gate level. For example, there were a few variations on the minimal XOR configuration. The original 16 transistor 4 input XOR gate that was implemented did not work for all states in the initial simulations, thus requiring an alternative to be found. This fact brought out the importance of simulation at multiple levels of chip design.
The large frame allowed for much freedom in the layout of the full chip. A quick calculation of areas revealed that our string of gates only used 5% of the total area within the package frame. The wires connecting the internal gates to the package frame were made as wide as possible so that the resistance was minimized and the overall chip speed could be as fast as possible.
Much of this design could have been enhanced for various reasons, but due to the freedom of the package size, number of pins, speed, and power, these perfections were disregarded. Given more time, this design could have been improved both in circuit design as well as layout, but this current design is more than sufficient given the requirements and guidelines.
Page 1 of 32