电磁兼容小小家

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

Orcad使用教程6 下

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

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

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

x
  7-6-3 一般信号波形设置
尽管一般信号的波形形状不像时钟信号那样规则而简单,但关于信号的选中、新信号的增添、调入、删除、显示、类型改变等处理方法与7-6-2节介绍的时钟信号相同,这里不再重复。但是由7-6-2节介绍的内容可见,时钟信号波形采用的是参数设置框方法(见图7-10),而一般信号的波形可以直接在StmEd窗口中“绘制”。绘制一般信号波形实际上是指定在什么时刻信号逻辑状态如何变化,因此绘制过程主要是关于“逻辑状态变化沿(简称变化沿)”的确定和处理。本节主要介绍在一般逻辑信号波形中如何添加、修改、移动和删除逻辑状态的变化沿。
1. 设置新信号波形-“逻辑状态变化沿”的添加
绘制一个新的激励信号,就是要添加一系列“逻辑状态变化沿”。其基本步骤如下:
(1) 在图7-9所示New Stimulus设置框中,在Name项键入信号名,再在信号类型栏中选择“Signal”,这时Initial Value右侧显示出信号初值的系统内定值0。用户可根据需要修改。完成上述设置后,按OK按钮,则在StmEd窗口中显示出刚设置的信号名,这时任一时刻逻辑状态取为设置的初值。图7-14显示的是初值取内定值0的情况,波形呈现低电平状态水平线。
(2) 信号逻辑状态变化沿的添加和修改等都是通过选择执行StmEd窗口中Edit主命令下的有关子命令完成的。在StmEd窗口中选择Edit主命令,屏幕上出现下拉式Edit子命令菜单,如图7-15所示。
选择执行图7-15中Add子命令,或按工具栏中相应工具按钮,进入添加“逻辑状态变化沿”的状态,这时光标呈现一支笔的形状,如图7-14所示。


图7-14 一般信号波形设置窗口

图7-15 StmEd中的
Edit子命令菜单

用笔形光标指向信号波形某一位置,用户可根据窗口下方状态栏中显示出的光标当前位置时间值检查光标位置是否正确。如图7-14中状态栏所示,图中笔形光标指于t=0.2us位置。若确认时间值正确,按鼠标左键,就使该时刻的信号波形逻辑电平在高、低之间发生变化。如图7-16所示。重复这一过程,可绘制不同时刻的信号电平变化。


图7-16 信号逻辑电平的变化

(3) 完成整个信号波形绘制后,按鼠标右键,退出“添加逻辑状态变化沿”的状态,光标又恢复为常规的箭头状。
2. “逻辑状态变化沿”的选中
要对“变化沿”进行修改、移动、删除等操作,首先必须将其选中。用光标点击信号波形上某一“逻辑状态变化沿”,即将其选中,这时该变化沿上出现小菱形符号。图7-16中t=0.2us处变化沿即处于选中状态。若保持Shift键处于按下状态,可同时选中多个变化沿。
3. 信号波形的编辑修改
用户可以从下述3方面修改信号波形。
(1) “逻辑状态变化沿”的移动:用鼠标拖动的方法可以将一个处于选中状态的“变化沿”沿时间轴移至新的位置。
(2) 逻辑电平的修改:选中一个“变化沿”后,选择执行图7-15中的Attributes子命令,或用鼠标左键连击“逻辑电平变化沿”,屏幕上将弹出“Edit Digital Transition”对话框,如图7-17所示。图中Start Time栏下方550ns给出了当前逻辑电平变化沿所在位置,其后括号中+2ns表示该变化沿与前一个变化沿之间相距2ns。从Value一栏下拉式列表中的0、1、X和Z,选择一个逻辑电平后,按图中OK按钮,则信号中从选中的变化沿开始,沿时间轴增加方向,到下一个变化沿之间的逻辑电平将改为图7-17中选中的逻辑状态。如果修改图中Start Time右侧的时间值,则逻辑状态变化的起始位置将从选中的变化沿改为新设置的时间值。

图7-17 修改一般信号的设置框

