好文档 - 专业文书写作范文服务资料分享网站

(完整版)华为fpga设计规范(VerilogHdl)

天下 分享 时间: 加入收藏 我要投稿 点赞

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等。

1

1.2 关键步骤的实现

1.2.1 功能仿真

RTL代码 调用模块的 测试程序 测试数据

行为仿真模型 (test bench)

逻辑仿真器

说明: “调用模块的行为仿真模型”指的是RTL代码中引用的由厂家提供的宏模块/IP,如Altera 提供的LPM库中的乘法器、存储器等部件的行为模型。

1.2.2 逻辑综合

设置综合目标RTL代码 调用模块的

和约束条件 黑盒子接口

逻辑综合器

EDIF网表 HDL网表

(netlist) (netlist)

说明:

“调用模块的黑盒子接口”的导入,是由于RTL代码调用了一些外部模块,而这些外部模块不能被综合或无需综合,但逻辑综合器需要其接口的定义来检查逻辑并保留这些模块的接口。

2

1.2.3 前仿真

逻辑综合器

HDL网表 调用模块的 测试程序 测试数据

(netlist) 行为仿真模型 (test bench) 逻辑仿真器

说明: 一般来说,对FPGA设计这一步可以跳过不做,但可用于debug综合有无问题。

1.2.4 布局布线

逻辑综合器 EDIF网表 (netlist) 调用模块的 综合模型 设置布局布线约束条件 FPGA厂家工具 下载/编程文件 HDL网表 (netlist) SDF文件 (标准延时格式) 3

(完整版)华为fpga设计规范(VerilogHdl)

FPGA设计流程指南前言本部门所承担的FPGA设计任务主要是两方面的作用:系统的原型实现和ASIC的原型验证。编写本流程的目的是:?在于规范整个设计流程,实现开发的合理性、一致性、高效性。?形成风格良好和完整的文档。?实现在FPGA不同厂家之间以及从FPGA到A
推荐度:
点击下载文档文档为doc格式
1v1vc2t2ct1od1e2lms547le14lopx00wkd
领取福利

微信扫码领取福利

微信扫码分享