锁存器和触发器区别
数电基础---锁存器,触发器与寄存器

数电基础---锁存器,触发器与寄存器你强任你强,清风过⼭岗你横任你横,明⽉照⼤江少说多做锁存器,触发器与寄存器在数字电路中需要具有记忆功能的逻辑单元。
能够存储1位⼆值信号的基本单元电路统称为触发器。
触发器具有两个基本特点:1,具有两个能⾃⾏保持的稳定状态,⽤来表⽰逻辑状态的0和1,或⼆进制数的0和1。
(能保持)2,在触发信号的操作下,根据不同的输⼊信号可以置成1或0状态。
(能置位)这⾥定义⾥⾯的触发信号很重要,触发器重要的在于触发锁存器锁存器与触发器的区别在于触发信号的有⽆锁存器的置1和置0操作是由输⼊的置1或置0信号直接完成的,不需要触发信号的触发。
SR锁存器⽤两个或⾮门组成的SR锁存器结构SR锁存器也可以⽤两个与⾮门来组成SR锁存器的真值表这⾥拿与⾮门组成的SR锁存器来分析当S D′为0,R D′为1的时候,因为与⾮门的作⽤,Q为1,Q′为0。
(置位)当R D′为0,S D′为1的时候,因为与⾮门的作⽤,Q′为1,Q为0。
(复位)当R D′为1,S D′也为1的时候,因为与⾮门的作⽤,Q与Q′的值将保持不变。
(对于上⾯的与⾮门来说,1与Q′先进⾏与运算为Q′,再进⾏⾮运算得到的输出为Q)(保持)当R D′为0,S D′也为0的时候,因为与⾮门的作⽤,Q为1,Q′也为1。
如果下⼀时刻S D′为0,R D′为1的时候,Q为1,Q′为0,就⼜回到了置位的状态,这种情况下好像没什么事情,只不过中间出现Q与Q′全为1的情况,每个状态我们都是可以确定的。
但如果R D′为0,S D′也为0,下⼀时刻R D′为1,S D′也为1,因为两个门期间的输出延时不同,会造成输出结果的不确定性,⽐如两个器件的输出延时相同,则会导致输出都为0,之后输出都为1,之后反复震荡 ......如果上⾯的与⾮门输出⽐较快,则Q为0,下⾯的门电路再输出为1,如果下⾯的⽐较快也同理,这就会出现,如果输⼊全为0,再全为1,会导致输出结果的不确定性,在使⽤这种锁存器时,要注意不能出现这种情况,应该避免出现这种情况,即要遵守S D R D=0的条件。
电路中的触发器与锁存器的原理与应用

电路中的触发器与锁存器的原理与应用在电子学中,触发器和锁存器是两种重要的数字电路元件,常用于存储和控制信号。
它们的原理和应用是学习数字电路的基础内容。
一、触发器的原理与应用触发器是一种电子开关,可以通过外部输入信号改变其内部状态。
常见的触发器有RS触发器、D触发器、JK触发器和T触发器等。
以RS触发器为例,其原理是基于反馈原理和逻辑门的工作方式。
RS触发器有两个输入端S和R,一个输出端Q和其反相输出端Q'。
当输入为特定状态时,触发器的输出会被保持。
当输入信号变化时,触发器的输出也会相应改变。
触发器的应用广泛,其中一个重要的应用领域是存储器的设计。
在计算机的存储器中,触发器被用来存储和读取信息。
例如,SRAM(静态随机存储器)就是使用了大量的触发器作为存储单元。
此外,触发器还可以用于时钟电路、序列电路以及数字系统中的状态控制。
二、锁存器的原理与应用锁存器是一种能够存储数据并将其保持不变的电路。
它能够在需要时暂停或延迟信号的传输。
常见的锁存器有D锁存器、JK锁存器和SR锁存器等。
以D锁存器为例,它的原理是将输入信号直接存储在锁存器中,并在时钟信号的控制下将其放大到输出端。
D锁存器可以用于时序电路和通信系统中的信息存储和传输。
锁存器的应用非常广泛。
在数字系统中,锁存器常被用于存储并行输入数据,延迟信号传输和数据同步。
在通信系统中,锁存器可以用于接收和发送信号的同步和缓冲。
此外,锁存器还可以用于编解码器、计数器和频率分频器等电路中。
三、触发器和锁存器的区别与联系虽然触发器和锁存器有相似之处,但它们也存在一些区别和联系。
首先,触发器和锁存器都是用来存储信息的电子元件,但触发器是有状态的,而锁存器是无状态的。
触发器的输出依赖于输入信号的变化,而锁存器的输出则保持在一个特定的状态。
其次,触发器和锁存器在应用方面也有区别。
触发器常用于时序电路和状态控制,可以用来实现各种逻辑功能。
而锁存器则主要用于存储和传输信号,用来实现数据的存储和延迟传输。
校招基础——锁存器和触发器

