控制逻辑设计_教案

时间:2019-05-13 22:09:00下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《控制逻辑设计_教案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《控制逻辑设计_教案》。

第一篇:控制逻辑设计_教案

11章 控制逻辑设计

一.定义对话模块

对话程序主要是应用于PBO,PAI.POV(F1帮助事件).POH(F4帮助事件)三个事件中。

对话程序主要的定义方式为:

Module name output.…….Endmodule.Module name input.…….Endmodule.定义好的对话模块是不专属与任何一个事务屏幕,而是可以在任意一个事务屏幕中调用。通过系统变量sy-dynnr来获得当前调用对话模块的屏幕号。

二.调用对话模块

调用对话模块的语法:

Module mod.事物程序的执行流程:P366。

三.无条件调用

无条件的调用,主要应用与back,exit,cancel 这几个按钮当中。

无条件调用的意义:

在用户进行操作时,在不可避免的情况下不知道如何输入数据和进行了误操作,进入了一个无法操作的界面,而此界面又会有一些输入的检查,所以直接按后退或者退出的按钮时,不会进行后退的功能。因此出现了无条件调用。无论用户输入满足系统检查与否,该模块都将首先被其调用。

无条件调用的定义方式:

1.首先set pf-status 中设置一个BACK的按钮。然后双击该功能代码或者通过goto→object list → function list 进行设定。2.将该功能码的类型更改成E的类型。3.在接收和处理此功能的方式为:

a)在逻辑流中PBO事件里添加一个新的module。如:module mod at exit-command.(将功能码的类型定义为E类型以后。必须使用此类型进行处理)b)在程序中处理的方式为:

Module mod input.If ok_code = ‘BACK’.Clear ok_code.Leave to screen 0.Endif.Endmodule.四.数据传输控制

1.系统自动传输

系统自动传输的主要方式为,将屏幕中的字段与ABAP程序中的字段同名。那么在屏幕的PBO执行中。如果ABAP中的字段进行了初始化,那么在PBO执行结束时,屏幕中的字段自动被进行了初始化。

2.模块条件调用

1)单字段条件调用

Field dynpfield Module mod on input.Dynpfield :为屏幕中字段的名字。

Module:为ABAP中处理条件的module名。

另外一种形式:

Field dynpfield Module mod On Request.这种形式是只有在用户对该字段进行输入值时,才调用ABAP模块。任何形式的手工输入都会触发On Request 条件,系统将下列设置字段的方式视为手工输入:

a)实际用户输入。

b)通过set parameter字段输入(手工和自动两种).c)通过hold data 功能设置字段输入(在菜单system→user profile→hold data中设置)

d)用于事物调用时的参数输入(call transaction…..using)。e)用于整个定制系统的全局字段。

2)组合字段条件调用

Chain.Field: f1, f2 …………

Module mod1 on chain-input | chain-request.Field: g1, g2………….Module mod2 on chain-input | chain-request.Endchain.其中chain-input 和chain-request 与单字段条件调用中的on input 和 on request类似。两种的区别在于,如果field语句中的任意一个字段满足条件,则触发位于该字段之前的模块。对于on chain-input,如果链中的任意字段包含初始值(空或零)以外的值,则调用ABAP模块。对于on chain-request,如果链中的任一字段的值发生用户输入时间,则调用ABAP模块,所以当fi之一满足条件时,mod1被调用,当fi或gi满足条件时,mod2调用。

五. 输入检查

1.检查单个字段

field spfli-airpfrom MODULE check_fr_airport.module check_fr_airport input.select single * from sairport into it_spfli where id = spfli-airpfrom.if sy-subrc <> 0.MESSAGE e003(zp)WITH spfli-airpfrom.ENDIF.endmodule.2.检查多个字段

Chain.Field: spfli-carrid, spfli-connid.Module check_flight.Endchain.如果二者之一出现错误,将触发错误消息,两个字段也均可输入。

第二篇:数字电路与逻辑设计(4月教案)

中规模通用集成电路及其应用

教学内容:本节内容是针对上节组合逻辑电路分析的推广,主要介绍采用中、大规模集成电路组成数字系统的方法以及应用。包括使用最广泛的中规模组合逻辑集成电路有二进制并行加法器、译码器、编码器、多路选择器和多路分配器等。

教学重点:加法器和译码器的功能,设计应用的方法和技巧。教学难点:并行和串行集成电路的设计思想。

教学方法:课堂教学为主,辅以恰当的实验。紧密结合前面所学的基础内容,用丰富详尽的例题,让学生充分理解集成芯片设计方法,并通过课堂练习掌握学生学习情况。课后配套实验,让学生透彻理解课堂所学。

教学要求:了解集成电路的分类,重点掌握加法器和译码器的设计,以及其应用方法。

7.1常用中规模组合逻辑电路

教学内容:(1)熟悉常用中规模通用集成电路的逻辑符号、基本逻辑功能、外部特性和使用方法。(2)常用中规模通用集成电路作为基本部件,恰当地、灵活地、充分地利用它们完成各种逻辑电路的设计,有

效地实现各种逻辑功能。

教学重点:二进制并行加法器和译码器。

教学难点:二进制并行加法器和译码器功能、结构、外部特性及应用。

教学方法:课堂教学为主,通过提问和练习掌握中规模通用集成电路功能和应用。

采用中、大规模集成电路组成数字系统具有体积小、功耗低、可靠性高等优点,且易于设计、调试和维护。

使用最广泛的中规模组合逻辑集成电路有:

★ 二进制并行加法器

★ 译码器 ★ 编码器

★ 多路选择器 ★ 多路分配器等

7.1.1二进制并行加法器

一.定义

二进制并行加法器:是一种能并行产生两个二进制数算术和的组合逻辑部件.二.分类及典型产品 按其进位方式的不同,可分为串行进位二进制并行加法器和超前进位二进制并行加法器两种类型。

1.串行进位二进制并行加法器:由全加器级联构成,高位的进位依赖于低位的进位。典型芯片有四位二进制并行加法器T692。四位二进制并行加法器T692的结构框图如图7.1所示。

图7.1 T692的结构框图

