fpga设计流程与规范

fpga设计流程与规范

ID:29913327

大小:1.14 MB

页数:67页

时间:2018-12-25

fpga设计流程与规范_第1页
fpga设计流程与规范_第2页
fpga设计流程与规范_第3页
fpga设计流程与规范_第4页
fpga设计流程与规范_第5页
资源描述:

《fpga设计流程与规范》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、FPGA设计流程与规范前言在大规模的逻辑设计过程中,按照标准的设计流程和代码规范来进行FPGA、CPLD的开发是很重要的,它能够使整个开发过程实现合理性、一致性、高效性。对于一个不规范的设计程序,若隔了比较长的时间来进行调试或修改的话,估计很多信号和模块的功能都忘了,若做了一半时需要由别的工程师来接着做的话,估计也得重头开始整个设计了。而且,一个不规范的设计也无法实现代码的可重用性。因此,FPGA设计流程和代码的规范化是很重要的,鉴于此原因笔者编写了本文档,以供FPGA设计参考用。同时,本文档还对FPGA开发过程中的一些常用技巧和需要注意的问题进行了阐述。目录前言11.

2、基于HDL的FPGA设计流程概述11.1设计流程图11.2关键步骤的实现21.2.1功能仿真21.2.2逻辑综合21.2.3前仿真31.2.4布局布线31.2.5后仿真(时序仿真)43.逻辑仿真43.1测试程序(testbench)43.2使用预编译库54.逻辑综合54.1逻辑综合的一些原则64.1.1关于逻辑综合64.1.2大规模设计的综合64.1.3必须重视工具产生的警告信息64.2调用模块的黑盒子方法65.VHDL语言编写规范75.1VHDL编码风格75.1.1标识符命名习惯75.1.2数据对象和类型85.1.3信号和变量95.1.4实体和结构体105.1.5语句

3、115.1.6运算符145.1.7函数(Function)145.1.8过程(Procedure)145.1.9类属(generics)155.1.10程序包(Package)155.1.11有限状态机(FSM)155.1.12注释(comments)165.2代码的模块划分165.3代码编写中容易出现的问题165.3.1资源共享问题165.3.2组合逻辑描述的多种方式175.3.3考虑综合的执行时间175.3.4避免使用Latch175.3.5内部三态总线结构186.VERILOG语言编写规范196.1Verilog编码风格196.1.1命名规则196.1.2Modu

4、les206.1.3NetandRegister216.1.4Expressions216.1.5IF语句216.1.6CASE语句226.1.7WritingFunctions226.1.8Assignment236.1.9CombinatorialVSSequentialLogic236.1.10Macros246.1.11Comments246.2代码编写中容易出现的问题247.同步数字电路设计技术277.1设计的可靠性277.2时序分析基础277.3同步电路设计287.3.1同步电路的优越性287.3.2同步电路设计规则297.3.3异步设计中常见问题及解决办法

5、297.3.4不建议使用的电路377.4置位和复位信号处理387.5时延电路处理387.6全局信号处理387.7时序设计的可靠性保障措施408.基于VHDL的FPGA设计指导418.1VHDL代码风格418.2常见问题418.2.1不可综合的代码418.2.2采用std_logic以外的数据类型418.2.3错误使用inout428.2.4产生不必要的Latch428.2.5同一个信号在两个或两个以上的process中赋值438.2.6错误的使用变量或信号438.2.7合理使用内部RAM458.2.8三态电路设计458.2.9异步复位电路设计468.2.10时钟电路设计

6、478.3设计技巧488.3.1合理设计加法电路488.3.2巧妙处理比较器508.3.3选择IF语句和CASE语句508.3.4减少关键路径的逻辑级数508.3.5考虑资源共享508.3.6流水结构(Pipelining)538.3.7组合逻辑和时序逻辑分离548.3.8利用电路等价性“分配”延时548.3.9复制电路,减少扇出,提高速度548.3.10状态机编码及设计技巧548.4与工艺相关的设计技巧(以Xilinx为例)568.4.1高效利用IOB568.4.2存储器的使用578.4.3579.可重用性设计589.1基本原则589.2原则描述589.2.1命名定义

7、589.2.2VHDL中Architecture的命名约定589.2.3源文件中要有文件头599.2.4使用注释599.2.5独立成行599.2.6行长度599.2.7缩进599.2.8不要使用HDL的保留字599.2.9端口顺序599.2.10端口映射和generic映射609.2.11使用函数609.2.12使用循环、Loop和数组609.2.13使用有意思的标号609.3可移植性编码准则609.3.1只使用IEEE的标准类609.3.2不要直接使用数字619.3.3使用package619.3.4VHDL到Verilog的变换619

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。