组合逻辑电路设计

2024-08-10

组合逻辑电路设计(精选8篇)

组合逻辑电路设计 第1篇

组合逻辑电路是数字电路的一种重要的逻辑电路, 是时序逻辑电路设计的基础。该种电路是指任何时刻的稳定输出, 仅仅只决定于该时刻各个输入变量的取值, 既无输出到输入的反馈连接, 也不包含可以存储信号的记忆元件。[1]组合逻辑电路的设计是根据给定的逻辑问题, 设计出能够实现该逻辑功能的逻辑电路, 它具有重要的现实意义和实用价值, 本文对组合逻辑电路的设计方法进行了总结并进行了Multisim仿真分析, 结果证明用中规模集成电路实现逻辑设计是一种行之有效的方法。

1 组合逻辑电路的设计步骤

设计组合逻辑电路所遵循的原则首先是使用芯片的个数和种类尽可能少, 其次是连线尽可能少。一般所遵循的设计步骤是:

(1) 分析逻辑问题, 进行逻辑抽象, 设定逻辑变量并进行状态赋值;

(2) 根据因果关系, 列出真值表;

(3) 进行化简和处理, 组合逻辑电路设计的最简化无论在ASIC设计和PLD设计中都很重要。[2]用公式法或图形法化简为最简与或式, 或转换为适合所提供集成电路的逻辑形式;

(4) 画出逻辑电路图

根据化简和处理的逻辑表达式, 画出逻辑电路图, 根据提供的门电路或集成电路进行连线。可以采用分立元件实现电路, 并且随着微电子技术的迅速发展和集成电路工艺水平的提高, 单块芯片的集成度越来越高, 价格越来越便宜, 也可用通过小规模集成电路SSI, 中规模集成电路MSI来实现。[3]

2 组合逻辑电路的实现方法

2.1 逻辑问题分析

如设计一个三人表决电路, 要求少数服从多数原则, 即输出信号的电平与三个输入信号中的多数一致。首先进行逻辑抽象, 确定输入变量A、B、C和输出变量Y, 用0和1分别表示低电平和高电平, 列出真值表:

然后由真值表写出逻辑表达式:

2.2 用SSI实现电路

当使用SSI四2输入与非门74LS00和三3输入与非门74LS10实现电路时, 将逻辑表达式化简并改写为与非-与非式:

逻辑电路图如图1所示:

2.3 用MSI实现电路

(1) 使用M S I三位二进制译码器74LS138实现电路, 将逻辑表达式写成最小项的与非-与非式:

画出实验逻辑电路图如图2所示:

(2) 数据选择器的逻辑功能具有通用性, [4]利用数据选择器设计组合逻辑电路具有一定的实用价值, 能解决常规门电路设计中存在的不足, 提高设计水平。[5]当使用MSI二4选1数据选择器74LS153实现电路时, 将逻辑表达式变换成与数据选择器相对应的形式, 并进行对比, 画出实验逻辑电路图如图3所示:

当然, 可以用中规模集成电路的组合来优化逻辑设计, 如文献[6]采用数据选择器和译码器的组合优化逻辑设计。也可采用ROM来实现组合逻辑电路。

3 仿真分析

Multisim是一种电路设计与仿真软件, 可以对模拟、数字和混合电路进行电路性能仿真和分析。在元件库中选择电器元件及电源和“地”, 并进行连线、仿真。仿真电路如下:

4 结语

不同功能的芯片最后设计的电路形式虽然差别很大, 但逻辑功能却相同。用SSI来实现, 所用集成电路芯片数量多, 线路复杂, 而且设计出的电路并不具有通用性, 仅能够适应某一特殊的函数要求。

选用MSI设计组合逻辑电路, 会轻而易举的满足要求, 实现逻辑函数的需要, 既节约了成本又提高了所设计电路的稳定性, 是一种行之有效的方法。

摘要:组合逻辑电路在实践中被广泛应用, 研究其实现方法具有重要的现实意义和实用价值。本文给出了组合逻辑电路设计的一般步骤, 并对各种实现方法进行了比较, 最后进行了仿真实验。结果证明用中规模集成电路实现组合逻辑电路, 使用器件数目较少, 灵活性高, 成本低, 电路可靠性高, 是实现组合逻辑电路行之有效的方法。

关键词:组合逻辑电路,逻辑函数,设计,仿真

参考文献

[1]于孟尝.数字电子技术基础简明教程 (第三版) [M].北京:高等教育出版社, 2006:143.

[2]左全生.组合逻辑电路设计的一种方法[J].现代电子技术, 2007, (6) :6~11.

[3]黄进文.组合逻辑函数的实现方法讨论[J].宝山师专学报, 2004, 23 (2) :42~46.

[4]任骏原, 张凤云, 李戈.数据选择器逻辑功能的通用性[J].锦州师范学院学报 (自然科学版) , 2003, 24 (4) :13~14.

[5]石鑫, 黄沛昱.数据选择器在数字电路中的应用[J].重庆邮电大学学报 (自然科学版) , 2008, (6) :50~51.

讲义 第10章 组合逻辑电路 第2篇

组合逻辑电路

(1)数字电路分类:①组合逻辑电路(简称组合电路);②时序逻辑电路(简称时序电路,第10章介绍)。(2)组合逻辑电路:任何时刻电路的输出状态只取决于该时刻的输入状态,而与该时刻以前的电路状态无关。(例如:编码器、译码器、全加器等等)

(组合逻辑电路的基本单元电路是门电路,描述组合逻辑电路逻辑功能的方法主要有:逻辑表达式、真值表和工作波形图。)

10.1 组合逻辑电路的分析和设计 10.1.1 组合逻辑电路的分析

组合电路分析:就是根据已知的组合逻辑电路,找出组合电路的输出与输入的关系,指出电路所能实现的逻辑功能。(电路图已知,求真值表。)分析步骤:

(1)由逻辑图写出输出端的逻辑表达式;

(2)运用逻辑代数将所得逻辑函数表达式化简或变换;(3)列出输入输出关系的逻辑状态表(即真值表);(4)分析电路的逻辑功能。(书上206页,例题10-1)10.1.2 组合逻辑电路的设计

组合电路设计的含义:组合电路的“设计”(或称“综合”)与组合电路的分析方法相反,它是根据要完成的逻辑功能,画出实现该功能的最简逻辑电路。

最简的含义:器件数最少,器件种类最少,连线最少。组合逻辑电路的设计步骤:

(1)根据逻辑问题的逻辑关系,确定输入变量和输出变量;(引起事件的原因定为输入变量;事件的结果定为输出变量。)(2)根据给定的因果关系写出逻辑真值表;(3)由真值表写出逻辑函数表达式;

(4)根据所用的器件类型,将函数化简,把变量变换成所需要的形式;(5)根据化简或者变化后的逻辑表达式画出电路图。

注意:在设计当中,应该根据所用门电路的类型来化简逻辑表达式。(例如:用与非门设计时,应把逻辑函数表达式变换为最简的与非表达式。)(书上208页,例题10-

3、10-

4、10-

5、10-6)10.2 常用集成组合逻辑电路

(在数字电路中,常用的组合电路有加法器、编码器、译码器、数据分配器和多路选择器等。下面几节分别介绍这几种典型组合逻辑电路的基本结构、工作原理和使用方法。)10.2.1 编码器

