msrgr的个人空间 https://blog.eetop.cn/1233728 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

组合逻辑、锁存器中的毛刺现象

热度 1已有 4530 次阅读| 2017-2-5 14:55 |个人分类:FPGA|系统分类:硬件设计

组合逻辑设计中的毛刺现象

latch(锁存器)之所以对FPGA设计有危害,最主要是因为毛刺,不能过滤毛刺。这对于下一级电路是极其危险的。

和所有的数字电路一样,毛刺也是FPGA电路中的棘手问题,它的出现会影响电路工作的稳定性,可靠性,严重时会导致整个数字系统的误动作和逻辑紊乱。

信号在FPGA器件中通过逻辑单元连线时,一定存在延时。延时的大小不仅和连线的长短和逻辑单元的数目有关,而且也和器件的制造工艺、工作电压、温度等有关。

另外,信号的高低电平转换也需要一定的过渡时间,由于存在这两方面的因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号就是“毛刺”。任何组合电路,反馈电路和计数器都可能。

潜在的毛刺信号发生器。

电路布线长短不同造成各端口输入信号延时不一致,有竞争冒险,会产生毛刺。分立元件之间存在分布电容和电感可以滤掉这些毛刺,所以用分立元件设计电路时,很少考虑竞争冒险和毛刺问题,但PLD/FPGA内部没有分布电容和电感,不能滤掉任何毛刺(哪怕不到1ns)。

举个简单的例子:

设计的一个二输入与门,output<=A & B;进行布局布线后仿真(此时没有加管脚约束文件)可看到:

output_obuf_2处有一毛刺出现。毛刺高电平时间维持141ps.

从output_obuf到output输出处,虽消除了毛刺,但不能保证其它情况下都会消除,我想有可能是此处毛刺时间比较小的原因,所以才有output处输出是正常的。

首先毛刺的出现是由于输入端A由1到0和B由0到1的变化引起的。

从静态时序文件中可以看到:A,B到达与门的时间相差141ps,这也正是上述中出现毛刺的原因。

下面将管脚约束文件加进去再进行后仿真:

可看出此时output输出有明显的毛刺出现。

时序分析报告:

对于信号A:(Trace delay of A)+AND gate internal delay=9.139ns;

对于信号B:(Trace delay of B)+AND gate internal delay=5.607ns;

即A和B到达与门的时间相差了3.532ns,下图显示毛刺的时间即正好相符。

毛刺并不是对所有的输入都有危害,如触发器的D输入端,只要数据不出现在时钟的上长升沿,并满足数据的建立保持时间,就不会对系统造成危害,而当毛刺信号成为系统的启动信号,控制信号,握手信号,触发器的清零信号,预置信号,时钟信号,或锁存器的输入信号时就会产生逻辑错误。因此,判断逻辑电路中是否存在冒险以及如何避免冒险是设计人员必须考虑的问题。

转载自:让爱留在心中百度空间

1

点赞

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 0

    评论
  • 1160

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-6 05:33 , Processed in 0.022269 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部