校招基础——锁存器和触发器基本概念1、名词解释锁存器(latch)是电平触发的存储单元,数据存储的动作取决于输⼊时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输⼊发⽣变化。
触发器(flipflop)是边沿敏感的存储单元,数据存储的动作由某⼀信号的上升或者下降沿⾏同步的。
(钟控D触发器其实就是D锁存器,边沿D触发器才是真正的D触发器)寄存器(register)是⽤来暂时存放参与运算的数据和运算结果。
在实际的数字系统中,通常把能够⽤来存储⼀组⼆进制代码的同步时序逻辑电路称为寄存器。
2、锁存器和触发器的区别锁存器同其所有的输⼊信号相关,是电平触发,当输⼊信号变化时锁存器就变化,没有时钟端,属于异步电路设计,时序分析困难且浪费⼤量芯⽚资源。
触发器受时钟控制的边沿触发,只有在时钟触发时才采样当前的输⼊产⽣输出,当然因为锁存器和触发器⼆者都是时序逻辑,所以输出不但同当前的输⼊相关,还同上⼀时间的输出相关。
3、触发器、锁存器、寄存器的区别?由于触发器内有记忆功能,因此利⽤触发器可以⽅便地构成寄存器。
由于⼀个触发器能够存储⼀位⼆进制码,所以把n个触发器的时钟端⼝连接起来就能构成⼀个存储n位⼆进制码的寄存器。
从寄存数据的⾓度来讲,寄存器和锁存器的功能是相同的;它们的区别在于寄存器是同步时钟控制,⽽锁存器是电位信号控制。
4、锁存器有哪些缺点?锁存器在不锁存数据时,输出端的信号随输⼊信号变化,就像信号通过⼀个缓存器⼀样;⼀旦锁存信号起锁存作⽤,则数据被锁住,输⼊信号不起作⽤。
因此锁存器也称为透明锁存器,指的是不锁存时输出对输⼊是透明的。
此外锁存器还有以下⼀些缺点:(1)对⽑刺敏感,不能异步复位,所以上电后处于不确定的状态。
(2)锁存器会使静态时序分析变得⾮常复杂。
(3)在 FPGA 中,基本的单元时由查找表和触发器组成的,若⽣成锁存器反⽽需要更多的资源。
5、触发器有哪些类型?根据逻辑功能不同:RS触发器、D触发器、JK触发器、T触发器和T'触发器等。
锁存器和触发器的介绍