在数字电路中,为了区分一系列不同的事物,将其中的每个事物用一系列逻辑“0”和逻辑“1”按一定规律编排起来,组成不同的代码来表示,这就是编码的含意。)

(1)编码:把二进制码按一定规律编排,使每组代码具有一特定的含义,称为编码。(2)编码器:完成编码功能的电路统称为编码器。

1、二进制编码器

(1)普通二进制编码器:用n位二进制代码对N2个信号进行编码的电路称为二进制编码器。如图10-13所示,为与非门组成的3位二进制编码器的电路图。又称8线—3线编码器。

① 二进制编码器对输入信号的规定:在任何时刻只允许一路有效输入信号到达编码器的输入端,而不允许有两个或两个以上的有效输入信号同时出现在编码器的输入端。

② 由电路图可知,此编码器有8个输入Y0Y7,3个输出可A、B、C。

nAI4I5I6I7③ 根据电路图可以得到各个输出的表达式:BI2I3I6I7

CIIII1357(如果我们规定,在任一时刻只能有一路输入端有信号到来,其余输入端均无信号到达。有信号用“1”表示,无信号用“0”表示。则图10-13所示的逻辑电路可完成八路输入信号的编码(全0为Y0输入有效)。)④ 表10-6给出了图10-13所示二进制编码器的的真值表。

⑤ Y0Y7八路输入信号编码分别为000、001、010、011、100、101、110、111。

(它用3位二进制代码对8个输入信号进行编码,所以图10-13所示的逻辑电路为3位二进制普通编码器,又称为8线—3线编码器)

(当编码器的输入端输入信号不止一个时,输出为全1,编码器的输出发生混乱。这是因为普通编码器不允许两个及以上的输入信号同时有效的缘故。可在实际应用中,往往有二个输入端或者二个以上的输入端有信号同时到达编码器,因此,普通编码器缺乏实用性。解决的方法是采用优先编码。)(2)二进制优先编码器(74LS148(T4148):8线—3线)

① 优先编码:所谓优先编码,就是将所有的输入信号按优先顺序进行排队。当几个输入信号同时出现时,只对其中优先级别最高的一个进行编码。实现优先编码的电路称为优先编码器。

(也就是说,允许几个信号同时有效,但电路只对其中优先级别高的信号进行编码,而对其它优先级别低的信号不予理睬。)

② 74LS148优先编码器以低电平输入为有效信号,各输入信号按照I7I0优 先级逐渐降低,I7的优先级最高,I0的优先级最低。③ 74LS148芯片的引脚图如图10-14所示。1)紧靠四边形的小圆圈表示“低电平为有效信号”。2)四边形内部标注为引脚功能说明。3)四边形外部标准为引脚编号。

4)ST:为选通输入端,低电平有效。当ST0时允许编码,芯片工作; 当ST1时输入、输出及控制引脚YEX、YS均被封锁,编码被静止。(ST1时,输出均被锁定在高电平)

5)YS:为选通输出端,只有当所有的编码输入都为高电平,且ST0时,YS0表示电路工作,但无编码信号输入,级连时可以扩展优先编码功能。

6)YEX:为优先扩展输出端,级连时可作输出位的扩展端。

只要有任何一个编码输入,且ST0时,YEX0表示电路工作,有编码信号输入

7)级联应用时,高位片的YS端与低位片的ST端连接起来,高位片的YEX可作为高位的编码输出位。74LS148芯片的逻辑功能如表10-7所示,为二进制优先编码器的真值表

74LS148为二进制优先编码器,其输入输出都是低电平有效。所以,输出为十进制数码07对应的二进制码的反码。例如:数码“0”的二进制码为“000”,而74LS148编码器输出为反码“111”。也就是说,当输入为数码“0”(即I0为0)时,输出为“111”。

(要想I0有效,其它引脚I1I7都必须接高电平,使其无效,因为I0引脚的优先级别最低。)(需要大家掌握的就是74LS148芯片的逻辑功能、真值表和它的芯片引脚。)

2、二—十进制编码器(1)常用二—十进制编码

二—十进制码(又称BCD码):用二进制码表示一位十进制码的编码称为BCD码。常用的BCD码有8421码(8421分别代表位权)如数字5的8421码为“0101”。(表10-8给出了几种常见的BCD码)

其余码制还有2421码,其权值依次为2、4、2、1;余3码,由8421BCD码每个代码加0011得到;格雷码是一种循环码,其特点是任意相邻的两个数码,仅有一位代码不同,其它位相同。(2)8421BCD编码器

① 8421BCD编码器:将十进制的十个数码09编成二进制代码的电路。如图10-15所示为8421BCD编码器的框图。

(8421BCD编码器的工作原理与二进制编码器类似。)

② 由框图可知,此编码器有10个输入I0I9(对应十进制的10个数码09),4个输出为A、B、C、D。

8421BCD码编码器编码表如表10-9所示。

AI1I3I5I7I9BIIII 2367③ 根据表10-9可以得到各个输出的表达式:

CI4I5I6I7 DI8I9 ④ I0I9十路输入信号(数码09)编码分别为0000、0001、0010、0011、0100、0101、0110、0111、1000、1001。

(它用4位二进制代码对10个(I0I9)输入信号进行编码,所以二—十进制编码器又称为10//4线编码器。)(实际上四位二进制代码可以表示十六种不同的状态,其中任何十种状态都可以表示09十个数码,最常用的是用8421码来对十进制码进行编码。)

(3)二—十进制优先编码器(74LS147:10线—4线)

① 74LS147优先编码器以低电平输入为有效信号,各输入信号按照I9I0 优先级逐渐降低,I9的优先级最高,I0的优先级最低。② 74LS147芯片的引脚图如图10-16所示。

1)紧靠四边形的小圆圈表示“低电平为有效信号”。2)四边形内部标注为引脚功能说明。3)四边形外部标准为引脚编号。

4)芯片第16脚为电源,第8脚为地,第15脚为空脚。③ 74LS147芯片的逻辑功能如表10-10所示,为 二—十进制优先编码器的真值表。

(需要大家掌握的就是74LS147芯片的逻辑功能、真 值表和它的芯片引脚。)

74LS147为二—十进制8421BCD优先编码器,其输 入输出都是低电平有效。所以,输出为十进制数码

09对应的8421BCD码的反码。

例如:数码“0”的8421BCD码为“0000”,而74LS147编码器输出为反码“1111”。也就是说,当输入为数码“0”(即I0为0)时,输出为“1111”。

(要想I0有效,其它引脚I1I9都必须接高电平,使其无效,因为I0引脚的优先级别最低。)10.2.2 译码器

(1)译码器的功能:译码是编码的逆过程,即将每个二进制代码赋予的含义翻译出来,给出相应的输出信号。实现译码操作的电路称为译码器。

(或者说,译码器是可以将输入二进制代码的状态翻译成输出信号,以表示原来含义的电路。)(2)译码器分类

① 变量译码器:表示输入变量状态的组合电路,如二进制译码器。

② 码制变化译码器:用于一个数据的不同代码之间的相互变换,如二—十进制译码器。③ 显示译码器:将数字、文字、符号的代码译成数字、文字、符号的电路。

