- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
FPGA设计流程指南
前言
本部门所承担的FPGA设计任务主要是两方面的作用:系统的原型实现和ASIC的原型验证。编写本流程的目的是:
在于规范整个设计流程,实现开发的合理性、一致性、高效性。
形成风格良好和完整的文档。
实现在FPGA不同厂家之间以及从FPGA到ASIC的顺利移植。
便于新员工快速掌握本部门FPGA的设计流程。
由于目前所用到的FPGA器件以Altera的为主,所以下面的例子也以Altera为例,工具组合为 modelsim + LeonardoSpectrum/FPGACompilerII + Quartus,但原则和方法对于其他厂家和工具也是基本适用的。
目 录 TOC \o 1-3 \h \z
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
2. Verilog HDL设计 4
2.1 编程风格(Coding Style)要求 4
2.1.1 文件 4
2.1.2 大小写 5
2.1.3 标识符 5
2.1.4 参数化设计 5
2.1.5 空行和空格 5
2.1.6 对齐和缩进 5
2.1.7 注释 5
2.1.8 参考C语言的资料 5
2.1.9 可视化设计方法 6
2.2 可综合设计 6
2.3 设计目录 6
3. 逻辑仿真 6
3.1 测试程序(test bench) 7
3.2 使用预编译库 7
4. 逻辑综合 8
4.1 逻辑综合的一些原则 8
4.1.1 关于LeonardoSpectrum 8
4.1.1 大规模设计的综合 8
4.1.3 必须重视工具产生的警告信息 8
4.2 调用模块的黑盒子(Black box)方法 8
参考 10
修订纪录 10
PAGE 2
1. 基于HDL的FPGA设计流程概述
1.1 设计流程图
(1)设计定义
(1)设计定义
(2)HDL实现
(2)HDL实现
逻辑仿真器(3)功能仿真
逻辑仿真器
(3)功能仿真
逻辑综合器(4)逻辑综合
逻辑综合器
(4)逻辑综合
逻辑仿真器(5)前仿真
逻辑仿真器
(5)前仿真
FPGA厂家工具(6)布局布线
FPGA厂家工具
(6)布局布线
(8)静态时序分析逻辑仿真器(7)后仿真
(8)静态时序分析
逻辑仿真器
(7)后仿真
(9)在系统测试
(9)在系统测试
说明:
逻辑仿真器主要指modelsim,Verilog-XL等。
逻辑综合器主要指LeonardoSpectrum、Synplify、FPGA Express/FPGA Compiler等。
FPGA厂家工具指的是如Altera的Max+PlusII、QuartusII,Xilinx的Foundation、Alliance、ISE4.1等。
1.2 关键步骤的实现
1.2.1 功能仿真
RTL代码调用模块的行为仿真模型测试程序
RTL代码
调用模块的
行为仿真模型
测试程序
(test bench)
测试数据
逻辑仿真器
逻辑仿真器
说明:
“调用模块的行为仿真模型”指的是RTL代码中引用的由厂家提供的宏模块/IP,如Altera 提供的LPM库中的乘法器、存储器等部件的行为模型。
1.2.2 逻辑综合
设置综合目标和约束条件调用模块的黑盒子接口
设置综合目标和约束条件
调用模块的
黑盒子接口
RTL代码
逻辑综合器
逻辑综合器
HDL网表(netlist)
HDL网表
(netlist)
EDIF网表
(netlist)
说明:
“调用模块的黑盒子接口”的导入,是由于RTL代码调用了一些外部模块,而这些外部模块不能被综合或无需综合,但逻辑综合器需要其接口的定义来检查逻辑并保留这些模块的接口。
1.2.3 前仿真
逻辑综合器调用模块的行为仿真模型测试数据测试程序(test bench)HDL网表(netlist)逻辑仿真器
逻辑综合器
调用模块的
行为仿真模型
测试数据
测试程序
(test bench)
HDL网表
(netlist)
逻辑仿真器
说明:
一般来说,对FPGA设计这一步可以跳过不做,但可用于debug综合有无问题。
1.2.4 布局布线
逻辑综合器
逻辑综合器
设置布局布线约束条件
设置布局布线约束条件
FPGA厂家工具EDIF网表(netlist)调用模块的综合模型
FPGA厂家工具
EDIF网表
(netlist)
调用模块的
综合模型
S
文档评论(0)