⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch13.a.htm

📁 介绍asci设计的一本书
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">

<HTML>

<HEAD>

<META NAME="GENERATOR" CONTENT="Adobe FrameMaker 5.5/HTML Export Filter">



<TITLE> 13.10&nbsp;Transistor-Level Simulation</TITLE></HEAD><!--#include file="top.html"--><!--#include file="header.html"-->



<DIV>

<P>[&nbsp;<A HREF="CH13.htm">Chapter&nbsp;start</A>&nbsp;]&nbsp;[&nbsp;<A HREF="CH13.9.htm">Previous&nbsp;page</A>&nbsp;]&nbsp;[&nbsp;<A HREF="CH13.b.htm">Next&nbsp;page</A>&nbsp;]</P><!--#include file="AmazonAsic.html"--><HR></DIV>

<H1 CLASS="Heading1">

<A NAME="pgfId=48012">

 </A>

13.10&nbsp;<A NAME="35786">

 </A>

Transistor-Level Simulation</H1>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=8284">

 </A>

Sometimes we need to simulate a logic circuit with more accuracy than provided by switch-level simulation. In this case we turn to simulators that can solve circuit equations exactly, given models for the nonlinear transistors, and predict the analog behavior of the node voltages and currents in continuous time. This type of <SPAN CLASS="Definition">

transistor-level simulation</SPAN>

<A NAME="marker=75678">

 </A>

 or <SPAN CLASS="Definition">

circuit-level simulation</SPAN>

<A NAME="marker=75679">

 </A>

 is costly in computer time. It is impossible to simulate more than a few hundred logic cells using a circuit-level simulator. Virtually all circuit-level simulators used for ASIC design are commercial versions of the <A NAME="marker=75689">

 </A>

<SPAN CLASS="Definition">

SPICE</SPAN>

 (or <SPAN CLASS="Definition">

Spice</SPAN>

, <SPAN CLASS="Definition">

Simulation Program with Integrated Circuit Emphasis</SPAN>

<A NAME="marker=118330">

 </A>

) developed at UC Berkeley.</P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableFigTitleSide">

<A NAME="pgfId=118352">

 </A>

FIGURE&nbsp;13.2&nbsp;<A NAME="39362">

 </A>