1、二进制译码器

(1)二进制译码器:二进制译码器的输入是一组二进制代码,输出则是一组高、低电平信号。它具有n输入端,2个输出端。对应每一组输入代码,只有其中一个输出端为有效电平,其余输出端为无效电平。(表10-11给出了二进制译码器真值表,这是一个3线—8线的译码器。)

二进制译码器是常用组合逻辑芯片,应用十分广泛,相应的集成译码器产品也较多,按照输入、输出线的多少有二-四译码器、三-八译码器、四-十六译码器等。可通过74LS138来理解(2)三—八译码器74LS138(图10-18给出了74LS138芯片的引脚图)

① A2、A,Y0Y7为译码器的输出端。

1、A0为译码器的输入端(又称为地址端)② S1、S2、S3为控制端:当S11,S2S30时,译码器工作。③ 译码器工作时,其输出函数Y0Y7的表达式为:Yimi

(Y0Y7为A2、A1、A0三个变量的全部最小项的译码输出,所以将这种译 码器称为最小项译码器。)④74LS138的真值表

(书上215页,例题10-

7、例题10-8)例题10-7 分析:整个级联电路的控制端为S,它的取值将决定芯片的工作状态。(1)S1时

① 片1:S1S21,因为只有当ST1,S1S20时,译码器工作,所以片1禁止工作; ② 片2:S1S1S21,因为只有当ST1,S1S20时,译码器工作,所以片2禁止工作 结论:S1时,级联电路被禁止(2)S0,A30时

① 片1:S0S20,当高位A30S10,此时片1工作

n② 片2:S0S1S20,但由于A30ST0,所以片2禁止工作 结论:当S0,A30时,片1工作,片2禁止工作。此时,输出Z0Z7是。0A2A1A0的译码(即00000111)(3)S0,A31时

① 片1:S0S20,当高位A31S11,此时片1禁止 ② 片2:S0S1S20,且A31ST1,所以片2工作

结论:当S0,A31时,片1禁止工作,片2工作。此时,输出Z8Z15是1A2A。1A0的译码(即10001111)例题10-8:用译码器实现组合逻辑电路

n位二进制译码器的输出给出了n变量的全部最小项,利用附加电路可获得任何形式输入变量数不大于n的组合逻辑函数。

注意:由于译码器输出端都是低电平有效,所以应该把得到的最小项变换为非的形式Yimi

2、二—十进制译码器

(1)二—十进制译码器:将十进制数的二进制编码即BCD码翻译成对应的十个输出信号,称为二—十进制译码器,也叫做4线—10线译码器。

(2)四—十译码器74LS42(图10-21给出了74LS42译码器的逻辑图。)

① A3、A2、A,Y0Y9为译码器的输出端。

1、A0为译码器的输入端(又称为地址端)② 译码器工作时,其输出函数Y0Y9的表达式为:Yimi(四—十译码器与二进制译码器基本类似,以低电平作为有效输出)

注意:74LS42的功能:只是将前十种编码(09)译码,对1015的编码,译码输出全为1。(3)二—十进制译码器的输出表达式,根据逻辑图可得

Y0A3A2A1A0 Y1A3A2A1A0 Y2A3A2A1A0 Y3A3A2A1A0 Y4A3A2A1A0 Y5A3A2A1A0 Y6A3A2A1A0 Y7A3A2A1A0 Y8A3A2A1A0 Y9A3A2A1A0

(4)二—十进制译码器的真值表(如表10-12所示)

3、显示译码器

(在数字电路中,常常需要把运算结果用十进制 数显示出来,这就要用显示译码器)

(用来驱动各种显示器件,把用二进制代码表示的数字、文字、符号翻译成人们习惯的形式直观显示出来的电路称为显示译码器。数码显示管是常用的显示器件之一。)(1)半导体数码管

常用的数码显示管有半导体发光二极管构成的LED和液晶数码管LCD两类。(我们常见的都是LED)① 数码管:数码管是显示数码的常见器件。它是用某些特殊的半导体材料分段式封装而成。

(用磷砷化镓作成的PN结,当外加正向电压时,可以将电能转换成光能,从而发出清晰悦目的光线。)

(图10-22为数码管的管脚排列图,图,中间两个引脚为八个LED的公共端。由于二极管具有单向导电性,因此,数码管具有共阴、共阳两种类型)② 共阳数码管和共阴数码管

各个二极管的阳极相互连接组成公共端,为共阳数码管;各个二极管的阴极相互连接组成公共端,为共阴数码管。(LED数码管将十进制数码分成七段,每一段都是一个发光二极管,七个发光二极管有共阴极和共阳极两种接法。共阴极数码管某一段接高电平时发光,共阳数码管某一段接低电平时发光。)(2)七段显示译码器

① 七段显示译码器:七段显示译码器的功能是将8421BCD代码译成对应的数码管的七个字段信号,驱动数码管,显示出相应的十进制数码。

(七段显示译码驱动芯片种类较多,驱动共阳数码管的译码芯片有74LS47、74LS247等;驱动共阴数码管的译码芯片有74LS48、74LS248。我们通过74LS48来理解)

② 驱动共阴数码管的译码芯片74LS48(表给出了74LS48的功能表(真值表))

1)当BIRBILT1时,74LS48正常译码09

; 2)当BILT1,RBI0时,74LS48译码为19 ③ 74LS48与数码管的联接

将74LS48芯片的BI、RBI、LT接电源,七个输出接数码管的对应管脚,则构成了七段显示译码器。(如图所示)

74LS48真值表

74LS48与数码管的联接图

例如:当输入A3A2A1A00001时,74LS48将产生让共阴 数码管显示数字1的七段字型码“0110000”,即输出 引脚B、C为1,其余为0。

结论:七段显示译码器每个输入代码对应的输出不是某 一根输出线上的高、低电平,而是另一个七位的代码。(右图为七段显示译码器状态表,给出了显示的代码。)10.2.3 运算电路 数字运算电路:实现算术运算和逻辑运算的电路统称为数字运算电路。

算术运算电路一般执行加、减、乘、除四则运算;逻辑运算电路实现逻辑和、逻辑乘、逻辑非等逻辑运算。

1、加法器

(1)半加器和全加器

① 一位半加器:不考虑来自低位的进位的两个一位的二进制数的加法 运算,称为一位半加运算。实现一位半加运算的电路为一位半加器。(半加器的电路图如图所示,图10-23(a)给出了一位半加器的逻辑符号)1)输入和输出

输入端Ai、Bi:Ai、Bi为两个一位的二进制加数和被加数。

输出端Si、Ci:Si为相加后的和数(即本位和);Ci为向高一位的进位数(即进位位)。2)真值表

(书上没有)

3)由真值表写出输出表达式SiAiBiAiBiAiBi

CiAiBi ② 一位全加器:考虑来自低位进位数的两个一位二进制数的加法运算,称为全加运算。实现全加运算的电路称为全加器。(图10-23(b)给出了一位全加器的逻辑符号)1)输入和输出

输入端Ai、Bi、CIi1:Ai、Bi为两个一位的二进制加数和被加数;

CIi1为来自低位的进位数。

输出端Si、Ci:Si为相加后的和数(即本位全加和);Ci为向 高一位的进位数,(即进位位)。2)真值表

