FPGA设计流程与规范.doc

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 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 巧妙处

文档评论(0)

qqbbc1234 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档