串行进位二进制并行加法器的特点是:被加数和加数的各位能同时并行到达各位的输入端,而各位全加器的进位输入则是按照由低位向高位逐级串行传递的,各进位形成一个进位链。由于每一位相加的和都与本位进位输入有关,所以,最高位必须等到各低位全部相加完成并送来进位信号之后才能产生运算结果。显然,这种加法器运算速度较慢,而且位数越多,速度就越低。

为了提高加法器的运算速度,必须设法减小或去除由于进位信号逐级传送所花的时间,使各位的进位直接由加数和被加数来决定,而不需依赖低位进位。根据这一思想设计的加法器称为超前进位(又称先行进位)二进制并行加法器。

2.超前进位二进制并行加法器:由逻辑电路根据输入信号同时形成各位向高位的进位,又称为先行进位二进制并行加法器或者并行进位二进制并行加法器。典型芯片有四位二进制并行加法器74LS283。

四位二进制并行加法器74LS283构成思想如下:

第i位全加器的进位输出函数表达式为

Ci = AiBi+(Ai+Bi)Ci-1

令 Ai+Bi→Pi(进位传递函数)

AiBi→Gi(进位产生函数)

则有 Ci=PiCi-1+Gi 于是,当i=1、2、3、4时,可得到4位并行加法器各位的进位输出函数表达式为

C1=P1C0+G1

C2=P2C1+G2=P2P1C0+P2G1+GC3=P3C2+G3=P3P2P1C0+P3P2G1+P3G2+G3

C4=P4C3+G4=P4P3P2P1C0+P4P3P2G1+P4P3G2+P4G3+G4

由于C1~C4是Pi、Gi和C0的函数,而Pi、Gi又是 Ai、Bi的函数,所以,在输入Ai、Bi和C0之后,可以同时产生C1~C4。通常将根据Pi、Gi和C0形成C1~C4的逻辑电路称为先行进位发生器。采用先行进位发生器的并行加法器称为超前进位二进制并行加法器。

三.四位二进制并加法器的外部特性和逻辑符号 1.外部特性

74LS283、4008芯片的管脚排列图如图7.2(a)所示。图中,VCC B2 A2 S2 B3 A3 S3 C3 16 15 14 13 12 11 10 974LS283 1 2 3 4 5 6 7 8S1 B1 A1 S0 B0 A0 C0-1 GNDTTL加法器74LS283引脚图VDDB3C3 S3 S2 S1 S0 C0-1 16 15 14 13 12 11 10 94008 1 2 3 4 5 6 7 8A3 B2 A2 B1 A1 B0 A0 VSSCMOS加法器4008引脚图图7.2 74LS283,4008的管脚排列图和逻辑符号 A4、A3、A2、A1----------二进制被加数; B4、B3、B2、B1----------二进制加数; F4、F3、F2、F1----------相加产生的和数;

C0----来自低位的进位输入;FC4----向高位的进位输出。2.逻辑符号

四位二进制并行加法器逻辑符号如图7.2所示。

四.应用举例

二进制并行加法器除实现二进制加法运算外,还可实现代码转换、二进制减法运算、二进制乘法运算、十进制加法运算等功能。下面举例说明。

例1 用4位二进制并行加法器设计一个将8421码转换成余3码的代码转换电路。例2 用4位二进制并行加法器设计一个4位二进制并行加法/减法器。

例3 用一个4位二进制并行加法器和六个与门设计一个乘法器,实现A×B,其中A=a3a2a1,B= b2b1.例4 用4位二进制并行加法器设计一个用余3码表示的1位十进制数加法器。

7.1.2译码器和编码器

译码器(Decoder)和编码器(Encoder)是数字系统中广泛使用的多输入多输出组合逻辑部件。

一.译码器

译码器的功能是对具有特定含义的输入代码进行“翻译”,将其转换成相应的输出信号。

译码器的种类很多,常见的有二进制译码器、二-十进制译码器和数字显示译码器。

1.二进制译码器

(1)定义

二进制译码器:能将n个输入变量变换成2个输出函数,且输出函数与输入变量构成的最小项具有对应关系

n的一种多输出组合逻辑电路。

(2)特点

● 二进制译码器一般具有n个输入端、2个输出端和一个(或多个)使能输入端。

● 在使能输入端为有效电平时,对应每一组输入代码,仅一个输出端为有效电平,其余输出端为无效电平(与有效电平相反)。

● 有效电平可以是高电平(称为高电平译码),也可以是低电平(称为低电平译码)。

(3)典型芯片

常见的MSI二进制译码器有2-4线(2输入4输出)译码器、3-8线(3输入8输出)译码器和4-16线(4输入16输出)译码器等。书P231所示分别是74LS138型3-8线译码器的管脚排列图和逻辑符号。

n2.二-十进制译码器

二-十进制译码器的功能:将4位BCD码的10组代码翻译成10个十进制数字符号对应的输出信号。

例如,常用芯片T331是一个将8421码转换成十进制数字的译码器,其输入A3~A0为8421码,输出Y0~Y9分别代表十进制数字0~9。该译码器的输出为低电平有效。其次,对于8421码中不允许出现的6个非法码(1010~1111),译码器输出端Y0~Y9均无低电平信号产生,即译码器对这6个非法码拒绝翻译。这种译码器的优点是当输入端出现非法码时,电路不会产生错误译码。(该译码器的逻辑电路图和真值表见教材中有关部分)

3.数字显示译码器

数字显示译码器是不同于上述译码器的另一种译码器。在数字系统中,通常需要将数字量直观地显示出来,一方面供人们直接读取处理结果,另一方面用以监视数字系统工作情况。因此,数字显示电路是许多数字设备不可缺少的部分。

数字显示译码器是驱动显示器件(如荧光数码管、液晶数码管等)的核心部件,它可以将输入代码转换成相应数字,并在数码管上显示出来。