(书上没有)3)由真值表写出输出表达式

① SABCIABCIABCIABCI(ABAB)CI(ABAB)CI

设SABABAB为半加器的本位和,则有:S(ABAB)CI(ABAB)CISCISCISCI(SABABABAB(AB)(AB)(AB)(AB)AAABABBBABAB)② COABCIABCIABCIABCI(ABAB)CIAB(CICI)(AB)CIABSCIAB 我们也可以从另一个角度理解全加器:一位全加器由两个一位半加器加一个 或门构成,其联接方法如图所示。

即用半加器1将Ai、Bi两个数相加,其和再与CIi1用半加器2相加所得的和 为最终的和S;半加器1的进位与半加器2的进位之和构成向高一位的进位CO。(2)集成加法器

一位全加器的加法过程为(忽略或门运算时间): 半加器1相加完成后再由半加器1的结果及低位进位由半加器2相加并最终完成全加。

可按照这种方法用全加器构成多位加法器。这种加法器高位的运算需要等待低位运算所产生的进位才可求得,我们称它为串行进位加法器

串行进位加法器电路结构比较简单。但这种电路的最大缺点是运算速度慢,仅在对运算速度要求不高的设备中采用。为提高运算速度,人们又设计了超前进位的加法器。

超前进位加法器:在做加法运算时,各位数的进位信号由输入的二进制数直接产生的加法器 10.2.4 数据选择器

(1)数据选择器:在多路数据传送过程中,往往需要将多路数据中任意一路信号挑选出来,能实现这种逻辑功能的电路称为数据选择器(或者称为多路选择器、多路开关)。(2)四选一数据选择器

数据选择器可实现将数据源传来的数据分配到不同通道上,因此它类似于一个单刀多掷开关,如图所示。图中,D0、D1、D2、D3为4路输入信号,A1、A0为选择 控制信号,Y为输出信号,可以是4路输入数据中的任意一路,究竟是哪一路完全由地址选择控制信号A1、A0决定。① 逻辑功能:四选一

1)A1A000时,D0被选通,YD0 ;2)A1A001时,D1被选通,YD1; 3)A1A010时,D2被选通,YD2 ;4)A1A011时,D3被选通,YD3。按照上述功能设计的逻辑电路可完成四选一的逻辑功能。② 输出表达式:YD0A1A0D1A1A0D2A1A0D3A1A0Dm

(需要记住)

iii03(3)74LS151八选一数据选择器

(图给出了74LS151的引脚图)① 输入和输出 输入:八个数据输入端:D0D7;三个地址输入端:A0A2 输出:两个互补的输出端Y和Y ② 选通控制信端S:

1)S1时,选择器被禁止,即不工作(Y0);(此时,输入的数据和地址信号军不起作用)2)S0时,选择器工作,输出表达式为:YD0A2A1A0D1A2A1A0D2A2A1A0D7A2A1A0③ 74LS151的真值表

(如表所示)

(4)用具有n个地址端的数据选择器实现m(mn)变量的逻辑函数 当S0时,8选1数据选择器的输出表达式:

Dm

iii07YD0A2A1A0D1A2A1A0D2A2A1A0D7A2A1A0Dimi

i07A、B、C,输出表达 如果我们用地址端A2、A1、A0分别代表3个变量式用卡诺图的形式表示如图所示,适当地选择D0D7,就可以用8选1数据选择器设计任意的3变量组合电路。小结:

(1)组合逻辑电路的特点是,任意时刻电路的输出状态只取决于该时刻的输入状态,而与该时刻前的电路状态无关。

组合逻辑电路设计的一种方法 第3篇

1 新方法的基本思想

引理1 比较输出变量为1的组合与某个输出变量为0的组合,找出其中不同的变量及其组合,例如输出变量为1的组合有q=q1q2…qt,而某个输出变量为0的组合没有q=q1q2…qt,则q=q1q2…qt是该输出变量为1的组合的一个因子。

因为q=q1q2…qt在输出变量为1的组合中出现,在某个输出变量为0的组合没有出现,但不知道在其他输出变量为0的组合会不会出现,所以q=q1q2…qt可以表示这个输出变量的一部分,但不能表示这个输出变量的全部。

引理2 设Q=Q1Q2…QT是输出变量为1的组合出现,而所有输出变量为0的组合均不出现,则该输出变量为1的组合可以用Q=Q1Q2…QT表示。

因为Q=Q1Q2…QT在所有输出变量为0的组合均不出现,这说明含Q=Q1Q2…QT的所有项要么是1,要么是约束项,因而该输出变量为1的组合可以用Q=Q1Q2…QT表示。

引理3 输出变量为1的某个组合的所有因子的与可以表示该输出变量为1的组合。

与逻辑表示只有在决定事物结果的全部条件具备时,结果才发生的因果关系。输出变量为1的某个组合的所有因子的与表示输出变量为1的这个组合出现、所有输出变量为0的组合均不出现,因而可以表示输出变量为1的这个组合。

引理4 一个输出变量所有为1的组合的或可以表示该输出变量。

2 新方法举例

例1:研究3位二进制(8线-3线)编码器,他的8个输入变量I7I6I5I4I3I2I1I0允许8种组合,发现每种组合只有一个变量为1,其余变量为零;2个或2个以上的变量为1的组合都是不允许出现的。输出变量Y2Y1Y0的每一位都有4个组合为1、4个组合为0,其他都是约束项(见表1)。

Y2的第5种组合为1,这种组合有而他为0的第1种组合没有的因子是undefined;这种组合有而他为0的第2种组合没有的因子是undefined;这种组合有而他为0的第3种组合没有的因子是undefined;这种组合有而他为0的第4种组合没有的因子是undefined;输出变量为1的这个组合所有因子的与是undefined。取其最简单的表达式,即Y2的第5种组合可以表示为I4。同理可得:Y2的第6种组合可以表示为I5;Y2的第7种组合可以表示为I6;Y2的第8种组合可以表示为I7。最后可得:Y2=I4+I5+I6+I7;

同理可得:Y0=I1+I3+I5+I7;Y1=I2+I3+I6+I7。

例2:3位二进制数码输出的并行比较型模/数变换器的代码转换如表2所示:

D2的第5种组合为1,这种组合有而他为0的第1种组合没有的因子是C4,C3,C2,C1;这种组合有而他为0的第2种组合没有的因子是C4,C3,C2;这种组合有而他为0的第3种组合没有的因子是C4,C3;这种组合有而他为0的第4种组合没有的因子是C4。

D2的这种种组合为1的所有因子的与的最简单表达式是C4,即D2的第5种组合可以表示为C4;同理,D2的第6种组合为1的所有因子的与的最简单表达式是C4,C5,即D2的第6种组合可以表示为C4或C5;D2的第7种组合为1的所有因子的与的最简单表达式是C4,C5,C6,即D2的第7种组合可以表示为C4或C5,C6;D2的第8种组合为1的所有因子的与的最简单的表达式是C4,C5,C6,C7,即D2的第8种组合可以表示为C4或C5,C6,C7。最后得D2的最简表达式是:D2=C4。

