Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I am currently attempting to design an inverter in Microwind layout software that has equal rise and fall times. Rise time is defined as the time for the circuit's output to go from 10 percent to 90 percent of its full value, and fall time as 90 percent to 10 percent of its full value.

My understanding is that, since hole mobility is not as fast as electron mobility, the PMOS needs to be sized such that its width is anywhere from two to three times as great as that of the NMOS. However, it seems that I cannot get a complete match on rise and fall times.

My workflow is such that I design the inverter in Microwind, and export it as a PSPICE netlist format --using Level 3 models for the NMOS and PMOS-- that I then simulate with LTspice to investigate the rise and fall times. I have done so with three cases: P-width is equal to N-width, P-width is 2.5 times N-width, and P-width is 3.0 times N-width.

I can observe the difference between rise and fall times drop from 2.277ps to 1.177ps to 1.073ps as the ratio increases from 1 to 2.5 to 3.0, respectively. However, I don't know if this is "good enough" or not. For lab purposes, my professor has indicated that it is sufficient to simply show the improvement, but I'm bothered by the difference.

Is this simply an artifact of my simulation caused by some aspect of the MOSFET models? Is this indicative of a problem with my design in layout? I've attached a netlist for the 3.0 simulation. The only parameters that seem to change from ratio to ratio are the widths of the PMOS (the "W=" parameter on the "MP1" element) and the capacitors that Microwind is adding to the netlist. I suspect this might be where I'm going wrong. If these capacitances are crunched from the physical lengths of, say, the Vdd and Gnd lines, then perhaps the additional capacitance from those lengths is sufficient to sway my rise and fall times a little bit (My Vdd and Gnd lines are not perfectly identical across layouts).

My apologies if this question has been answered, but numerous different queries to the search engine for the site didn't seem to bring up any entries that address the rise and fall time issue as investigated in simulation (Equal rise time and fall time in CMOS circuits ; this entry only seems to address the "whys" of equal rise and fall times being desirable).

*
* IC Technology: CMOS 90nm - 6 Metal
*
VDD 1 0 DC 1.00
VA 6 0 PULSE(0.00 1.00 0.48N 0.03N 0.03N 0.48N 1.00N)
*
* List of nodes
* "Z" corresponds to n°3
* "A" corresponds to n°6
*
* MOS devices
MN1 0 6 3 0 N1  W= 0.80U L= 0.10U
MP1 1 6 3 1 P1  W= 2.40U L= 0.10U
*
C2 1 0  0.975fF
C3 3 0  1.160fF
C4 1 0  1.233fF
C6 6 0  0.033fF
*
* n-MOS Model 3 :
* low leakage
.MODEL N1 NMOS LEVEL=3 VTO=0.35 UO=500.000 TOX= 1.8E-9
+LD =0.008U THETA=0.300 GAMMA=0.400
+PHI=0.150 KAPPA=0.200 VMAX=130.00K
+CGSO=100.0p CGDO=100.0p
+CGBO= 60.0p CJSW=240.0p
*
* p-MOS Model 3:
* low leakage
.MODEL P1 PMOS LEVEL=3 VTO=-0.35 UO=200.000 TOX= 1.8E-9
+LD =0.008U THETA=0.300 GAMMA=0.400
+PHI=0.150 KAPPA=0.150 VMAX=100.00K
+CGSO=100.0p CGDO=100.0p
+CGBO= 60.0p CJSW=240.0p
*
* Transient analysis
*
.TEMP 27.0
.TRAN 0.01N 2.00N
* (Pspice)
.PROBE
.END
share|improve this question
    
Not to discourage anyone with wisdom to impart --I'm starving for it-- but I just finished running this netlist through ngspice (I'm more familiar with the GNU/Linux environment and I've been doing all of this classwork in a Windows XP VirtualBox). After changing the transient analysis line to ".tran .01ps 2.00ns" to ensure lots and lots of data points as it crunches from zero to 2ns, I got a far more comforting difference in the rise and fall times of 0.03ps. Though, playing devil's advocate, should I be more comforted by that? Or is that still not good enough? –  Preston Maness Oct 27 '13 at 8:51
    
You're modelling & simulating something. Such a model, and the simulation run from it is most probably not that close to real life behaviour that would allow you to draw more conclusion than you already have. So, there's no point in chasing these numbers any closer, as the real circuit will not behave exactly like that - the trends are the important conclusion in this simulation, and you already got that. If you want to build such a circuit in real life, you have to test the result, and then iteratively approach the desired outcome. –  Laszlo Valko Oct 27 '13 at 12:10
    
How are you "observing" the rise and fall time? Determining these parameters from the plot window is not very accurate. Instead, you should use .measure statements to automate the measurement. –  Joe Hass Oct 27 '13 at 12:59
    
Within LTspice, I was using the option to have two cursors run along a trace on a plot. Between the lack of granularity associated with the mouse movement, and my initial tstep of 0.01ns, I suspect this might be enough to explain the lack of precision in my measurements. For the ngspice run, I dropped tstep to 0.01ps, and had ngspice output each data point to a file that I then manually examined to find the best voltage point (around the 0.900V and 0.100V marks) and compare timestamps. –  Preston Maness Oct 27 '13 at 23:23

1 Answer 1

up vote 0 down vote accepted

Model level 3 definition: "Semi-empirical" - a more qualitative model that uses observed operation to define its equations. This dates from 1980 ... Any sort of decent result (i.e. within 10% of reality) would need to use level 5 models (AKA BSIM3). I'd recommend using BSIM 3V3 which is model level 49 in Star-HSPice parlance.

As long as you going to be using out of date models then you should heed your prof and only look at the trends. I suspect that there probably is a reason he said that.

You're dealing with curve fitted results.

Additionally, unless you have parasitic extraction enabled the rail capacitances as you noted are almost certainly not being extracted. The CJSW means Capacitance, Junction Side Wall and is a computed values based upon the width and S/D sizes (as one example). There are excellent SPICE guides that tell you what all the parameters are, I suggest you find and read them.

share|improve this answer
    
Thanks for the suggestions! I've been looking over the various SPICE models for MOSFETs and it's mind-boggling how much time and energy has been spent on them over the decades. I've always treated the models as a black box, though it's becoming clear that I'll have to dive into the various parameters if I want a complete understanding of their limitations within simulation. The following link looks like a good reference for the various MOSFET models: web.engr.oregonstate.edu/~moon/ece323/hspice98/files/…. I've got my work cut out for me. –  Preston Maness Oct 27 '13 at 23:30

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.