(3)“逻辑状态变化沿”的删除:选中一个变化沿后,选择执行图7-15中Delete子命令,或按Del键,则该选中的变化沿即被删除,信号上从该变化沿到下一个变化沿之间的逻辑状态变为该变化沿左侧的逻辑状态。
4. 时间轴分辨率
选择执行StmEd窗口中Plot/Axis Settings子命令,屏幕上将弹出“Axis Settings”设置框。该框中除可设置窗口中时间轴范围外,还有一项“Timing Resolution”,用于设置时间轴的最小刻度。该值决定了新增变化沿以及移动变化沿时,两个变化沿间需保持的最小距离。
7-6-4总线信号波形设置
对总线激励信号源,在设置其波形的过程中,关于变化沿的确定、新信号的添加和调入、信号的删除、信号类型的变化以及变化沿的选中、移动、删除等操作方法,与7-6-3节介绍的一般信号相同。但由于一个总线信号包括有多位信号,因此,在设置总线信号波形时,如何表示多位逻辑状态,以及采用什么进制数描述总线信号波形,将是本节主要讨论的问题。
1. 设置新的总线信号
设置一个新的总线信号,主要是添加一系列逻辑电平变化沿位置,并确定多位逻辑状态。其基本步骤如下。
(1) 新建总线信号名:在图7-9所示New Stimulus设置框中,在Name项键入信号名,再在Digital栏内选中“Bus”,这时其右方的Width一栏显示出总线信号位数的内定设置值8,Initial Value一栏显示出总线信号初值内定设置值0。用户可根据需要修改这两个参数值。完成上述设置后按OK按钮,屏幕上StmEd窗口中显示出刚设置的总线信号名,同时显示出总线信号波形。若在图7-9中Name项设置为Bus8,信号位数和初值均采用内定值,屏幕显示如图7-18所示,任一时刻总线信号波形电平值均为0。
(2) 进入总线信号波形设置状态:选择执行图7-15中Add子命令,或按相应的工具栏按钮,光标变为笔形,进入总线信号波形设置状态。
(3) 设置总线信号的逻辑电平变化值:要具体设置总线信号波形,应先按下述方法确定总线逻辑电平的取值。
在图7-18所示StmEd窗口的工具按钮栏右端有一个字符键入框,专门用于设置总线信号的逻辑电平变化值。其设置格式可采用下述3种之一。
(a) 数字[;采用的进制]
其中数字用于表示总线中各位信号的电平(总线中多位信号电平的不同进制表示方法见7-4-1节)。方框号内分号后面的字符用于指定采用什么进制表示总线信号。按惯例,用字母B、O、D、H分别表示采用二进制、八进制、十进制和十六进制。若未给出指定采用那种进制数的字母代号,则采用系统内定的进制数:十六进制。
例如,若设置为12,表示从指定的时刻起,总线电平取为用内定十六进制表示的12,即8位总线信号的各位电平分别为0、0、0、1、0、0、1、0。
(b) +数字[;采用的进制]
在数字前加符号“+”,表示从指定的时刻起总线信号逻辑电平在当前状态下加上由“数字”代表的电平值。
例如,若设置为“+12;O”表示将总线信号电平在当前状态下增加用八进制数表示的12。
(c) -数字[;采用的进制]
在数字前加符号“-”,表示从指定的时刻起,总线信号逻辑电平在当前状态下减去由数字代表的电平值。
例如,若设置为“-12;D”,表示将总线信号电平在当前状态下减少用十进制数表示的12。
(4) 指定总线信号逻辑电平发生变化的时间:设置好总线信号逻辑电平变化值后,在总线信号上用笔形光标点击某一位置(用户可根据状态栏中左侧显示的光标所在位置时间坐标值检验该点是否为选定的位置),则从该时刻开始,总线信号逻辑电平即按前面的设置发生变化。

图7-18 总线信号波形设置窗口

(5) 重复上述(3)、(4)两步,设置好总线信号波形后,按鼠标右键,结束总线信号波形的设置,光标恢复为常规的箭头形状。
2. 总线信号波形编辑修改(方法一)
修改总线信号波形的第一种方法与7-6-3节中修改一般信号逻辑电平的步骤基本相同,分以下4步。
(1) 选中一个总线信号电平“变化沿”后,选择执行图7-15中的Attributes子命令,或连击变化沿,屏幕上将弹出Edit Digital Transition对话框,如图7-19所示。该图与图7-17相同,主要参数含义在图7-17中已有解释。这两个图的主要区别是图7-17中Transition Type一栏内的Increment和Decrement两项为灰色显示,不能被选中。而图7-19中这两项均可由用户选用。