D1的第3种组合为1,这种组合有而他为0的第1种组合没有的因子是C2,C1;这种组合有而他为0的第2种组合没有的因子是C2;这种组合有而他为0的第5种组合没有的因子是undefined;这种组合有而他为0的第6种组合没有的因子是undefined。

D1的这种种组合为1的所有因子的与的最简单的表达式是undefined或undefined;同理,D1的第4种组合为1的所有因子的与的最简单的表达式是undefined或undefined;D1的第7种组合为1的所有因子的与的最简单的表达式是C6;D1的第8种组合为1的所有因子的与的最简单的表达式是C6或C7。

最后可得D1的最简表达式是:C6+C2C4。D0的第2种组合为1,这种组合有而他为0的第1种组合没有的因子是C1;这种组合有而他为0的第3种组合没有的因子是C2;这种组合有而他为0的第5种组合没有的因子是C4,C3,C2;这种组合有而他为0的第7种组合没有的因子是C6,C5,C4,C3,C2。D0的这种种组合为1的所有因子的与的最简单的表达式是C1C2。同理,D0的第4种组合为1的所有因子的与的最简单的表达式是C3C4;D0的第6种组合为1的所有因子的与的最简单的表达式是C5C6;D0的第8种组合为1的所有因子的与的最简单的表达式是C7。最后可得D0的最简表达式是:C7+C5C6+C3C4+C1C2。

3结语

类似的例子可以举很多,通过上述例子分析可知,利用本文介绍的方法,这些约束条件许多可以不加处理,这可以大大简化逻辑电路的分析和设计。

参考文献

[1]Brian H,Clive W.Digital Logic Design[M].北京:人民邮电出版社,2006.

[2]阎石.数字电子技术基础[M].北京:高等教育出版社,2005.

多参数组合逻辑控制原理与设计 第4篇

多参数组合式逻辑控制器, 可以由时间、红外、声光控制器等多种控制参数构成, 并按照不同的组合逻辑进行组合控制。各个参数作为一种逻辑既可以单独使用又可以组合使用。当用时间、光控、红外三种控制器进行组合时, 有17种不同的控制方式, 可以适用于各种不同的场合和各种不同的控制目的。

2 多参数组合逻辑的定义和特点

2.1 组合逻辑的定义和特点

组合逻辑就是将两个 (或者两个以上) 给定的逻辑加以组合从而产生一个新的逻辑, 并增加给定的逻辑的表达力, 这就是组合逻辑的定义。

逻辑电路有两个重要的特征: (1) 输入端满足了某种特定逻辑状态的组合且不分先后的组合顺序, 可使输出端产生逻辑“1”或者“0”, 对于多参数组合逻辑控制器而言就被定义为“接通”与“断开”; (2) 这种逻辑电路状态的输入可以影响输出, 但输出不会影响输入。因此, 可以应用组合逻辑理论中的布尔代数、真值表来分析输出与输入的逻辑关系。在多参数组合逻辑控制器中, 将声音、时间、光控、红外等不同因素定义为多参数, 而各种参数的状态则作为组合逻辑控制器的输入端。

组合逻辑电路的输入与输出状态关系如图1所示。图中, X1, X2, …, Xn是电路的n个输入变量, F1, F2, ….Fm是电路的m个输出信号, 组合电路的输出与输入之间的逻辑关系可表示为:

从组合逻辑电路功能特点可以看到, 电路的输出与历史状况无关, 所以电路中就不需要任何记忆组件。这就是组合逻辑电路结构上的共同特点。

2.2 各种控制器原理和作用

2.2.1 时间控制器

时间控制器属自动控制领域的电器件, 主要用于在多段时间周期内控制多个电路的开启或关闭, 即具有多周期设置和多触点输出。

2.2.2 红外感应控制器

采用热释电红外探头并对探头接收到的微弱信号加以放大, 然后驱动继电器, 可以制成热释电人体感应控制器等。基于红外线技术的自动控制产品, 当有人 (或热源) 进入开关感应范围时, 专用传感器探测到人体红外光谱的变化, 开关自动接通负载, 人不离开感应范围, 开关将持续接通;人离开后, 开关延时自动关闭负载。

2.2.3 声光控制器

光线变暗时, 可用声音自动接通电源, 根据设定时间延时 (或者定时) 后, 自动断电, 白天光线充足时, 无论多大的声音干扰也不能接通用电设备。它特别适用于住宅楼、办公楼楼道、走廊、仓库、地下室、厕所等公共场所的照明看自动控制, 是一种集声、光、定时于一体的即节电又方便的自控开关。

3 多参数组合逻辑控制器

用上述设计方法, 设计了一个由时间控制器、红外控制器和声光控制器三部分构成的四参数组合逻辑控制器, 每部分是相互独立而又相互联系的组合逻辑控制, 该控制器的特点是:根据不同场合的需求, 各控制器可独立使用, 也可组合使用;主要有以下各种逻辑组合方式, (表1)

串行组合逻辑控制, 是一种最简单的逻辑组合是由时间控制器、红外控制器和光照控制器三部分串联构成 (如图2所示) :

该组合可实现的功能之一是:在时间控制器设置的时间范围内, 当光照强度大于设定的照度时, 电气设备 (如灯具等) 处于断开状态;夜晚照度低于设定值后, 光照控制器开启, 当探测接收到人体发出特定波长的红外线就开启电气设备。如果人体在其感应范围内一直活动时, 电气设备会一直开启, 不会频繁启动, 从而保护电气设备;当人体离开其感应范围后, 可以延时后自动切断电源, 从而实现全自动多参数组合逻辑控制。可大大节省电线、阻燃套管等材料和人工费用, 而且安装方便, 可靠性及安全性高, 集方便、节电、耐用、卫生、美观于一体, 非常适合需要自动开关的公共场所及家庭玄关等处照明, 是现代楼宇、家居理想的选择。

4 结语

声光、时间、红外感应技术虽然已经很成熟, 而且在很多领域得到了很广泛的应用, 但以组合的方式进行多参数逻辑控制用电设备的方法是一种新的尝试, 以组合式时间红外声光等参数进行用电控制是新一代的高科技用电自动控制产品, 它的出现顺应时代的潮流和社会的发展, 将给社会和经济的发展带来巨大的推动和促进作用, 是现代用电控制的理想选择, 具有广阔的市场前景。

参考文献

[1]王金凤, 程琤, 刘兆瑜.微机控制的汽车组合开关检测试验台设计[J].微计算机信息 (嵌入式与SOC) 2009, 25 (9) :172-174.

[2]徐田来, 崔平远, 崔祜涛.车载多传感器组合导航系统设计与实现[J].系统工程与电子技术, 2008, 30 (4) :686-691.

[3]刘海波, 毛承雄, 等.基于分散逻辑的电子电力变压器并联控制技术[J].高电压技术, 2007, 33 (4) :151-156.

组合逻辑电路的竞争冒险及仿真 第5篇

信号在通过连线和逻辑单元时, 都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关, 同时还受器件的制造工艺、工作电压、温度等条件的影响。信号的高低电平转换也需要一定的过渡时间。由于存在这两方面因素, 多路信号的电平值发生变化时, 在信号变化的瞬间, 组合逻辑的输出有先后顺序, 并不是同时变化, 成为“竞争”。

