首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» FPGA复位的可靠性设计方法
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
FPGA复位的可靠性设计方法
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-8-12 20:09
|
只看该作者
FPGA复位的可靠性设计方法
可靠性
,
上电
,
资源
摘 要:对FPGA设计中常用的复位设计方法进行了分类、 分析和比较。 针对 FPGA在复位过程中存在不可靠复位的现象, 提出了提高复位设计可靠性的4种方法, 包括清除复位信号上的毛刺、 异步复位同步释放、 采用专用全局 异步复位 /置位资源和采用内部复位。上述方法可有效提高FPGA复位的可靠性。
对 FPGA芯片而言, 在给芯片加电工作前, 芯片内部各个节点电位的变化情况均不确定、 不可控, 而这种 不确定且不可控的情况会使芯片在上电后的工作状态 出现错误。 因此, 在 FPGA的设计中, 为保证系统能可 靠进进入工作状态, 以及避免对 FPGA输出关联的系 统产生不良影响, FPGA上电后要进行复位, 且为了消 除电源开关过程中引起的抖动影响, 复位信号需在电 源稳定后经过一定的延时才能撤销[ 1] , FPGA 的复位 信号需保证正确、 稳定、 可靠。
在 FPGA的设计中, 多数情况下复位电路的功能 虽能够正常完成, 但电路并未得到精确合理的设计,仍存在可靠性设计缺陷。为确保系统复位的可靠性, 有 必要对 FPGA复位的可靠性设计方法进行研究。
1 复位设计方法分类
复位的目的是在仿真时将设计强制定位在一个可知状态, 合理选择复位方式是电路设计的关键[ 2] 。 根 据与系统时钟域的关系, 复位电路可分为同步复位和 异步复位[ 3] 。 同步复位是指复位信号只在时钟沿到来 时, 才有效。 否则, 无法完成对系统的复位工作。 异步复位是指无论时钟沿是否到来, 只要复位信号有效, 使 对系统进行复位。
根据是否存在外部复位端口, 复位电路又可分为外部复位和内部复位。外部复位是指复位信号主要来 自外部引脚的输入, 如复位按钮、 电源模块输出等。内部复位信号则是主要由FPGA内部电路产生。
2 复位设计方法的比较
2.1 同步复位与异步复位
2.2.1同步复位
指定同步复位时,always的敏感表中仅有一个时钟沿信号[ 4], 只有当时钟沿采集到同步复位的有效电平时,才会在时钟沿到达时刻进行复位操作。 若目标器件或可用库中的触发器本身包含同步复位端口, 则在实现同步复位电路时可直接调用同步复 位端。 然而多数目标器件的触发器本身并不包含同步 复位端口,需使复位信号与输入信号组成某种组合逻 辑, 然后将其输入到寄存器的输入端。为了提高复位电路的优先级,通常在电路描述时使用带有优先级的if… else结构, 复位电路在第一个if下描述, 其他电路 在else或 else … if 分支中描述。 复位电路综合后的RTL 图如图1所示。
根据同步电路的特点, 其电路优点有: ( 1) 同步复 位有利于基于周期机制的仿真器进行仿真。 ( 2 ) 使用 同步复位可设计100% 的同步时序电路, 有利于时序 分析, 其综合结果的频率较高。 ( 3 ) 同步复位仅在时 钟的有效沿生效, 可有效避免因毛刺造成的亚稳态和错误。 毛刺信号是由FPGA内部结构特征决定的[ 5] ,同步复位在进行复位和释放复位信号时, 仅当时钟沿 采到复位信号电平变化时进行相关操作, 若复位信号 树的组合逻辑出现了某种毛刺, 此时时钟沿采到毛刺 的概率较低, 由此通过时钟沿采样, 可有效过波复位电 路组合逻辑产生的毛刺, 增强了电路稳定性。
同步复位的缺点有: ( 1 ) 多数目标器件库的触发 器本身并不包含同步复位端口, 使用同步复位会增加 更多逻辑资源。 ( 2) 同步复位的最大问题在于必须保 证复位信号的有效时间, 需要一个脉宽延展器以确保 复位信号有一定脉冲宽度[ 6] , 由此才能保证所有触发 器均能有效复位。 由于同步复位仅当时钟沿采到复位 信号时才会进行复位操作, 所以其信号的持续时间要 大于设计的最长时钟周期, 以保证所有时钟的有效沿 都能采样到同步复位信号。 事实上, 仅保证同步复位 信号的持续时间大于最慢的时钟周期是不够的, 设计 中还需考虑到同步复位信号树通过所有相关组合逻辑 路径时的延时, 以及由于时钟布线产生的偏斜。 只有 同步复位大于时钟最大周期, 加上同步信号穿过的组 合逻辑路径延时和时钟偏斜延时, 才能确保同步复位 的可靠[ 7] 。
2.2.2 异步复位
指定异步复位时, 只需在always的敏感表中加人 复位信号的有效沿即可, 当复位信号有效沿到达时, 无 论时钟沿是否有效, 复位均会立即发挥其功能。
大多数目标器件和ASIC库的触发器均包含异步 复位端口, 异步复位会直接接人触发器的异步复位端口, 综合后的RTL图如图2所示。
根据异步电路的特点, 异步复位的优点有: ( 1 ) 由 于多数目标器件库的触发器都包含异步复位端口,异 步复 位会节约逻辑资源。( 2 ) 异步复位设计简单。( 3) 对于多数FPGA, 均有专用的全局异步复位 / 置位 资源(GSR,Global Set Reset ) , 还可使用 GSR资源, 异 步复位到达所有寄存器的偏斜最小。
异步复位的缺点如下: ( 1 ) 异步复位的作用和释 放与时钟沿并无直接关系,异步复位生效时问题并不明显; 但当释放异步复位时,若异步复位信号释放时间 和时钟的有效沿到达时间几乎一致, 则容易造成触发器输出为亚稳态[ 8 - 9],形成逻辑错误。 ( 2 ) 若异步复位逻辑树的组合逻辑产生了毛刺[ 10 - 11], 则毛刺的有效沿会使触发器误复位[ 12], 造成逻辑错误。
2.3 外部复位和内部复位
外部复位, 复位信号主要来自外部引脚的输人。复位信号在电路板上可能会受到来自其他线路的串 扰,因此可能产生毛刺,在无需复位系统时,毛刺信号 可能导致系统误复位。
内部复位,FPGA上电配置完成后, 由FPGA内部 电路产生复位信号, 复位信号与时钟同步。 通常内部复位的设计方法是: 设计 一 个初始值为 0X0000的SRL16,将其输人接高电平, 输出作为复位信号。
3 复位可靠性设计方法
3. 1 消除复位信号上的毛刺
在系统设计中, 若采用低有效复位信号, 可按照 图3所示方法对复位信号中的毛刺进行消除。延时器 件对数据进行延时的长度决定复位毛刺消除电路所能 避免的毛刺长度, 而延时器件的延时长度也决定需要 提供有效复位信号的最短时间。
如果复位信号高有效, 则将图 3中的或门改为与 门使用。 为更好地消除毛刺[ 13] , 可在复位毛刺消除电 路后再加上寄存器对复位信号进行时钟同步。 在通常 复位电路的设计中,毛刺的长度一般情况下 > 1 个时 钟周期, <16个时钟周期。为节省资源, 延时器件通 常选用SRL16。 SRL16可设置初始值, 但不带复位功 能16bit移位寄存器, 能够通过A0~ A3 的4根地在线选择从第几个寄存器输出。通常将其作为一个普通的16bit移位寄存器使用。
3. 2 异步复位同步释放
在有些应用中,复位信号需要在时钟尚未给出或 不稳定的情况下传到后级, 在时钟稳定之后,再撤去复 位信号。 此时需使用异步复位来实现。 由于异步复位 时,时钟和复位关系的不确定性, 易造成触发器输出亚 稳态[ 14] , 引起逻辑错误。 为确保其复位的可靠性, 通 常采用异步复位, 同步释放的方式[ 15] 。
所谓异步复位, 同步释放就是在复位信号到达时 不受时钟信号的同步, 而是在该信号释放时受时钟信号的同步。 通过一个复位信号综合器便可实现异步复位, 同步释放[ 7] 。 综合后的RTL图如图 3所示, 其仿真结果表明该电路能有效的实现复位及脱离复位。
3. 3 采用专用全局异步复位/置位资源
全局异步复位 / 置位资源的主要作用是对系统中 存在的所有触发器、 锁存器、 查找表单元的输出寄存器 进行复位, 不会占有额外的布线资源。 使用GSR 资 源, 异步复位到达所有寄存器的偏斜最小。
3. 4 采用内部复位的设计方法
在无需复位信号先于时钟信号产生的应用 中,为避免外部复位毛刺的影响、 异步复位电路可能引 起的亚稳态以及减少资源的使用率,可通过FPGA产 生内部复位, 然后采用异步的方式对其的内寄存器 进行复位。 由于该复位信号由FPGA内部产生, 不会 因外部干扰而产生毛刺, 同时又与时钟同步, 不存在 因异步复位导致的亚稳态现象, 因此可确保系统可靠复位。
4 结束语
FPGA的可靠复位是保证系统能够正常工作的必要条件,本文对FPGA设计中常用的复位设计方法进 行了分类、分析和比较,并针对各种复位方式的特点, 提出了如何提高复位设计可靠性的方法。 在工程实践 中,上述方法可以有效减少或消除FPGA复位所产生 的错误。
作者:郝 建, 原茵茵 来源:电子科技2013年 第 26卷 第10期
FPGA
今日头条
同步复位
复位可靠性
异步复位
初级知识库
要发表评论,请先
登录
或
注册
358 次点击
1 条评论
FPGA上电后要进行复位, 且为了消
由
haitaox
在 星期五, 07/18/2014 - 21:21 发表。
FPGA上电后要进行复位, 且为了消 除电源开关过程中引起的抖动影响, 复位信号需在电 源稳定后经过一定的延时才能撤销
这句话不同意。FPGA上电无需外部复位,就可以初始化到用户想要的值。FPGA内部的GSR信号会在done信号拉高之前,完成初始化的操作。
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
无线技术
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议