数字逻辑与系统设计 课件 第2章 逻辑电路_第1页
数字逻辑与系统设计 课件 第2章 逻辑电路_第2页
数字逻辑与系统设计 课件 第2章 逻辑电路_第3页
数字逻辑与系统设计 课件 第2章 逻辑电路_第4页
数字逻辑与系统设计 课件 第2章 逻辑电路_第5页
已阅读5页,还剩146页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章逻辑电路2.1逻辑真值表2.2逻辑门2.3逻辑函数表达式2.4记忆逻辑电路2.5逻辑电路结构2.6硬件描述语言2.7电路仿真

2.1逻辑真值表

对于逻辑函数,可以采用表格列出逻辑输入和逻辑输出之间的逻辑关系,这样能够直观地呈现出逻辑函数的功能。采用一个表格,将逻辑输入的所有取值组合按组合值顺序排成若干行,并将每个组合产生的逻辑输出值也排在同一行中。由逻辑输入和逻辑输出的值组成的表格就是逻辑函数的真值表。

例2.1.1的真值表扩展为含原变量和反变量构成的新真值表,仍以AB组合的值为序排列,如表2-3所示。

1.输出1分析

表2-3中每一行都有三个1,其中两个是输入量为1,1个是输出量为1,值为1的输出量可以看作是两个为1的输入量的与运算结果。在表2-3中的输出值为1的单元格中填入输入量与运算代数表达式,如表2-4所示。

由此可知:

(1)每个值为1的输出都可以由值为1的输入原变量或反变量进行与运算获得。通常把单个逻辑变量(或反变量)进行与运算构成的项称为与项。

(2)只要输入的值使某一与项结果为1,输出值就为1,输出是这些与项的或运算。通常把由与项相或构成的表达式称为与或式。

(3)分析输出原变量或反变量都可以得到相同的逻辑函数表达式。

2.输出0分析

表2-3中每一行都有三个0,其中两个是输入量为0,1个是输出量为0,值为0的输出量可以看作是两个为0的输入量的或运算结果。在表2-3中的输出值为0的单元格中填入输入量或运算代数表达式,如表2-5所示。

由此可知:

(1)每个值为0的输出都可以由值为0的输入原变量或反变量进行或运算获得。通常把单个逻辑变量(或反变量)进行或运算构成的项称为或项。

(2)只要输入的值使某一或项结果为0,输出值就为0,输出是这些或项的与运算。通常把由或项相与构成的表达式称为或与式。

(3)分析输出原变量或反变量都可以得到相同的逻辑函数表达式。

2.2逻

实现布尔逻辑运算的单元电路称为逻辑门。逻辑门通常可以用四种方式来描述:第一种方式是采用逻辑变量和逻辑运算符构成的逻辑代数表达式;第二种方式是采用专用图形来表示逻辑运算的电路符号;第三种方式是采用表格列出真值表;第四种方式是采用表征各变量的相应信号电平的对应关系的波形图。

2.2.1基本逻辑门

1.与门

实现与运算的电路称为与门(AND)。只有所有输入都为1,输出才为1;只要有一个输入为0,输出就为0。

假定两个输入分别为A

和B,输出为F,所构成与运算代数表达式为F=A·B。

图2-1(a)和图2-1(b)为F=A·B

的两种符号表示,图2-1(c)为真值表,图2-1(d)为波形图,图2-1(e)为集成与门74LS08的内部结构图。

图2-1与门的描述

与门通常用来实现所有输入条件均满足才工作的控制电路。

例如,某大门门禁闸机有证件读卡器和摄像头,通过系统进行证件认证和人脸识别,其系统结构如图2-2所示。图2-2门禁闸机控制系统结构图

控制器的功能是:只有人脸识别成功且证件认证成功,闸机门才打开,否则闸机门保持关闭。

控制电路的两个输入分别是人脸识别结果A

和证件认证结果B,控制电路的一个控制输出F是闸机门开关控制信号。

假定人脸识别成功时A

为1,失败时A

为0;证件认证成功时B

为1,失败时B

为0;F为1表示打开,为0时表示关闭。

由功能可以列出与与门相同的真值表,故F=A·B,控制器采用一个与门即可。

2.或门

实现或运算的电路称为或门(OR)。只要有一个输入为1,输出就为1;只有所有输入都为0,输出才为0。