常用的数码管由七段或八段构成字形,与其相对应的有七段数字显示译码器和八段数字显示译码器。例如,中规模集成电路74LS47,是一种常用的七段显示译码器,该电路的输出为低电平有效,即输出为0时,对应字段点亮;输出为1时对应字段熄灭。该译码器能够驱动七段显示器显示0~15共16个数字的字形。输入A3、A2、A1和A0接收4位二进制码,输出Qa、Qb、Qc、Qd、Qe、Qf和Qg分别驱动七段显示器的a、b、c、d、e、f和g段。(74LS47逻辑图和真值表可参见教材中有关部分。)

七段译码显示原理图如图7.8(a)所示,图7.8(b)给出了七段显示笔画与0~15共16个数字的对应关系。

图7.8 七段译码显示原理及笔画与数字关系

4.译码器应用举例

译码器在数字系统中的应用非常广泛,它的典型用途是实现存储器的地址译码、控制器中的指令译码、代码翻译、显示译码等。除此之外,还可用译码器实现各种组合逻辑功能。下面 举例说明在逻辑设计中的应用。 例1 用3-8线译码器T4138和适当的与非门实现全减器的功能。例2 用译码器和与非门实现逻辑函数  F(A,B,C,D)=∑m(2,4,6,8,10,12,14) 

二.编码器

编码器的功能恰好与译码器相反,它是对输入信号按一定规律进行编排,使每组输出代码具有其特定的含义。

编码器按照被编信号的不同特点和要求,有各种不同的类型,最常见的有二-十进制编码器(又称十进制-BCD码编码器)和优先编码器。

1.二-十进制编码器

(1)功能:将十进制数字0~9分别编码成4位BCD码。

(2)结构框图

这种编码器由10个输入端代表10个不同数字,4个输出端代表相应BCD代码。结构框图如图7.11所示。

图7.11 编码器结构框图

注意:二-十进制编码器的输入信号是互斥的,即任何时候只允许一个输入端为有效信号。

最常见的有8421码编码器,例如,按键式8421码编码器(详见教材中有关内容)。

2.优先编码器

(1)功能:识别输入信号的优先级别,选中优先级别最高的一个进行编码,实现优先权管理。

优先编码器是数字系统中实现优先权管理的一个重要逻辑部件。它与上述二-十进制编码器的最大区别是,优先编码器的各个输入不是互斥的,它允许多个输入端同时为有效信号。优先编码器的每个输入具有不同的优先级别,当多个输入信号有效时,它能识别输入信号的优先级别,并对其中优先级别最高的一个进行编码,产生相应的输出代码。

(2)典型芯片

书P238所示为常见MSI优先编码器74LS148的管脚排列图和逻辑符号。书P23874LS148

真值表。

3.应用举例

例 用优先编码器74LS148设计一个能裁决16级不同中断请求的中断优先编码器。

7.1.3多路选择器和多路分配器

多路选择器和多路分配器是数字系统中常用的中规模集成电路。其基本功能是完成对多路数据的选择与分配、在公共传输线上实现多路数据的分时传送。此外,还可完成数据的并-串转换、序列信号产生等多种逻辑功能以及实现各种逻辑函数功能。因而,属于通用中规模集成电路。

一.多路选择器

多路选择器(Multiplexer)又称数据选择器或多路开关,常用MUX表示。它是一种多路输入、单路输出的组合逻辑电路。

1.逻辑特性

(1)逻辑功能:从多路输入中选中某一路送至输出端,输出对输入的选择受选择控制量控制。通常,对于一个具有2路输入和一路输出的多路选择器有n个选择控制变量,控制变量的每种取值组合对应选中一路输入送至输出。

(2)构成思想: 多路选择器的构成思想相当于一个单刀多掷开关,即 n

2.典型芯片

常见的MSI多路选择器有4路选择器、8路选择器和16路选择器。

(1)四路数据选择器74153的管脚排列图和逻辑符号

书P240(2)四路数据选择器74153的功能表

四路数据选择器的功能表书P240。

(3)四路数据选择器74153的输出函数表达式

由功能表可知,当A1A0=00时,W=D0;当A1A0 =01时,W=D1;当A1A0 =10时,W=D2;当A1A0 =11时,W=D3。即在A1A0的控制下,依次选中D0~D3端的信息送至输出端。其输出表达式为

式中,mi为选择变量A1、A0组成的最小项,Di为i端的输入数据,取值等于0或1。 类似地,可以写出2路选择器的输出表达式 n

式中,mi为选择控制变量An-1,An-2,…,A1,A0组成的最小项;Di为2n路输入中的第i路数据输入,取值0或1。

3.应用举例

多路选择器除完成对多路数据进行选择的基本功能外,在逻辑设计中主要用来实现各种逻辑函数功能。

(1)用具有n个选择控制变量的多路选择器实现n个变量函数

一般方法:将函数的n个变量依次连接到MUX的n个选择变量端,并将函数表示成最小项之和的形式。若函数表达式中包含最小项mi,则相应MUX的Di接1,否则Di接0。

例1 用多路选择器实现如下逻辑函数的功能  F(A,B,C)=∑m(2,3,5,6)

(2)用具有n个选择控制变量的多路选择器实现n+1个变量的函数

一般方法:从函数的n+1个变量中任n个作为MUX选择控制变量,并根据所选定的选择控制变量将函数变换成如下形式:

以确定各数据输入Di。假定剩余变量为X,则Di的取值只可能是0、1或X,X四者之一。例2 假定采用4路数据选择器实现逻辑函数

F(A,B,C)=∑m(2,3,5,6) 上述两种方法表明:用具有n个选择控制变量的MUX实现n个变量的函数或n+1个变量的函数时,不需要任何辅助电路,可由MUX直接实现。

(3)用具有n个选择控制变量的多路选择器实现n+1个以上变量的函数

当函数的变量数比MUX的选择控制变量数多两个以上时,一般需要加适当的逻辑门辅助实现。在确定各数据输入时,通常借助卡诺图。

例3 用4路选择器实现如下4变量逻辑函数的功能  F(A,B,C,D)=∑m(1,2,4,9, 10,11,12,14,15)

例4 用一片T580双4路选择器实现4变量多输出函数。函数表达式为

F1(A,B,C,D)=∑m(0,1,5,7,10,13,15)