图7-19 修改总线信号设置框(方法一)

(2) 在Value一栏,从其下拉式列表中的0、All bits 1、X和Z中选择一项,或直接在Value栏中键入总线信号逻辑电平值。
(3) 从图7-19 Transition Types一栏内3项中选择一种。
若选择“Set Value”,则从选中的变化沿开始,沿时间轴增加方向到下一个变化沿之间的总线信号电平将改为第(2)步中的设置值。
若选择“Increment”或“Decrement”,则从选中的变化沿开始到下一个变化沿之间的总线信号电平将从当前值增加或减少第(2)步中的设置值。
与一般信号的情况一样,如果在图7-19中Start Time一项设置一个时间值,则上述变化从设置的时间值开始。


图7-20 修改总线信号设置框(方法二)

(4) 完成上述设置后,按图中OK按钮,StmEd窗口中显示的波形将按上述设置发生变化。
3. 总线信号波形编辑修改(方法二)
如果单击两个变化沿之间的总线信号波形,屏幕上将弹出如图7-20所示设置框。与图7-19的主要区别在于现在图中有Duration一项,给出了两个变化沿之间的时间范围。对图7-20中各参数,采用与图7-19相同的设置方法,即可编辑修改这一段总线信号的逻辑电平。
4. 循环信号的构成
对于一般信号和总线信号,如果要构成循环信号波形,可以先采用前面介绍的方法形成基本部分的信号波形,然后通过修改信号波形文件的方法构成循环。
(1) 激励信号文件格式
设置好激励信号波形后,由系统自动生成的激励信号波形描述文件是一个可读的ASCII码文件。与一个设计项目对应的.stl文件中可以包括有多个信号波形,每一个信号的数据采用相同的格式。对图7-21(a)所示总线信号Bus8,在..stl文件中的数据描述如图7-22(a)所示。每一条语句的含义可参见7-4-1节总线激励信号的描述。
(2) 循环信号波形的构成
如果要求构成图7-21(b)中的信号,就是使7-21(a)信号中从t=0到0.25us这一部分波形重复4次,只要用通常的文本编辑程序(如Windows中的记事本),在图7-22(a)信号波形描述部分的第二行前面加一条描述循环的起始语句“+   Repeat for 4”再在最后一句的后面加循环结束语句“+   Endrepeat”,然后更新原来的.stl文件,则以后调用该.stl文件时,总线信号Bus8的波形即如图7-21(b)所示。
如果将图7-22(b)中第二句改为“+   Repeat Forever”,就构成了“无限”循环的信号。显然,对只含有一位的一般信号,也可按上述方法构成循环信号。

.STIMULUS Bus8 STIM (8, 11111111) ;! Hex
+   Repeat for 4
+   +0s 00000000
+   50ns 01000110
+   150ns INCR BY 00100010
+   250ns 00000000
+   Endrepeat

(b)


(a)


(b)
图7-21 两个总线信号


图7-22 .stl文件中的总线信号描述

5. 与总线信号设置有关的任选项参数
在StmEd窗口中选择执行Tools主命令下的Option子命令,屏幕上将出现图7-23所示StmEd Options设置框。其中“Default Plot Ranges”栏中参数用于设置窗口中坐标轴范围。“Use Symbols on Analog Traces”栏中参数用于确定在显示模拟电路激励信号波形时是否要采用波形标示符号。图7-23中与总线信号设置有关的任选项参数有3项。
(1)“Bus Display Defaults”:StmEd程序在描述总线信号时下述两项参数的内定值由本栏中参数确定。
“Radix”用于确定采用那一种进制数描述总线信号波形。用户可从其下拉式列表中的Binary(二进制)、Decimal(十进制)、Hexadecimal(十六进制)和Octal(八进制)四种中选定一种。
“Width”用于确定总线信号包括的信号位数。
(2)“Display repeat bars”:图7-21(b)所示循环信号中有一条带有数字4的横线,表示循环次数。这条带数字的横线称为“repeat bar”。只有图7-23中使本参数处于选中状态,在图StmEd窗口中显示循环信号波形时才会像图7-21(b)那样,同时显示出“repeat bat”。对于“无限”循环信号,表示循环次数的数字用-1表示。
(3)Show[  ] iterations for infinite loops:在StmEd窗口中显示无限循环信号时,显示出几个循环,由本项参数的设置值决定。系统内定值为3。


