- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA设计流程与规范
前言
在大规模的逻辑设计过程中,按照标准的设计流程和代码规范来进行FPGA、CPLD的开发是很重要的,它能够使整个开发过程实现合理性、一致性、高效性。对于一个不规范的设计程序,若隔了比较长的时间来进行调试或修改的话,估计很多信号和模块的功能都忘了,若做了一半时需要由别的工程师来接着做的话,估计也得重头开始整个设计了。而且,一个不规范的设计也无法实现代码的可重用性。因此,FPGA设计流程和代码的规范化是很重要的,鉴于此原因笔者编写了本文档,以供FPGA设计参考用。同时,本文档还对FPGA开发过程中的一些常用技巧和需要注意的问题进行了阐述。
目 录
TOC \o 1-3 \h \z \u 前言 1
1. 基于HDL的FPGA设计流程概述 1
1.1 设计流程图 1
1.2 关键步骤的实现 2
1.2.1 功能仿真 2
1.2.2 逻辑综合 2
1.2.3 前仿真 3
1.2.4 布局布线 3
1.2.5 后仿真(时序仿真) 4
3. 逻辑仿真 4
3.1 测试程序(test bench) 4
3.2 使用预编译库 5
4. 逻辑综合 5
4.1 逻辑综合的一些原则 6
4.1.1 关于逻辑综合 6
4.1.2 大规模设计的综合 6
4.1.3 必须重视工具产生的警告信息 6
4.2 调用模块的黑盒子方法 6
5. VHDL语言编写规范 7
5.1 VHDL编码风格 7
5.1.1 标识符命名习惯 7
5.1.2 数据对象和类型 8
5.1.3 信号和变量 9
5.1.4 实体和结构体 10
5.1.5 语句 11
5.1.6 运算符 14
5.1.7 函数(Function) 14
5.1.8 过程(Procedure) 14
5.1.9 类属(generics) 15
5.1.10 程序包(Package) 15
5.1.11 有限状态机(FSM) 15
5.1.12 注释(comments) 16
5.2 代码的模块划分 16
5.3 代码编写中容易出现的问题 16
5.3.1 资源共享问题 16
5.3.2 组合逻辑描述的多种方式 17
5.3.3 考虑综合的执行时间 17
5.3.4 避免使用Latch 17
5.3.5 内部三态总线结构 18
6. VERILOG语言编写规范 19
6.1 Verilog编码风格 19
6.1.1 命名规则 19
6.1.2 Modules 20
6.1.3 Net and Register 21
6.1.4 Expressions 21
6.1.5 IF语句 21
6.1.6 CASE语句 22
6.1.7 Writing Functions 22
6.1.8 Assignment 23
6.1.9 Combinatorial VS Sequential Logic 23
6.1.10 Macros 24
6.1.11 Comments 24
6.2 代码编写中容易出现的问题 24
7. 同步数字电路设计技术 27
7.1 设计的可靠性 27
7.2 时序分析基础 27
7.3 同步电路设计 28
7.3.1 同步电路的优越性 28
7.3.2 同步电路设计规则 29
7.3.3 异步设计中常见问题及解决办法 29
7.3.4 不建议使用的电路 37
7.4 置位和复位信号处理 38
7.5 时延电路处理 38
7.6 全局信号处理 38
7.7 时序设计的可靠性保障措施 40
8. 基于VHDL的FPGA设计指导 41
8.1 VHDL代码风格 41
8.2 常见问题 41
8.2.1 不可综合的代码 41
8.2.2 采用std_logic以外的数据类型 41
8.2.3 错误使用inout 42
8.2.4 产生不必要的Latch 42
8.2.5 同一个信号在两个或两个以上的process中赋值 43
8.2.6 错误的使用变量或信号 43
8.2.7 合理使用内部RAM 45
8.2.8 三态电路设计 45
8.2.9 异步复位电路设计 46
8.2.10 时钟电路设计 47
8.3 设计技巧 48
8.3.1 合理设计加法电路 48
8.3.2 巧妙处理比较器 50
您可能关注的文档
最近下载
- 津津有味·读经典Level2《彼得·潘》译文.pdf
- 第二章第一节上颌骨PPT课件.ppt
- 雷公山地区梯田的形成及其文化价值研究——以雷山县为例.pdf VIP
- 民事诉讼法(第6版)全套PPT课件.pptx
- 一种PVC增硬改性剂的制备方法及所得产品.pdf VIP
- 危重患者核心评估与生命支持监测技术.pptx
- 高二音乐(人音版)-歌唱模块(第一课时)美丽人声之《我爱你,中国》-1教学设计.docx VIP
- 2015年(福建)师大附中自主招生数学试卷(含解析).pdf VIP
- 德国《个人所得税法》中的无限和有限纳税义务.pdf VIP
- 《GB 16806-20XX消防联动控制系统(报批稿)》.pdf VIP
文档评论(0)