FPGA毛刺的产生与消除_第1页
FPGA毛刺的产生与消除_第2页
FPGA毛刺的产生与消除_第3页
FPGA毛刺的产生与消除_第4页
FPGA毛刺的产生与消除_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于基于 VerilogHDLVerilogHDL 语言的语言的 FPGAFPGA 设计设计 课程作业课程作业 学院 学院 电子工程学院电子工程学院 专业班级 专业班级 集电集电 1111 级级 3 3 班班 姓名 姓名 朱潮勇朱潮勇学号 学号 0511607905116079 作业题目 作业题目 FPGAFPGA 毛刺的产生与消除毛刺的产生与消除 完成日期 完成日期 20132013 年年 1111 月月 2525 日日 一 设计要求 1 二 规范说明 1 三 顶层设计结构图 1 四 模块详细设计 2 1 功能说明 2 2 端口定义 2 3 设计代码 2 4 激励代码 2 5 仿真结果 3 五 结论和问题 3 前言 在 FPGA 的设计中 毛刺现象是长期困扰电子设计工程师的设计问题之一 是影响工 程师设计效率和数字系统设计有效性和可靠性的主要因素 由于信号在 FPGA 的内部走线 和通过逻辑单元时造成的延迟 在多路信号变化的瞬间 组合逻辑的输出常常产生一些小的 尖峰 即毛刺信号 这是由 FPGA 内部结构特性决定的 毛刺现象在 FPGA 的设计中是不 可避免的 有时任何一点毛刺就可以导致系统出错 尤其是对尖峰脉冲或脉冲边沿敏感的电 路更是如此 任何组合电路 反馈电路和计数器都可能是潜在的毛刺信号发生器 但毛刺并不是对 所有输入都有危害 如触发器的 D 输入端 只要毛刺不出现在时钟的上升沿并满足 数据 的建立保持时间 就不会对系统造成危害 而当毛刺信号成为系统的启动信号 控制信号 握手信号 触发器的清零信号 CLEAR 预置信号 PRESET 时钟输入信号 CLK 或锁 存器的输入信号时就会产生逻辑错误 在实际设计过程中 应尽量避免将带有毛刺的信号 直接接入对毛刺敏感的输入端上 对于产生的毛刺 应仔细分析毛刺的来源和性质 针对 不同的信号 采取不同的解决方法加以消除 因此 克服和解决毛刺问题对现代数字系统设计尤为重要 本文从 FPGA 的原理结构的角 度探讨了产生毛刺的原因及产生的条件 在此基础上 总结了多种不同的消除方法 在最 后结合具体的应用对解决方案进行深入的分析 一 设计要求一 设计要求 将通过本次实验演示 FPGA 中出现的典型毛刺现象 并通过一些方法对电路改进从而来消 除毛刺现象 本次实验将搭建一个简单的异或门电路 二 规范说明二 规范说明 本次实验 在quartus2下建立工程 选择的平台是Cyclone II 系列2C70 型FPGA 芯片 全称是 EP2C70F896C6 虽然其中的器件布线 器件延迟主要针对这款芯片 但各种 FPGA 都大同小异 所以本次实验还是具有普遍说明性 3 原理图设计原理图设计 用该原理图实现异或功能 改进后的原理图 在输入端增加 D 触发器 3 综合后的综合后的 RTL 布线图布线图 改进前的原理图综合后 RTL 布线图 改进后的原理图综合后的 RTL 布线图 4 4 仿真结果仿真结果 改进前原理图时序仿真结果 改进后原理图时序仿真结果 5 5 实验分析实验分析 通过前面异或门原理图的设计与改进 看到 FPGA 中确实会出现意想不到的毛刺现象 但毛刺现象并不是都无法避免 毛刺现象产生的原因 由于信号在 FPGA 的内部走线和通过逻辑单元时造成的延迟 在多路信号变化的瞬间 组合逻辑的输出常常产生一些小的尖峰 在上图中我们可以看出从iSW 1 状态变化到输出oLEDG 0 状态发生相应的变化之间 有9 44 9 45ns 的延时 而从输入iSW 0 状态变化到输出oLEDG 0 状态发生相应的变 化之间约有9 84ns 的延时 再仔细查看 RTL 图 就可以轻易看出布线的长短影响了延迟 当然延迟除了布线长短 的原因之外 更多的是器件的延迟 由于本次实验的原理图比较简单 看不出 但是事实 上 每个不同元器件 有不同的延迟 以及每一路信号元器件的数量不同更是形成了不同 的延迟 该延时为 FPGA 布线所决定 不同开发板均不同 6 6 结论和问题 结论和问题 在实验中看到了毛刺现象的出现是由于延迟引起 知道了毛刺产生的条件 就可以通过 改变设计 破坏其条件来减少毛刺的发生 下面对各种方法做分别介绍 1 利用冗余项法 利用冗余项消除毛刺有 2 种方法 代数法和卡诺图法 两者都是通过增加冗余项来消除险 象 只是前者针对于函数表达式而后者针对于真值表 以卡诺图为例 若两个卡诺圆相切 其对应的电路就可能产生险象 因此 修改卡诺图 在卡诺图的两圆相切处增加一个圆 以增 加多余项来消除逻辑冒险 但该法对于计数器型产生的毛刺是无法消除的 举例说明 如图所示逻辑函数 在 B C 1 时 F 将产生偏 1 冒险 增加多余项 BC 则当 B C 1 时 F 恒为 1 所以消除了冒险 即卡诺图化简时多圈了 一个卡诺圈 如图 3 4 5 b 所示 相切处增加了一个 BC 圈 消除了相切部分的影响 2 采样法 由于冒险多出现在信号发生电平跳变的时刻 即在输出信号的建立时间内会产生毛刺 而 在保持时间内不会出现 因此 在输出信号的保持时间内对其进行采样 就可以消除毛刺 信号的影响 常用的采样方法有 2 种 一种使用一定宽度的高电平脉冲与输出相与 从而避 开了毛刺信号 取得输出信号的电平值 这种方法必须保证采样信号在合适的时间产生 并且只适 用于对输出信号时序和脉冲宽度要求不严的情况 如下图 另一种更常见的方法叫锁存法 是利用 D 触发器的输入端 D 对毛刺信号不敏感的特点 在 输出信号的保持时间内 用触发器读取组合逻辑的输出信号 由于在时钟的上升沿时刻 输出端 Q D 当输入的信号有毛刺时 只要不发生在时钟的上升沿时刻 输出就不会有毛 刺 这种 方法类似于将异步电路转化为同步电路 实现简单 但同样会涉及到时序问题 3 吸收法 硬件法 由于产生的毛刺实际上是高频窄脉冲 故增加输出滤波 在输出端接上小电容 C 就可以滤 除毛刺 但输出波形的前后沿将变坏 在对波形要求较严格时 应再加整形电路 该方法 不宜在中间级使用 在纯数字电路是不现实的 4 延迟取整法 因为毛刺最终是由于延迟造成的 所以可以找出产生延迟的支路 对于相对延迟小的支路 加上毛刺宽度的延迟可以消除毛刺 但有时随着负载增加 毛刺会继续出 现 而且 当温 度变化 所加的电压变化或要增加逻辑门时 所加的延迟是不同的 必须重新设计延迟线 因而这种方法也是有局限性的 而且采用延迟线的方法产 生延

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论