电磁兼容小小家

 找回密码
 注册
查看: 4360|回复: 0

Orcad使用教程6 上

[复制链接]
发表于 2006-10-31 13:50:01 | 显示全部楼层 |阅读模式

老伙计,请登录,欢迎回家

您需要 登录 才可以下载或查看,没有帐号?注册

x
  第七章 逻辑模拟
第三章至第六章介绍了PSpice程序对模拟电路进行计算机辅助分析的方法。本章在简要介绍逻辑模拟基本概念的基础上,具体介绍如何调用PSpice,对数字电路进行逻辑模拟。关于数字/模拟混合电路的计算机辅助分析以及最坏情况逻辑模拟将在第八章介绍。
7-1 逻辑模拟的基本步骤
本节首先对逻辑模拟中涉及的基本概念和几个有关问题作简要说明,然后介绍逻辑模拟的基本步骤。
7-1-1 逻辑模拟的基本概念
1. 逻辑模拟及其作用
逻辑模拟的基本含义是:对给定的数字电路拓扑关系,以及电路内部数字器件的功能和延迟特性,由计算机软件分析计算整个数字电路的功能和特性。
PSpice软件包中逻辑模拟模块的功能包括:
(1)模拟分析数字电路输出与输入之间的逻辑关系(第七章)。
(2)模拟分析数字电路的延迟特性(见7-8-1节)。
(3)对同时包括有模拟元器件和数字单元的电路进行数模混合模拟,可同时显示出电路内部的模拟信号和数字信号波形分析结果(见8-1节)。
(4)最坏情况逻辑模拟。对实际的IC产品,每个数字单元的延迟时间均有一定的范围。逻辑模拟时,每个数字单元的延迟特性均取其标称值。在同时考虑每个数字单元延迟时间的最大/最小极限值的组合时,将构成最坏情况。针对这种情况进行的逻辑模拟,称之为最坏情况逻辑模拟(见8-2节)。
(5)检查数字电路中是否存在时序异常和冒险竞争现象(见8-3节)。
2. 电路节点分类
PSpice软件对电路进行模拟分析时,根据与节点相连的元器件类型的不同,将电路内部节点分为3类。
(1)模拟型节点:如果与节点相连的元器件均为模拟器件,则该节点为模拟型节点。第三章和第四章介绍的模拟电路内部的所有节点都是模拟型节点。
(2)数字型节点:这类节点是指与该节点相连的都是数字器件。本章介绍的逻辑模拟所分析的数字电路内部只包括数字型节点。
(3)接口型节点:如果与节点相连的元器件中既有模拟器件,又有数字器件,则这类节点称为接口型节点。在8-1节介绍的数/模混合模拟中,将涉及到接口型节点。PSpice在分析数模混合电路时,用一个数/模或模/数接口转换电路代替这类节点。采用这种接口电路后,整个数模混合电路就被分成了若干部分,每一部分将是单纯的数字电路或模拟电路。8-1节将具体介绍接口电路的有关问题。
3. 数字型节点逻辑状态(States)
PSpice支持的数字信号可包括6类逻辑状态,如表7-1所示。
表7-1 逻辑状态
逻辑状态    含          义
0    Low(低电平),false(假),no(否定),off(断)
1    High(高电平),true(真),yes(是),on(通)
R    Rising(逻辑状态从0到1的变换过程)
F    Falling(逻辑状态从1到0的变换过程)
X    不确定(可能为高电平、低电平、中间状态或不稳定态)
Z    高阻(可能为高电平、低电平、中间状态或不稳定态)
对模拟电路,PSpice模拟计算各个节点电压信号波形。对数字电路,PSpice模拟计算每一个节点的逻辑状态随时间的变化。用Probe程序显示分析逻辑模拟结果时,不同逻辑状态的显示情况如图7-1所示。


图7-1 Probe中显示的逻辑状态

