时序逻辑

更新时间:2023-09-05 18:36

计算机出现后的最初几十年里,计算机实质上是一个巨大的计算器,数字被录入,计算结果被输出。直到20世纪70年代,科学家们才意识到需要正确地验证这些计算结果。随着电脑变得更强大,软件更先进,多任务和变化的数据核查变得更加困难。

概念

由多个触发器和多个组合逻辑块组成的网络。常用的有:计数器、复杂的数据流动控制逻辑、运算控制逻辑、指令分析和操作控制逻辑。同步时序逻辑是设计复杂的数字逻辑系统的核心。时序逻辑借助于状态寄存器记住它目前所处的状态。在不同的状态下,即使所有的输入都相同,其输出也不一定相同。

被引入计算科学

在计算机出现后的最初几十年里,计算机实质上是一个巨大的计算器,数字被录入,计算结果被输出。直到20世纪70年代,科学家们才意识到需要正确地验证这些计算结果。随着电脑变得更强大,软件更先进,多任务和笔画的数据核查变得更加困难。因此,程序员不得不考虑到时间推移下系统的行为。在这个契机下,时序逻辑被引入计算科学,这是计算科学发展历史的重要转折点。

时序逻辑也叫时态逻辑(temporallogic),是计算机科学里一个很专业很重要的领域。时序逻辑被用来描述为表现和推理关于时间限定的命题的规则和符号化的任何系统,主要用于形式验证。20世纪60年代Arthur Prior提出介入的基于模态逻辑的特殊的时间逻辑系统,这一理论后来被艾米尔 伯努利等逻辑学家进一步发展。

后来,Pnueli在斯坦福大学IBM Waston 研究中心从事博士后的研究工作,从这时开始,他将工作研究方向转移到计算机科学领域。1973年,他创办了特拉维夫大学计算机科学系,并担任第一任院长。1977 年,Pnueli开创性地把时态逻辑引入计算机科学,他的时态逻辑是非经典逻辑中的一种,研究如何处理含有时间信息的事件的命题和谓词。现在通常称为时序逻辑的计算机系统,就出现在这一年,Pnueli 在子编程语言与系统验证方面做出的杰出贡献具有里程碑意义。

“Pnueli实现了这一逻辑,这是计算机科学的完美契合”,赖斯大学计算工程的摩西教授如是说。1996 年度图灵奖颁奖典礼上,该奖项的题词评价Pnueli 1977年的论文“引发了对系统的动态行为推理的基本模式转变”。这个很杰出的技术诞生后即在软件工程界引起轰动,掀起了软件工程中的一场革命,目前已成为开发反应式系统和并发式系统时进行规格说明和验证的工具,在芯片、硬件的设计上已经广泛运用。

1981年,Pnueli 回到魏兹曼成为计算机科学系的教授。1999年,Pnueli加入美国纽约大学计算机科学系并出任教授一职。此外,和国外绝大多数教授一样,Pnueli 并不拘泥于纯学术的研究和教学。Pnueli 成立了几家软件公司,1971年成立Mini-Systems ,1984年成立AdCad。他还和朋友一起在美国马萨诸塞州创办了另一家公司:iLogixInc,Pnueli 担任iLogixInc 公司的首席科学家。

Pnueli为人谦逊随和,与中国的渊源甚深。他和2008年去世的我国著名逻辑和软件学家唐稚松是至交,二人均是时态逻辑方面是业界领跑人。唐稚松教授提出了世界上第一个可执行时序逻辑语言XYZ/E。如果说Pnueli获1996年图灵奖的最大贡献,是因开创性地将时序逻辑引入计算科学,那么唐稚松则是第一次将这种时序逻辑形式化理论与最新软件技术结合起来,应用该语言将状态转换的控制机制引入到逻辑系统之中的人。Pnueli 赴美接受图灵奖前夕,在写给唐稚松的信中说:“我完全相信,由于使时态逻辑成为具有‘深远影响’的理念,你应该分享这一荣誉(指图灵奖)中一个很有意义的部分。”

除了图灵奖,Pnueli还曾获得奖项无数,其中就包括以色列奖,这是以色列给出美国国家科学院外籍院士的成员的最高荣誉。

时序逻辑电路

数字电路根据逻辑功能的不同特点,可以分成两大类,一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻辑电路(简称时序电路)。组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。而时序逻辑电路在逻辑功能上的特点是任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。

简介

时序逻辑电路是数字逻辑电路的重要组成部分,时序逻辑电路又称时序电路,主要由存储电路和组合逻辑电路两部分组成。它和我们熟悉的其他电路不同,其在任何一个时刻的输出状态由当时的输入信号和电路原来的状态共同决定,而它的状态主要是由存储电路来记忆和表示的。同时时序逻辑电路在结构以及功能上的特殊性,相较其他种类的数字逻辑电路而言,往往具有难度大、电路复杂并且应用范围广的特点[1]。

在数字电路通常分为组合逻辑电路时序逻辑电路两大类,组合逻辑电路的有关内容在前面的章节里已经作了介绍,组合逻辑电路的特点是输入的变化直接反映了输出的变化,其输出的状态仅取决于输入的当前的状态,与输入、输出的原始状态无关,而时序电路是一种输出不仅与当前的输入有关,而且与其输出状态的原始状态有关,其相当于在组合逻辑的输入端加上了一个反馈输入,在其电路中有一个存储电路,其可以将输出的状态保持住,我们可以用框图来描述时序电路的构成。