图7-23 StmEd Options设置框

7-7 逻辑模拟的启动
按前几节介绍的方法绘制好数字电路图并设置好激励信号波形后,即可启动逻辑模拟过程。本节介绍逻辑模拟参数设置和模拟过程启动的方法。
7-7-1 逻辑模拟时间的设置
启动逻辑模拟之前,必须先按下述步骤,新建模拟分析类型分组,设置逻辑模拟的时间。
(1) 选择Capture的PSpice主命令,从其下拉式子命令菜单(见图7-24)中,选择执行New Simulation Profile子命令,屏幕上出现图7-25所示分析名称设置框。


图7-24 Capture中的PSpice
子命令菜单



图7-25 New Simulation名称设置

(2) 在图7-25的Name右侧框中键入用户为逻辑模拟分析起的名称,然后按Create按钮,屏幕上出现如图7-26所示分析类型和分析参数设置框。
(3) 在图7-26最上方选中“Analysis”,再从设置框内“Analysis type”一项的下拉式选择列表中选中“Time Domain (Transient)”,完成分析类型设置。
(4) 在图7-26的“Run to”右侧框中,键入时间值,用于确定需进行多长时间的逻辑模拟分析。
(5) 完成上述分析类型和分析参数设置后,按图7-26中“应用”按钮,确认所作的设置。用户还可以继续进行图中其他项设置。按“确定”按钮,退出图7-26设置框。


图7-26 分析类型和参数设置

7-7-2 逻辑模拟任选项参数设置
启动逻辑模拟之前,用户可以根据模拟分析的需要,设置有关的任选项参数。
1. 逻辑模拟任选项参数设置框的调出
采用下述步骤可以调出逻辑模拟任选项参数设置框。
(1) 在图7-24所示PSpice子命令菜单中选择执行“Edit Simulation Settings”,屏幕上出现7-7-1节已进行的分析类型和参数设置框(见图7-26)。
(2) 在图7-26上方选中“Option”,并从设置框中的“Category”下方列表区选中“Gate-Level Simulation”,屏幕上即显示出逻辑模拟任选项参数设置框,如图7-27所示。
说明:进行7-7-1节所述的分析参数设置过程中,在第(5)步,按“应用”按钮,确认所作的分析类型和参数设置以后,不要按“确定”按钮退出图7-26,而是接着执行上述第(2)步,也可调出图7-27所示设置框。
2. 逻辑模拟任选项参数的设置
(1) 延迟时间选定:在PSpice中,进行逻辑模拟时,所有逻辑器件的延迟时间特性都可按用户设置,同时取为最小值(Minimum)、典型值(Typical)或最大值(Maximum)。若要进行最坏情况逻辑模拟,则需选用最坏情况组合(Worst-case,见8-2节)。图7-27中“Timing Mode”子框中列出的4项,就是由用户确定按那种模式选用逻辑器件的延迟时间。
在图7-27中设置了Timing Mode选项后,对电路中每个逻辑器件的延迟时间均按设置要求选用。如果在模拟中,电路内某一个逻辑器件的延迟时间需要采用另一种模式,可在电路中连击该逻辑器件符号,在屏幕上出现的元器件属性设置框中,修改“MNTYMXDLY”参数的内定设置值0。若将该项参数设置值改为1、2、3或4,则在逻辑模拟中,该器件的延迟时间取为Minimum、Typical、Maximum或Worst-case,而不管图7-27中Timing Mode的设置情况。该参数的内定默认值为0,表示按图7-27中的Timing Mode设置,确定其延迟时间的取值。

图7-27 逻辑模拟任选项参数设置框