需要说明的是,逻辑状态并非必然对应于某一个特定的或稳定的电压值。例如逻辑状态1和0只分别表示节点电压处于由特定数字器件决定的高电平和低电平电压范围内。逻辑状态R和F只表示节点电压处于由特定数字器件决定的低电平阈值电压和高电平阈值电压之间,并不分别说明该节点电压正以某一特定斜率上升和下降。
4. 逻辑强度(Strength)
在逻辑模拟过程中,除要考虑数字信号的逻辑状态外,对每一种逻辑状态还要考虑其“强度”。当不同强度的数字信号作用于同一个节点时,该节点的逻辑状态由强度最强的那个数字信号决定。如果作用于某一节点的几个数字信号逻辑状态不同,但强度相同,则该节点逻辑状态为X,即不确定。
PSpice内部将数字信号的强度按从弱到强顺序分为0,1,…,63共64级。最强的是由外加激励信号提供的激励信号电平。最弱的是Z(高阻)。处于禁止(disabled)状态的三态门或输出为集电极开路结构的器件,其输出强度即为Z。
例如,在数字电路中使用很广泛的总线(Bus),通常与多个三态门驱动电路的输出相连。在正常工作时,这些三态门中只有一个处于驱动状态,其余的均为高阻输出。总线上的逻辑电平将由处于驱动状态的三态门的输出电平决定。
5. 传输延迟 (Propagation Delay)
一个逻辑单元,除逻辑功能外,还有一个重要的特性参数是该逻辑单元的传输延迟。对不同的逻辑单元,描述其传输延迟特性的延迟时间参数名称和个数不完全相同。但从逻辑模拟角度考虑,为了使模拟结果更符合实际情况,在数字电路特性数据库中,对每一个延迟时间参数均给出3个数据:
(1)最小延迟时间。
(2)典型延迟时间。
(3)最大延迟时间。
在逻辑模拟过程中,用户可根据需要,选用不同的延迟时间数值(见7-7-2节)。
6. 激励信号 (Stimulus)
为了进行逻辑模拟,必须在数字电路输入端施加激励信息。PSpice A/D进行逻辑模拟时采用的激励信号有3类。
(1)时钟信号(Clock Stimulus):这是一种规则的一位周期信号,因此产生方法最简单。
(2)一般激励信号(Digital Signal Stimulus):这也是一位信号,但其波形变化不像时钟信号那样简单。
(3)总线激励信号(Digital Bus Stimulus):又分2位、4位、8位、16位和32位共5种。
7-1-2 逻辑模拟的基本步骤
调用PSpice A/D进行逻辑模拟与对模拟电路进行计算机辅助分析的过程基本相同,主要包括下述3个阶段。
1. 逻辑电路原理图生成
这阶段的工作主要包括:
(1)新建设计项目(见第二章)。
(2)绘制逻辑电路原理图(见7-2节)。
(3)设置输入激励信号波形(见7-3至7-6节)。
2. 逻辑模拟
这阶段具体工作包括:
(1)    确定分析类型和指定模拟时间 (见7-7-1节)。
(2)    设置任选项参数(见7-7-2节)。
(3)启动逻辑模拟进程(见7-7-3节)。
3. 逻辑模拟结果分析
分析逻辑模拟结果包括:
(1)在PSpice A/D的Probe窗口中显示结果波形,分析逻辑模拟功能关系,确定各种延迟参数(见7-8节)。
(2)检查有无异常情况出现(见8-3节)。
7-2 数字电路原理图生成
本节在简要介绍数字电路原理图特点的基础上,重点介绍输入激励信号源的类别和特点。各类波形的设置方法将分别在7-3到7-6节介绍。
7-2-1 数字电路原理图
由于OrCAD EDA系统中对设计项目实施统一管理,因此逻辑模拟前,新建设计项目和生成逻辑电路原理图的方法与一般模拟电路情况相同,第二章已作了详细介绍。实际上,对于数字电路,电路原理图中元器件符号类型只包括:基本数字电路单元、激励信号源和端口符号,比一般模拟电路还要少。元器件互连也只涉及互连线(Wire)和总线(Bus)。因此在生成数字电路原理图时,电路图的绘制方法可直接参考第二章介绍的内容。关键问题是如何根据逻辑模拟要求,设置好激励信号波形。
7-2-2 逻辑模拟中的激励信号源
1. 激励信号源符号
如7-1-1所述,PSpice A/D进行逻辑模拟时,可采用3种激励信号波形。根据信号波形类别和设置方法的不同,元器件符号库中有4类17种不同的逻辑激励信号源符号(见图7-2),供选用。在电路图中放置激励信号源符号的方法与放置一般元器件符号的方法相同。


图7-2 数字电路中的4类激励信号源符号

2. 激励信号源特点
由图7-2所示的激励信号源符号有下述4个特点。
(1)其元器件编号名采用DSTM。对电路中不同信号源,DSTM后的数字序号不同。
(2) 4类信号源中,除DigClock只用于产生时钟信号外,其他3类均可产生总线激励信号。不同位数的总线激励信号源是在其名称的最后一个字符采用不同的数字。例如STIMn信号源中STIM1用于产生一般激励信号,包括时钟信号。STIM4、STIM8和STIM16则分别用于产生4位、8位和16位总线信号。
(3)对产生1位信号的信号源,图7-2中信号源符号引出线为细线状的“互连线”。对总线激励信号源,信号源符号引出线为粗线状的“总线”。
(4)就波形设置方法而言,DIGSTIMn类信号源的波形是通过调用StmEd软件以人机交互图形编辑方法产生的。FILESTIMn的波形由一个波形描述文件中的数据描述。其他两类信号波形都采用修改元器件参数设置框中的有关参数值确定。
表7-2是这4类17种信号源符号的功能对比。