F2(A,B,C,D)=∑m(8,10,12,13,15) 

二.多路分配器

多路分配器(Demultiplexer)又称数据分配器,常用DEMUX表示。多路分配器的结构与多路选择器正好相反,它是一种单输入、多输出组合逻辑部件,由选择控制变量决定输入从哪一路输出。书P245为4路分配器的逻辑符号和功能表。

多路分配器常与多路选择器联用,以实现多通道数据分时传送。通常在发送端由MUX将各路数据分时送上公共传输线(总线),接收端再由DEMUX将公共线上的数据适时分配到相应的输出端。图7.21所示是利用一根数据传输线分时传送8路数据的示意图,在公共选择控制变量 ABC的控制下,实现Di-fi的传送(i=0~7)。

图7.21 8路数据传输示意图

以上对几种最常用的MSI组合逻辑电路进行了介绍,在逻辑设计时可以灵活使用这些电路实现各种逻辑功能。

例5 用8路选择器和3-8线译码器构造一个3位二进制数等值比较器。

解 设比较的两个3位二进制数分别为ABC和XYZ,将译码器和多路选择器按图 7.22所示进行连接,即可实现ABC和XYZ的等值比较。

图7.22 比较器逻辑电路图

从图7.22可知,若ABC=XYZ,则多路选择器的输出F=0,否则F=1。例如,当ABC=010时,译码器输出Y2=0,其余均为1。若多路选择器选择控制变量XYZ=ABC=010,则选通D2送至输出端F,由于D2=Y2=0,故F=0;若XYZ≠010,则多路选择器会选择D2之外的其他数据输入送至输出端F,由于与其余数据输入端相连的译码器输出均为1,故F为1。

用类似方法,采用合适的译码器和多路选择器可构成多位二进制数比较器。

3触发器

教学内容:本章开始进入时序电路分析设计,对于时序电路最基本元器件触发器要掌握常用的RS触发器、JK触发器、D触发器、以及钟控和边沿RS触发器、JK触发器、D触发器的功能、触发方式、外部工作特性。

教学重点:各种触发器的触发方式和功能。教学难点:触发器构成方式。

教学方法:课堂教学为主,辅以恰当的实验。紧密结合前面所学的基础内容,用丰富详尽的例题,让学生充分理解集成芯片设计方法,并通过课堂练习掌握学生学习情况。课后配套实验,让学生透彻理解课堂所学。

教学要求:重点掌握触发器的工作原理,掌握各种触发器的触发方式和功能以及应用场合的不同,了解触发器的外部工作特性。

3.4触

触发器是一种具有记忆功能的电子器件。它具有如下特点:

 ☆ 有两个互补的输出端Q和Q;

☆ 有两个稳定状态。通常将Q=1和Q=0称为“1”状态,而把Q=0和Q=1称为“0” 状态。当输入信号不发生变化时,触发器状态稳定不变;

☆ 在一定输入信号作用下,触发器可以从一个稳定状态转移到另一个稳定状态。通常把输入信号作用之前的状态称为现态,记作Qn 和Qn,而把输入信号作用后的状态称为触发器的次态,记作Q(n+1)和Q(n+1)。

为了简单起见,现态一般省略的上标n,就用Q 和Q 表示。显然,次态是现态和输入的函数。

触发器是存储一位二进制信息的理想器件。集成触发器的种类很多,分类方法也各不相同,但其结构都是由逻辑门加上适当的反馈线耦合而成。

下面从实际应用出发,介绍几种最常用的集成触发器,重点掌握它们的外部工作特性。

3.4.1基本R-S触发器

基本R-S触发器是直接复位置位触发器的简称,由于它是构成各种功能触发器的基本部件,故称为基本R-S触发器。

一.用与非门构成的基本R-S触发器

1.组成

由两个与非门交叉耦合构成,其逻辑图和逻辑符号分别见书P95。

图中,Q和Q为触发器的两个互补输出端;R和S为触发器的两个输入端,R称为置0端或者复位端,S称为置1端或置位端;

在逻辑符号输入端加的小圆圈表示低电平或负脉冲有效,即仅当低电平或负脉冲作用于输入端时,触发器状态才能发生变化(常称为翻转),有时称这种情况为低电平或负脉冲触发。

2. 工作原理

(1)若R=1,S=1,则触发器保持原来状态不变。

(2)若R=1,S=0,则触发器置为1状态。

(3)若R=0,S=1,则触发器置为0状态。(4)不允许出现R=0,S=0。

3.逻辑功能及其描述

由与非门构成的R-S触发器的逻辑功能如表3.5所示。表中“d”表示触发器次态不确定。

表3.5 基本R-S触发器功能表

R S 0 0 0 1 1 0 1 1

Q(n+1)d 0 1 Q

功能说明 不定 置0 置1 不变 触发器的次态方程: Q(n+1)= S + R·Q 因为R、S不允许同时为0,所以输入必须满足约束条件: R+S=1(约束方程)

3.4.2几种常用的时钟控制触发器

实际应用中,往往要求触发器按一定的时间节拍动作,即让触发器状态的变化由时钟脉冲和输入信号共同决定。因此,在触发器的输入端增加了时钟控制信号,这类触发器由时钟脉冲确定状态转换的时刻(何时转换),由输入信号确定触发器状态转换的方向(如何转换)。这种具有时钟脉冲控制的触发器称为“时钟控制触发器”或者“定时触发器”。

下面介绍四种最常用的时钟控制触发器。

一.时钟控制R-S触发器

时钟控制R-S触发器的逻辑图如图P100所示。

1.组成

它由四个与非门构成。其中,与非门G1、G2构成基本R-S触发器;与非门G3、G4组成控制电路,通常称为控制门。

2.工作原理

(1)无时钟脉冲作用(即时钟控制端C为0)时:控制门G3、G4被封锁。此时,不管R、S端的输入为何值,两个控制门的输出均为1,触发器状态保持不变。

(2)有时钟脉冲作用(即时钟控制端C为1)时: 控制门G3、G4被打开,这时输入端R、S的值可以通过控制门作用于上面的基本R-S触发器。具体如下:

    当R=0,S=0时,控制门G3、G4的输出均为1,触发器状态保持不变;