假定两个输入分别为A和B,输出为F,所构成的或运算代数表达式为F=A+B。

图2-3(a)和图23(b)为F=A+B

的两种符号表示,图23(c)为真值表,图2-3(d)为波形图,图2-3(e)为集成或门74LS32的内部结构图。

图2-3或门的描述

或门通常用来实现只要所有条件之一满足就工作的控制电路。

仍以前面的闸机控制为例,控制器的功能变为:只要人脸识别成功或证件认证成功,闸机门就打开,否则闸机门保持关闭。由功能可以列出与或门相同的真值表,故F=A+B,控制器采用一个或门即可。

图2-4非门的描述

图2-5节能台灯控制结构图

图2-6与非门的描述

图2-7或非门的描述

图2-8与或非门的描述

图2-9异或门的描述

图2-10同或门的描述

2.3逻辑函数表达式

2.3.1常用形式任何一个逻辑函数式都可以通过逻辑变换写成六种形式:与或式、或与式、与非

与非式、或非

或非式、与或非式、或与非式。其中与或式和或与式是函数表达式的两种最基本形式。

这六种表达方式是可以相互转换的,转换中使用了逻辑代数的反演律和还原律。例如:

对于一个代数系统,若仅用它所定义的一组运算符号就能解决所有的运算问题,则称这一组符号是一个完备的集合,简称完备集。

在逻辑代数中,与、或、非是三种最基本的运算,用与、或、非三种运算符和逻辑变量可以构成任何逻辑函数,因此称与、或、非逻辑运算符是一组完备集。

【例2.3.1】

已知某电路连接关系如图2-11所示,给出该电路的与或代数表达式、逻辑电路图、真值表、波形图。图2-11例2.3.1的电路图

解74LS00是与非门集成电路,用于实现与非运算。根据图2-11可以画出采用与非门逻辑符号的逻辑电路图,如图2-12(a)所示。其代数表达式为

由此可见,与或运算可以只用一种与非逻辑运算实现,因为与非运算本身是完备的。采用与、或、非三种运算构成的逻辑电路如图2-12(b)所示,共需要三种集成逻辑门器件。图2-12例2.3.1的逻辑电路图

该电路的真值表如表2-7所示。

该电路的波形如图2-13所示。图2-13例2.3.1的波形图

【例2.3.2】

某逻辑电路有四个端口,分别记为A、B、C、D,它们之间存在某种逻辑关系。图2-14是它们的工作波形图,试采用一片74LS00实现该电路。图2-14例2.3.2的波形图

根据图形列出如表2-8所示的波形真值表。

图2-15例2.3.2的逻辑电路图及电路连接图

【例2.3.3】

已知F的真值表如表2-11所示,试写出函数F的最小项表达式。

【例2.3.5】

已知逻辑电路如图2-16所示,给出其最小项表达式。图2-16例2.3.5的逻辑电路

该电路的逻辑函数表达式为

其真值表如表2-13所示。

【例2.3.6】

已知某逻辑电路有三个输入

A、B、C

和一个输出D,其工作波形如图2-17所示,试给出该逻辑电路的最小项表达式。图2-17例2.3.6的工作波形

根据波形图写出相对应的真值表,如表2-14所示。

根据真值表可以得出其最小表达式为

【例2.3.7】

手机来电控制:通常有振动模式和振铃模式。在振动模式下,有电话呼入时发生振动而无响铃;在振铃模式下,有电话呼入时发生响铃而无振动。写出该控制电路的逻辑函数的最小项表达式。

将“是否有电话呼入”和“是否置振动模式”分别设为两个逻辑量

A

和B

作为电路输入,将“是否振动”和“是否响铃”分别设为两个逻辑量Y

和Z作为电路输出。值1表示“是”,值0表示“否”。可以列出如表2-15所示的功能真值表。

2.最大项和标准或与式

n

个变量的最大项是n

个变量的或项,其中每个变量都以原变量或反变量的形式出现一次。n个变量可以构成2n

个最大项。与最小项恰好相反,对于任何一个最大项,只有一组变量取值使它为0,而变量的其余取值均使它为1。最大项用符号

Mi

表示。表2-16列出了三变量逻辑函数的所有最小项和最大项。