⑴ 当E=0时(使能端无效): 无论D为何值,与门 被封住,G3=G4=0,基本 RS锁存器保持原态不变。 ⑵ 当E=1时(使能端有效): G3G4门被打开,输入信号进入基本RS锁存器。
G 4 1 S S D, G 3 1 R R S D,
34
三、逻辑门控D锁存器真值表(功能表)
25
因此,要绝对禁止 R、S锁存器在E到来时 工作在S和R同时为1的 场合。可以用约束条件 R S 0 来规范。
5、假定E=0(使能端无效) 无论S、R为何值,G3G4=0,锁存器被封闭, G1G2的状态不改变,输出保持原态不变。 Q n 1 Q n
Qn+1 = Qn
26
三、逻辑门控RS锁存器真值表(功能表)
20
三、真值表(功能表)
S 0 0 1 1
R 0 1 0 1
Q
n 1
Q n 1
锁存器状态 保持不变
Qn
Qn
0 1 0
1 0 0
臵0 臵1
不确定(禁用)
四、时序波形分析(不考虑逻辑门的延迟时间)
Qn 0 设锁存器的初始状态
绘图方法:根据R、S输入波形和设定的初态,再 对照电路的功能表直接绘出。
29
六、 集成基本RS锁存器
一、CMOS集成锁存器(CC4044)
CC4044芯片集成了四个由与非门组成的 锁存器,其功能与前述的相同,仅是增加了具 V 有三态特点的传输门。
DD
1、CC4044的功能图 EN为使能端(片选信号端) 当EN=1时,芯片工作, 当EN=0时,为高阻态。
30
2、CC4044的真值表(功能表)
E 0 1 1 1 1
S × 0 0 1 1
深刻解析锁存器 触发器区别 以及verilog代码编写中如何避免产生锁存器

彻底理解锁存器,让你不再为锁存器头疼!锁存器(latch):是电平触发的存储单元,数据存储的动作(状态转换)取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。
分为普通锁存器和门控锁存器,普通锁存器无控制信号,输出状态始终直接由输入决定。
在实际的数字系统中,为了协调各部分的工作,往往需要有一个特定的控制信号去控制锁存器状态转换的时间,在控制信号无效时,输出保持不变,不随输入变换;当控制信号有效时,输出由输入决定,跟随输入变化。
基本锁存器门控锁存器①正是因为门控锁存器在控制信号有效的期间内,都可以接收输入信号,所以,激励信号的任何变化,都将直接引起锁存器输出状态的改变。
这时输入信号若发生多次变化,输出状态也可能发生多次变化,这一现象称为锁存器的空翻。
②其次,当门控锁存器的控制信号有效时,锁存器就变成了一个组合电路,时序逻辑电路的模型就等效为两个各组合电路互为反馈的反馈系统,因此,系统有可能会因为瞬态特性不稳定而产生振荡现象。
触发器(flip-flop)是边沿敏感的存储单元,数据存储的动作(状态转换)由某一信号的上升或者下降沿进行同步的(限制存储单元状态转换在一个很短的时间内)。
(钟控D触发器其实就是D锁存器,边沿D触发器才是真正的D触发器)触发器分为两种,一种是主从触发器和边沿触发器。
主从触发器在时钟有效期内(主触发器)接收数据,在时钟边沿输出状态转换。
边沿触发器在时钟边沿期间,触发器才接收数据并使输出状态转换。
主从触发器目前,主从触发器基本上已经很少见了,实际使用的大都是边沿触发器。
寄存器(register):用来暂时存放参与运算的数据和运算结果。
在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器。
区别与联系:由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。
由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。
锁存器和D触发器