当R=0,S=1时,控制门G3、G4的输出分别为1和0,触发器状态置成1状态;

当R=1,S=0时,控制门G3、G4的输出分别为0和1,触发器状态置成0状态;

当R=1,S=1时,控制门G3、G4的输出均为0,触发器状态不确定(不允许)。

由此可见,这种触发器的工作过程是由时钟信号C和输入信号R、S共同作用的;时钟C控制转换时间,输入R和S确定转换后的状态。因此,它被称作时钟控制R-S触发器,其逻辑符号如图3.32(b)所示。

时钟控制R-S触发器的功能表、次态方程和约束条件与由或非门构成的R-S触发器相同。

在时钟控制触发器中,时钟信号C是一种固定的时间基准,通常不作为输入信号列入表中。对触发器功能进行描述时,均只考虑时钟作用(C=1)时的情况。

注意!时钟控制R-S触发器虽然解决了对触发器工作进行定时控制的问题,而且具有结构简单等优点,但依然存在如下两点不足:

  输入信号不能同时为1,即R、S不能同时为1;

可能出现“空翻”现象。

所谓“空翻”是指在同一个时钟脉冲作用期间触发器状态发生两次或两次以上变化的现象。引起空翻的原因是在时钟脉冲作用期间,输入信号依然直接控制着触发器状态的变化。具体说,当时钟C为1时,如果输入信号R、S发生变化,则触发器状态会跟着变化,从而使得一个时钟脉冲作用期间引起多次翻转。“空翻”将造成状态的不确定和系统工作的混乱,这是不允许的。因此,时钟控制R-S触发器要求在时钟脉冲作用期间输入信号保持不变。

由于时钟控制R-S触发器的上述缺点,使它的应用受到很大限制。一般只用它作为数码寄存器而不宜用来构成具有移位和计数功能的逻辑部件。

二.D

为了解决时钟控制R-S触发器在输入端R、S同时为1时状态不确定的问题,通常对时钟控制R-S触发器的触发器

控制电路稍加修改,使之变成如图3.33(a)所示的形式,这样便形成了只有一个输入端的D触发器。其逻辑符号如图P102所示。

修改后的控制电路除了实现对触发器工作的定时控制外,另外一个作用是在时钟脉冲作用期间(C=1时),将输入信号D转换成一对互补信号送至基本R-S触发器的两个输入端,使基本R-S触发器的两个输入信号只可能是01或者10两种组合,从而消除了状态不确定现象,解决了对输入的约束问题。

工作原理如下:

  当无时钟脉冲作用时,即C=0时,控制电路被封锁,无论输入D为何值,与非门G3、G4输出均为1,触发器状态保持不变。

当时钟脉冲作用时,即使C=1时,若D=0,则门G4输出为1,门G3输出为0,触发器状态被置0;若D=1,则门G4输出为0,门G3输出为1,触发器状态被置1。

由此可见,在时钟作用时,D触发器状态的变化仅取决于输入信号D,而与现态无关。其次态方程为

Q(n+1)= D

D触发器的逻辑功能可用表3.7所示的功能表描述。

表3.7 D触发器功能表

D 0 1

Q(n+1)0 1

上述D触发器在时钟作用期间要求输入信号D不能发生变化,即依然存在“空翻”现象。工作波形如下:

为了进一步解决“空翻”问题,实际中广泛使用的集成D触发器通常采用维持阻塞结构,称为维持阻塞D触发器。典型维持阻塞D触发器的逻辑图和逻辑符号分别如图3.34(a)和(b)所示。图中的D输入端称为数据输入端;RD和SD分别称为直接置“0”端和直接置“1” 端。它们均为低电平有效,即在不作直接置“0”和置“1”操作时,保持为高电平。

图3.34 维持阻塞D触发器

该触发器在时钟脉冲没有到来(C=0)时,无论D端状态怎样变化,都保持原有状态不变;当时钟脉冲到来(C=1)时,触发器在时钟脉冲的上升边沿将D输入端的数据可靠地置入;在上升沿过后的时钟脉冲期间,D的值可以随意改变,触发器的状态始终以时钟脉冲上升沿时所采样的值为准。由于利用了脉冲的边沿作用和维持阻塞作用,从而有效地防止了“空翻”现象。

工作波形如下:

例如,若输入D=1,在时钟脉冲的上升沿,把“1”送入触发器,使Q=1,Q=0。在触发器进入“1”状态后,由于置1维持线和置0阻塞线的低电平0的作用,即使输入端D由1变为0,触发器的“1”状态也不会改变;同理,若D=0,时钟脉冲的上升沿将使触发器的状态变为Q=0,Q=1。由于置0维持线和置1阻塞线为低电平0,所以,即使输入端D由0变为1,触发器的状态也维持0态不变。可见,该电路保证了触发器的状态在时钟脉冲作用期间只变化一次。

维持阻塞D触发器的逻辑功能与前述D触发器的逻辑功能完全相同。实际中使用的维持阻塞D触发器有时具有几个D输入端,此时,各输入之间是相“与”的关系。例如,当有三个输入端D1、D2和D3时,其次态方程是 : Q(n+1)= D1·D2·D3

由于维持阻塞D触发器的不存在对输入的约束问题,克服了空翻现象,抗干扰能力强。因此可用来实现寄存、计数、移位等功能。其主要缺点是逻辑功能比较简单。

三.J-K

为了既解决时钟控制R-S触发器对输入信号的约束问题,又能使触发器保持有两个输入端的作用,可将时钟触发器

控制R-S触发器改进成如图3.35(a)所示的形式。即增加两条反馈线,将触发器的输出Q和Q 交叉反馈到两个控制门的输入端,利用触发器两个输出端信号始终互补的特点,有效地解决了在时钟脉冲作用期间两个输入同时为1将导致触发器状态不确定的问题。修改后,把原来的输入端S改成J,R改成K,称为J-K触发器。其逻辑符号P103所示。

工作原理如下:

(1)在时钟脉冲未到来(C=0)时,无论输入端J和K怎样变化,控制门G3、G4的输出均为1.触发器保持原来状态不变。