【例2.3.8】

已知F的真值表如表2-17所示,试写出函数F的最大项表达式。

由真值表2-17可知,当A、B、C

取值分别为000、011、101、110时,F为0,因此最大项表达式由这四种组合所对应的最大项进行相与构成,表示为

比较例2.3.3的最小项可以看出,一张真值表既可以采用最小项表示,也可以采用最大项表示,两种表达式中不会有相同的序号,且两种表达式的项数之和为2n

2.3.3具有无关项的逻辑函数

逻辑问题分为完全描述和非完全描述两种。如果对于输入变量的每一组取值,逻辑函数都有确定的值,则称这类函数为完全描述逻辑函数;如果对于输入变量的某些取值组合逻辑函数值不确定,即函数值可以为0,也可以为1,那么这类函数称为非完全描述的逻辑函数。对应输出函数值不确定的输入最小项(或最大项)称为无关项,具有无关项的逻辑函数就是非完全描述的逻辑函数。

无关项发生在以下两种情况:

(1)由于某种条件的限制(或约束)使得输入变量的某些组合不可能出现,故而它们所对应的函数值可以任意假设,可以为1,也可以为0。这些不允许出现的组合所对应的最小项称为约束项(或禁止项)。

(2)在某些输入变量的取值下,其函数值为1或0都可以,并不影响整个系统的功能。这些使函数不确定的变量取值所对应的最小项称为任意项(或随意项)。

非完全描述逻辑函数一般用以下方法表示:

(1)在真值表中填⌀或×、d,表示函数值为0或1均可。

(2)在逻辑表达式中用约束条件来表示。

【例2.3.9】

采用非完全描述方式将表2-18所示的真值表写成逻辑函数表达式。

从表2-18中可以看出,无关项的特点是三个变量中至少有两个全为1,即

AB+BC+AC=1,所以约束条件为AB+BC+AC=0。

逻辑函数可以写成

2.3.4逻辑函数化简

逻辑函数化简通常是将逻辑函数化简为最简的与或式或者最简或与式。最简与或(或与)式是指表达式中与项(或项)的个数最少,每个与项(或项)中的变量数最少。化简法主要有代数化简法和卡诺图化简法。

1.代数化简法

代数化简法主要是采用表2-19所示的逻辑代数基本公式消去逻辑函数表达式中多余的项,以求得逻辑函数的最简表达式,通常采用并项法、吸收法和配项法。

1)并项法

并项法是利用合并律将两个相邻项合并成一项,并消去互补因子。例如:

2)吸收法

吸收法是利用吸收律消去多余的乘积项或多余的因子。例如:

3)配项法

配项法是利用重叠律、互补律和吸收律,先配项或添加多余项,然后逐步化简。例如:

这种方法对变量数目无限制,需要熟练应用逻辑代数公式,缺乏规律性。

2.卡诺图化简法

1)K

图的构成

在逻辑函数的真值表中,输入变量的每一种组合都和一个最小项相对应,这种真值表也称为最小项真值表。卡诺图就是根据最小项真值表按一定规则排列的方格图。

图2-18是三变量和四变量的

K

图,图中每个小格对应一个最小项。

图2-18三变量和四变量的K图

2)逻辑函数的

K

图表示

K

图是真值表的一种特殊形式,n

变量的

K

图包含了n

变量的所有最小项,因此,任何一个n

变量的逻辑函数都可以用n

变量的

K

图来表示。

将逻辑函数真值表中每个最小项的值填入

K

图中的相应方格即构成了该逻辑函数的K图。

3)最小项合并

在卡诺图中,凡是几何位置相邻的最小项均可以合并。K

图中相邻项表现为相接、相对(即任一行或列的两头)、相重(对折起来位置重合)。

两个相邻最小项合并为一项,消去一个互补变量。在

K

图上该合并圈称为单元圈,它所对应的与项由圈内没有变化的那些变量组成,可以直接从

K

图中读出。

任何两个相邻的单元圈也是相邻项,可以合并消去互补量。因此

K

圈越大,消去的变量数也就越多。

任何一个合并圈(即

K

圈)所含有的方格数为2i个。

任何一个1格可以多次被圈用。若某个

K

圈中所有的1格均已被别的

K

圈圈过,则该K