表7-2  4类信号源符号功能对比。
   DIGCLOCK类    STIMn类    FILESTIMn类    DIGSTIMn类
时钟信号    DigClock    STIM1    FileStim1    DigStim1
一般信号        STIM1    FileStim1    DigStim1
2位总线信号            FileStim2    DigStim2
4位总线信号        STIM4    FileStim4    DigStim4
8位总线信号        STIM8    FileStim8    DigStim8
16位总线信号        STIM16    FileStim16    DigStim16
32位总线信号            FileStim32    DigStim32
波形设置方法    这3类信号源均采用元器件参数设置对话框方式,修改参数设置(包括设置波形描述文件名),确定激励信号波形    调用StmEd软件,以交互式图形编辑方法确定波形

7-3 时钟信号源DIGCLOCK波形设置
7-3-1 时钟信号波形设置特点
时钟信号是逻辑模拟中使用最频繁的信号,也是波形最简单的一种脉冲信号。要完整描述一个时钟信号,需要确定下述5个参数。括号中的英文名称是设置时钟信号波形时需设置的参数名称。
(1)高电平状态(OPPVAL):指时钟高电平状态。
(2)初值(STARTVAL):指t=0时的时钟信号初值。在延迟时间范围内,信号值由初值决定。t等于延迟时间时,信号值发生变化。
(3)低电平时间(OFFTIME):在一个时钟周期中,低电平状态的持续时间。
(4)高电平时间(ONTIME):一个时钟周期中,高电平状态的持续时间。
(5)延迟时间(DELAY)。
说明:作为一种替代,高电平时间和低电平时间也可以用频率和占空比两个参数代替。占空比指一个时钟周期中高电平持续时间与时钟周期之比。
7-3-2 DIGCLOCK波形设置


图7-3 DigClock符号参数设置
如图7-2所示的DIGCLOCK符号只能用于产生时钟信号,因此其波形设置方法也很简单。在电路图中用鼠标左键连击DigClock符号,屏幕上即出现常规的元器件参数设置框(见2- 节)。在VALUE参数下为该符号名“DigClock”。在其他参数中,除一般元器件共有的参数外,DigClock符号所特有的参数如图7-3所示。
(1)波形设置:图7-3中,OPPVAL、STARTVAL、OFFTIME、ONTIME和DELAY,就是前面提到的确定时钟信号波形的5个参数。其中OPPVAL的内定值为1,STARTVAL的内定值为0。用户只需按2- 节介绍的方法,设置好这5个参数的数值,即完成了时钟信号波形的设置
(2)驱动能力强度设置:图7-3中I/O_MODEL项的作用是通过指定digio.lib模型库中的一个I/O模型名,设置激励信号的驱动强度。对激励信号源,其内定设置为采用IO_STM模型名,表示强度为最高。一般情况下,用户无需修改该内定设置。
(3)数/模接口子电路类别的设置:如7-1-1节所述,如果与激励信号源相连的有模拟元器件,则该节点称为接口型节点。在模拟时,PSpice自动在该节点插入一个接口转换子电路。图7-3中IO_LEVEL参数的作用是确定从PSpice提供的4类接口转换子电路中选用那一类子电路。一般均采用内定值。关于接口转换子电路的概念、类型和选用原则将在8-1节详细介绍。
由上分析可见,时钟信号设置框中,一般只有OFFTIME和ONTIME两项需要设置。其他参数均可用内定值。
按图7-3中所示参数设置,相应的时钟信号波形如图7-4所示。


图7-4 时钟信号波形(例)