Output buffer (OB.IN) schematic (created using Capilano&#8217;s DesignWorks)</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableFigure">

<A NAME="pgfId=118358">

 </A>

&nbsp;</P>

<DIV>

<IMG SRC="CH13-4.gif">

</DIV>

</TD>

</TR>

</TABLE>

<DIV>

<H2 CLASS="Heading2">

<A NAME="pgfId=75675">

 </A>

13.10.1&nbsp;A PSpice Example</H2>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=32020">

 </A>

<A HREF="CH13.a.htm#39362" CLASS="XRef">

Figure&nbsp;13.2</A>

 shows the schematic for the output section of a CMOS I/O buffer driving a 10  pF output capacitor representing an off-chip load. The <A NAME="marker=32031">

 </A>

<SPAN CLASS="Definition">

PSpice</SPAN>

 input file that follows is called a <SPAN CLASS="Definition">

deck</SPAN>

<A NAME="marker=31891">

 </A>

 (from the days of punched cards):</P>

<P CLASS="ComputerFirst">

<A NAME="pgfId=3698">

 </A>

OB September 5, 1996 17:27</P>

<P CLASS="Computer">

<A NAME="pgfId=3700">

 </A>

.TRAN/OP 1ns 20ns</P>

<P CLASS="Computer">

<A NAME="pgfId=3702">

 </A>

.PROBE</P>

<P CLASS="Computer">

<A NAME="pgfId=3704">

 </A>

 cl  output  Ground  10pF   </P>

<P CLASS="Computer">

<A NAME="pgfId=3706">

 </A>

 VIN  input  Ground   PWL(0us 5V 10ns 5V 12ns 0V 20ns 0V)  </P>

<P CLASS="Computer">

<A NAME="pgfId=3708">

 </A>

 VGround  0  Ground   DC 0V  </P>

<P CLASS="Computer">

<A NAME="pgfId=3710">

 </A>

 Vdd  +5V  0   DC 5V  </P>

<P CLASS="Computer">

<A NAME="pgfId=3712">

 </A>

 m1  output  input  Ground Ground NMOS W=100u L=2u </P>

<P CLASS="Computer">

<A NAME="pgfId=3714">

 </A>

 m2  output  input  +5V +5V PMOS W=200u L=2u </P>

<P CLASS="Computer">

<A NAME="pgfId=3716">

 </A>

.model nmos nmos level=2 vto=0.78 tox=400e-10 nsub=8.0e15 xj=-0.15e-6</P>

<P CLASS="Computer">

<A NAME="pgfId=3718">

 </A>

+ ld=0.20e-6 uo=650 ucrit=0.62e5 uexp=0.125 vmax=5.1e4 neff=4.0</P>

<P CLASS="Computer">

<A NAME="pgfId=3720">

 </A>

+ delta=1.4 rsh=37 cgso=2.95e-10 cgdo=2.95e-10 cj=195e-6 cjsw=500e-12</P>

<P CLASS="Computer">

<A NAME="pgfId=3732">

 </A>

+ mj=0.76 mjsw=0.30 pb=0.80</P>

<P CLASS="Computer">

<A NAME="pgfId=3738">

 </A>

.model pmos pmos level=2 vto=-0.8 tox=400e-10 nsub=6.0e15 xj=-0.05e-6</P>

<P CLASS="Computer">

<A NAME="pgfId=3740">

 </A>

+ ld=0.20e-6 uo=255 ucrit=0.86e5 uexp=0.29 vmax=3.0e4 neff=2.65</P>

<P CLASS="Computer">

<A NAME="pgfId=3742">

 </A>

+ delta=1 rsh=125 cgso=2.65e-10 cgdo=2.65e-10 cj=250e-6 cjsw=350e-12</P>

<P CLASS="Computer">

<A NAME="pgfId=3754">

 </A>

+ mj=0.535 mjsw=0.34 pb=0.80</P>

<P CLASS="ComputerLast">

<A NAME="pgfId=3760">

 </A>

.end</P>

<P CLASS="Body">

<A NAME="pgfId=8341">

 </A>

<A HREF="CH13.a.htm#37128" CLASS="XRef">

Figure&nbsp;13.3</A>

 shows the input and output waveforms as well as the current flowing in the devices.We can quickly check our circuit simulation results as follows. The total charge transferred to the 10  pF load capacitor as it charges from 0  V to 5  V is 50  pC (equal to 5  V  <SPAN CLASS="Symbol">

&#165;</SPAN>

  10  pF). This total charge should be very nearly equal to the integral of the drain current of the pull-up ( <SPAN CLASS="Emphasis">

p</SPAN>

-channel) transistor <SPAN CLASS="EquationVariables">

I</SPAN>

<SUB CLASS="SubscriptVariable">

L</SUB>

(<SPAN CLASS="BodyComputer">

m2</SPAN>

). We can get a quick estimate of the integral of the current by approximating the area under the waveform for <SPAN CLASS="BodyComputer">

id(m2)</SPAN>

 in <A HREF="CH13.a.htm#37128" CLASS="XRef">

Figure&nbsp;13.3</A>

 as a triangle&#8212;half the base (about 12  ns) multiplied by the height (about 8  mA), so that  </P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126066">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126068">

 </A>

22 ns</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126070">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126072">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126074">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126076">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqn">

<A NAME="pgfId=126078">

 </A>

&nbsp;</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnRight">

<A NAME="pgfId=126080">

 </A>

<SPAN CLASS="BigMath">

&Uacute;</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126082">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126084">

 </A>

<SPAN CLASS="EquationVariables">

I</SPAN>

<SUB CLASS="SubscriptVariable">

L</SUB>

(m2) d<SPAN CLASS="EquationVariables">

t</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126086">

 </A>

=</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126088">

 </A>

0.5 (8 mA) (12 ns)</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126090">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnNumber">

<A NAME="pgfId=126092">

 </A>

(13.28)</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126094">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126096">

 </A>

10 ns</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126098">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126100">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126102">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126104">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqn">

<A NAME="pgfId=126106">

 </A>

&nbsp;</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126108">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126110">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126112">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126114">

 </A>

<SPAN CLASS="Symbol">

&#170;</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126116">

 </A>

50 pC</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126118">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqn">

<A NAME="pgfId=126120">

 </A>

&nbsp;</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126122">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126124">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126126">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126128">

 </A>

<SPAN CLASS="Symbol">

&#170;</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126130">

 </A>

5 (10 pF)</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126132">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqn">

<A NAME="pgfId=126134">

 </A>

&nbsp;</P>

</TD>

</TR>

</TABLE>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=4075">

 </A>

Notice that the two estimates for the transferred charge are equal. </P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableFigure">

<A NAME="pgfId=32965">

 </A>

<IMG SRC="CH13-5.gif" ALIGN="BASELINE">

&nbsp;</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableFigure">

<A NAME="pgfId=32970">

 </A>

&nbsp;</P>

<DIV>

<IMG SRC="CH13-6.gif">

</DIV>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableFigureTitle">

<A NAME="pgfId=32972">

 </A>

FIGURE&nbsp;13.3&nbsp;<A NAME="37128">

 </A>

Output Buffer (OB.IN). (Top)&nbsp;The input and output voltage waveforms. (Bottom)&nbsp;The current flowing in the drains of the output devices.</P>

</TD>

</TR>

</TABLE>

<P CLASS="Body">

<A NAME="pgfId=32958">

 </A>

Next, we can check the time derivative of the pull-up current. (We can also do this by using the Probe program and requesting a plot of <SPAN CLASS="BodyComputer">

did(m2)</SPAN>

; the symbol <SPAN CLASS="BodyComputer">

dn</SPAN>

 represents the time derivative of quantity <SPAN CLASS="BodyComputer">

n</SPAN>

 for Probe. The symbol <SPAN CLASS="BodyComputer">

id(m2)</SPAN>

 requests Probe to plot the drain current of <SPAN CLASS="BodyComputer">

m2</SPAN>

.) The maximum derivative should be roughly equal to the maximum change of the drain current (<SPAN CLASS="Symbol">

D</SPAN>

<SPAN CLASS="EquationVariables">

I</SPAN>

<SUB CLASS="SubscriptVariable">

L</SUB>

(<SPAN CLASS="EquationVariables">

m</SPAN>

2)  =  8  mA) divided by the time taken for that change (about <SPAN CLASS="Symbol">

D</SPAN>

<SPAN CLASS="EquationVariables">

t</SPAN>

  =  2  ns from <A HREF="CH13.a.htm#37128" CLASS="XRef">

Figure&nbsp;13.3</A>

) or  </P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126326">

 </A>

| <SPAN CLASS="Symbol">

D</SPAN>

<SPAN CLASS="EquationVariables">

I</SPAN>

<SUB CLASS="SubscriptVariable">

L</SUB>

(m2) |</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126328">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126330">

 </A>

8 mA</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126332">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126443">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqn">

<A NAME="pgfId=126334">

 </A>

&nbsp;</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126336">

 </A>

&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126338">

 </A>

=</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126340">

 </A>

&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126342">

 </A>

=</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126445">

 </A>

4 <SPAN CLASS="Symbol">

&#165;</SPAN>

 10<SUP CLASS="Superscript">

6</SUP>

 As<SUP CLASS="Superscript">

&#8211;1</SUP>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnNumber">

<A NAME="pgfId=126344">

 </A>

(13.29)</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126346">

 </A>

<SPAN CLASS="Symbol">

D</SPAN>

<SPAN CLASS="EquationVariables">

t</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126348">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126350">

 </A>

2 ns</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=126352">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=126447">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqn">

<A NAME="pgfId=126354">

 </A>

&nbsp;</P>

</TD>

</TR>

</TABLE>

<P CLASS="Body">

<A NAME="pgfId=4082">

 </A>

The large time derivative of the device current, here 4  MAs<SUP CLASS="Superscript">

&#8211;1</SUP>

, causes problems in high-speed CMOS I/O. This sharp change in current must flow in the supply leads to the chip, and through the inductance associated with the bonding wires to the chip which may be of the order of 10  nanohenrys. An electromotive force (emf<A NAME="marker=108889">

 </A>

), <SPAN CLASS="EquationVariables">

V</SPAN>

<SUB CLASS="SubscriptVariable">

P </SUB>

, will be generated in the inductance as follows,  </P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -