University of Southern California
Department of Electrical Engineering - Systems
EE 477 Laboratory #2
Latch/FF Design, SPICE and IRSIM
Due April 6, 2007 4:00 PM
This laboratory uses SPICE model parameters supplied by MOSIS. Vdd = 2.5 v.
Part 1: Cell SPICE Simulations
Simulate the cells you designed in Lab 1 using SPICE, attaching the inverter cell as a "load" to the output of each cell. Use the same inputs in the same order as you did for the IRSIM simulations. Use the device sizes you were instructed to use in Lab 1. You can use these values for transistor betas: βn (beta)= 219.4 W/L μ A(microamps)/V2 and βp (beta)= 51 W/L μ A/V2. Note the rise and fall times at the outputs of each cell. Use a rise and fall time for the inputs signals of .1 ns.
This part of your lab report should contain a title page, a list of all the cells you simulated, and the SPICE simulation outputs. Also include a discussion of cell rise and fall times and a comparison to the simulation results you got for Lab 1. On-campus students should turn in hard copies of the Part 1 report.
Part 2: LATCH and FLIP-FLOP DESIGN
1. Use the cells you have already constructed to design a latch, and use two latches to build a CMOS D flip-flop in Cadence. Assume the flip-flop is clocked, and that clock, /clock, synchronous load and synchronous /load are inputs to your design. You must include asynchronous set and reset signals in your circuit. Load is active high. The flip-flop should be positive edge triggered. 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).
The transistors in the flip-flop should be sized as they were to be sized for Lab 1. Do not use ratioed (pseudoNMOS) logic (not covered in this class). Do not use dynamic logic or dynamic storage (not covered yet).
2. Simulate the flip-flop you built in Cadence, again assuming the data D, clock, /clock, set, reset, load and /load signals are inputs to your design. Be sure to try all possible combinations of data inputs versus present state of the flip flop, using the waveforms shown below. Start with clock low, D low and load high. Be sure test set and reset as well. For the simulations, attach your inverter as a "load" to the flip-flop output. Adjust the timing of your clock to be as fast as possible and still have the circuit work properly. The waveforms shown below show the order of changes of inputs you are to use for the simulations. Set and reset are not shown and should be simulated with clock and load low.