- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5讲工程设计中的问题
工程设计中的问题 水声工程学院 优秀的FPGA设计不仅仅是要求和设计要求相符合。因为这仅仅是一个优秀的FPGA设计所必须要达到的基本要求,更重要的是,FPGA设计需要有以下三个重要的特征: 程序设计具有可读性; 可重复性; 可测性。 ? 程序设计具有可读性 可读性好要求: 1、FPGA设计的原理图和硬件描述语言设计应该包含有足够详细的注释; 2、每张原理图之间的关系以及硬件描述的模块之间的互连关系的详细说明; 3、各个模块的详细说明。 4、程序语言要规范。 ? 程序设计具有可读性 例如,状态机的文档应当包含状态图或功能描述。布尔方程的实现过程也应该写在文档中,甚至应当写在源代码里面,包括简化前的或简化后的布尔方程。FPGA的设计文档也应该包含用户自己创建的约束文件,还应该说明在设计、实现和验证阶段使用的各个输出文件。 实践表明:投入一定的时间写好文档,可以在调试、测试和维护设计过程中节省大量的时间。一个具有好文档的和经过验证的电路设计,可以很容易地被重用,可以大大的节省开发时间。 可重复性要求: FPGA设计应该保证如果不同的设计者从不同部位开始,并重新进行布局布线等,应该可以得到同样的结果。没有这个保证,验证以及其他形式的设计测试就毫无价值。因为设计师显然不希望在设计里出现这样的情况,器件具有相同的输入输出管脚和功能,但是由于布局布线的差异,最后时序却不一样。但是如果在实现的过程中,没有让系统设计软件的参数或选项保持一致,这种情况就会发生。因此FPGA的文档就应包括必要的信息,即软件开发系统的版本号、软件的各个选项及参数设置。 关于FPGA设计的可重复性,有两点应该注意:一是随机数种子,二是布局布线编辑情况。随机数种子是一个由系统时钟生成的n位随机数,用来初始化自动布局布线进程(APR,Automatic Place and Route).如果在执行 APR过程前没有指定这个随机数种子,那么每次运行 APR就会得到不同的结果。同样,在APR之后,可能需要人工进行修改或完善,这些人工修改的过程或参数都应该以文档的方式记录下来,包括布局布线编辑器的选项和参数设置。如果不这样做,最终的实现就会因人而异,整个系统的性能也变得不稳定,甚至无法评估。 可测性也是优秀的FPGA设计的一个重要特征。FPGA的开发商以及系统工程师都应该考虑这个因素。从 FPGA厂商的角度来看,由于 FPGA是基于静态RA M来研制的,加上专为测试而开发的专用功能,通常可以保证FPGA本身100%的故障覆盖率。系统级的测试要求工程师对整个设计流程以及系统架构都要很清楚。 错误:模块太简单不仿真直接上板子调试。 正确:任何模块都要经过仿真调试,即使不仿真,在进行直接调试的构成中也要通过片内逻辑分析仪进行分析测试,以避免不可预知的错误发生。 对于CPLD器件,模块一定要进行仿真分析。 错误:程序设计完成后进行综合,简单武断的认为器件资源不够、速度过慢等,就要求硬件设计过程中更换器件。 正确:对于资源不足或速度不够这些关键问题,一定要查找原因,针对程序的结构进行代码级别的优化(不建议进行综合布线优化)来解决问题。 错误:仿真就是看波形。 正确:要结合仿真波形输出与程序打印输出、条件判断输出、警告输出等方式相结合来分析仿真结果,甚至可以通过良好的仿真模块和检查模块实现自动检查。 错误:有些模块比较简单,自己编和使用IP模块的时间差不多,干脆自己编还锻炼编程水平了。 正确:IP模块是经过专业的编译设计的,其对底层硬件的使用更为合理,尤其是各个公司的IP模块更适合自己的硬件系统,因此综合错误更少。在软件系统设计过程,要尽量使用IP模块,以避免小差错带来大问题。 6.3 设计相关问题(1) 数字电路中的毛刺产生原因和机理 TTL反相器的典型电路 TTL反相器的电压传输特性 建立时间和保持时间 1. 在数字电路设计中,可以采用格雷码计数器取代普通的二进制计数器,这是因为格雷码计数器的输出每次只有一位跳变,消除了竞争冒险的发生条件,避免了毛刺的产生。 2. 毛刺并不是对所有的输入都有危害,例如D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害。 根据这个特性,我们应当在系统中尽可能采用同步电路,这是因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。 6.3 设计相关问题(2) 可编程逻辑器件的输入输出管脚 6.3 设计相关问题(3) 要重视逻辑化简与逻辑冲突 6.3 设计相关问题(4) 清除和置位信号 在FPGA的设计中,全局的清零和置位信号必须经过全局的清零和置位管脚输入,因为他们也属于全局的
您可能关注的文档
最近下载
- 2022年注册测绘师法律法规重点记忆手册.pdf
- 玻璃雨棚施工方案.docx VIP
- 四川省达州市大竹县中考二模数学试题含解析.docx VIP
- 沪教牛津版六年级下册英语沪教牛津版Module4测试卷.docx VIP
- 2024-2025学年度甘肃省合作市中考数学真题分类(一次函数)汇编专项测试练习题(解析版).docx
- (初中数学)典型中考数学动点问题试题专题复习讲解汇总.doc VIP
- 护理读书的报告范文的共篇.doc VIP
- 沪教牛津版六年级下册英语沪教牛津版期末测试卷.docx VIP
- 国家开放大学《建筑工程质量检验》章节测试参考答案.pdf
- 四川省达州市大竹县2025年初三最后一考数学试题试卷含解析.doc VIP
文档评论(0)