圈是多余圈。为了避免出现多余圈,应保证每个

K圈至少有一个1格只被圈1次。图2-19给出了若干采用

K

图化简的示例。

图2-19K图化简示例

【例2.3.10】

K

图将以下函数式化简为最简与或式。

解(1)画出F

的K

图。

给出的F

为一般与或式,将每个与项所覆盖的最小项都填1,K

图如图2-19所示。

(2)画

K

圈化简函数。

本例有两种圈法,如图2-20所示。

图2-20例2.3.10的K图

4)写出最简与或

图2-20(a)所示圈法的最简与或式为

图2-19(b)所示圈法的最简与或式为

该例说明,逻辑函数的最简式并不是唯一的。

5)具有无关项的逻辑函数化简

在非完全描述逻辑函数中,由于在无关项的相应取值下,函数值随意取成0或1都不影响函数原有的功能,因此可以充分利用这些无关项来化简逻辑函数,即采用

K

图化简函数时,可以利用

Ø(或×)来扩大

K

圈。

例如,逻辑函数为

对F

的逻辑表达式进行化简,如图2-21所示,可得F=A+B.

图2-21具有无关项的逻辑函数化简

2.4记忆逻辑电路

图2-22输出反馈的逻辑电路

图2-23逻辑电路和工作波形

这类电路称为触发器(Flip-Flop),常用的触发器包括基本RS触发器、钟控触发器。钟控触发器仅在时钟有效时状态才允许输出发生变化,按触发类型又可以分为电平触发和边沿触发。电平触发是指在时钟的高电平或低电平阶段根据当前状态和外部输入来决定次态;边沿触发是指在时钟的上升沿或下降沿阶段根据当前状态和外部输入来决定次态。

在实际应用中通常用触发器的保持功能来保存数据,采用多个触发器构成寄存器(锁存器)。多个寄存器按照一定顺序可以构建成更大容量的存储器。

2.5逻辑电路结构

逻辑电路是一个因果系统,只有输入发生变化输出才可能发生变化,输入没变化,输出是不可能发生变化的。根据输入与输出之间的变化关系,逻辑电路可分为两类:组合逻辑电路(简称组合电路)和时序逻辑电路(简称时序电路)。

2.5.1组合逻辑电路

如果一个电路的输入相同时输出也相同,那么这个电路称为组合电路。电路中任一时刻的稳态输出仅仅取决于该时刻的输入,而与电路原来的状态无关。组合电路无记忆功能,只有从输入到输出的通路。其一般框图如图2-24所示,其中

X=(x1,…,xn)表示输入逻辑量,Z=(z1,…,zm)表示输出逻辑量。组合电路的逻辑函数可以表示为Z=F(X),其中F=(f1,…,fm),fi

是zi与X之间的逻辑函数,即

图2-24组合电路框图

【例2.5.1】

某电路的工作波形如图2-25所示,输入为

A、B、C,输出是F1、F2,试判定它们是否为组合电路输出。图2-25例2.5.1的工作波形

根据组合电路的特点,通过比较相同的A、B、C

组合其输出是否相同来判定是否为组合逻辑输出。

列出波形真值表如表2-21所示。

图2-26逻辑函数F1

的卡诺图

2.5.2时序逻辑电路

如果一个电路的输入相同输出却不相同,那么这个电路一定不是组合电路。相同输入在不同时刻的输出不同表明逻辑运算与时间有关,这类电路称为时序电路。时序电路中任一时刻的输出不仅与该时刻的输入变量有关,而且还与过去时刻电路的输入有关,相当于该电路具有记忆功能。

具有记忆功能的基本电路是触发器,它的输出就是所要记忆的值,通常称为状态。当某输入信号发生某种特定变化时,触发器可以从一个稳定状态转换到另一个稳定状态,即

状态转移。触发器状态的改变是在一定条件下触发的,这种条件称为触发条件,触发条件通常是指产生状态转移的输入信号的特征,如高电平(值为1)、低电平(值为0)、上升沿(从低电平变为高电平的瞬间,值用n

表示)、下降沿(从高电平变为低电平的瞬间,值用↑表示)。只有触发条件满足,状态才可能发生变化,否则状态不变,即保持。

为了区分当前的状态(也称为现态)和触发后的状态(也称为次态),用Q或Qn