锁存器和D触发器锁存器和D触发器2010-10-05 09:34 D触发器是指由时钟边沿触发的存储器单元,锁存器指一个由信号而不是时钟控制的电平敏感的设备。
锁存器通过锁存信号控制,不锁存数据时,输出端的信号随输入信号变化,就像信号通过缓冲器一样,一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。
锁存器和D触发器实现的逻辑功能基本相同,都是暂存数据。
由与非门搭建的话,锁存器所耗用的逻辑资源比D触发器少,所以使用锁存器有更高的集成度,但锁存器有一下缺点:(1)对毛刺敏感,毛刺信号会传递下去,无异步复位端,不能在芯片上电时处在一个确定的状态;(2)会使静态时序分析变得复杂,可测性不好,不利于设计的可重用,所以当今的ASIC设计中除了CPU这种甚高速电路,一般不提倡使用锁存器;(3)FPGA器件中有大量的D触发器结构而没有锁存器这种现成的结构,使用锁存器会更耗资源,如何避免使用锁存器:(1)时序逻辑电路中,可用带使能端的D触发器实现;(2)在组合进程中赋默认值;(3)对所有输入条件赋输入值,以覆盖所有条件分支(特别是if.else.和case结构);(4)避免产生组合电路反馈,组合电路反馈会引起精确静态时序分析难以实现等一系列问题。
在有些设计中,不可避免的需要用到锁存器,如在PCI接口设计中要完成PCI规范中对Reset功能的定义。
可以通过多位选择器,有测试模式管脚做选择控制位来使设计是可测试的。
"触发器"泛指一类电路结构,它可以由触发信号(如:时钟,置位,复位等)改变输出状态,并保持这个状态直到下一个或另一个触发信号来到时,触发信号可以用电平或边沿操作.锁存器是触发器的一种应用类型.在CMOS电路中典型的锁存器(LATCH)是由两个反相器和两个数据开关组成,其中输入数据开关在闸门(GATE)电平操作下开启送入数据.当闸门关闭后,另一个数据开关开启,使两个反相器的串联闭合,形成RS触发器类型的正反馈电路,数据保持在这个RS触发器中,以达到锁存的目的,直到下一个闸门周期.由两个这样的锁存器可以级联成主从结构,并执行互补的操作.即前一个送入数据时,后一个保持先前的数据,而前一个锁存数据时,后一个送入这个新数据到输出端.形成一个边沿触发的D触发器,而闸门控制信号成为触发器的时钟.也可以认为D触发器是用时钟边沿锁存数据的,但习惯上不称其为锁存器LATCH.在CMOS芯片内部经常使用锁存器,但是在PCB板级结构上,建议用触发器在时钟边沿上锁存数据.这是因为在锁存器闸门开启期间数据的变化会直接反映到输出端,所以要注意控制闸门信号的脉冲宽度.而对于触发器,只考虑时钟的边沿latch和flip-flop都是时序逻辑,区别为:latch同其所有的输入信号相关,当输入信号变化时latch就变化,没有时钟端;flip-flop受时钟控制,只有在时钟触发时才采样当前的输入,产生输出。
数电知识之锁存器和触发器

5.3 触发器的电路结构和工作原理
CP RD 1
0 0 0
0
1
G1
&
D
0
Q5
0 0 0
&
0
D Q3
0 0 0
&
0
Q
D
0 0 0
G5 G6
&
G3 G4
D Q6
0
0 0 0
&
D
0
Q4
0 0 0
&
0
Q
D
G2
SD
1
• 当CP由0变1时触发器 翻转。这时G3和G4门 打开,它们的输出Q3 和Q4的状态由G5和G6 的输出状态决定。 G4输出的 D一方面使Q 的状态为D,另一方面 使G3的输出为D避免使 触发器臵零;另外G4 至G6的反馈线使G6输 出维持D,继续维持G4 的输出为 D 。
5.2 锁存器
• A、SR锁存器 1、基本SR锁存器 I、由与非门构成的SR锁存器
Q Q Q Q
&
&
S
R
S (a) 逻辑图
R (b)
S
R 逻辑符号
5.2 锁存器
• 根据与非门的逻辑特点,锁存器的逻辑表达式为:
Q Q
Q SQ
Q RQ
R
&
&
S
5.2 锁存器
• 工作原理:
Q
0
1
Q
R 0
S 1
1 b)当CP由1变成0后, 情况则相反,G1和G2封 锁,R、S不影响主触发 器的状态,而这时从触 发器的G5和G6则打开, 从触发器可以翻转。此 时从触发器是在CP的下 降沿发生翻转,CP一旦 达到0电平后,主触发 器被封锁,其状态不受 RS的影响。从触发器的 状态也不可能再改变。
锁存器与触发器总结