7-4 STIMn类信号源波形设置
如表7-2所示,STIMn类信号源主要用于产生总线信号。由于总线信号波形变化情况不像时钟信号那样简单,而且总线信号中含有多位信号,在设置时要同时确定这几位信号波形随时间变化的情况,因此总线信号波形设置过程和需要确定的参数均比时钟信号的设置复杂得多。本节首先介绍总线信号波形的设置特点,然后再具体说明STIMn类信号源的波形设置方法。
7-4-1总线激励信号波形的设置特点
在设置总线信号时,基本方法还是指定不同时刻各位总线信号的电平状态。但在设置中有几个问题需作统一说明。
1. 时间表示方法
(1)两种时间单位:在描述激励信号波形时,除可以采用通常的时间单位秒(用字母S表示)外,还可采用时间步长(或周)(用字母C表示)。为了说明一个C代表的实际时间值,必须用TIMESTEP参数定义C的实际值。该参数定义值的大小对用S(秒)表示的时间值毫无影响。TIMESTEP的内定值为0。如果在一个时间值后加C,表示以TIMESTEP的定义值作为时间的单位。否则,时间的单位自动为秒。
(2)“绝对”和“相对”模式:在表示时间值时,有“绝对”和“相对”两种表示模式。“相对”模式是指相对于前一时刻,经过多少时间。这时,时间值前面必须加有符号“+”。若无“+”号,则为绝对时间模式,表示从t=0开始,经过了多长时间。
2. 逻辑电平值
如表7-1所示,不同时刻激励信号逻辑电平值可以设置为0,1,R,F,X和Z。在电平值为0,1的情况下,总线信号的电平值可以用不同进制的数表示(见本节第3个问题介绍)。如果要描述相对前一时刻电平值逻辑电平如何变化,还可以用INCR BY<电平值>和DECR BY<电平值>语句(见下面例2中的信号波形描述)。
3. 高低电平的2、8、16进制表示方法
(1)电平值的不同进制表示:用0、1表示低电平和高电平时,对一位信号,只需要用单个0/1即可。要表示某一时刻16位总线信号的电平,就需要采用由16个0/1组成的一排字符。这不但烦琐,而且极易出错。为了克服这一问题,可以用一个8进制数代表并排的3位0/1字符,用一个16进制数代表并排的4位0/1字符。一般情况下,可以用几个不同进制的数代表若干位0/1字符。表7-3是一个具体实例,分别列出了用“16个2进制数”、“4个16进制数”、“1个2进制数、1个8进制数和3个16进制数”、“5个8进制数和1个2进制数”等4种不同进制数的组合表示某一时刻一个16位总线信号的逻辑状态。
(2)进制组合标注:在用不同进制数表示多位总线信号时,为了不致引起混淆,应同时标注出采用的是那几种进制数,及其排列的顺序关系。由于2、8、16分别为21,23和24,因此分别用1、3、4标注2进制、8进制和16进制数。
(3)例:表7-3给出的是一个实例。对一个16位总线信号在某一时刻的电平值,全部用二进制表示时要用(1010000110111000)共16个字符。若全部用16进制数表示只需采用(A1B8)4个字符。如果采用1个2进制数、1个3进制数和3个16进制数表示,则为(121B8)共5个字符。为了表示不同字符采用的是几进制数,再在其后用括号标出(1,3,4,4,4),第一个字符1说明代表信号电平值的121B8第一个字符为2进制数,表示最高位信号值为1。进制特征数中第2个字符3说明信号电平值中的第2个字符2为8进制数。在8进制数中2是010,表示从次高位信号开始,3位信号值分别为0、1、0。…。采用1、3、4分别表示2、8、16进制的好处是1、3、4正好也是在相应进制的数制中一个数所代表的信号位数。
表7-3 十六位总线信号某一时刻电平值的不同进制表示(例)
bit15    bit14    bit13    bit12    bit11    bit10    bit9    bit8    bit7    bit6    bit5    bit4    bit3    bit2    bit1    bit0    采用的数制(注)
1    0    1    0    0    0    0    1    1    0    1    1    1    0    0    0    二进制(1,1,……1)
A(1010)    1(0001)    B(1011)    8(1000)    十六进制(4,4,4,4)
1    2(010)    1(0001)    B(1011)    8(1000)    混合进制(1,3,4,4,4)
5(101)    0(000)    3(011)    3(011)    4(100)    0    混合进制(3,3,3,3,3,1)

4. 波形变化的循环表示方法。
在描述循环变化的激励信号波形时,可以采用两种表示方法。
(1)REPEAT:用REPEAT表示循环变化的一般格式如下所示。
REPEAT <n> TIMES
<不同时刻波形描述>
ENDREPEAT
其中<n>用于指定重复的次数。若取值为-1,表示无限次重复。此时也可用“REPEAT FOREVER”代替“REPEAT <n> TIMES”。
例1:       0s   0
           REPEAT  FOREVER
           +5ns  1
           +5ns  0
           ENDREPEAT
描述的是一个初值为0,周期为10ns,脉宽为5ns的周期信号。这也就是图7-4所示的时钟信号波形。
(2)GOTO:用GOTO描述循环变化的一般格式如下所示。
LABEL=<Label名>
<不同时刻波形描述>
<时间值> GOTO <Label名> <循环要求>
上述一般格式可分为两个部分。LABEL=<Label名>用于设置GOTO循环的切入位置。其后是一系列波形变化描述。执行GOTO语句时,即转向位于“Label名”定义语句下面一行的波形描述。
GOTO语句中<循环要求>可以采用下述5种形式,其含义显而易见。
<n> TIMES
UNTIL GT <逻辑电平值>
UNTIL GE <逻辑电平值>
UNTIL LT <逻辑电平值>
UNTIL LE <逻辑电平值>
例2:下述语句采用(44)格式,即用2个16进制数描述一个8位总线激励信号。
TIMESTEP=10ns
0s  00
LABEL=STARTLOOP
1c  INCR  BY  01
2c  GOTO  STARTLOOP  UNTIL  GE  AA

