📄 ch13.1.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="Adobe FrameMaker 5.5/HTML Export Filter">
<TITLE> 13.1 Types of Simulation</TITLE></HEAD><!--#include file="top.html"--><!--#include file="header.html"-->
<DIV>
<P>[ <A HREF="CH13.htm">Chapter start</A> ] [ <A HREF="CH13.htm">Previous page</A> ] [ <A HREF="CH13.2.htm">Next page</A> ]</P><!--#include file="AmazonAsic.html"--><HR></DIV>
<H1 CLASS="Heading1">
<A NAME="pgfId=119950">
</A>
13.1 <A NAME="12282">
</A>
Types of Simulation</H1>
<P CLASS="BodyAfterHead">
<A NAME="pgfId=119952">
</A>
Simulators are usually divided into the following categories or <SPAN CLASS="Definition">
simulation modes</SPAN>
<A NAME="marker=119951">
</A>
:</P>
<UL>
<LI CLASS="BulletFirst">
<A NAME="pgfId=63814">
</A>
Behavioral simulation</LI>
<LI CLASS="BulletList">
<A NAME="pgfId=63815">
</A>
Functional simulation</LI>
<LI CLASS="BulletList">
<A NAME="pgfId=63816">
</A>
Static timing analysis</LI>
<LI CLASS="BulletList">
<A NAME="pgfId=63817">
</A>
Gate-level simulation</LI>
<LI CLASS="BulletList">
<A NAME="pgfId=63818">
</A>
Switch-level simulation</LI>
<LI CLASS="BulletLast">
<A NAME="pgfId=63819">
</A>
Transistor-level or circuit-level simulation</LI>
</UL>
<P CLASS="Body">
<A NAME="pgfId=63820">
</A>
This list is ordered from high-level to low-level simulation (high-level being more abstract, and low-level being more detailed). Proceeding from high-level to low-level simulation, the simulations become more accurate, but they also become progressively more complex and take longer to run. While it is just possible to perform a behavioral-level simulation of a complete system, it is impossible to perform a circuit-level simulation of more than a few hundred transistors. </P>
<P CLASS="Body">
<A NAME="pgfId=63821">
</A>
There are several ways to create an imaginary simulation model of a system. One method models large pieces of a system as black boxes with inputs and outputs. This type of simulation (often using VHDL or Verilog) is called <A NAME="marker=63822">
</A>
<SPAN CLASS="Definition">
behavioral simulation</SPAN>
. <A NAME="marker=63829">
</A>
<SPAN CLASS="Definition">
Functional simulation</SPAN>
ignores timing and includes <A NAME="marker=63831">
</A>
<SPAN CLASS="Definition">
unit-delay simulation</SPAN>
, which sets delays to a fixed value (for example, 1 ns). Once a behavioral or functional simulation predicts that a system works correctly, the next step is to check the timing performance. At this point a system is partitioned into ASICs and a <A NAME="marker=79883">
</A>
<SPAN CLASS="Definition">
timing simulation</SPAN>
is performed for each ASIC separately (otherwise the simulation run times become too long). One class of timing simulators employs <A NAME="marker=79884">
</A>
<SPAN CLASS="Definition">
timing analysis</SPAN>
that analyzes logic in a static manner, computing the delay times for each path. This is called <SPAN CLASS="Definition">
static timing analysis</SPAN>
<A NAME="marker=79885">
</A>
because it does not require the creation of a set of test (or stimulus) vectors (an enormous job for a large ASIC). Timing analysis works best with synchronous systems whose maximum operating frequency is determined by the longest path delay between successive flip-flops. The path with the longest delay is the <A NAME="marker=63837">
</A>
<SPAN CLASS="Definition">
critical path</SPAN>
. </P>
<P CLASS="Body">
<A NAME="pgfId=63840">
</A>
<A NAME="marker=63838">
</A>
<SPAN CLASS="Definition">
Logic simulation</SPAN>
or <A NAME="marker=63839">
</A>
<SPAN CLASS="Definition">
gate-level simulation</SPAN>
can also be used to check the timing performance of an ASIC. In a gate-level simulator a logic gate or logic cell (NAND, NOR, and so on) is treated as a black box modeled by a function whose variables are the input signals. The function may also model the delay through the logic cell. Setting all the delays to unit value is the equivalent of functional simulation. If the timing simulation provided by a black-box model of a logic gate is not accurate enough, the next, more detailed, level of simulation is <A NAME="marker=63847">
</A>
<SPAN CLASS="Definition">
switch-level simulation</SPAN>
which models transistors as switches—on or off. Switch-level simulation can provide more accurate timing predictions than gate-level simulation, but without the ability to use logic-cell delays as parameters of the models. The most accurate, but also the most complex and time-consuming, form of simulation is <A NAME="marker=63849">
</A>
<SPAN CLASS="Definition">
transistor-level simulation</SPAN>
. A transistor-level simulator requires models of transistors, describing their nonlinear voltage and current characteristics.</P>
<P CLASS="Body">
<A NAME="pgfId=63851">
</A>
Each type of simulation normally uses a different software tool. A <A NAME="marker=63850">
</A>
<SPAN CLASS="Definition">
mixed-mode simulator</SPAN>
permits different parts of an ASIC simulation to use different simulation modes. For example, a critical part of an ASIC might be simulated at the transistor level while another part is simulated at the functional level. Be careful not to confuse mixed-level simulation with a mixed analog/digital simulator, these are <A NAME="marker=63853">
</A>
<SPAN CLASS="Definition">
mixed-level simulators</SPAN>
.</P>
<P CLASS="Body">
<A NAME="pgfId=63855">
</A>
Simulation is used at many stages during ASIC design. Initial <A NAME="marker=63854">
</A>
<SPAN CLASS="Definition">
prelayout simulations</SPAN>
include logic-cell delays but no interconnect delays. Estimates of capacitance may be included after completing logic synthesis, but only after physical design is it possible to perform an accurate <A NAME="marker=63857">
</A>
<SPAN CLASS="Definition">
postlayout simulation</SPAN>
.</P>
<HR><P>[ <A HREF="CH13.htm">Chapter start</A> ] [ <A HREF="CH13.htm">Previous page</A> ] [ <A HREF="CH13.2.htm">Next page</A> ]</P></BODY>
<!--#include file="Copyright.html"--><!--#include file="footer.html"-->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -