FPGA设计流程指南
前言
本部门所承担的FPGA设计任务主要是两方面的作用:系统的原型实现和ASIC的原型验证。编写本流程的目的是:
? 在于规范整个设计流程,实现开发的合理性、一致性、高效性。 ? 形成风格良好和完整的文档。
? 实现在FPGA不同厂家之间以及从FPGA到ASIC的顺利移植。 ? 便于新员工快速掌握本部门FPGA的设计流程。
由于目前所用到的FPGA器件以Altera的为主,所以下面的例子也以Altera为例,工具组合为 modelsim + LeonardoSpectrum/FPGACompilerII + Quartus,但原则和方法对于其他厂家和工具也是基本适用的。
目 录
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
1. 基于HDL的FPGA设计流程概述
1.1 设计流程图
(1)设计定义 (2)HDL实现 (3)功能仿真 逻辑仿真器 (4)逻辑综合 逻辑综合器 (5)前仿真 逻辑仿真器 (6)布局布线 FPGA厂家工具 (8)静态时序分析 (7)后仿真 逻辑仿真器 (9)在系统测试
说明:
? 逻辑仿真器主要指modelsim,Verilog-XL等。
? 逻辑综合器主要指LeonardoSpectrum、Synplify、FPGA Express/FPGA Compiler等。 ? FPGA厂家工具指的是如Altera的Max+PlusII、QuartusII,Xilinx的Foundation、
Alliance、ISE4.1等。
【2019年整理】华为_FPGA设计流程指南