(2)在时钟脉冲作用(C=1)时,可分为4种情况。

归纳起来,J-K触发器的功能表如表3.8所示。

表3.8 J-K触发器功能表

J K 0 0 0 1 1 0 1 1

其次态方程为 : Q

上述J-K触发器结构简单,且具有较强的逻辑功能,但依然存在“空翻”现象。为了进一步解决“空翻”(n+1)

Q(n+1)Q 0 1 Q

功能说明 不变 置0 置1 翻转

= J·Q + K·Q

问题,实际中广泛采用主从J-K触发器。主从J-K触发器的逻辑电路图及逻辑符号如图3.36(a)、(b)所示。

图3.36 主从J-K触发器

主从J-K触发器由上、下两个时钟控制R-S触发器组成,分别称为从触发器和主触发器。主触发器的输出是从触发器的输入,而从触发器的输出又反馈到主触发器的输入。主、从两个触发器的时钟脉冲是反相的。图中的RD和SD分别为直接置0端和直接置1端。逻辑符号中时钟端的小圆圈表示触发器状态的改变是在时钟脉冲的后沿(下降沿)产生的。

工作原理如下:

● 当时钟脉冲未到来时,主触发器被封锁,从触发器状态由主触发器状态决定,两者状态相同;

● 当时钟脉冲到来时,在时钟脉冲的前沿(上升沿)接收输入信号并暂存到主触发器中,此时从触发器被封锁,保持原状态不变。在时钟脉冲的后沿(下降沿),主触发器状态传送到从触发器,使从触发器输出(即整个触发器输出)变到新的状态,而此时主触发器本身被封锁,不受输入信号变化的影响。即该触发器是“前沿采样,后沿定局”。由于整个触发器的状态更新是在时钟脉冲的后沿发生的,因此解决了“空翻”的问题。

与前面所述J-K触发器相比,主从J-K触发器仅进行了性能上的改进,而逻辑功能完全相同。由于该触发器具有输入信号J和K无约束、无空翻、功能较全等优点,因此,使用方便,应用广泛。

四.T触发器

T触发器又称为计数触发器。如果把J-K触发器的两个输入端J和K连接起来,并把连接在一起的输入端用符号T表示,就构成了T触发器。相应的逻辑图和逻辑符号分别如图3.37(a)和(b)所示。

图3.37 T触发器

T触发器的逻辑功能可直接由J-K触发器的次态方程导出。J-K触发器的次态方程为

Q(n+1)= J·Q + K·Q

将该方程中的J和K均用T代替后,即可得到T触发器的次态方程:

Q(n+1)= T·Q + T·Q

根据次态方程,可列出T触发器的功能表如表3.9所示。

表3.9 T触发器功能表

T 0 1

Q(n+1)Q Q

功能说明 不变 翻转 由功能表可知,当T=1时,只要有时钟脉冲到来,触发器状态就翻转,或由1变为0或由0变为1,相当于一位二进制计数器;当T=0时,即使有时钟脉冲作用,触发器状态也保持不变。

图3.37所示的T触发器也存在“空翻”现象,实际数字电路中使用的集成T触发器通常采用主从式结构,或者增加维持阻塞功能。集成T触发器的逻辑符号分别如图3.38(a)、(b)所示,它们除了在性能方面的改进外,逻辑功能与上述T触发器完全相同。

第三篇:逻辑设计心得

很早之前就想对这几个月工作经历写的东西,一是作为自己的总结,二是自己也很 想将自己这段时间的一些经历和大家分享一下,希望对初学者而言能使得他们能少走一 些弯路。只是公司里的事情很多,最近经常加班,所以一直拖到现在。

能来到这家公司应该是一种缘份--缘起NIOS。当初三月份altera来我们学校建立SO PC实验室的时候自己还不知道NIOS是什么东西,只是想在altera的FAE讲完NIOS后多问他 几个时序约束的问题,然后拷一份PPT回去。但是想不到因为那一份NIOS的培训资料,我 认识了edacn上的cawan,他给我讲了很多NIOS的东西,之后是丁哥在SOC版帖了位NIOS大 赛的通知,然后我和队友就去报了名,并去川大参加了NIOS的培训,认识了峻龙的FAE------o|> | | | / clk |--------|---------10)禁止用计数器分频后的信号做其它模块的时钟,而要用改成时钟使能的方式,否则这种时钟满天飞的方式对设计的可靠性极为不利,也大大增加了静态时序分析的 复杂性。如FPGA的输入时钟是25M的,现在系统内部要通过RS232与PC通信,要以rs232_ 1xclk的速率发送数据。不要这样做: always(posedge rs232_1xclk or negedge rst_n)begin...end 而要这样做:

always(posedge clk_25m or negedge rst_n)begin...else if(rs232_1xclk == 1'b1)...end 11)状态机要写成3段式的(这是最标准的写法),即...always @(posedge clk or negedge rst_n)...current_state <= next_state;...always @(current_state...)...case(current_state)...s1: if...next_state = s2;......always @(posedge clk or negedge rst_n)...else a <= 1'b0;c <= 1'b0;c <= 1'b0;//赋默认值 case(current_state)s1: a <= 1'b0;//由于上面赋了默认值,这里就不用再对b、c赋值了

s2: b <= 1'b1;s3: c <= 1'b1;default:......3.ALTERA参考设计准则

1)Ensure Clock, Preset, and Clear configurations are free of glitch es.2)Never use Clocks consisting of more than one level of combinatori al logic.3)Carefully calculate setup times and hold times for multi-Clock sy stems.4)Synchronize signals between flipflops in multi-Clock systems when the setup and hold time requirements cannot be met.5)Ensure that Preset and Clear signals do not contain race conditio ns.6)Ensure that no other internal race conditions exist.7)Register all glitch-sensitive outputs.Synchronize all asynchronous inputs.9)Never rely on delay chains for pin-to-pin or internal delays.10)Do not rely on Power-On Reset.Use a master Reset pin to clear al l flipflops.11)Remove any stuck states from state machines or synchronous logic.其它方面的规范一时没有想到,想到了再写,也欢迎大家补充。