1、S-R 类 类型 S-R
S 非-R 非
具有使 能端的 S-R 锁 存器
类型 主从式 S-R 触 发器
结构 S 0 0 1 1 0 0 1 1
S 0
0 1 X
结构
说明:负边沿触发式 D 触发器用 S-R 锁存器代替
主从式 J-K 触 发器
边沿触 发式 JK 触发 器
功能表
功能说明
0
0
1
用时,锁存器的两个输出信号都为
1 上一个 Q 值 上一个 QN 值 1,而不是像 S-R 锁存器那样,输出同
时为 0。
RC
Q
QN
在使能输入 C 有效时才对输入敏感。
0 1 上一个 上一个
Q值
QN 值
11
0
1
01
1
0
X 0 上一个 上一个
Q值
QN 值
功能表
功能说明
SRC
Q
QN
输出也只能在控制信号 C 的
边
第一个锁存器称为主锁存器,当 CLK 为 0 时主
沿
锁存器打开并且跟踪输入信号的变化。当 CLK
触
从 0 变 1 时,主锁存器关闭,并且它的输出传
发
送到第 2 个锁存器,这第二个锁存器称为从锁
式
存器。从锁存器在 CLK 为 1 期间始终保持打开,
D
但是由于主锁存器在此期间处于关闭状态并
触
且其输出保持不变,因此从锁存器的输出只在
具有使能
D
EN
CLK
Q
端的边沿
触发式 D
0
1
0
触发器
QN
如果 EN 有效,则选择了外部的 D 端输入;如
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、锁存器锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才会随着数据输入发生变化。
锁存器不同于触发器,它不在锁存数据时,输出端的信号随输入信号变化,就像信号通过一个缓冲器一样;一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。
锁存器也称为透明锁存器,指的是不锁存时输出对于输入是透明的。
锁存器(latch):我听过的最多的就是它是电平触发的,呵呵。
锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,当锁存器处于使能状态时,输出才会随着数据输入发生变化。
(简单地说,它有两个输入,分别是一个有效信号EN,一个输入数据信号DATA_IN,它有一个输出Q,它的功能就是在EN有效的时候把DATA_IN的值传给Q,也就是锁存的过程)。
应用场合:数据有效迟后于时钟信号有效。
这意味着时钟信号先到,数据信号后到。
在某些运算器电路中有时采用锁存器作为数据暂存器。
缺点:时序分析较困难。
不要锁存器的原因有二:1、锁存器容易产生毛刺,2、锁存器在ASIC设计中应该说比ff要简单,但是在FPGA的资源中,大部分器件没有锁存器这个东西,所以需要用一个逻辑门和ff来组成锁存器,这样就浪费了资源。
优点:面积小。
锁存器比FF快,所以用在地址锁存是很合适的,不过一定要保证所有的latch信号源的质量,锁存器在CPU设计中很常见,正是由于它的应用使得CPU的速度比外部IO部件逻辑快许多。
latch完成同一个功能所需要的门较触发器要少,所以在asic中用的较多。
二、触发器触发器(Flip-Flop,简写为 FF),也叫双稳态门,又称双稳态触发器。
是一种可以在两种状态下运行的数字逻辑电路。
触发器一直保持它们的状态,直到它们收到输入脉冲,又称为触发。
当收到输入脉冲时,触发器输出就会根据规则改变状态,然后保持这种状态直到收到另一个触发。
触发器(flip-flops)电路相互关联,从而为使用内存芯片和微处理器的数字集成电路(IC)形成逻辑门。
它们可用来存储一比特的数据。
该数据可表示音序器的状态、计数器的价值、在计算机内存的ASCII字符或任何其他的信息。
有几种不同类型的触发器(flip-flops)电路具有指示器,如T(切换)、S-R(设置/重置)J-K(也可能称为Jack Kilby)和D(延迟)。
典型的触发器包括零个、一个或两个输入信号,以及时钟信号和输出信号。
一些触发器还包括一个重置当前输出的明确输入信号。
第一个电子触发器是在1919年由W.H.Eccles和F.W.Jordan发明的。
触发器(flip-flop)---对脉冲边沿敏感,其状态只在时钟脉冲的上升沿或下降沿的瞬间改变。
T触发器(Toggle Flip-Flop,or Trigger Flip-Flop)设有一个输入和输出,当时钟频率由0转为1时,如果T和Q不相同时,其输出值会是1。
输入端T为1的时候,输出端的状态Q发生反转;输入端T为0的时候,输出端的状态Q保持不变。
把JK触发器的J和K输入点连接在一起,即构成一个T触发器。
应用场合:时钟有效迟后于数据有效。
这意味着数据信号先建立,时钟信号后建立。
在CP上升沿时刻打入到寄存器。
三、寄存器寄存器(register):用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,它被广泛的用于各类数字系统和计算机中。
其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。
寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。
工程中的寄存器一般按计算机中字节的位数设计,所以一般有8位寄存器、16位寄存器等。
对寄存器中的触发器只要求它们具有置1、置0的功能即可,因而无论是用同步RS结构触发器,还是用主从结构或边沿触发结构的触发器,都可以组成寄存器。
一般由D触发器组成,有公共输入/输出使能控制端和时钟,一般把使能控制端作为寄存器电路的选择信号,把时钟控制端作为数据输入控制信号。
寄存器的应用1. 可以完成数据的并串、串并转换;2.可以用做显示数据锁存器:许多设备需要显示计数器的记数值,以8421BCD码记数,以七段显示器显示,如果记数速度较高,人眼则无法辨认迅速变化的显示字符。
在计数器和译码器之间加入一个锁存器,控制数据的显示时间是常用的方法。
3.用作缓冲器;4. 组成计数器:移位寄存器可以组成移位型计数器,如环形或扭环形计数器。
四、移位寄存器移位寄存器:具有移位功能的寄存器称为移位寄存器。
寄存器只有寄存数据或代码的功能。
有时为了处理数据,需要将寄存器中的各位数据在移位控制信号作用下,依次向高位或向低位移动1位。
移位寄存器按数码移动方向分类有左移,右移,可控制双向(可逆)移位寄存器;按数据输入端、输出方式分类有串行和并行之分。
除了D边沿触发器构成移位寄存器外,还可以用诸如JK等触发器构成移位寄存器。
五、总线收发器/缓冲器缓冲寄存器:又称缓冲器缓冲器(buffer):多用在总线上,提高驱动能力、隔离前后级,缓冲器多半有三态输出功能。
当负载不具有非选通输出为高阻特性时,将起到隔离作用;当总线的驱动能力不够驱动负载时,将起到驱动作用。
由于缓冲器接在数据总线上,故必须具有三态输出功能。
它分输入缓冲器和输出缓冲器两种。
前者的作用是将外设送来的数据暂时存放,以便处理器将它取走;后者的作用是用来暂时存放处理器送往外设的数据。
有了数控缓冲器,就可以使高速工作的CPU与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。
Buffer:缓冲区,一个用于在初速度不同步的设备或者优先级不同的设备之间传输数据的区域。
通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。
缓冲器主要是计算机领域的称呼。
具体实现上,缓冲器有用锁存器结构的电路来实现,也有用不带锁存结构的电路来实现。
一般来说,当收发数据双方的工作速度匹配时,这里的缓冲器可以用不带锁存结构的电路来实现;而当收发数据双方的工作速度不匹配时,就要用带锁存结构的电路来实现了(否则会出现数据丢失)。
缓冲器在数字系统中用途很多:(1)如果器件带负载能力有限,可加一级带驱动器的缓冲器;(2)前后级间逻辑电平不同,可用电平转换器加以匹配;(3)逻辑极性不同或需要将单性变量转换为互补变量时,加带反相缓冲器;(4)需要将缓变信号变为边沿陡峭信号时,加带施密特电路的缓冲器(5)数据传输和处理中不同装置间温度和时间不同时,加一级缓冲器进行弥补等等。
锁存器与触发器的区别锁存器和触发器是具有记忆功能的二进制存贮器件,是组成各种时序逻辑电路的基本器件之一。
区别为:latch同其所有的输入信号相关,当输入信号变化时latch就变化,没有时钟端;flip-flop受时钟控制,只有在时钟触发时才采样当前的输入,产生输出。
当然因为latch和flip-flop二者都是时序逻辑,所以输出不但同当前的输入相关还同上一时间的输出相关。
1、latch由电平触发,非同步控制。
在使能信号有效时latch相当于通路,在使能信号无效时latch保持输出状态。
DFF由时钟沿触发,同步控制。
2、latch对输入电平敏感,受布线延迟影响较大,很难保证输出没有毛刺产生;DFF则不易产生毛刺。
3、如果使用门电路来搭建latch和DFF,则latch消耗的门资源比DFF要少,这是latch比DFF优越的地方。
所以,在ASIC中使用 latch的集成度比DFF高,但在FPGA中正好相反,因为FPGA中没有标准的latch单元,但有DFF单元,一个LATCH需要多个LE才能实现。
latch是电平触发,相当于有一个使能端,且在激活之后(在使能电平的时候)相当于导线了,随输出而变化。
在非使能状态下是保持原来的信号,这就可以看出和flip-flop的差别,其实很多时候latch 是不能代替ff的。
4、latch将静态时序分析变得极为复杂。
5、目前latch只在极高端的电路中使用,如intel 的P4等CPU。
FPGA中有latch 单元,寄存器单元就可以配置成latch单元,在xilinx v2p的手册将该单元配置成为register/latch单元,附件是xilinx半个slice的结构图。
其它型号和厂家的FPGA没有去查证。
——个人认为xilinx是能直接配的而altera或许比较麻烦,要几个LE才行,然而也非xilinx的器件每个slice都可以这样配置,altera的只有DDR接口中有专门的latch单元,一般也只有高速电路中会采用latch的设计。
altera的LE是没有latch的结构的,又查了sp3和sp2e,别的不查了,手册上说支持这种配置。
有关altera的表述wangdian说的对,altera 的ff不能配置成latch,它使用查找表来实现latch。
一般的设计规则是:在绝大多数设计中避免产生latch。
它会让您设计的时序完蛋,并且它的隐蔽性很强,非老手不能查出。
latch最大的危害在于不能过滤毛刺。
这对于下一级电路是极其危险的。
所以,只要能用D触发器的地方,就不用latch。
有些地方没有时钟,也只能用latch了。
比如现在用一个clk接到latch的使能端(假设是高电平使能),这样需要的setup时间,就是数据在时钟的下降沿之前需要的时间,但是如果是一个DFF,那么setup时间就是在时钟的上升沿需要的时间。
这就说明如果数据晚于控制信号的情况下,只能用latch,这种情况就是,前面所提到的latch timing borrow。
基本上相当于借了一个高电平时间。
也就是说,latch借的时间也是有限的。
在if语句和case不全很容易产生latch,需要注意。
VIA题目这两个代码哪个综合更容易产生latch:代码1always@(enable or ina or inb)beginif(enable)begindata_out = ina;endelsebegindata_out = inb;endend代码2input[3:0] data_in;always@(data_in)begincase(data_in)0 : out1 = 1'b1;1,3 : out2 = 1'b1;2,4,5,6,7 : out3 = 1'b1;default: out4 = 1'b1;endcaseend答案是代码2在综合时更容易产生latch。
对latch进行STA的分析其实也是可以,但是要对工具相当熟悉才行,不过很容易出错。