输出是输入及输出前一个时刻的状态的函数,这时就无法用组合逻辑电路的函数表达式的方法来表示其输出函数表达式了,在这里引入了现态(Present state)和次态(Next State)的概念,当现态表示现在的状态(通常用Qn来表示),而次态表示输入发生变化后其输出的状态 (通常用Qn 1表示),那么输入变化后的输出状态表示为

Qn 1=f(X,Qn)

其中:X为输入变量。

下面通过两个波形图来帮助建立时序电路中存储器的概念:

有四段输入RS都为0的情况,但其输出Q的状态不同,这取决于输出的原始状态;但多了一个CP,这时输出Q不仅取决于输入RS、输出Q的原始状态,而且取决CP的状态,仅当CP为高电平时,输入的状态才能影响输出的状态。通常将上面的两种类型分为两种形式的存储器电路:锁存器(Latch)和触发器(Flip-flop),其两者的区别在于其输出状态的变化是否取决于CP(时钟脉冲Clock Pulse)。将所有的电路称为锁存器,电路称为触发器电路。

时序逻辑电路的特点:任意时刻的输出不仅取决于该时刻的输入,而且还和电路原来的状态有关,所以时序电路具有记忆功能。

三种逻辑器件

时序逻辑电路应用很广泛,根据所要求的逻辑功能不同进行划分,它的种类也比较繁多。在具体的授课环节中,主要选取了应用较广、具有典型时序逻辑电路特征的三种逻辑器件进行比较详细地介绍[1]。

1.计数器

一般来说,计数器主要由触发器组成,用以统计输入计数脉冲CP的个数。计数器的输出通常为现态的函数。计数器累计输入脉冲的最大数目称为计数器的“模”,用M表示。如M=6计数器,又称六进制计数器。所以,计数器的“模”实际上为电路的有效状态数[1]。

同步七进制加法计数器的逻辑图计数器的种类很多,特点各异。主要分类如下:按计数进制可分为:二进制计数器、十进制计数器、任意进制计数器。按计数增减可分为:加法计数器、减法计数器、加/减计数器,又称可逆计数器。按计数器中触发器翻转是否同步可分为:异步计数器同步计数器[1]。

2.寄存器

寄存器是存放数码、运算结果或指令的电路,移位寄存器不但可存放数码,而且在移位脉冲作用下,寄存器中的数码可根据需要向左或向右移位。寄存器和移位寄存器是数字系统和计算机中常用的基本逻辑部件,应用很广。一个触发器可存储一位二进制代码, n个触发器可存储n位二进制代码。因此,触发器是寄存器和移位寄存器的重要组成部分。对寄存器中的触发器只要求它们具有置0或者置1功能即可,无论是用同步结构的触发器,还是用主从结构或者边沿触发的触发器,都可以组成寄存器[1]。

3.顺序脉冲发生器

顺序脉冲是指在每个循环周期内,在时间上按一定先后顺序排列的脉冲信号。产生顺序脉冲信号的电路称为顺序脉冲发生器。在数字系统中,常用以控制某些设备按照事先规定的顺序进行运算或操作[1]。

特点

时序逻辑电路其任一时刻的输出不仅取决于该时刻的输入,而且还与过去各时刻的输入有关。常见的时序逻辑电路有触发器计数器寄存器等。由于时序逻辑电路具有存储或记忆的功能,检修起来就比较复杂。

带有时序逻辑电路的数字电路主要故障分析:

1. 时钟:时钟是整个系统的同步信号,当时钟出现故障时会带来整体的功能故障。时钟脉冲丢失会导致系统数据总线、地址总线或控制总线没有动作。时钟脉冲的速率、振幅、宽度、形状及相位发生变化均可能引发故障。

2. 复位:含有微处理器(MPU)的设备,即使是最小系统,一般都具有复位功能。复位脉冲在系统上电时加载到MPU上,或在特定情况下使程序回到最初状态(例如,看门狗Watchdog程序)。当复位脉冲不能发生、信号过窄、信号幅度不对、转换中有干扰或转换太慢时,程序就可能在错误的地址启动,导致程序混乱。

3. 总线:总线传递指令系列和控制事件,一般有地址总线、数据总线和控制总线。当总线即使只有一位发生错误时,也会严重影响系统功能,出现错误寻址、错误数据或错误操作等。总线错误可能发生在总线驱动器中,也可能发生在接收数据位的其它元件中。

4. 中断:带微处理器(MPU)的系统一般都能够响应中断信号或设备请求,产生控制逻辑,以暂时中断程序执行,转到特殊程序,为中断设备服务,然后自动回到主程序。中断错误主要是中断线路粘附(此时系统操作非常缓慢)或受到干扰(系统错误响应中断请求)。

5. 信号衰减和畸变:长的并行总线和控制线可能会发生交互串扰和传输线故障,表现为相邻的信号线出现尖峰脉冲(交互串扰),或驱动线上形成减幅振荡(相当于逻辑电平的多次转换),从而可能加入错误数据或控制信号。发生信号衰减的可能原因比较多,常见的有高湿度环境、长的传输线、高速率转换等。而大的电子干扰源会产生电磁干扰(EMI),导致信号畸变,引起电路的功能紊乱。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}