如何提高电路工作频率

对于设计者来说,我们当然希望我们设计的电路的工作频率(在这里如无特别说明,工作频率指FPGA片内的工作频率)尽量高。我们也经常听说用资源换速度,用流水的 方式可以提高工作频率,这确实是一个很重要的方法,今天我想进一步去分析该如何提 高电路的工作频率。

我们先来分析下是什么影响了电路的工作频率。

我们电路的工作频率主要与寄存器到寄存器之间的信号传播时延及clock skew有关。在FPGA内部如果时钟走长线的话,clock skew很小,基本上可以忽略, 在这里为了简 单起见,我们只考虑信号的传播时延的因素。

信号的传播时延包括寄存器的开关时延、走线时延、经过组合逻辑的时延(这样划 分或许不是很准确,不过对分析问题来说应该是没有可以的),要提高电路的工作频率,我们就要在这三个时延中做文章,使其尽可能的小。

我们先来看开关时延,这个时延是由器件物理特性决定的,我们没有办法去改变,所以我们只能通过改变走线方式和减少组合逻辑的方法来提高工作频率。1.通过改变走线的方式减少时延。

以altera的器件为例,我们在quartus里面的timing closure floorplan可以看到有 很多条条块块,我们可以将条条块块按行和按列分,每一个条块代表1个LAB,每个LAB里 有8个或者是10个LE。它们的走线时延的关系如下:同一个LAB中(最快)< 同列或者同 行 < 不同行且不同列。

我们通过给综合器加适当的约束(不可贪心,一般以加5%裕量较为合适,比如电路 工作在100Mhz,则加约束加到105Mhz就可以了,贪心效果反而不好,且极大增加综合时 间)可以将相关的逻辑在布线时尽量布的靠近一点,从而减少走线的时延。(注:约束 的实现不完全是通过改进布局布线方式去提高工作频率,还有其它的改进措施)2.通过减少组合逻辑的减少时延。

上面我们讲了可以通过加约束来提高工作频率,但是我们在做设计之初可万万不可 将提高工作频率的美好愿望寄托在加约束上,我们要通过合理的设计去避免出现大的组 合逻辑,从而提高电路的工作频率,这才能增强设计的可移植性,才可以使得我们的设 计在移植到另一同等速度级别的芯片时还能使用。

我们知道,目前大部分FPGA都基于4输入LUT的,如果一个输出对应的判断条件大于 四输入的话就要由多个LUT级联才能完成,这样就引入一级组合逻辑时延,我们要减少组 合逻辑,无非就是要输入条件尽可能的少,这样就可以级联的LUT更少,从而减少了组 合逻辑引起的时延。

我们平时听说的流水就是一种通过切割大的组合逻辑(在其中插入一级或多级D触发 器,从而使寄存器与寄存器之间的组合逻辑减少)来提高工作频率的方法。比如一个32 位的计数器,该计数器的进位链很长,必然会降低工作频率,我们可以将其分割成4位和 8位的计数,每当4位的计数器计到15后触发一次8位的计数器,这样就实现了计数器的切 割,也提高了工作频率。

在状态机中,一般也要将大的计数器移到状态机外,因为计数器这东西一般是经常 是大于4输入的,如果再和其它条件一起做为状态的跳变判据的话,必然会增加LUT的级 联,从而增大组合逻辑。以一个6输入的计数器为例,我们原希望当计数器计到111100后 状态跳变,现在我们将计数器放到状态机外,当计数器计到111011后产生个enable信号 去触发状态跳变,这样就将组合逻辑减少了。

上面说的都是可以通过流水的方式切割组合逻辑的情况,但是有些情况下我们是很 难去切割组合逻辑的,在这些情况下我们又该怎么做呢?

状态机就是这么一个例子,我们不能通过往状态译码组合逻辑中加入流水。如果我 们的设计中有一个几十个状态的状态机,它的状态译码逻辑将非常之巨大,毫无疑问,这极有可能是设计中的关键路径。那我们该怎么做呢?还是老思路,减少组合逻辑。我 们可以对状态的输出进行分析,对它们进行重新分类,并根据这个重新定义成一组组小 状态机,通过对输入进行选择(case语句)并去触发相应的小状态机,从而实现了将大的 状态机切割成小的状态机。在ATA6的规范中(硬盘的标准),输入的命令大概有20十种,每一个命令又对应很多种状态,如果用一个大的状态机(状态套状态)去做那是不可 想象的,我们可以通过case语句去对命令进行译码,并触发相应的状态机,这样做下来 这一个模块的频率就可以跑得比较高了。

总结:提高工作频率的本质就是要减少寄存器到寄存器的时延,最有效的方法就是 避免出现大的组合逻辑,也就是要尽量去满足四输入的条件,减少LUT级联的数量。我们 可以通过加约束、流水、切割状态的方法提高工作频率。

第四篇:数字逻辑设计报告

《数字逻辑课程设计》

姓名: 宋国正 班级:计142 学号:149074056

2016年9月25日

一、设计任务要求

数字时钟是由振荡器、分频器、计秒电路、计分电路、计时电路组成。计时采用24h和12h两种。当接通电源或数字钟走时出现误差,都需要对数字钟作时、分、秒时间校正。本次设计的具体要求如下:

1、显示时、分、秒的十进制显示,采用24小时制。

2、校时功能。

3、整点报时。

二、设计思路

1、数字钟的组成原理图

数字式电子钟实际上是一个对标准1Hz 进行计数的计数电路!秒计数器满60 后向分计数器进位,分计数器满60 后向时计数器进位, 时计数器按24翻1 规律计数, 计数输出经译码器送LED 显示器,由于计数的起始时间不可能与标准时间一致,故需要在电路上加上一个校时电路。

同时标准的1Hz时间信号必须做到准确、稳定,通常使用石英晶体振荡器电

路构成。

时显示器

分显示器 秒显示器

时译码器

分译码器

秒译码器

时计数器

时计数器 时计数器

校时电路

振荡器

分频器

2、数字钟设计方案