(2) “Suppress simulation error messages in waveform”:若在图7-27中使该项处于选中状态,则在显示结果波形时,不理会出错信息(见8-3节)。
(3) 触发器(Flip-Flops)和锁存器(Latchs)初始状态的设置:图7-27中“Initialize all”项用于设置电路中所有触发器和锁存器的初始状态。用户可根据需要,从其右侧下拉式列表框内0、1、X三项中选定一项,使电路中所有触发器和锁存器均被清零、预置1或处于不确定状态。
在实际情况中,刚接通电源时,电路中许多器件并非一定处于何种状态,带有随机性。因此将该项设为X是一种代表实际情况的设置。该项参数的内定默认值即为X。
(4) “Default I/O level for A/D”:在数/模混合电路中,将在接口型节点处自动插入接口转换子电路,本项设置用于确定从1、2、3、4共四类接口转换子电路中,选用那一类作为系统内定默认设置(详见8-1节)。该项内定值为1。
3. 高级任选项参数设置
在图7-27中按“Advanced Options…”按钮,屏幕上将出现高级任选项参数设置框,如图7-28所示,共有4类7项参数。图中每一项参数右端括号内给出了该参数的名称。
(1)驱动强度(Drive Strengths)参数设置。包括3项参数。
DIGDRVF:设置UIO型输入/输出模型、DRVH(高)和DRVL(低)的驱动电阻最小值(Minimum output drive),内定设置值为20 Ohms。
DIGDRVZ:设置UIO型输入/输出模型、DRVH(高)和DRVL(低)的驱动电阻最大值(Maximum output drive),内定设置值为20K Ohms。
DIGOVRDRV:在同一个节点处有两个驱动信号作用的情况下,为了能使其中一个信号起主导作用(Overdrive),其驱动电阻必须至少是另一个的多少倍,由本任选项的设置决定。系统的内定设置值为3。
(2) 延迟时间最小值和最大值的内定设置(Default delay calculation)。包括两项参数。
DIGMNTYSCALE:由典型延迟乘以本任选项确定的比例因子即得最小(Minimum)延迟。显然本选项设置值必须在0-1之间,内定值为0.4。
DIGTYMXSCALE:由典型延迟乘以本任选项确定的比例因子即得最大(Maximum)延迟。显然本任选项设置值必须大于1。内定值为1.6。
(3) DIGERRDEFAUT:确定每个逻辑器件的出错限制(Per-device error message limit)。若出错数超过本项设置值,则系统中断运行。系统的内定设置值为20。
(4) DIGERRLIMT:确定逻辑模拟时允许出错信息数的上限(Total error message limit)。若将本任选项设置为0(即为内定值),表示对出错信息条数没有限制。


图7-28 逻辑模拟中“高级”任选项参数设置

7-7-3 逻辑模拟过程的启动
完成逻辑模拟时间参数和其他任选项参数设置后,在图7-15所示PSpice子命令菜单中选择执行Run,即启动逻辑模拟过程。如果在Capture窗口中按“运行”工具按钮,也可启动模拟过程。
7-8 逻辑模拟结果波形的显示和分析
与模拟电路情况一样,上述绘制数字电路原理图、调用PSpice A/D 进行逻辑模拟相当于是构造试验电路面包板,调用PSpice/Probe模块则相当于是一台软件示波器,可以在逻辑模拟以后,显示电路中各个节点的逻辑状态分析模拟结果。调用Probe的方法、有关参数设置、Probe命令菜单、波形显示方法、坐标设置、结果打印等关于Probe的基本操作方法请参见第五章的内容。本节将结合一个组合电路(半加器)和一个时序电路(4位计数器)的逻辑模拟实例,具体介绍如何在Probe窗口中显示数字信号,包括总线信号。
7-8-1数字信号波形的显示
本节结合半加器电路逻辑模拟实例,说明如何在Probe窗口中显示、分析模拟结果信号波形。
1. 半加器逻辑电路原理图生成
逻辑模拟的第一步是按第二章介绍的方法,调用OrCAD/Capture,新建设计项目“Hadd”,并绘制半加器电路原理图,如图7-29所示。
在生成半加器电路图过程中应注意下述几个问题。
(1) 新建设计项目(Project)名称和属性设置:在Capture中选择执行File/New子命令,从其子菜单中进一步选择执行Project以后,屏幕上将出现图2- 所示New Project设置框。用户在“name”一栏键入新建设计项目名称HADD,在“Location”一栏选定该项目所在路径以后,必须在“Create a New Project Using”子框内选中“Analog or Mixed-Signal Circuit”,表示新建项目将调用PSpice对电路原理图进行模拟。
(2) 端口符号的使用:为了标示出输入和输出端口,图7-29中用Place/Off-Page Connector子命令绘制了4个端口符号,并将其名称分别设置为A、B、SUM和CARRY,从名称上可反映出该端口的作用。
(3) 激励信号波形设置:图7-29电路图中输入端两个激励信号源均选用了FILESTIM1信号源。当然,也可以选用前几节介绍的其他激励信号源。需要强调指出的是激励信号采用什么波形,对逻辑模拟能否顺利进行并取得满意的模拟验证效果非常重要。对图7-29半加器情况,设存放波形描述数据的文件名为HADD.STL。该文件中存放内容如下(注意其中第二行为空行,用于分隔开“文件头”和“波形描述”部分)。
A, B