图7-5  16位总线信号波形(例2)

上述语句中,第一句描述时间单位c代表的时间步长值为10ns。第二句表示t=0时,所有8位信号初值均为0。第3句描述LABEL的名称为STARTLOOP。第4句表示时间为1c,即10ns时,总线信号电平加1。第5句表示在时间为2c即20ns时,如果总线电平小于AA,则转向LABEL名为STARTLOOP的下一句波形描述语句,即第4条语句,将总线信号电平加1,一直到总线电平等于AA,才停止这一循环过程。结果波形如图7-5所示。
7-4-2 STIMn类激励信号波形的设置
如表7-2所示,STIMn类信号源符号又分为产生1位、4位、8位和16位信号共4种情况。在电路图中用鼠标左键连击STIMn类符号,屏幕上出现常规的元器件参数设置框(见2- 节)。其中Value参数下显示的是STIMn符号名。在其余的参数中,除一般元器件共有的参数外,STIMn类符号特有的参数如图7-6所示,可以分为3类。


图7-6  STIMn符号参数设置
1. 信号波形设置
图7-6中,与设置信号波形有关的有下述几个参数,用于按7-4-1节的介绍,确定总线信号波形的有关参数值。
(1)WIDTH:该参数值指总线信号的位数。即该激励信号源输出端的节点个数。其值即为相应STIMn符号中的n值。
(2)FORMAT:用于说明在描述总线信号逻辑电平时采用的是那几种进制数。如7-4-1节所述,其中数字只能是1(代表2进制)、2(代表8进制)和4(代表16进制数)。显然,该参数设置值各位数字之和应与WIDTH设置值相等。
(3)TIMESTEP:在用c作时间单位时,c所代表的实际时间步长值由本项参数设置值决定。
(4)COMMAND 1,…COMMAND16:每一项COMMANDn参数用于设置不同时刻的波形变化。具体设置格式见7-4-1节介绍。
例如,要产生图7-5所示8位总线激励信号,上述各项参数应设置为:
WIDTH:8
FORMAT:44
TIMESTEP:10ns
COMMAND1:0s00
COMMAND2:LABEL=STARTLOOP
COMMAND3:1c  INCR BY 01
COMMAND4:2c  GOTO STARTLOOP UNTIL GE AA
2. 与接口子电路有关的参数
图7-6中DIG_PWR、DIG_GND和IO_LEVEL这3项参数与接口子电路有关。一般直接采用内定设置值。有关概念及设置要求见8-1节。
3. 驱动能力强度设置
图7-6中IO_MODEL用于设置激励信号源的驱动能力。该参数与图7-3中同名参数相同,设置考虑也一样。
由上分析可见,在一般情况下,图7-6所示STIMn参数设置框中,只有WIDTH、FORMAT、TIMESTEP和COMMANDn几项需要设置,其他各项可直接采用内定值。
7-5 FILESTIMn类信号源波形设置
如7-2-2节所述,FILESTIMn的信号波形由一个波形描述文件中的数据确定。如果描述波形的数据量较大,或者激励信号是另一次逻辑模拟的输出波形,甚至是另一个模拟软件的输出结果,采用波形描述文件是一种比较好的方法。本节在介绍波形描述文件结构和格式的基础上,具体说明FILESTIMn的信号波形设置方法。
7-5-1激励信号波形描述文件格式
波形描述文件由两个部分组成。
1 文件头(Header)
波形描述文件的开始部分称为文件头,包括时间值倍乘因子定义和信号名列表两部分。其一般格式如下所示:
TIMESCALE=<时间倍乘因子值>
<信号名1>,…<信号名n>
OCT(<bit2信号名>…<bito信号名>)
HEX(<bit3信号名>…<bito信号名>)
(1)时间倍乘因子值:这是任选项参数。若有此项,在文件头中必须单独列为一行。波形描述部分的时间值等于设置值乘“时间倍乘因子值”。本参数内定值为1。
(2)一般信号名列表:在文件头的信号名列表区中,用二进制数描述的信号只需列出信号名,不同信号名之间应该用空格或逗号等分隔符隔开。文件头中最多允许指定255个信号名,可以分成几行表示。每一行字符数不得超过300个。不同行的行首不要加续行标注符。
(3)OCT和HEX信号名组:与7-4-1节介绍的情况类似,可以用一个8进制数表示3个信号的逻辑电平值,用一个16进制数表示4个信号的逻辑电平值。在前一种情况下,相应的3个信号名合为一组,用关键词OCT作为该分组标志名。在后一种情况下,相应的4个信号名合为一组,用关键词HEX作为其标志名(见下面图7-7例3)。显然,在OCT右侧括号中必须有3个信号名。在HEX右侧括号内必须有4个信号名。需要强调的是,在文件头中,OCT和HEX分组信号以及一般信号的顺序应该与文件中波形描述部分逻辑电平设置值的顺序相对应。对高、低电平值,一般信号对应的是二进制数,而一个OCT分组和HEX分组分别对应于一个8进制数和16进制数。
2. 波形描述
在文件头后面即为波形描述。这两部分之间至少用一个空行隔开。波形描述部分由若干行组成。每一行格式为:
时间值  逻辑电平值
其中时间值与逻辑电平值之间应该用空格分开。
(1) 时间值:时间单位为秒。时间值可以用绝对模式(如45ns,1.2e-8等),或相对模式(如+5ns,+1e-9等)表示。如果在文件头中有TIMESCALE设置值,则每一个时间值还应用该设置相乘(见下面图7-7例3)。
(2) 逻辑电平值:波形描述部分逻辑电平值可采用的字符及其含义如表7-4所示。