表示现态,用Qn+1

表示次态。

采用触发器构成存储电路来保存当前部分输出信号供将来使用,采用组合电路将当前输入和当前保存信号组合产生当前输出信号。

因此,时序电路的一般框图如图2-27所示,它分为两部分:组合电路和存储电路。

图2-27时序逻辑电路框图

【例2.5.2】

图2-28是一时序电路的工作波形,试确定输入、输出、触发条件。图2-28例2.5.2的工作波形

时序电路输出的变化取决于输入的变化和内部状态的变化,内部状态的变化取决于触发条件。

分析图2-8中的A

和B的变化可以发现,B

变化时A

不一定变化,说明B

一定不是输出,A

一定不是输入。A

变化时B

一定变化,说明B

决定A是否变化,故B

为输入,A为输出。在B

的下降沿,A

才发生变化,所以B

的下降沿是触发条件。

【例2.5.3】

图2-29是一时序电路的工作波形,试确定输入、输出以及触发条件。图2-29例2.5.3的工作波形

分析每个信号变化时与其他信号之间的关系。

从图2-29的波形图可知,有的时间内A

和C

不变,B

却变化,故B

不能为输出,只能是输入;有的时间内B

和C

不变,A

却变化,故A

也是输入。C变化时,A

和B

会有一个发生变化,故C

是输出。

C变化时,要么A

在从低向高变化,要么B

在从低向高变化,因此A

和B的上升沿是C

变化的触发条件。当C

为低时,只有A

的上升沿能使C变为高,B

的上升沿无效;当C为高时,只有B

的上升沿能使C

变为低,A

的上升沿无效。

所以,A

和B

是电路的输入,C

是电路的输出,触发条件为A

和B的上升沿。

2.6硬件描述语言

2.6.1模块结构

Verilog是一种非常流行的硬件描述语言。Verilog程序的最基本设计单元是模块。模块从关键字module开始,到endmodule结束,其中每条语句以“;”分隔(除了特殊语句)。

一个完整的模块由四部分组成:

(1)模块定义行:定义模块的名称和输入/输出参数列表。

(2)说明部分:定义不同的项,通常包括端口类型(input、output和inout)、寄存器(reg)、连线(wire)、参数(parameter)、函数(function)和任务(task)。

(3)描述体部分:描述模块的行为和功能、子模块的调用和连接、逻辑门的调用、用户自定义部件的调用、初始态赋值等。

(4)结束行:以endmodule结束。

1.模块声明

模块声明主要由模块名称和模块输入/输出端口列表组成,其定义格式如下:

关键字endmodule表示模块的结束。

2.端口定义

3.信号声明

对模块中用到的所有信号(包括输入和输出信号)都必须进行数据类型声明。Verilog共有19种数据类型,其中最为常用的类型有wire(连线型)和reg(寄存器型)。

wire类型表示直通,即只要输入有变化,输出马上无条件地反映。

reg类型表示一定要有触发,输出才会反映输入。

4.逻辑功能定义

模块最核心部分是逻辑功能定义,通常采用assign持续赋值语句、always过程赋值块和调用元件(元件例化)等方式构成逻辑功能。

值得注意的是:所有持续赋值语句和过程赋值语句都是一个逻辑电路,它们是并行同时执行的,不是按照书写先后顺序进行的。

5.模块模板

2.6.2运算量与运算符

1.常量

Verilog常量主要有三种类型:整数、实数和字符串。下面主要介绍整数。整数采用4种方式来表示逻辑状态,即0表示逻辑0(低电平)、1表示逻辑1(高电平)、x表示不确定、

z表示高阻态。

常量的表示格式如下:

2.变量

变量可以是一位的,也可以是多位的,采用非负整数作为下标来定义,变量的位数也称为位宽。

例如:

3.运算符

按功能来分,常用运算符主要有算术运算符、位运算符、逻辑运算符、关系运算符、缩位运算符、条件运算符、移位运算符和拼接运算符等9类。

按运算符所带操作数的个数来分,运算符可分为3类,分别为单目运算符,可带一个操作数;双目运算符,可带两个操作数;三目运算符,可带三个操作数。

1)算术运算符

常用算术运算符有五个:+(加)、-(减)、*(乘)、/(除)、%(求模)。求模运算也是求余运算符。

