Lab Project - EE 421L
Authored
by Sharyn Miyaji,
Email: miyajis@unlv.nevada.edu
Schematic: Wednesday, November 16, 2016
Layout: Wednesday, November 30, 2016
Project Description
For
our project, our goal is to be a able to design a detector that is able
to take a serial input and detect the sequence 101011. When the
detector reads the sequence, the output of the detector will output a
high logic signal. This project is made up of 3 components, which
are D flip flops, a NAND gate, and an inverter.
Part 1: Schematic
Creating a D Flip Flop
First, a schematic of a D flip flop is laid as shown below and is then created into a symbol.
Schematic
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Edge_Trig_D_FF_schematic.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Edge_Trig_D_FF_schematic.JPG)
Symbol
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Edge_Trig_D_FF_symbol.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Edge_Trig_D_FF_symbol.JPG)
Once the symbol is created, we test out the D flip flop to see if it is working properly.
Simulation Schematic
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_Edge_Trig_D_FF_schematic.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_Edge_Trig_D_FF_schematic.JPG)
Simulation
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_Edge_Trig_D_FF_simulation.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_Edge_Trig_D_FF_simulation.JPG)
Creating an Inverter
Next an inverter is created, so the detector triggers a high output when the sequence 101011 is detected.
Schematic
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_schematic.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_schematic.JPG)
Symbol
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_symbol.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_symbol.JPG)
Creating a 6-Input NAND
Lastly, a 6-input NAND gate is created, so the bits from each D flip flop create a sequence that can be read.
Schematic
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_nand_schematic.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_nand_schematic.JPG)
Symbol
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_nand_symbol.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_nand_symbol.JPG)
Creating the Detector
Once
all of the components for the detector are checked and saved, the
schematic of the detector is laid out as shown below. Pin A of
the NAND gate is connected to Q of the first D flip flop, pin B is
connected to Q', pin C is connected to Q, pin D is connected to Q', pin
E is connected to Q, and pin F is connected to Q, so the detector only
reads a sequence of 101011. The
inverter is then connected to the output of the 6-input NAND gate, so
that it is triggered when the detector detects the sequence. Once
everything is connected, a symbol is created to be used for simulation.
Schematic
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_schematic.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_schematic.JPG)
Symbol
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_symbol.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_symbol.JPG)
Testing the Detector
Using the detector symbol created previously, a pulse voltage source is attached to the clk input and a piece-wise linear voltage source is attached to the in input, so we can create our own sequence to test out our detector.
Schematic
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_detector_schematic.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_detector_schematic.JPG)
Simulation
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_detector_simulation.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_detector_simulation.JPG)
Part 2: Layouts
Second
part of the project is creating layouts of the parts of the detector.
Each part must be DRCed and LVSed before connecting it all
together.
D Flip Flop
Layout
Extracted
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Edge_Trig_D_FF_extracted.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Edge_Trig_D_FF_extracted.JPG)
DRC
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Edge_Trig_D_FF_DRC.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Edge_Trig_D_FF_DRC.JPG)
LVS
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Edge_Trig_D_FF_LVS.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Edge_Trig_D_FF_LVS.JPG)
Inverter
Layout
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_Layout.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_Layout.JPG)
Extracted
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_extracted.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_extracted.JPG)
DRC
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_DRC.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_DRC.JPG)
LVS
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_LVS.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Inverter_LVS.JPG)
6 Input NAND Gate
Layout
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_NAND_Layout.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_NAND_Layout.JPG)
Extracted
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_NAND_extracted.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_NAND_extracted.JPG)
DRC
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_NAND_DRC.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_NAND_DRC.JPG)
LVS
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_NAND_LVS.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/6_input_NAND_LVS.JPG)
Detector
Layout
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_layout.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_layout.JPG)
Extracted
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_extracted.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_extracted.JPG)
DRC
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_DRC.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_DRC.JPG)
LVS
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_LVS.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/detector_LVS.JPG)
Buffer
A
buffer is created to "clean up" the simulation for the detector;
therefore, it will not be a part of the detector schematic, but will be
additionally placed into the chip layout.
Schematic
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_schematic.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_schematic.JPG)
Symbol
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_symbol.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_symbol.JPG)
Layout
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_layout.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_layout.JPG)
Extracted
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_extracted.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_extracted.JPG)
DRC
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_DRC.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_DRC.JPG)
Layout
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_LVS.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Buffer_LVS.JPG)
Simulations
The first simulation below shows that the detector works when the sequence 101011 is detected using the extracted layout.
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_detector_simulation_extracted.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_detector_simulation_extracted.JPG)
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_detector_extracted_netlist.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim_detector_extracted_netlist.JPG)
The next simulation is a test to see if whether or not the detector will detect a sequence that is not 101011.
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim2_detector_simulation_extracted.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim2_detector_simulation_extracted.JPG)
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim2_detector_extracted_netlist.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim2_detector_extracted_netlist.JPG)
As
a result, the detector passes the test of not detecting a sequence that
is not 101011. There are a few spikes in the simulation due to
possible noise going into it.
Lastly,
the simulation below is a test to see if the detector will detect the
sequence 101011 twice with random sequences in between.
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim3_detector_simulation_extracted.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim3_detector_simulation_extracted.JPG)
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim3_detector_extracted_netlist.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/sim3_detector_extracted_netlist.JPG)
Chip Design
Below is the chip layout with the detector and buffer. The following are the pin assignments for the detector:
Pin Number | Pin Name |
pin<18> | clk |
pin<19> | in |
pin<20> | gnd |
pin<39> | buff_out |
pin<40> | vdd |
Schematic
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Chip_Schematic.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Chip_Schematic.JPG)
Layout
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Chip_Layout.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Chip_Layout.JPG)
LVS
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Chip_LVS.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Chip_LVS.JPG)
DRC
![http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Chip_DRC.JPG](http://cmosedu.com/jbaker/courses/ee421L/f16/students/miyajis/Proj/Chip_DRC.JPG)
Here is the zip file: proj.zip
Return to Sharyn's Labs
Return to EE421L Labs