表7-4 逻辑电平设置值
   二进制    OCT(8进制)    HEX(16进制)
高低电平(High/Low)    0,1    0-7    0-F
不确定(Unknown)    X    X    X
高阻(Hi-impedance)    Z    Z    Z
上升(Rising)    R    R    
下降(Falling)    F    F    

如表7-4所示,在设置逻辑电平时,对OCT和HEX,同一个分组中的几个信号高低电平分别用一个8进制和16进制数表示,但程序运行时会自动将其转换为等价的二进制数,并按从最高位(msb)到最低位(lsb)的顺序依次将每一位二进制数分别赋给分组括号中的每一个信号。如果逻辑电平值设置为X、Z、R或F,则分组内的每一个信号均取该设置值。由于F是16进制数中的一个数,因此对HEX分组,不允许设置“下降”逻辑状态。
例3:下述文件内容描述了13个信号的波形。其中Addr7,…Addr0共8个信号分别用两个HEX分组表示。在文件头中设置了时间倍乘因子值。
TIMESCALE=10ns
Clock, Reset, In1, In2
HEX(Addr7, Addr6, Addr5, Addr4)
HEX(Addr3, Addr2, Addr1, Addr0)
RW

0   0000 00 0
1   110R 4E 0
2   0101 4E 1
+3  1111 4E 1
7   011F C3 0
8   11X0 C3 1
在上述波形描述中,同时采用了绝对时间模式和相对时间模式两种表示方式,分别给出了t=0,10ns,20ns,50ns,70ns和80ns六个时刻的波形变化。
由于文件头中包括5个一位信号,两个HEX分组信号,因此在波形描述部分,时间值后面逻辑电平设置项共有7个字符。前4个对应4个一般信号的逻辑状态设置,第5和第6个字符为两个16进制数,对应两个HEX分组内一共8个信号的逻辑状态设置。最后一个字符用于描述文件头中最后一个一般信号RW的信号逻辑电平。


图7-7 波形描述文件确定的信号波形(例3)
上述文件描述的13个信号波形如图7-7所示。
7-5-2 FILESTIMn信号源波形设置