0    00
50ns  10
100ns 01
150ns 11
200ns 00
250ns 10
300ns 01
350ns 11
400ns 00
由上述数据可见,信号A是周期为100ns的脉冲信号,脉宽为50ns。信号B的周期为200ns,脉宽为100ns。按上述信号波形设置,输入端将有00、01、10、11共4种不同类型的逻辑电平组合,覆盖了半加器输入端的各种可能组合情况,可以全面验证图7-29所示电路是否完全具备“半加”功能。另外,考虑到电路中单个门的延迟一般为10~20ns,将输入激励信号脉宽分别取为50ns和100ns,能保证输出端脉冲信号达到“稳定”,并能测得电路的延迟时间。对不同的数字电路,如何根据模拟对象和要求,正确地确定输入激励信号波形,是一个非常关键的问题。
建立了波形描述文件后,还需要进行下面3项设置。
在项目管理窗口中“Stimulus Files”一项下添加波形描述文件名HADD.STL。
在DSTM1和DSTM2两个信号源的属性设置中(见图7-8),将FILENAME一项均设置为HADD.STL。
将DSTM1的SIGNAME设置为A,DSTM2的SIGNAME设置为B。
图7-29中其余部分只涉及数字单元的调用,互连线的绘制等基本操作,在第二章已有详细介绍。


图7-29 半加器电路原理图

2. 半加器电路的模拟
绘制好图7-29所示电路图后,即可按7-7节介绍的步骤,在图7-25中将Name项设置为HADD。由于A、B输入波形周期分别为100ns和200ns,模拟时间范围取为400ns,可以进行两次“半加”功能的模拟检验。因此,在图7-26中将“Run to”设置为400ns即可。一般情况下,如无特殊要求,7-7-2节介绍的任选项参数可采用其内定值,无需设置。需要注意的是,如果要修改图7-27中Timing Mode一项的设置,对逻辑模拟,只能从Minimum、 Typical、或Maximum中选用一项,Worst case (min/max)只用于最坏情况逻辑模拟(见8-2节)。
完成上述设置后,即可按7-7-3节介绍的步骤,启动逻辑模拟过程。
3. 半加器模拟结果波形显示
逻辑模拟结束后,系统将按5-1节介绍的Probe调用模式设置,在屏幕上显示出如图5-4所示PSpice/Probe窗口。如5-3节介绍的那样,要显示模拟结果波形,应选择执行Probe窗口中Trace主命令,再从下拉式菜单中选择执行Add Trace子命令,屏幕上出现图5-30所示“Add Trace”设置框。


图7-30 Add Trace设置框

与图5-15对比可见,无论是模拟电路还是数字电路,其Add Trace设置框的结构相同,基本操作步骤也一样。但对数字电路,在显示结果波形时需注意下面3个问题。
(1) 输出变量列表:在图7-30左侧输出变量列表区内是半加器电路中的节点名称。分析图7-29半加器电路可见,电路中独立的节点只有7个,包括4个端口节点,即A、B、SUM和CARRY,以及3个内部节点,分别为U1A、U2A和U3A这3个与非门的输出端节点,系统已自动将这3个节点号编为N00107、N00109和N00056。此外图7-30输出变量列表区中还列出了半加器电路内每个逻辑单元的输入、输出端名(共14个)以及两个激励信号源的输出端名(共2个),以方便用户选用。因此输出变量列表区中一共列出了23个变量名。
(2) 逻辑运算符:图7-30右侧列出了Probe中可采用的算术运算符、逻辑运算符和信号常数值。其中,+、-、*、/、~、&、|、^共8个运算符的含义在表1-5中已有介绍。(  )用于分组,{  }用于构成总线信号。图7-30右侧的6个信号常数分别代表低电平(ˊ0)、高电平(ˊ1)、下降(ˊF)、上升(ˊR)、不确定(ˊX)和高阻(ˊZ),与表7-1所示逻辑状态符号相对应。只是为了表示图7-30中的是“常数”,在每个符号前面有个符号“ˊ”。
用这些常数和运算符构成逻辑表达式时,应注意下面几个问题。
(a) +、-、*、/ 这4个算术运算符只适用于总线信号的运算。
(b) 一位信号与总线信号之间用算术或逻辑运算符运算时,结果为总线信号。运算前,系统内部先将一位信号转化为总线信号的最低位,其余各位补为低电平0。
(c) 总线信号之间的运算情况与(b)类似,结果为总线信号,其位数与参与运算的总线信号中位数最长的相同。运算前,系统内部先将参与运算的其他总线信号位数扩展为与位数最长的总线信号相同,在扩展的高位填补为低电平0。