2)位运算符

位运算符包括&(按位与)、|(按位或)、~(按位非)、∧(按位异或)、~∧(按位同或),主要应用于以位作为运算对象的逻辑运算,如4'b1010&4'b1100结果为4'b1000。

3)逻辑运算符

逻辑运算符包括&&(逻辑与)、‖(逻辑或)、!(逻辑非),主要用于以逻辑1和逻辑0作为运算对象的逻辑运算,多用于关系运算的级联。数值不为0视为逻辑1,数值为0视为逻辑0,其运算结果为0或1,如4'b1010&&4'b1100结果为1,4'b1010&&0结果为0。

4)关系运算符

关系运算符包括<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、===(全等于)、!=(不等于)、!==(不全等于)。

5)缩位运算符

缩位运算符包括&(与)、~&(与非)、|(或)、~|(或非)、∧(异或)、~∧(同或),该运算为单目运算,将运算量的各位作为逻辑量进行运算符规定的操作。如&4'b1010相当于该值的四位进行与运算,其结果为0;∧4'b1110相当于该值的四位进行异或运算,其结果为1。

6)移位运算符

移位运算符包括<<(左移)、>>(右移),该移位是逻辑移位,采用0进行补充。

7)条件运算符

条件运算符为“?:”,它是三目运算符,其格式为<条件>?<表达式1>:<表达式2>。若条件成立,则取表达式1的值,否则取表达式2的值。

8)位拼接运算符

位拼接运算符为“{}”,它将{}中的变量拼接为一个多位的变量。如{x,y[2:1]}表示将变量x、变量y的位y[2]和y[1]拼接在一起来使用。

重复拼接符为“{n{}}”,它是重复n次后面的内容后将其拼接在一起,如{3{x,y}}等同于{{x,y},{x,y},{x,y}},即{x,y,x,y,x,y}。

这些优先级从高到低依次为(!、~)、(*、/、%)、(+、-)、(<<、>>)、(<、<=、>、>=)、(==、!=、===、!==)、(&、~&)、(∧、~∧)、(|、~|)、&&、‖、?:。

2.6.3行为语句

1.过程语句

always语句为过程语句,其表达式如下:

always@(<触发条件列表>)

触发条件列表也称为敏感信号表达式,触发条件写在敏感信号表达式之中,当触发条件满足时,其后的语句才能被执行。

赋值有非阻塞赋值和阻塞赋值两种方式。

(1)非阻塞赋值。

在整个过程块结束时才完成赋值操作,因此非阻塞赋值是并行执行。

(2)阻塞赋值。

在整个过程块中逐条语句完成赋值操作,因此阻塞赋值是串行执行。

4.条件语句

条件语句有if-else语句和case语句两种,它们都是顺序语句,只能放在always块内。

1)if-else语句

其格式与C语言中的if-else语句类似,即

2)case语句

【例2.6.1】

某逻辑电路的真值表如表2-24所示,采用case语句实现该电路模块。

【例2.6.2】

表2-25为某电路的功能真值表,给出相应的Verilog描述。

该模块还可以采用“?”来表示条件选择,即

2.7电

仿

HDL代码本身是逻辑关系的描述,不是FPGA硬件内部逻辑电路单元的真实连接。因此,HDL代码完成后需要将HDL语句变成硬件电路的连接关系,这个过程称为综合(Synthesis)。将综合后的电路在所选取的器件中布线,称为实现(Implementation)。

常规的仿真开发步骤通常是:

1.建工程(项目)文件

若开发工具是采用工程(项目)方式来组织文档,则先新建工程(项目)文件。

2.新建模块文件xxx.v

在新建模块文件中定义模块,既可以一个模块一个文件,也可以多个模块一个文件,但不能出现多个相同名称的模块。

3.新建测试文件xxx_tb.v

在新建测试文件中定义一个测试模块,将所用到的模块进行例化,初始化输入信号。

1)定义测试信号

输入至待测模块的测试信号,必须定义成寄存器型变量。待测模块输出的测试信号定义为线型即可。

寄存器型变量可以在定义时赋初值。

2)例化

module定义可视为模块的结构定义,只有例化出一个实例后才能按这种结构生成一个真正工作的电路。

例化语句格式如下:

假定已经定义了模块test(A,B,F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论