图7-8 FILESTIMn参数设置
由于FILESTIMn类信号源波形由波形描述文件中数据确定,因此其信号设置比较简单。在电路图中连击该类信号源符号,屏幕上出现元器件属性设置框,如图7-8所示,除2- 节介绍的常规元器件属性参数项外,FILESTIMn所特有的参数有4项。其中IO_MODEL和IO_LEVEL两项在7-3节和7-4节已作过介绍。下面着重说明另两项参数的含义和设置方法。
1. FILENAME(波形描述文件名)
本项参数的作用是指定调用那一个波形描述文件。PSpice进行逻辑模拟时,将从该文件中读取波形描述数据。为了顺利读取该文件中的数据,应按2-1节介绍的方法,在图2- 所示项目管理窗口中的“Stimulus Files”下面,添加该波形描述文件。PSpice激励信号波形描述文件内定扩展名为.STL。
2. SIGNAME(信号名)
该项参数用于指定从波形描述文件中读取那几个信号名对应的波形描述数据。下面以前面例3所示波形描述文件的调用为例,说明与该参数设置有关的几个问题。设存放例3所示数据的文件名为DIG1.STL文件。图7-8中已将FILENAME项设置为DIG1.STL。
(1) 1位信号源FILESTIM1:对这种信号源,只需要指定一个信号名。若SIGNAME参数设置为Reset,则PSpice将从DIG1.STL文件中读取信号名为Reset的波形描述数据,作为该信号源的激励信号波形。如果已用2- 节介绍的方法将信号源输出端节点名设置为Reset,则SIGNAME项的Reset设置名可省去。显然,被调用的波形描述文件中一定要有一个名称与SIGNAME参数设置名或信号源输出端节点名相同的信号名。
(2) 多位信号源FILESTIMn:这种信号源有4、8、16或32位输出,因此,需从波形设置文件中读取多组数据。具体设置方法与上述1位信号源情况类似。
为了正确读取各位信号波形数据,最好用2- 节介绍的方法,将信号源输出端的每一位设置一个节点名,这样就无需设置SIGNAME参数,PSpice将从波形描述文件中读取与节点名称相同的信号名波形数据,加至该信号源输出端同名节点上。显然,波形描述文件中的信号名个数与信号源位数(即信号源输出端节点名个数)不一定相等。即不要求文件中每一个信号名均被调用。但波形描述文件中一定要有与信号源输出端节点名称相同的信号名。在一个电路图中,可以有多个FILESTIMn信号源调用同一个波形描述文件。
7-6 DIGSTIMn类信号源波形设置
7-3节到7-5节介绍的逻辑模拟激励信号波形设置采用的是对话框参数设置和文本编辑方式。本节介绍如何调用StmEd程序,在图形窗口界面下,以人机交互方式设置时钟信号、一般信号和总线信号的波形。
7-6-1 DIGSTIM符号和StmEd应用程序

图7-9 StmEd窗口和New Stimulus设置框
如表7-2所示,图7-2中DIGSTIM激励信号源可产生时钟信号、一般信号和总线信号。其波形设置由StmEd程序进行。按第二章介绍的方法,建立了设计项目(Project)并在电路图中放置了DIGSTIM符号后,只要使其处于选中状态,然后选择Capture中的Edit主命令,并在其下拉式子命令菜单中选择执行“PSpice Stimulus”子命令,即调用StmEd程序。屏幕上出现StmEd程序窗口,并同时显示出“New Stimulus”设置框,如图7-9所示。
在图7-9 StmEd窗口的标题栏中,方括号内SOC.stl是存放信号波形设置结果的文件名。其中文件主名SOC即为建立的设计项目(Project)的名称。在SOC项目设计中设置的所有信号波形均存放在SOC.stl文件中。每个信号的名称在设置波形时由图7-9所示New Stimulus设置框中Name一项确定。
3- 节已对StmEd程序的功能、命令菜单、波形设置窗口操作方法等作了介绍,并详细说明了如何设置模拟电路瞬态特性分析中的5种输入信号波形。本节重点介绍逻辑模拟中时钟信号、一般信号和总线信号这3类激励信号的波形设置方法。
无论设置上述3类信号中那一类信号的波形,首先应该在图7-9中Name一项填入该激励信号的名称,并在Digital下方选中待设置其波形的信号的类别。图7-9中Name项设置为CLK,选中的是“Clock”,表示要设置的是时钟信号波形,信号名为CLK。
需要说明的是,本节主要介绍DIGSTIM信号源的波形设置方法。该信号源的其他属性参数(如IO_MODEL参数等)的设置方法与7-3到7-5节的几种信号源属性参数设置方法相同,即用鼠标左键连击电路图中DIGSTIM符号,屏幕上即出现属性参数设置框,用户可根据需要修改参数设置值。一般情况下,对DIGSTIM信号源,其属性参数均可采用内定设置值,无需用户修改。
7-6-2 时钟信号波形设置
7-3节已对时钟信号波形的参数作了详细介绍。本节介绍如何运行StmEd程序,设置、添加、修改和删除时钟信号波形。
1. 时钟信号波形设置

(b)
在图7-9中设置好信号名,并选中Clock为信号类型后,按OK按钮,屏幕上即出现图7-10(a)所示时钟信号参数设置框。

(a)

图7-10 时钟信号参数设置框

在图中“Specify by”下方,“Frequency and duty cycle”处于选中状态,表示从“频率”角度设置时钟信号波形,这时需设置的参数如图7-10(a)所示,为“Frequency(Hz)”(频率)、“Duty Cycle (%)”(占空比)、“Initial Value”(初值)和“Time Delay(Sec)”(时间延迟)共4项。各参数的含义见7-3节说明。后3项的内定值分别为0.5、0和0,如图中所示。
如果在图7-10中“Specify by”一项选中“Period and on time”,则时钟信号参数设置框变为图7-10(b),将图7-10(a)中Frequency 和Duty Cycle两项改为“Period (sec)”(周期)和“On time(sec)”(脉宽)。
用户可根据具体情况选用图7-10(a)或(b),设置好相应参数。
设置好时钟信号参数后,如果按图7-10中“Apply”按钮,则屏幕上StmEd窗口中将按设置的参数值显示出相应的时钟信号波形。时钟信号参数设置框仍保留在屏幕上。如果用户认为显示出的信号波形不符合要求,可直接修改参数设置框中的参数。

