华为fpga设计规范(Verilog-Hdl).docx

华为fpga设计规范(Verilog-Hdl).docx

ID:57318559

大小:37.47 KB

页数:12页

时间:2020-08-11

华为fpga设计规范(Verilog-Hdl).docx_第1页
华为fpga设计规范(Verilog-Hdl).docx_第2页
华为fpga设计规范(Verilog-Hdl).docx_第3页
华为fpga设计规范(Verilog-Hdl).docx_第4页
华为fpga设计规范(Verilog-Hdl).docx_第5页
资源描述:

《华为fpga设计规范(Verilog-Hdl).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、FPGA设计流程指南前言本部门所承担的FPGA设计任务主要是两方面的作用:系统的原型实现和ASIC的原型验证。编写本流程的目的是:l在于规范整个设计流程,实现开发的合理性、一致性、高效性。l形成风格良好和完整的文档。l实现在FPGA不同厂家之间以及从FPGA到ASIC的顺利移植。l便于新员工快速掌握本部门FPGA的设计流程。由于目前所用到的FPGA器件以Altera的为主,所以下面的例子也以Altera为例,工具组合为modelsim+LeonardoSpectrum/FPGACompilerII+Quartus,但原则

2、和方法对于其他厂家和工具也是基本适用的。目录1.基于HDL的FPGA设计流程概述11.1设计流程图11.2关键步骤的实现21.2.1功能仿真21.2.2逻辑综合21.2.3前仿真31.2.4布局布线31.2.5后仿真(时序仿真)42.VerilogHDL设计42.1编程风格(CodingStyle)要求42.1.1文件42.1.2大小写52.1.3标识符52.1.4参数化设计52.1.5空行和空格52.1.6对齐和缩进52.1.7注释52.1.8参考C语言的资料52.1.9可视化设计方法62.2可综合设计62.3设计目录

3、63.逻辑仿真63.1测试程序(testbench)73.2使用预编译库74.逻辑综合84.1逻辑综合的一些原则84.1.1关于LeonardoSpectrum84.1.1大规模设计的综合84.1.3必须重视工具产生的警告信息84.2调用模块的黑盒子(Blackbox)方法8参考10修订纪录101.基于HDL的FPGA设计流程概述1.1设计流程图(1)设计定义(2)HDL实现逻辑仿真器(3)功能仿真逻辑综合器(4)逻辑综合逻辑仿真器(5)前仿真FPGA厂家工具(6)布局布线(8)静态时序分析逻辑仿真器(7)后仿真(9)在

4、系统测试说明:l逻辑仿真器主要指modelsim,Verilog-XL等。l逻辑综合器主要指LeonardoSpectrum、Synplify、FPGAExpress/FPGACompiler等。lFPGA厂家工具指的是如Altera的Max+PlusII、QuartusII,Xilinx的Foundation、Alliance、ISE4.1等。1.2关键步骤的实现1.2.1功能仿真RTL代码调用模块的行为仿真模型测试程序(testbench)测试数据逻辑仿真器说明:“调用模块的行为仿真模型”指的是RTL代码中引用的由厂

5、家提供的宏模块/IP,如Altera提供的LPM库中的乘法器、存储器等部件的行为模型。1.2.2逻辑综合设置综合目标和约束条件调用模块的黑盒子接口RTL代码逻辑综合器HDL网表(netlist)EDIF网表(netlist)说明:“调用模块的黑盒子接口”的导入,是由于RTL代码调用了一些外部模块,而这些外部模块不能被综合或无需综合,但逻辑综合器需要其接口的定义来检查逻辑并保留这些模块的接口。1.2.3前仿真逻辑综合器调用模块的行为仿真模型测试数据测试程序(testbench)HDL网表(netlist)逻辑仿真器说明:一

6、般来说,对FPGA设计这一步可以跳过不做,但可用于debug综合有无问题。1.2.4布局布线逻辑综合器设置布局布线约束条件FPGA厂家工具EDIF网表(netlist)调用模块的综合模型SDF文件(标准延时格式)HDL网表(netlist)下载/编程文件1.2.5后仿真(时序仿真)测试数据SDF文件(标准延时格式)FPGA基本单元仿真模型测试程序(testbench)FPGA厂家工具HDL网表(netlist)逻辑仿真器2.VerilogHDL设计基于将来设计转向ASIC的方便,本部门的设计统一采用VerilogHDL,

7、但针对混合设计和混合仿真的趋势,所有开发人员也应能读懂VHDL。VerilogHDL的学习可参考[1][2]。2.1编程风格(CodingStyle)要求2.1.1文件(1)每个模块(module)一般应存在于单独的源文件中,通常源文件名与所包含模块名相同。(2)每个设计文件开头应包含如下注释内容:l年份及公司名称。l作者。l文件名。l所属项目。l顶层模块。l模块名称及其描述。l修改纪录。请参考标准示例程序[3]。2.1.2大小写(1)如无特别需要,模块名和信号名一律采用小写字母。(2)为醒目起见,常数(`define定

8、义)/参数(parameter定义)采用大写字母。2.1.3标识符(1)标识符采用传统C语言的命名方法,即在单词之间以“_”分开,如:max_delay、data_size等等。(2)采用有意义的、能反映对象特征、作用和性质的单词命名标识符,以增强程序的可读性。(3)为避免标识符过于冗长,对较长单词的应当采用适当的缩

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

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

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