Project - EE 421L 

Authored by Luis A. Soriano,

Email: sorian20@unlv.nevada.edu

Date: November 23, 2015

  

Project Description: Chip fabricated using the C5 process through MOSIS

Part 1: First half of the project includes schematics and simulations of the following circuits:

     

All schematic and symbols designed in this project have an extra vdd pin, so each symbol will run indepedently with their own power source.

   

8-bit resettable up/down counter

The main block used in the counter is the D-flip-flip with clear, whose schematic and symbol is shown below

  

SchematicSymbol
proj_pictures/dff_schem.JPGproj_pictures/dff_sym.JPG

    

The previous schematic was obtained based on the book. There are two latches implemented in cascade. The first latch save the input D when the clock goes down, and transfers it to the next stage when the clock goes high. The clear input was implemented by replacing the two inverters with NAND gates. Then, when clear is low, both NAND gates behaves as inverters. When it's high, it sets Q output to zero no matter what value is stored from the first latch. Also, the first latch output is set to zero, so this values is passed when clear is set back to low. For the clock, two inverters (buffer) were implemented for clock_bar and clock itslef to avoid extra connections.

Truth table for D-flipflop is shown below.

ClearclkDQ
0low-high00
0low-high11
0otherXQ0
1XX0

    

The following schematic is degined to simulate and verify the operation of the D-flip-flop

  

SchematicSimulation
proj_pictures/sim_dff_schem.JPGproj_pictures/sim_dff_sim.JPG

   

In the above simulation, the D-flipflop operation is verified. It is seen that, in clock rising edge, the current input value D is output in Q. When 'clear' is high, the resulting output Q is set to zero, and Q_bar to high (5v).

Furthermore, a 2-to-1 MUX is added to the counter to help us select either 'counting up' or 'counting down'.

    

2 to 1 MUX SchematicSymbol
proj_pictures/mux_schem.JPGproj_pictures/mux_sym.JPG

   

These two previous block are implemented in designing an 8 bit counter.

The following table shows the operation of an up counter for 3 bits used as a reference to be verified later through simulations.

  

Q10101010101
Q20011001100and so on ...
Q30000111100

   

Next, the schematic of the 8-bit counter is shown below

       

SchematicSymbol
proj_pictures/8bitcount_schem.JPGproj_pictures/8bitcount_sym.JPG

   

Either output of the D-filpflop, Q and Q_bar, is connected to clock of the next stage depending on counting down or up. When 'Up' is high, the output Qi is connected to the clock of the next stage for counting up, and when 'Up' is low, Q output is passed through the MUX to the next stage for counting down. Arrays of buses have been used to implement all conections through all 8 D-flipflops and 7 MUX's.

The operation of this counter is verified in the following schematic.

   

SchematicSimulation
proj_pictures/sim_8bitcount_schem.JPGproj_pictures/sim_countupclear0.JPG

   

In the above simulation, it is seen the counting up operation of each bit (Q1, Q2, Q3, ... ,Q8) at every rising edge. Bit changes (rising edge clock) occur every 5ns for the least significant bit (LSB) Q1, whose rising edge represent bit change in Q2, and so on.

The next simulation shows operation of down counter. Before changing selector 'Up' from high to low, current counter values should be set to zero, as seen below at time 7us.

   

proj_pictures/sim_countupclear1down.JPG

 
The next picture verifies all possible values of down counter and clear operation.
 
proj_pictures/sim_countdownclear1.JPG  
   
31-stage ring oscillator with buffer
Operation of the 31 ring oscillator is shown below, with its corresponding symbol
   
sschematicSymbol
proj_pictures/ringosc_schem.JPGproj_pictures/ringosc_sym.JPG
   
Array of buses is implemented for the 30 connections between the 31 inverters. A common external vdd pin is connected to every inverter as enable.
The frequency of the ring oscillator is calculated as follows:
proj_pictures/ringosc_opert.JPG
Operation of the ring oscillator is verified in the following schematic and simulation. For a proper simulation, the output 'osc_out' node is set to zero.
 
SchematicSimulation
proj_pictures/sim_ringosc_schem.JPGproj_pictures/sim_ringosc_sim.JPG

This oscillator is to be connected through a buffer due to it will be driving 20pF off-chip capacitance, so the buffer is implemented to reduce the time delay.
   
Buffer - SchematicBuffer - Symbol
proj_pictures/buffer_schem.JPGproj_pictures/buffer_sym.JPG
   
Even though the number of inverters and size of each MOSFET were calculated by applying appropiate theory from the book, this schematic would represent a huge and unncessary implementation of a buffer for this simple case, and will turn complicated the layout. Thus, the number of inverters is reduced by making use of MOSFETs with larger dimensions (10-finger-MOSFET).
   
proj_pictures/buffer_schem2.JPG
   
Implemention of the 31-ring oscillator with buffer is shown below.
SchematicSymbol
proj_pictures/osc_buffer_schem.JPGproj_pictures/osc_buffer_sym.JPG
 
This circuitry is driving an off-chip 20pF capacitance load.
   
SchematicSimulation
proj_pictures/sim_osc_buffer_schem.JPGproj_pictures/sim_osc_buffer_sim.JPG
     
It is observed that the implementation of the buffer works properly obtaining the oscillating signal back, which means that the delay from the external load can be fully compensated.
   
2 input,
6u/0.6u MOSFETs - NAND and NOR gates
NAND and NOR gates obey the following truth table
   
ABA nand BA nor B
0011
0110
1010
1100
     
The following table shows the shematic, symbol, implemenation, and simulation of a 2 input NAND and NOR gates.
   
SchematicSymbolImplementationSimulation
NANDproj_pictures/nand_schem.JPGproj_pictures/nand_sym.JPGproj_pictures/sim_nand_schem.JPGproj_pictures/sim_nand_sim.JPG
NORproj_pictures/nor_schem.JPGproj_pictures/nor_sym.JPGproj_pictures/sim_nor_schem.JPGproj_pictures/sim_nor_sim.JPG
   
It is observed that the operation of both NAND and NOR gates was verified properly.
   
12u/6u Inverter (L=600n)
The following table shows the shematic, symbol, implemenation, and simulation of an inverter.
   
SchematicSymobolImplementationSimulation
proj_pictures/inv_schem.JPGproj_pictures/inv_sym.JPGproj_pictures/sim_inv_schem.JPGproj_pictures/sim_inv_sim.JPG
   
4 terminal 6u/0.6u NMOS and PMOS with bonding pads
This section corresponds to the implementation and operation of an NMOS and a PMOS where each terminal is connected to a bond pad, being one bond pad a common ground for both.
The bondin pads connected to the MOSFET measures 75um square of metal 3 and 60um square of glass layer. The bonding pad layout, schematic, and symbol are shown below.
   
LayoutSchematicSymbol
Bonding
Pad
proj_pictures/bondpad_layout.JPGproj_pictures/bondpad_schem.JPGproj_pictures/bondpad_sym.JPG

The following table shows the shematic, symbol, implemenation, and simulation of the NMOS and PMOS.
   
SchematicSymbolImplementationSimulation
NMOSproj_pictures/NMOS4_schem.JPGproj_pictures/PMOS4_sym.JPG Id vs VGS
proj_pictures/sim_NMOS4_schem1.JPG
proj_pictures/sim_NMOS4_sim1.JPG
PMOSproj_pictures/PMOS4_schem.JPGproj_pictures/PMOS4_sym.JPG Id vs VSG
proj_pictures/sim_PMOS4_schem2.JPG
proj_pictures/sim_PMOS4_sim2.JPG
       
ImplementationSimulation
NMOS Id vs VDS (VGS from 0 to5V)
proj_pictures/sim_NMOS4_schem2.JPG
proj_pictures/sim_NMOS4_sim2.JPG
PMOS Id vs VSD (VSG from 0 to5V)proj_pictures/sim_PMOS4_schem1.JPG proj_pictures/sim_PMOS4_sim1.JPG
       
25k ohms resistor implemented using n-well
Both sides of the 25k resistor are connected to bond pads, being one of them ground (gnd). The n-well size of the resistor was 137.4umx4.5um.
   
LayoutSchematic
proj_pictures/R25k_layout.JPGproj_pictures/R25k_schem.JPG
   
Voltage divider using 10k and 25k resistors
The voltage divider operation:
proj_pictures/Rdiv_opert.JPG
     