图7-11 StmEd窗口中的时钟信号波形
如果在设置好参数后,按图7-10中OK按钮,则屏幕上StmEd窗口中显示出设置好的时钟信号波形,同时,图7-10所示时钟参数设置框从屏幕上消失。对图7-10(b)所示参数设置值,相应时钟信号波形如图7-11所示。
2. 新信号的添加

图7-12 StmEd的Stimulus
子命令菜单

在StmEd窗口中,各种信号的添加、删除、甚至改变信号类型等工作都是通过执行StmEd中的Stimulus主命令完成的。选择Stimulus子命令后,屏幕上出现的下拉式子命令菜单如图7-12所示。
在图7-12中选择执行New子命令,可增添一个新的信号。这时屏幕上弹出图7-9所示“New Stimulus”设置框。用户可按前面介绍的方法,从图7-9开始,设置一个新的时钟信号波形。新增的时钟信号波形将与已有信号一起存放在当前.stl激励信号文件中。
3. 通过复制添加新信号
如果要从其他设计项目的激励信号文件中调入一个信号,应选择执行图7-12中Copy子命令,这时屏幕上出现通常的文件打开设置框,用户在选择设计项目子目录后,进而选择并打开.stl文件,屏幕上将显示出Copy Stimulus对话框,给出该.stl文件中包括的信号名列表。从中选择欲调用的一个或多个信号名,并按OK按钮,被选中信号即被复制至当前.stl文件。同时在当前的StmEd窗口中显示出这些信号波形。
4. 信号的选中
要对窗口中显示的信号进行编辑、修改、删除等处理,首先需要将其选中。在StmEd窗口中,用鼠标左键点击信号波形左侧的信号名,即将其选中。按系统内定设置,处于选中状态的信号名为红色显示。若按下Shift键,可用点击的方法选中多个信号。
5. 信号的删除
在StmEd窗口中,有两种不同含义的信号删除。
(1) 从.stl信号文件中删除信号波形:选中一个或多个信号名,选择执行图7-12子命令菜单中“Remove”子命令,屏幕上弹出警告框,显示出“Remove selected stimuli from library ?”,如果按警告框中“确定”按钮,选中的信号即从信号波形文件中删除。
如果在StmEd窗口未选中任何信号的情况下,选择执行图7-12中Remove子命令,则屏幕上弹出Remove Stimulus对话框,列出当前.stl文件中包括的信号名。从中选择一个或多个信号名后按OK按钮,选中的信号即从当前.stl文件中删除掉。
(2) 从StmEd窗口中删除信号波形:在StmEd窗口中选中一个或多个信号名后,按Del键,或选择执行StmEd窗口Edit主命令下的Delete子命令,即将选中的信号波形从StmEd窗口中删除。但这些信号波形数据仍存放在.stl文件中,这是选择执行Edit/Delete子命令与上述Stimulus/Remove子命令的根本区别。
6. 时钟信号波形的编辑修改
在StmEd窗口中连击某一个信号名,或选中某一个信号后再选择执行Edit主命令下的Attributes子命令,屏幕上将弹出图7-10所示时钟信号参数设置框,列出了当前时钟信号波形参数。用户根据需要修改有关参数后,按OK按钮,屏幕上将显示出修改后的波形,同时.stl文件中该信号波形数据也改为新的设置值。


图7-13 Change Stimulus Type设置框

7. 信号类型的修改
如果在StmEd窗口中选中某一信号名后,选择执行图7-12中Change Type子命令,屏幕上将弹出图7-13所示设置框,从中选择信号类型名后按OK按钮,屏幕上即出现与修改后信号类型对应的参数设置框,用于设置新的信号波形(见7-6-3和7-6-4节)。
8. 在StmEd中增加显示信号波形
如果要在StmEd窗口中显示当前.stl文件中的信号波形,应选择执行图7-12中Get子命令,屏幕上将弹出Get Stimulus对话框,其中列出了当前.stl文件中包括的信号名及信号类型,从中选择信号名后按OK按钮,被选信号的波形将出现在StmEd窗口中。

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|电磁兼容网 电磁兼容小小家 EMC工程师家园 电磁兼容(EMC)小小家学习园地

GMT+8, 2024-5-15 20:53 , Processed in 0.104674 second(s), 19 queries .

快速回复 返回顶部 返回列表