为完成上述功能,可以把数字钟系统划分为三部分:时针源(即标准秒钟的产生电路)主体电路,扩展电路。主体电路EDA 设计又可划分为计时电路、校时电路、译码显示电路3部分。

3、底层电路设计

时针源——晶体振荡器电路给数字式电子钟提供一个频率稳定、准确的32768Hz的方波信号,将32768Hz的高频方波信号经32768次分频后得到1Hz 的方波信号供秒计数器进行计数,实现该分频功能的计数器相当于15 级二进制计数器。

计时电路——时间计数器电路由秒个位、秒十位计数器,分个位、分十位计数及时个位、时十位计数电路构成。其中,秒个位和秒十位计数器,分个位和分十位计数为六十进制计数器,而根据设计要求时个位和时十位构成的为二十四进制计数器,时间计数单元共有:时计数,分计数和秒计数3部分,根据设计要求时计数单元为一个二十四进制计数器,共输出为两位8421BCD码形式;分计数和秒计数单元为六十进制计数器!共输出也为两位8421BCD码。图1和图2 分别给出了60进制计数器和24进制逻辑图。

一、60进制计数器

二、24进制计数器

校时电路——当刚接通电源或走时出现误差时都需要对时间进行校正。对时间的校正是通过截断正常的计数通路,而用频率较高的方波信号加到其需要校正的计数单元的输入端!这样可以很快使校正的时间调整到标准时间的数值,这时再将选择开关打向正常时就可以准确走时了。如图3所示为时、分、秒校时的校时电路。在校时电路中,其实现方法是采用计数脉冲和计数使能来实现校时的。

译 码 显 示 电 路——为了将计数器输出的8421BCD码显示出来,须用显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电流,这种译码器通常称为七段译码显示驱动器电路,本设计可选器件7447为译码驱动电路。译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。

4、数字钟顶层电路设计

首先按前面的设计方案进行低层模块的设计与编辑仿真,正确无误后,即可将设计的低层模块转化为与之相对应的元件符号,而后我们就可以用这些元件符号来设计数字钟的顶层原理图,如图4所示。本设计中要仿真的对象为数字钟,须设定一个1Hz的输入时钟信号和一个校时脉冲SET,模拟的设置开关信号MODE的波形,为了能够看到合适的仿真结果,假定网络时间(Girl Size)为10.0ns,总模

拟的时间(END TIME)为3ms。

三、软件仿真 1、60进制计数器的仿真结果如下:

60进制计数器仿真波形图 2、24进制计数器仿真结果如下:

24进制计数器仿真波形图

3、数字钟的顶层电路仿真结果如下:

数字钟的顶层电路波形仿真图

四、讨论

数字时钟基于MAX+ plus II设计, 经过软件仿真并下载到硬件(电子EDA 10

实验开发系统)实现, 结果表明本设计是合理可行的,但是感觉很繁琐,是不是可以考虑一种过程简单一点的呢?通过查阅大量资料发现是可以的。其另一种设计思想及方法是以语言描述为主, 原理图设计相结合。但是使用过多可能会导致编译失败。所以在设计的过程中,如何取舍是一个难题,本人认为对于我这样基础不是很扎实的,采用前者是比较合理的。

五、参考文献

(1)张辉宜,数字逻辑 中国科学技术大学出版社

(2)廖裕评,陆瑞强,CPLD数字电路设计__使用 MAX+Plus II[M],北京:清华大学出版社

六、心得体会

我学到了很多东西,掌握了数字逻辑的各种设计方法

第五篇:逻辑设计工程师岗位职责

1.根据项目需求完成相应的PLD、FPGA程序设计、优化及调试等工作。

2.根据要求书写规范的编程手册、调测报告等文档。

3.配合硬件工程师进行调测。

下载控制逻辑设计_教案word格式文档
下载控制逻辑设计_教案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数字电路与逻辑设计实验报告(大全)

    实验 报告书 课程名称数字电路与逻辑设计专业计算机科学与技术班级2姓名刘腾飞学号09030234 指导教师王丹志成绩 2010年 年 11月 月 10 日实验题目:译码器、数据选择器及其......

    数字逻辑设计及应用教学大纲

    《电子信息工程》专业教学大纲 《数字逻辑设计及应用》课程教学大纲 课程编号:53000540 学时:64 学分:4 课外上机:16学时 先修课程:《高等数学》、《电路分析基础》、《模拟电路......

    组合逻辑设计教学设计

    组合逻辑电路的设计 新都职校 一、教材分析 《数字电路》是一门理论性和实践性都很强的专业核心课程,而“组合逻辑电路”在教材的知识体系中处于中间地位,起着“承前启后”的......

    数字电路与逻辑设计教学大纲

    《数字电路与逻辑设计》教学大纲 适用专业:通信工程、信息工程、自动化、测控技术与仪器、电气工程及其自动化 课程类别:专业基础课 先修课程:电路原理 总 学 时:66 学分:3 考核......

    数字逻辑设计实践教学计划2011

    数字逻辑设计实践教学计划 2011-9-19 一、 基本情况: 1. 2. 3. 4. 5. 6. 总 学 时: 学时比例: 学 分: 适用范围: 先修课程: 时 间: 32学时 1(课内): 1(课外) 1.0学分 信息电子类专业 高......

    《数字电路与逻辑设计》考试大纲

    《数字电路与逻辑设计》考试大纲(一)基本要求 1. 掌握二进制、八进制、十进制、十六进制及其转换方法,掌握常用编码及其表示十进制数的方法,掌握逻辑代数的逻辑运算、公式和规则......

    《数字电路与逻辑设计》(网络)教学大纲

    《脉冲与数字电路》教学大纲 (计算机类) 一、课程性质、地位和作用 《脉冲与数字电路》是通信专业、电子工程专业的一门重要专业技术基础课,属核心必修课。本课程理论严谨、实......

    数字电路与逻辑设计实验总结报告

    第二次实验是Quartus11原理图输入法设计,由于是第一次使用Quartus11软件,实验中遇到了不少问题,总结起来主要有以下几个: (1)在创建工程并且编译通过之后得不到仿真波形 解决方法......