SchematicSymbolImplementationSimulation
proj_pictures/Rdiv_schem.JPGproj_pictures/Rdiv_sim.JPGproj_pictures/sim_Rdiv_schem.JPGproj_pictures/sim_Rdiv_sim.JPG
   
It is seen in the simulation that the operation of the voltage divider works as expected.
   
This ends the first part of the laboratory project.
----------------------------------------------------------------------------------------------------------------
Part 2: The second part of the project requires us to layout, DRC, and LVS all the schematics designed in the first part, as listed below:

8-bit resettable up/down counter
For the D-flipflop, layout and extracted view are shown below.
   
Layout
Extrated view
proj_pictures/dff_layout.JPGproj_pictures/dff_extract.JPG

Then, DRC to verify no errors were found.
proj_pictures/8bitcount_DRC.JPG   
   
Now, LVS (layout vs schemactic) can be run.
proj_pictures/dff_LVS1.JPG   proj_pictures/dff_LVS2.JPG  
   
It is shown that both circuits match.
The next componenent to be layout is the 2-to-1 MUX, used to implement the 8 bit counter.
LayoutExtracted viewDRCLVSLVS output file
proj_pictures/mux_layout.JPGproj_pictures/mux_extract.JPGproj_pictures/mux_DRC.JPGproj_pictures/mux_LVS1.JPGproj_pictures/mux_LVS2.JPG
   
It is seen that the DRC shows no errors, and both the schematic and extracted view match when LVS.
Now, let's implement this two block in the 8-bit up/down counter.
proj_pictures/8bitcount_schem.JPG
The layout and extracted view are shown below.
   
proj_pictures/8bitcount_layout1.JPG
   
proj_pictures/8bitcount_extract.JPG
   
Zooming in the layout to see in detail the implementation of D-flipflop and MUX on each stage (Q2 for this case, between yellow lines)
 
proj_pictures/8bitcount_layout2.JPG
DRC to verify no errors were found.
proj_pictures/8bitcount_DRC.JPG
   
Running LVS (layout vs schematic), it is shown that both circuits match.
proj_pictures/8bitcount_LVS1.JPG   proj_pictures/8bitcount_LVS2.JPG  
To verify the functionality of the layout, extracted view is then simulated.
       
proj_pictures/sim_8bitcount_extr_sim.JPG             
proj_pictures/sim_8bitcount_extr.JPG  
   
Simulation of the layout worked properly based on previous simulations!!
     
12u/6u Inverter (L=600n)
Layout, extracted view, DRC, LVS of the previously designed inverter is shown below.
LayoutExtracted viewDRCLVSLVS output file
proj_pictures/inv_layout.JPGproj_pictures/inv_extract.JPGproj_pictures/inv_DRC.JPGproj_pictures/inv_LVS1.JPGproj_pictures/inv_LVS2.JPG
   
DRC shows no violated errors, and both the layout and schematic matched in the LVS!!
   
31-stage ring oscillator with buffer
The ring oscillator is layout first as shown in the table below.
Layout
proj_pictures/ringosc_layout.JPG
Extracted view
proj_pictures/ringosc_extract.JPG
   
DRC to verify no errors were encountered, and LVS the run.
DRCLVSLVS output file
proj_pictures/ringosc_DRC.JPGproj_pictures/ringosc_LVS1.JPGproj_pictures/ringosc_LVS2.JPG
     
The buffer is now implemented in layout.
Layout
proj_pictures/buffer_layout.JPG
Extracted view
proj_pictures/buffer_extract.JPG
   
Zooming in the extracted viw to see the details in the MOSFETS used.
proj_pictures/buffer_extract2.JPG
   
DRC to verify no errors were found and LVS to verify both schematic and layout match.
DRCLVSLVS output file
proj_pictures/buffer_DRC.JPGproj_pictures/buffer_LVS1.JPGproj_pictures/buffer_LVS2.JPG
     
The buffer is implement at the output of the rign oscillator per project requirements.
Layout
proj_pictures/osc_buffer_layout.JPG
Extracted view
proj_pictures/osc_buffer_extract.JPG
DRC (design ruler check)
proj_pictures/osc_buffer_DRC.JPG
LVS (layout vs schematic)
proj_pictures/osc_buffer_LVS1.JPG   proj_pictures/osc_buffer_LVS2.JPG
   