图7-31 半加器电路模拟结果

(3) 逻辑信号显示名称的设置:按5-3节介绍的方法在图7-30左侧列表区中选择要显示其波形的节点名或构成逻辑运算式后,在Probe窗口中显示的信号波形将以该节点名或逻辑运算式作为纵坐标信号名称。如果希望显示波形时,纵坐标采用另一个更直观易读的名称,只需先按照常规方法选择节点名或构成逻辑运算式,在图7-30下方“Trace Expression”栏显示的节点名或运算式后面,接着键入分号“;”,并在分号后键入显示用的信号名,则在显示信号波形时,将采用新设置的名称。例如,U2:Y;OUT1表示在Probe窗口中显示U2器件Y引线端的信号波形,但显示的波形以OUT1作为信号名称。
对半加器电路,如图7-30最下方Trace Expression栏所示,欲显示其波形的节点信号名为A、B、SUM和CARRY,结果信号波形如图7-31所示。
4. 逻辑模拟结果分析
在Probe窗口中显示出逻辑模拟结果的波形后,应从逻辑功能、延迟特性、异常情况检查等3方面对模拟结果进行分析。
(1) 半加器逻辑功能检验:由图7-31显示的波形可见,在不同时间范围内,4个信号的电平值如表7-5所示

表7-5 半加器电路逻辑功能模拟结果
时间范围    B    A    进位(CARRY)    和(SUM)
(0~50)ns    0    0    0    0
(50~100)ns    0    1    0    升至1
(100~150)ns    1    0    0    1
(150~200)ns    1    1    升至1    降为0

由表7-5可见,输出信号CARRY(进位)、SUM(和)与两个输入信号A、B之间的关系满足半加器真值表要求。表中“升至”、“降为”表示电路有一定的延迟时间。
(2) 延迟特性分析:由图7-30可见,当输入信号变化时,要经过一段延迟时间,输出才发生变化。采用5-4-4节介绍的“标尺(Cursor)”,可以测得这些延迟时间的大小。例如,若用标尺1指向SUM的第一个上升边,将标尺2指向信号A的第一个上升边(t=50ns处),则这两个标尺对应的时间刻度差值18ns即为SUM输出信号的上升延迟,如图7-31中标尺数据所示。同样的方法可测得,当t=150ns,输入信号A从低电平升至高电平时,SUM信号经过25ns的延迟才变为低电平,而CARRY信号只经过19ns的延迟即升为高电平。
(3) 异常情况分析:由于图7-29所示半加器电路设计正确,因此逻辑模拟结果无异常现象。8-3节将介绍逻辑模拟中异常情况的显示和分析。
7-8-2 总线信号波形的显示
本节结合4位计数器电路的逻辑模拟实例,说明如何在Probe窗口中显示总线信号波形。
1. 计数器电路原理图生成
用OrCAD/Capture生成的4位计数器电路原理图如图7-32所示。


图7-32  4位计数器电路图