大部分的组合逻辑电路中都存在竞争现象, 而竞争往往会引起电路产生冒险现象。冒险表现为输出端产生尖峰脉冲或“毛刺”现象, 从而破坏电路原有的逻辑功能并使电路产生错误动作。有些组合逻辑电路存在竞争现象, 但并不产生冒险现象。因为可能在组合电路中, 各个输入在中间的门电路产生了时差, 但到最后的门电路时刚好没有时差, 就不会产生毛刺。冒险现象降低了逻辑电路的可靠性, 因此在设计组合电路时要尽量地发现和消除冒险现象。

1 组合逻辑电路竞争冒险的仿真

(1) 产生“1冒险”。

电路如图1所示, 该电路的逻辑功能为L=AA, 从逻辑表达式来看, 无论输入信号A如何变化, 输出L应保持不变, 恒为0 (低电平) 。但实际情况并非如此, 从仿真的结果可以看到, 由于74LS05非门电路的延时, 在输入信号的上升沿, 电路输出端有一个正的窄脉冲输出, 这种现象称为1 (高电平) 型冒险。

(2) 产生“0冒险”。

电路如图2所示, 该电路的逻辑功能为L=A+, 从逻辑表达式来看, 无论输入信号如何变化, 输出应保持不变, 恒为1 (高电平) 。

但实际情况并非如此, 从仿真的结果可以看到, 由于74LS05非门电路的延时, 在输入信号A的下降沿, 电路输出信号L有一个负的窄脉冲输出, 这种现象称为0 (低电平) 型冒险。

2 冒险现象的识别

(1) 可采用代数法判断是否存在冒险。

写出组合逻辑电路的逻辑表达式, 当某些逻辑变量取特定值 (0或1) 时, 如果表达式能转换为:L=A则存在1冒险;L=A+则存在0冒险。

例: 判断函数undefined是否存在冒险。

解:如果令A=C=0, 则有undefined因此该电路存在1冒险。

(2) 利用卡诺图判断是否存在冒险。

具体做法如下:根据逻辑函数的表达式, 作出其卡诺图, 若卡诺图中填1的格所形成的卡诺图有两个相邻的圈相切, 则该电路就存在竞争冒险的可能性。

例:判断函数undefined是否存在竞争冒险现象。

卡诺图如图3 (a) 所示, 有两个相邻的圈相切, 则该电路就存在竞争冒险的可能性。

3消除冒险的方法

(1) 修改逻辑设计。

(1) 增加冗余项:例:函数L=存在竞争冒险现象。如在其表达式中增加乘积项, 卡诺图如图3 (b) 所示使其变为:L=, 消除了冒险现象; (2) 变换逻辑式, 消去互补变量:例:逻辑式L= (A+B) (+C) 存在冒险现象。如将其变换为:L=A +AC+BC, 则在原来产生冒险的条件A=C=0时, L=0, 不会产生冒险。

(2) 加封闭脉冲。

输进信号产生竞争冒险的时间内, 引进一个脉冲将可能产生尖峰干扰脉冲的门封闭住。封闭脉冲应在输进信号转换前到来, 转换结束后消失。

(3) 增加选通信号。

在电路中增加一个选通脉冲, 接到可能产生冒险的门电路的输入端。当输入信号转换完成, 进入稳态后, 才引入选通脉冲, 将门打开。这样, 输出就不会出现冒险脉冲。

(4) 增加输出滤波电容。

在可能产生冒险的门电路输出端并接一个滤波电容 (一般为4~20pF) , 利用电容两端的电压不能突变的特性, 使输出波形上升沿和下降沿都变得比较缓慢, 从而起到消除冒险现象的作用, 如图4所示。

摘要:大部分的组合逻辑电路中都存在竞争现象, 而竞争往往会引起电路产生冒险现象, 从而破坏电路原有的逻辑功能并使电路产生错误动作。阐述了组合逻辑电路竞争冒险的仿真、冒险现象的识别和消除冒险的方法。

关键词:组合逻辑电路,竞争冒险仿真,冒险现象的识别,消除冒险现象的方法

参考文献

[1]康华光.电子技术基础数字部分[M].第4版.北京:北京高等教育出版社, 2000.

[2]许小军.电子技术试验与课程设计指导[M].南京:东南大学出版社, 2004.

[3]吴有仓.电工实用电子制作[M].北京:国防工业出版社, 2005.

组合逻辑电路设计 第6篇

一、教材分析

众所周知, 数字电子技术主要是由组合逻辑电路和时序逻辑电路这两部分组成的, 其中组合逻辑电路与学生的生活实际息息相关。与此同时, 从组合逻辑电路教材中所包含的内容来看, 这部分的内容具有承前启后的作用, 不仅可以引导学生对已掌握的逻辑电路图、真值表、逻辑函数表达式等内容进行回忆、迁移, 还可以为以后的编码器、译码器等知识的学习打下坚实的基础。所以, 在教学这一内容的时候, 教师需要转变传统的按照教材内容照本宣科的方式, 采取“项目引领, 任务驱动”的模式创设丰富多彩的教学活动, 并引导学生在活动中动手操作, 完成“三人表决器电路的设计与制作”任务。我在教学活动开展中, 常常会引用信息技术来辅助教学, 利用多媒体将抽象的理论知识生动、直观地再现在学生面前, 让学生在形象的画面中进行操作实践。

二、教学活动的开展

教学活动的开展是由不同的教学环节构成的, 因此我在利用信息技术开展组合逻辑电路教学的时候, 将教学活动设计为认识项目、实施项目、验证项目、总结项目这四个环节。

(一) 认识项目

学生在刚刚接触组合逻辑电路这一内容的时候, 常常是不知所云, 教师对这一内容的讲解对知识能力有限的学生来说难以理解。针对这一情况, 我会利用多媒体为学生创设问题情境, 以问题思考的方式激发学生对电路的探究兴趣。首先, 我会利用多媒体向学生播放一段热门的选秀节目, 该节目的评定规则是:三位评委中有两位或者两位以上的评委对某选手给予肯定, 则该选手就能顺利晋级, 即比赛晋级由三位评委决定, 遵循少数服从多数的原则。然后我会让学生以电子设计师的身份根据比赛规则设计一款电子产品———“三人表决器”, 主持人按照评委按下的红灯数量 (两盏以上的红灯即可晋级) 判定选手能否顺利晋级。

(二) 实施项目

教师可以利用课件向学生展示本项目的设计要求, 即利用组合逻辑电路设计“三人表决器”。然后让学生根据设计要求自主确定逻辑问题、写出相应的逻辑函数表达式, 并在小组交流讨论中将已写出的复杂的表达式进行简化, 并根据简化的表达式画出相应的电路图。在这一过程中, 我会根据学生自主探究的结果, 将符合设计标准的学生设计以投影的形式展现在大屏幕上, 以此让学生探寻自己设计的作品的缺点或者失误所在, 使学生能在正确的设计下进行动手操作。

(三) 验证项目

在这一环节中, 我一般会使用Multisim软件组织学生根据自己已有的设计进行仿真操作。在学生的操作中, 我会对学生出现的问题进行有针对性的指导, 以此提高实践的有效性。或者让学生自己通过网络搜集有效的实验软件, 扩展教学资源, 在丰富多彩的实验软件共享中, 促使学生利用不同的软件进行多样化的操作, 以此在多元化的操作中提高学生的实践能力。