Once again, DRC shows no erros, and LVS matches both the schematic and layout.
To verify the functionality of the layout, extracted view is then simulated.
proj_pictures/sim_osc_buffer_sim.JPG  
proj_pictures/sim_osc_buffer_extr.JPG
       
2 input 6u/0.6u - NAND and NOR gates
The following table shows the layout, extracted view, DRC, and LVS for both 2 input NAND and NOR gates.
   
LayoutExtracted viewDRCLVSOutput file
NANDproj_pictures/nand_layout.JPGproj_pictures/nand_extract.JPGproj_pictures/nand_DRC.JPGproj_pictures/nand_LVS1.JPGproj_pictures/nand_LVS2.JPG
NORproj_pictures/nor_layout.JPGproj_pictures/nor_extract.JPGproj_pictures/nor_DRC.JPGproj_pictures/nor_LVS1.JPGproj_pictures/nor_LVS2.JPG
   
For both NAND and NOR gates, it is seen that DRC and LVS run with no errors.
To verify the functionality of the layouts, extracted views are simulated in spectre.
SimulationSpectre file
NANDproj_pictures/sim_nand_sim.JPGproj_pictures/sim_nand_extr.JPG
NORproj_pictures/sim_nor_sim.JPGproj_pictures/sim_nor_extr.JPG
   
4 terminal 6u/0.6u NMOS and PMOS with bonding pads
Layout of NMOS and PMOS devices are shown in the follwing table with bonding pads.
LayoutZoom inDRC
NMOSproj_pictures/NMOS4_layout1.JPGproj_pictures/NMOS4_layout2.JPGproj_pictures/NMOS4_DRC.JPG
PMOSproj_pictures/PMOS4_layout1.JPGproj_pictures/PMOS4_layout2.JPGproj_pictures/PMOS4_DRC.JPG
   
Now LVS is performed.
Extracted viewLVSOutput file
NMOSproj_pictures/NMOS4_extract.JPGproj_pictures/NMOS4_LVS1.JPGproj_pictures/NMOS4_LVS2.JPG
PMOSproj_pictures/PMOS4_extract.JPGproj_pictures/PMOS4_LVS1.JPGproj_pictures/PMOS4_LVS2.JPG
   
It is observed that the netlist matches for both NMOS and PMOS !!
   
25k ohm resistor implemented using n-well
Layout, extracted view, DRC, and LVS of 25k resistor are listed below. Dimensions used in the layout are 4.5u x 137.4u (high res on n-well).
LayoutExtracted viewDRCLVSOutput file
proj_pictures/R25k_layout.JPGproj_pictures/R25k_extract1.JPG
proj_pictures/R25k_extract2.JPG
proj_pictures/R25k_DRC.JPGproj_pictures/R25k_LVS.JPGproj_pictures/R25k_LVS2.JPG
     
Voltage divider using 10k and 25k resistors
10k and 25k nwell resistor are laid out per project requirements. Dimensions for the 10k nwell resistors: 4.5u x 56.1u.
LayoutDRC
10kproj_pictures/R10k_layout.JPGproj_pictures/R10k_extract.JPG
     
The next table implements the 10k and 25k resistor in a voltage divider.
LayoutExtracted viewDRC
proj_pictures/Rdiv_layout.JPGproj_pictures/Rdiv_extract.JPGproj_pictures/Rdiv_DRC.JPG
 
LVS is then run.
proj_pictures/Rdiv_LVS1.JPG       proj_pictures/Rdiv_LVS2.JPG  
 
The netlist matches! To verify the layout works, the extracted view is simulated in spectre.
   
proj_pictures/sim_Rdiv_extr_sim.JPG     proj_pictures/sim_Rdiv_extr.JPG
   
It is seen from this simulation that the output value corresponds to 3.55V instead of 3.57V, as obtained from the schematic. This due to the resistance values from both resistor were approximately 10k and 25k, but not exactly, causing some deviation in the expected output value, but still acceptable for our purposes.

   
----------------------------------------------------------------------------------------------------------------
As indicated, all cells were named adding my intials and semester (LS_f15). All cells and simulations used in this project can be downloaded here.
As always, back up of this lab was saved on my portable USB, Google drive account, and in the CMOS account drive.
--------------------    

Go back

Return to EE421L - Student Lab Reports

Return to EE421L - Fall 2015