寄存器型逻辑设计-设计基本触发器

来源:本站
导读:目前正在解读《寄存器型逻辑设计-设计基本触发器》的相关信息,《寄存器型逻辑设计-设计基本触发器》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《寄存器型逻辑设计-设计基本触发器》的详细说明。

- 设计构思:设计所有基本类型的触发器(D、T、J-K、R-S)在同一块PAL器件上;
- 先通过简略地回顾D型触发器的主要性能,来构思这一设计.然后再给出T、J-K和R-S触发器的设计思。我们将只使用D型触发  器,其它逻辑功能的触发器用D型触发器来构造。同时决定采用哪类PAL器件;
- 建立触发器的布尔方程;
- 完成设计文件;
- 仿真基本触发器;
- 器件编程。

基本触发器的逻辑图

寄存器型逻辑设计-设计基本触发器

寄存器型逻辑设计-设计基本触发器

组合型方程: DT = D 寄存器型方程: DT : =D

建立触发器的布尔方程
D型触发器的数据输入只有在时钟脉冲信号到来后才出现在输出端。它的基本传递函数可以表示成: DT:= D
输出信号 DT (D Trace)
输出补偿信号 DC (DC:= /D) 式中使用“:=”而不是‘‘=”,表示这一方程输出是被寄存的;

触发器需增加“同步预置”和“清零”功能。这由2条引脚PR和CLR来完成。为了增加这些功能:
对触发器输出原信号DT,每一个乘积项加上“/CLR”因子,同时增加一个仅由PR组成的新乘积项;
对输出的补偿信号DC,每一个乘积项加上“/PR”因子,并增加一个仅由CLR组成的新乘积项;

因此,带有清零和预置功能的D型触发器的布尔方程为:
DT:=D * /CLR+PR
DC:=/D * /PR + CLR 真值表

这样,当触发器清零时,对于高电平有效的触发器没有乘积项为真,因而输出DT为“低”电平;对于低电平有效的触发器,其最后一个乘积项为真,因而其输出DC为“高”电平。同样分析,对于触发器的预置功能会出现相反的情况。

设计中还有一个漏洞,即如果预置和清零操作同时发生会怎样? 根据现在的布尔方程,两个输出DT和DC均为“高”电平。这是无意义的,因为两个输出信号应当是互补的。为了纠正这一错误,可以规定清零操作优先于预置操作。为此,只需在原输出DT的每一乘积项加上因子/CLR。由此可得清零操作优先的D型触发器布尔方程:·
DT:= D * /CLR + PR * /CLR
DC:= /D * /PR + CLR

同样,可以推导出T触发器的布尔方程: (真值表)
TT:= T * /TT * CLR + /T * TT * /CLR+ PR * /CLR
TC:= T * /TC * /PR +/T * TC * /PR + CLR
在这些方程中,有的信号本身出现在右边的函数表达式中,这是由于触发器的输出反馈信号用于确定触发器的下一个状态。

例如TT方程中的反馈等效图为:

寄存器型逻辑设计-设计基本触发器

同样对其它触发器可推导出:

JK触发器(真值表)
JKT:= J*/JKT*/CLR+/K*JKT*/CLR+PR*/CLR
JKC:= /J*/JKC*/PR+K*JKC*/PR+CLR

RS触发器(真值表)

SRT:= S * /CLR + /R * SRT * /CLR + PR * /CLR
STC:= R * /PR + /S * SRC * /PR + CLR
PAL器件的选择
我们选择了PAL16R8(需要9输入,8输出)
16个输入,8个输出
它是输出低电平有效
具有时钟引脚CLK和输出选通引脚OE

输出引脚按下图(6-3-1)那样定义,输出引脚都用斜杠“/”定义,表示它们是“反向的”或“负”的引脚;
根据管脚定义和PAL16R8的逻辑图建立基本触发器设计的说明文件
建立设计文件

PAL16R8 逻辑图

寄存器型逻辑设计-设计基本触发器

完成设计文件

基本触发器设计的说明部分( 1 )

寄存器型逻辑设计-设计基本触发器

触发器布尔方程部分 ( 2 )

寄存器型逻辑设计-设计基本触发器

仿真基本触发器
在修正了设计中的错误,并处理了设计文件后,就应编写仿真部分。除了一条用于简化时钟信号操作的新指令外,我们具有所需的一切仿真指令。可以将SETF指令和时钟引脚一起使用,但那样的话,时钟信号的每一改变都需要两条指令:一条将时钟信号置成“高”,另一条使之变回“低”。

另一种办法是使用CLOCKF指令。这样,使用一条指令就能将脉冲加至时钟引脚。当然,寄存器型输出的状态将在时钟信号的上升沿到来之后才会改变。由于时钟引脚巳命名为CLK,可用指令:CLOKF CLK 来同步器件。
因此,可用下列指令来仿真D型触发器的原信号:
  SETF D ;置D输入为高
  CLOCKF CLK ;时钟信号同步器件操作
  CHECK DT ;验证输出DT是否为高
  SETF /D ;置D输入为低
  CLOCKF CLK ;时钟信号同步器件操作
  CHECK /DT ;验证输出DT是否为低

同样,对其它触发器,可进行类似的仿真处理

在寄存器型设计进行仿真以前,必须初始化两项:
时钟CLK:由于“CLOCKF”语句在时钟引脚上施加一个“高-低”脉冲,因而首先必须确定开始时时钟是否被置成“低”电平。
  输入选通引脚OE:必须选通输出端,这通过将OE引脚置成“低”电平来实现。
  SETF /CLK /OE ;初始化CLK 和OE
  初始化触发器,以验证CLR操作是否正确地工作。初始化工作由语句完成:
  SETF CLR /PR ;置清零引脚CLR
  CLOCKF CLK ;触发器清零
  CHECK /DT DC /TT TC /JKT JKC /SRT SRC ;验证触发器输出
  SETF /CLR ;撤除清零信号
  SETF PR 、SETF /PR ;设置、验证和去除预置
  SETF PR CLR、SETF /PR /CLR ;设置、验证和去除清零优先
此后,就能够仿真整个电路了。设计的仿真部分示于下表,该文件的仿真操作与基本逻辑门设计中的仿真操作相同.仿真结果可以通过检查历史文件或跟踪文件获得,也可通过观察产生的波形得到。

基本触发器模拟仿真部分( 1 )

寄存器型逻辑设计-设计基本触发器

基本触发器模拟仿真部分( 2 )

寄存器型逻辑设计-设计基本触发器

基本触发器完整的设计文件 ( 1 )

寄存器型逻辑设计-设计基本触发器

基本触发器完整的设计文件 ( 2 )

寄存器型逻辑设计-设计基本触发器

基本触发器完整的设计文件 ( 3 )

寄存器型逻辑设计-设计基本触发器

器件编程
在对基本触发器的设计进行了仿真,并确定设计能正确工作后,就可对器件进行编程,对器件编程的大致步骤与示例1-基本逻辑门设计 相同。

提醒:《寄存器型逻辑设计-设计基本触发器》最后刷新时间 2023-07-10 03:56:50,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《寄存器型逻辑设计-设计基本触发器》该内容的真实性请自行鉴别。