University of Southern California
Department of Electrical Engineering - Systems
EE 477 Laboratory #2 Part2
Latch/FF Design, Layout and SPECTRE Simulations
Due April 7, 2014, 4:59 PM
Changes marked in blue 3/24/14
Vdd = 1.8 V.
Part 2: LATCH and FLIP-FLOP DESIGN 70%
********************************************* NOTES FOR SCHEMATIC AND LAYOUT PARTS***********************************
For the schematic and layout simulations follow the following notes:
Note 1: Attach your inverter#1 as a "load" to the flip-flop output. To do this, create a new cell that contains the cell you are testing and also the load (inverter) cell.
Note 2: The clock and all input signals should have a rise and fall time of .1 ns.
Note 3: The clock should have a 50% duty cycle.
Note 4: Proper functioning of a flip flop includes having the low output be less than .1 Vdd and the high output being greater than .9 Vdd.
Note 5: The inputs to the flip flops are: clock, /clock, Data D, asynchronous reset, synchronous Load and synchronous /Load.
Note 6: The clock signal should not be gated (in other words, the clock signal should not pass through any logic gates before arriving at the flip-flop).
Note 7: The transistors in the gates used in the flip-flop should be sized as they were sized for Lab 1.
Note 8: Do not use ratioed (pseudoNMOS) logic. Do not use dynamic logic or dynamic storage (not covered yet).
Note 9: A note about well and substrate contacts (ntap and ptap): Make sure your ohmic contacts meet the following requirement:
* Every cell should have a well and substrate contact.
* For larger cells, include at least two ohmic contacts per 50x50 lambda square, one for the p-substrate and the other for the n-well, assuming there are both NMOS and PMOS transistors in the space.
* Every separate block of n-well should have at least one ohmic contact.
* For all your contacts, you will get the best design if you use multiple minimum-size contacts for large contact areas and not large contacts. Cadence will do this automatically for you if you try to use large contacts.
************************************************SCHEMATIC**********************************************************
A. SCHEMATIC for D flip flop:
Use only the cells you have already constructed to design a latch, and use two latches to build a CMOS D flip-flop schematic in Cadence.
Design the two latches as separate cells and then place them together to form the flip-flop. You can use one of the larger inverters in one or more places in the flip flop if it gives you a faster design.
Assume the flip-flop is clocked and can be asynchronously reset.
clock, /clock, Data D, asynchronous reset, synchronous Load and synchronous /Load are inputs to your design.
Load is active high.
When Load is low, the data will recirculate, regardless of the clock.
The flip-flop should be negative edge triggered.
B. SCHEMATIC Simulations for the flip-flop you built in Cadence using SPECTRE
1) Be sure to try all possible combinations of data inputs versus present state of the flip flop, including the waveforms shown below. Note: This is a functionality test, you can do it with a slow clock frequency.
2) Be sure you test reset. Start with clock low, D high and Load low. Note: Reset is asynchronous, that means that independent of whether the clock is high or low when reset is active the output goes to 0 V and 0 is stored in the flip
flop. In this test you should show that when reset is enabled, the output does not follow Data D instead it goes to 0 V.
3) Adjust the timing of your clock to be as fast as possible and still have your flip flop work properly. Use the waveform below to perform this test. Note: Make sure the inputs have settled a setup time before the clock edge.
4) Measure the setup time. The setup time is the amount of time before the falling edge of the clock that input D must be stable (the time difference between the 50% of the Data D voltage range and the 50% of the clock voltage range).
Note: The waveforms shown below show the order of changes of inputs you are to use for the simulations.