组合逻辑电路的设计应该注意什么问题

如题所述

组合逻辑电路的特点及设计时的注意事项:

①组合逻辑电路的输出具有立即性,即输入发生变化时,输出立即变化。(实际电路中还要考虑器件和导线产生的延时)。

②组合逻辑电路设计时应尽量避免直接或间接的反馈,以免出现不确定的状态或形成振荡。如右图设计的基本触发器,当输入~S、~R从“00”变为“11”时,无法确定Q和~Q的值。

③组合逻辑电路容易出现“毛刺”,这是由于电路“竞争-冒险”产生的。如图所示,图中与门的两个输入分别由信号 A
经过不同路径传递而来。按照理想情况分 析,电路输出端应该始终为 L=A ·~A =0。考虑到信号在逻辑门中的传输延迟,~A
到达与门输入端的时间始终落后于 A。图(b)的波形显示,信号 A的四次变化都产生了竞争。但这四次竞争引起的结果是不一样的。第一次和第三次竞争造
成输出错误,第二次和第四次竞争则没有造成输出错误。换言之,只有第一次和第三次竞争引起了冒险,产生了尖峰干扰。
由于“毛刺”的影响,应避免使用组合逻辑电路直接产生时钟信号,也应避免将组合逻辑电路的输出作为另一个电路的异步控制信号。如右图,本意是设计一个计数范围为“0~5”的六进制计数器,即输出QD、QC、QB、QA从5“0101”变到6“0110”时,与门输出“1”,控制“CLR”异步复位到
“0000”,但是由于输出从3“0011”变到4“0100”时,QC先于QB从“0”变到“1”,导致短暂的“0111”出现,使与门输出“1”,引
起复位,从而使实际的电路计数范围为“0~3”,与设计的初衷相悖。

④用VHDL描述组合逻辑电路时,所有的输入信号都应放在敏感信号表中。

⑤用IF语句和CASE语句描述电路分支时,一定要列举出所有输入状态(一般在最后加上“else”或“when others”分支),否则在综合时将引入LATCH,使电路输出出现延时。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-06
组合逻辑电路的特点及设计时的注意事项:
①组合逻辑电路的输出具有立即性,即输入发生变化时,输出立即变化。(实际电路中还要考虑器件和导线产生的延时)。
②组合逻辑电路设计时应尽量避免直接或间接的反馈,以免出现不确定的状态或形成振荡。如右图设计的基本触发器,当输入~S、~R从“00”变为“11”时,无法确定Q和~Q的值。
③组合逻辑电路容易出现“毛刺”,这是由于电路“竞争-冒险”产生的。如图所示,图中与门的两个输入分别由信号
A
经过不同路径传递而来。按照理想情况分
析,电路输出端应该始终为
L=A
·~A
=0。考虑到信号在逻辑门中的传输延迟,~A
到达与门输入端的时间始终落后于
A。图(b)的波形显示,信号
A的四次变化都产生了竞争。但这四次竞争引起的结果是不一样的。第一次和第三次竞争造
成输出错误,第二次和第四次竞争则没有造成输出错误。换言之,只有第一次和第三次竞争引起了冒险,产生了尖峰干扰。
由于“毛刺”的影响,应避免使用组合逻辑电路直接产生时钟信号,也应避免将组合逻辑电路的输出作为另一个电路的异步控制信号。如右图,本意是设计一个计数范围为“0~5”的六进制计数器,即输出QD、QC、QB、QA从5“0101”变到6“0110”时,与门输出“1”,控制“CLR”异步复位到
“0000”,但是由于输出从3“0011”变到4“0100”时,QC先于QB从“0”变到“1”,导致短暂的“0111”出现,使与门输出“1”,引
起复位,从而使实际的电路计数范围为“0~3”,与设计的初衷相悖。
④用VHDL描述组合逻辑电路时,所有的输入信号都应放在敏感信号表中。
⑤用IF语句和CASE语句描述电路分支时,一定要列举出所有输入状态(一般在最后加上“else”或“when
others”分支),否则在综合时将引入LATCH,使电路输出出现延时。
第2个回答  2015-06-21
应该注意不同器件应该选用同一类型的逻辑器件,比如都用TTL逻辑器件,或者都用CMOS逻辑器件,或者都用LVTTL逻辑器件,或者都用LVCMOS逻辑器件,如果使用了不同类型的逻辑器件,一定要加电平转换器件,否则很容易因电平兼容问题引起故障。本回答被提问者和网友采纳