(四) 总结项目

在总结环节, 我会利用多媒体将学生在电路设计、电路操作中出现的问题一一展示在大屏幕上, 让学生对课件上的问题进行分析, 根据自己已有的知识经验自主纠正错误, 以此提高学生对组合逻辑电路的认识和实践能力, 从而提高教学质量。

总之, 在组合逻辑电路教学活动开展中, 教师需要利用多媒体将抽象的知识生动地再现在学生面前, 并利用多媒体创设情境, 让学生在情境中动手操作, 以此提高学生的实践能力。

摘要:在传统的职业教育活动中, 受传统教学理念的影响, 教师一般会采取“教师讲, 学生听”的教学模式, 在这种模式影响下, 学生只能作为知识接受者被动地参与课堂活动, 这严重违背了素质教育所倡导的“以学生为中心”的教学理念。而且, 职业教育是以就业为指向的教学活动, 学生无论参与何种教育都要在亲身参与实践, 在实践中获得理论与技能的全面发展。因此, 用信息技术辅助教学, 并在此基础上充分调动学生的学习积极性, 提高教学质量。

关键词:信息技术,组合逻辑电路,教学,应用

参考文献

[1]汤书森, 李蜀娴, 饶增仁.仿真技术在数字逻辑电路实验教学中的应用与实践[J].高校实验室工作研究, 2012 (1) .

基于动作时序逻辑的Web服务组合 第7篇

Web服务是一种自包含、自描述、模块化的程序,具有高度的互操作性、跨平台性和松耦合的优点。单个Web服务在很多情况下不能满足实际应用的需要,因此只有对已有的完成不同功能的服务进行组合从而产生新的增值服务,以满足用户的请求,Web服务的潜力才能真正发挥出来,这就是Web服务组合。近年来,国内外学术界和工业界围绕着服务组合开展了大量的研究,并发布了一些描述Web服务组合的语言,主要有微软提出的XLANG,IBM提出的WSFL,BEA公司的WSCI,IBM、微软和BEA公司联合提出的BPEL4WS[1]。

动作时序逻辑TLA 由Lamport提出,它将时序逻辑与传统逻辑有机的结合起来,能够很好地描述并发和实时系统的行为[2]。将TLA应用到Web服务组合中去可以实现动态服务选择并实时监测服务状态以提高服务组合系统的健壮性和灵活性。TLA的模型检测器TLC采用多线程并发检测机制,加速了检测的速度并且缓解了状态爆炸的现象。能够检测组合逻辑的正确性以及是否存在死锁。因此将TLA应用的Web服务组合方面能起到很好的效果。TLA的建模是将系统的动作(行为)分解为有序的状态集合,再将状态的变化描述为相应的逻辑公式。关于Web服务基本的TLA描述已经在文献[3,4]中给出,本文在此基础上首先对Web服务之间的基本组合模式采用TLA进行建模,然后利用图的宽度优先遍历将服务组合为一个完整的服务,并采用TLA的模型检验器对组合结果进行验证。最后给出了现有的Web服务组合平台BPEL4WS向TLA转化的方法。

1服务之间基本关系的TLA表示

使用TLA描述一个并发系统时,需要将系统抽象为有序状态集合,用动作Next来描述状态之间的变化。标准的TLA描述形式为InitW[Next]vLiveness,其中Init表示初始状态,Next动作表达式表示下一个状态,规定了系统所有可能的动作,用在Web服务描述中,来描述服务之间的交互。Liveness则是一个时序公式,通过合取各动作的公平性条件来规定系统的活性。

忽略Web服务的内部执行细节,将服务视为一个最小粒度的操作,对应于TLA中的一个基本状态,服务之间的交互通过动作来描述。Web服务组合问题同工作流系统有着许多共同的特征,借助工作流的基本控制模式来描述Web服务之间的关系,基本控制模式包括Sequence结构和WfMC 定义的And-Join、And-Split、Xor-Join、Xor-Split等[5]。分析每一种控制模式的服务之间的关系,并用TLA表达式来描述服务之间的关系。

1.1Sequence结构

服务SiSj,如图1所示,当SiSj具有严格的顺序关系时,即Sjpos(Si) pre(Sj)=Si时,SiSj视为顺序执行的服务。后继服务的初态连接了其前驱服务的终态,因此后继服务的初态用由前驱服务到后继服务的变迁Stepinit来表示,如果服务没有后继服务,则终态用Stepfinal表示。Loop表示服务到达终态后回到初态,顺序组合服务TLA描述的Next表达式为:Νext(Si|j)=ΔΝext(Si)Stepinit(Si)Νext(Sj)

StepfinalLoop (1)

1.2And-Join结构

两个服务SiSj,如图2所示,当它们均执行完成后,服务B才能执行。SiSjB视为And-Join结构的服务。其中SiSj视为并发执行的服务,首先对并发执行的服务syn(Si,j)进行TLA动作描述:

Νext(syn(Si,j))=Δ(Νext(Si)Stepinit(Si))(Νext(Sj)Stepinit(Sj))(Νext(Si)Stepinit(Si))(y=y)(Νext(Sj)Stepinit(Sj))(x=x)(2)

具有And-Join结构服务的TLA描述的Next表达式为:

Νext(Si,jandB)=ΔΝext(syn(Si,j))(Νext(B)

Stepinit(B)) (3)

1.3And-Split结构

服务B的后继服务SiSj,当B执行完之后,SiSj同步执行,它为And-Split结构。具有And-Split结构服务的TLA描述的Next表达式为:

Νext(SBandi,j)=Δ(Νext(B)Stepinit(B))

(Next(syn(Si,j))) (4)

1.4Xor-Split结构

服务B的后继服务SiSj,当B执行完之后,SiSj其中之一开始执行,它为Xor-Split结构。具有Xor-Split结构服务的TLA描述的Next表达式为:

Νext(SBxori,j)=Δ(Νext(B)Stepinit(B))(Νext(Si)Stepinit(Si))(Νext(B)Stepinit(B))(Νext(Sj)Stepinit(Sj))(5)

1.5Xor-Join结构

如图5所示,两个服务SiSj,当其中之一执行完毕后,后继服务B即可执行,SiSj视为Xor-Join结构的服务。具有Xor-Join结构服务的TLA描述的Next表达式为:

Νext(Si,jxorB)=Δ(Νext(Si)Stepinit(Si))(Νext(B)Stepinit(B))(Νext(Sj)Stepinit(Sj))(Νext(B)Stepinit(B))(6)

对于具有复杂控制模式的Web服务,可以分解为基本的模式,然后依据上述基本模式进行组合,直至构成一个复合服务。

2基于BFS的服务组合算法

一个Web服务合成方案是一个DAG 图,为了更加清楚地描述服务之间的关系,对图中的节点进行细化,将节点分为服务节点和结构节点两种。服务节点存储服务的详细信息,结构节点用来描述服务之间的控制关系。依据有向图的拓扑结构,采用图的广度优先遍历思想来实现Web服务的组合。在遍历过程中依据结构节点的不同采用相应的控制模式组合,直至组合为一个完整的复合服务为止。组合算法如下:

算法1 服务组合算法。

依据BFS组合算法,对图6复合服务进行组合,算法的执行时间复杂度为:O(d),其中d为有向图的深度,空间复杂度为:O(n),其中n为服务的个数。并且算法的执行时间复杂度与空间复杂度与复合服务的拓扑结构的复杂程度有密切关系。组合后的Web服务系统CS的TLA表达式为:

其中i=0,1,…,7

将上述组合后的TLA表达式以ASCII形式输入到TLC模型检验器进行验证,验证结果如图7所示。

通过验证可得,系统不存在死锁现象,TLA的描述文档生成了36个状态,20个确切状态,并且状态树的深度为13。

3BPEL4WS向TLA的转化

BPEL4WS作为Web服务业务流程执行语言,是专为组合Web服务而制定的一项规范标准[6]。主要负责将一组现有的单个Web服务整合起来,从而定义一个新的组合服务。BPEL4WS作为一种描述和执行Web服务组合工作流的语言,包含了简单的顺序流程控制结构:即顺序、分支、选择、并行、循环,已经成为事实上的标准[7]。现有的服务组合平台一般是基于BPEL4WS标准,因此需要将BPEL4WS转化为TLA。首先对BPEL4WS进行扩展,加入基本动作模块<action>。<action>中的<from=” ” to=” ”>模块描述了从一个服务到另一个服务之间的转变过程,<type>表示服务之间的基本流程模式。

接下来将扩展的BPEL4WS转化为TLA表达式。

(1) 首先查找入度为零的点。即没有<to>属性的节点,将所有的入度为零的节点的初始状态进行合取,构造Init表达式。

(2) 依据<assign>中<type>的值,将不同的控制模式转化为相应的TLA动作表达式。

(3) 将步骤2中所有的TLA动作表达式析取,得到总的Next表达式。

(4) 因此整个复合服务的TLA表达式为:InitW[Next]v

4结束语

本文给出了Web服务基本控制结构的TLA组合方法,并对组合后的Web服务逻辑正确性进行了验证。另一方面,TLA作为一种强大的并发系统的描述工具,可以从不同角度、不同层次对并发系统进行描述和验证。因此只要Web服务能写成TLA公式的形式都可以用TLA的模型检验器TLC进行验证。

在进行服务组合时没有考虑组合过程的优化,因此接下来的工作将着重根据整体服务的质量来考虑,以及如何优化服务组合的路径。另外,本文没有考虑Web服务的选择,既然Web服务可由TLA进行描述,下一步的工作将考虑直接从TLA公式入手,依据用户的可满足性以及服务的肺功能属性来进行Web服务选择。

参考文献

[1]Aitor Urbieta,Guillermo Barrutieta.A survey of dynamic service com-position approaches for ambient systems[C]//Proceedings of the2008Ambi-Sys workshop,2008,2.

[2]Lamport L.Specifying Systems:The TLA+Language and Tools for Hard-ware and Software Engineers[C]//Boston:Addision-Wesley,July2002.

[3] Hongbing Wang,Hui Liu,Chen Wang.A New Approach to Describe Web Services[J].International Conference on Web Intelligence,2007,70(3):568-571.

[4] Ning Zhou,Hongbing Wang.Using TLA for Modeling and Analysis of Web services Composition[C]//First IEEE International Conference on Ubi-Media Computing,Lanzhou,2008:126-131.

[5]Workflow Management Coalition.Workflow Handbook[M].Future Strate-gies Inc,2001,1.

[6]Andrews T,Curbera F,Dholakia H,et al.Business Process Execution Language for Web Services(Version1.1).IBM Document.2003.ht-tp://www.ibm.com/developerworks/library/ws-bpel/.

组合逻辑电路设计 第8篇

1数据选择器基本功能

数据选择器又称为多路选择器或多路开关,其基本功能是:在地址控制端作用下 , 从多路输入信号中选择其中一路作为输出。常用的数据选择器有4选1、8选1、16选1等。

任一数据选择器的逻辑函数为

其中n为数据选择器地址端个数 ,D为数据端。

2 数据选择器实现组合逻辑函数的方法

2.1 数据选择器地址输入端个数与要实现的逻辑函数变量个数相同时

取3变量逻辑函数F,F的表达式为

现采用8选1数据选择器来实现该3变量逻辑函数,8选1数据选择器地址端数为3,此时数据选择器地址输入端个数与逻辑函数F的变量个数相同。

对于8选1数据选择器,其输出的逻辑表达式为

将逻辑函数F与8选1数据选择器的输出表达式进行比较。若F的三个输入变量A、B、C分别接到数据选择器地址输入端A2、A1、A0,逻辑函数中没有出现的最小项对应的数据输入端接0,出现的最小项对应的数据输入端接1,即可利用8选1数据选择器实现此3变量逻辑函数。实现具体过程如下:

基于此,可画出具体实现电路图1。

2.2 数据选择器地址输入端个数小于要实现的逻辑函数变量个数时

现采用4选1数据选择器来实现上述3变量逻辑函数F,4选1数据选择器的地址端有2个,此时数据选择器地址端端数小于要实现的逻辑函数变量个数。

对于4选1数据选择器,其输出的逻辑表达式为

通过比较3变量逻辑函数F与上述4选1数据选择器的输出表达式发现,此时变量A、B、C的个数大于数据选择器的地址端数A1 A0,因此将逻辑函数的多余输入变量C分离出来,余下变量A、B接在地址输入端A1 A0,分离出的变量按照一定规则接在数据输入端中。输出变量接至数据选择器的输出端,即可利用4选1数据选择器实现此3变量逻辑函数。实现具体过程如下:

基于此,可画出具体实现电路图2。

2.3 数据选择器地址输入端个数大于要实现的逻辑函数变量个数时

若取一2变量逻辑函数F,

对于上述2变量逻辑函数F,现采用8选1数据选择器来实现,8选1数据选择器的地址端有3个,数据选择器地址输入端个数大于要实现的逻辑函数变量个数。

8选1数据选择器的输出表达式为

将逻辑函数F与8选1数据选择器的输出表达式进行比较。若将地址端A2接0,将输入变量AB接至数据选择器的地址端A1 A0;D0~D7为适当的状态(包括0或1),输出变量接至数据选择器的输出端,即可利用8选1数据选择器实现此2变量逻辑函数。实现具体过程如下:

此时由于A2接0,所以D4~ D7不管接0或1,均不会影响输出,所以D4~ D7接0或1均可。

基于此,可画出具体实现电路图3。

3 结论

针对数据选择器这一常用的组合逻辑电路,本文分别研究了三种不同情况下采用数据选择器实现组合逻辑函数的具体方法。通过本文的研究可以看出数据选择器是一应用广泛,使用灵活的中规模集成电路,在数字电路的设计实现中可通过灵活运用数据选择器,达到实现相应逻辑功能的目的。

摘要:随着数字集成电路生产工艺的不断成熟,具有通用性的功能电路在各类数字系统中经常出现,数据选择器是其中一种常用的组合逻辑电路,实现任意组合逻辑函数是其重要应用之一。本文分析了采用数据选择器实现组合逻辑函数的意义,探讨了各种不同的实现方法。

上一篇:英汉语言翻译学习下一篇:会计人员继续教育问题