绘制该电路图时,应该注意下面几个问题。
(1) 总线的绘制:图7-32中,U1A、U2A、U3A和U4A的Q输出端分别为计数器的4位输出。为了以总线方式更方便地输出模拟结果,图中用Capture的Place/Bus子命令,将这个输出端用总线连在一起,并将总线名称定为Q[3:0]。同时将4个Q输出端互连线名称分别设置为Q0、Q1、Q2和Q3。
(2) 根据计数器的工作原理需要,4个触发器的J、K端应连在一起,并接至高电平。为此,在图7-32中,通过选择执行Place/Power子命令,再从SOURCE符号库中选用了“Hi”高电平符号。
(3) 根据J-K触发器CLRbar端的要求,采用STIM1信号源,设置了相应的清零信号波形(见图7-33中显示的波形)。
(4) 输入信号的设置:为了检验计数器的工作情况,在输入端采用DigClock激励信号源,设置了周期为1us、脉宽为0.5us的时钟信号。
2. 总线信号波形的显示格式
对于一个实际总线信号,其名称采用下式表示:
总线名[msb:lsb]
其中msb代表最高有效位,lsb代表最低有效位。
在Probe中显示总线信号波形时,图7-30底部Trace Expression一栏中的总线名及显示方式由3个部分组成,其一般格式如下所示:
{总线名[msb:lsb]}[;[显示名][;采用的进制数标示符]]
(1) 带有大括号的总线名。显然这一部分是必须有的。需要说明的是,在Probe中,将若干个一位信号(最多为32个)组合在一起放在一个大括号中,相互之间用空格或逗号隔开,就可以将他们按总线信号对待,排在第一位的作为最高有效位,排在最后一位的作为最低有效位。例如图7-32中,Q0、Q1、Q2、Q3分别为4个一位信号,Q[3:0]为一个4位总线信号。在Probe窗口中显示信号波形时,{Q[3:0]}和{Q3,Q2,Q1,Q0}的效果相同,都表示显示一个4位总线信号。
(2) 显示名。与显示单个信号波形的情况一样,如果要在显示的波形窗口中采用另一个名称作为总线信号名,只要在总线名所在的大括号后面加个分号“;”,再键入新的显示用名即可。
(3) 采用的进制数标示符。在显示总线信号时,用户可以从2进制、8进制、10进制和16进制中选用一种。此项为任选项,系统内定选择为16进制。不同进制的代表标示符如表7-6所示。

表7-6 不同进制数的代表标示符
进制数    标示符
2进制(Binary)    字母B
8进制(Octal)    字母O
10进制(Decimal)    字母D
16进制(Hexadecimal)    字母H或X

例如:{Q3,Q2,Q1,Q0};Qbus;O 表示将Q3,Q2,Q1,Q0共4个信号当成总线信号,用8进制数显示其波形,采用Qbus作为显示的总线信号名。
由于第一个分号后面显示用的信号名是任选项,可以不采用。但是如果后面还要标注出进制数标示符,则显示名前的分号不可省。也就是说,这时在进制数标示符前有两个并列的分号。
例如:“{a3,a2,a1,a0};;d”表示将a3,a2,a1,a0当作4位总线信号,用10进制数显示总线波形。在显示的波形上直接用a3,a2,a1,a0一串信号名作为显示的总线信号名。如果采用表达式“{a3,a2,a1,a0};d”则系统将d作为显示名对待。
3. 计数器模拟结果波形显示
图7-32所示4位计数器的逻辑模拟结果波形如图7-33所示。
图7-33中最上方是CLRbar和CLK两个激励信号源波形。接着是用16进制数显示的总线信号Q[3:0](图中取名为QbusHex)波形以及分别显示的Q3、Q2、Q1和Q0信号波形。为了便于比较,图中还分别以10进制和8进制数显示了总线信号Q[3:0]。
分析图7-33显示的信号波形,可以得到下面几点结论:
(1) 在t=0到2us期间,CLRBAR信号为高电平,4个触发器的输出端Q3、Q2、Q1和Q0均按图7-18中“Initialize all”一项的内定设置值,为不确定(X)。t=2us时CLRbar变为低电平,触发器清零,输出为零。从t=5us开始,CLRbar变为高电平,计数器受输入时钟信号CLK控制,开始计数CLK的周期数。
(2) 从QbnsHex和Q3、Q2、Q1、Q0显示的波形可见,图7-32电路确实起到4位计数器的作用。但由QbusHex波形显示的计数结果直观明确。


图7-33  4位计数器逻辑模拟结果

(3) 对比图7-33中16进制、10进制和8进制数3种方式显示的总线信号Q[3:0]波形可见,10进制和16进制表示的计数功能更直观,10进制表示方式

发表回复

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

本版积分规则

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

GMT+8, 2024-12-22 21:57 , Processed in 0.088940 second(s), 20 queries .

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