您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 华为FPGA设计流程指南
FPGA设计流程指南前言本部门所承担的FPGA设计任务主要是两方面的作用:系统的原型实现和ASIC的原型验证。编写本流程的目的是:l在于规范整个设计流程,实现开发的合理性、一致性、高效性。l形成风格良好和完整的文档。l实现在FPGA不同厂家之间以及从FPGA到ASIC的顺利移植。l便于新员工快速掌握本部门FPGA的设计流程。由于目前所用到的FPGA器件以Altera的为主,所以下面的例子也以Altera为例,工具组合为modelsim+PDF文件使用pdfFactoryPro试用版本创建,但原则和方法对于其他厂家和工具也是基本适用的。PDF文件使用pdfFactoryPro试用版本创建后仿真(时序仿真).................................................62.VerilogHDL设计........................................................................72.1编程风格(CodingStyle)要求.........................................72.1.1文件............................................................................72.1.2大小写........................................................................82.1.3标识符........................................................................82.1.4参数化设计.................................................................92.1.5空行和空格.................................................................92.1.6对齐和缩进.................................................................92.1.7注释..........................................................................102.1.8参考C语言的资料..................................................102.1.9可视化设计方法.......................................................102.2可综合设计.......................................................................10PDF文件使用pdfFactoryPro试用版本创建测试程序(testbench)...................................................123.2使用预编译库...................................................................124.逻辑综合..................................................................................144.1逻辑综合的一些原则.......................................................144.1.1关于LeonardoSpectrum...........................................144.1.1大规模设计的综合...................................................154.1.3必须重视工具产生的警告信息...............................154.2调用模块的黑盒子(Blackbox)方法............................15参考...............................................................................................18修订纪录.......................................................................................18PDF文件使用pdfFactoryPro试用版本创建设计流程图(1)设计定义(2)HDL实现(3)功能仿真(4)逻辑综合(5)前仿真逻辑仿真器逻辑综合器逻辑仿真器PDF文件使用pdfFactoryPro试用版本创建说明:l逻辑仿真器主要指modelsim,Verilog-XL等。l逻辑综合器主要指LeonardoSpectrum、Synplify、FPGAExpress/FPGACompiler等。lFPGA厂家工具指的是如Altera的Max+PlusII、QuartusII,Xilinx的Foundation、Alliance、ISE4.1等。(6)布局布线(7)后仿真(9)在系统测试FPGA厂家工具逻辑仿真器(8)静态时序分析PDF文件使用pdfFactoryPro试用版本创建功能仿真说明:“调用模块的行为仿真模型”指的是RTL代码中引用的由厂家提供的宏模块/IP,如Altera提供的LPM库中的乘法器、存储器等部件的行为模型。1.2.2逻辑综合RTL代码逻辑仿真器RTL代码调用模块的行为仿真模型测试数据调用模块的黑盒子接口设置综合目标和约束条件测试程序(testbench)PDF文件使用pdfFactoryPro试用版本创建说明:“调用模块的黑盒子接口”的导入,是由于RTL代码调用了一些外部模块,而这些外部模块不能被综合或无需综合,但逻辑综合器需要其接口的定义来检查逻辑并保留这些模块的接口。1.2.3前仿真逻辑综合器EDIF网表(netlist)HDL网表(netlist)PDF文件使用pdfFactoryPro试用版本创建说明:一般来说,对FPGA设计这一步可以跳过不做,但可用于debug综合有无问题。1.2.4布局布线逻辑综合器HDL网表(netlist)逻辑仿真器测试数据调用模块的行为仿真模型测试程序(testbench)逻辑综合器EDIF网表(netlist)调用模块的综合模型设置布局布线约束条件PDF文件使用pdfFactoryPro试用版本创建后仿真(时序仿真)HDL网表(netlist)SDF文件(标准延时格式)测试数据下载/编程文件PDF文件使用pdfFactoryPro试用版本创建的方便,本部门的设计统一采用VerilogHDL,但针对混合设计和混合仿真的趋势,所有开发人员也应能读懂VHDL。VerilogHDL的学习可参考[1][2]。2.1编程风格(CodingStyle)要求2.1.1文件(1)每个模块(module)一般应存在于单独的源文件中,FPGA厂家工具HDL网表(netlist)SDF文件(标准延时格式)逻辑仿真器FPGA基本单元仿真模型测试程序(testbench)PDF文件使用pdfFactoryPro试用版本创建通常源文件名与所包含模块名相同。(2)每个设计文件开头应包含如下注释内容:l年份及公司名称。l作者。l文件名。l所属项目。l顶层模块。l模块名称及其描述。l修改纪录。请参考标准示例程序[3]。2.1.2大小写(1)如无特别需要,模块名和信号名一律采用小写字母。(2)为醒目起见,常数(`define定义)/参数(parameter定义)采用大写字母。2.1.3标识符(1)标识符采用传统C语言的命名方法,即在单词之间以“_”分开,如:max_delay、data_size等等。(2)采用有意义的、能反映对象特征、作用和性质的单词命名标识符,以增强程序的可读性。(3)为避免标识符过于冗长,对较长单词的应当采用适当的缩写形式,如用‘buff’代替‘buffer’,‘ena’代替‘enable’,‘addr’代替‘address’等。PDF文件使用pdfFactoryPro试用版本创建参数化设计为了源代码的可读性和可移植性起见,不要在程序中直接写特定数值,尽可能采用`define语句或paramater语句定义常数或参数。2.1.5空行和空格(1)适当地在代码的不同部分中插入空行,避免因程序拥挤不利阅读。(2)在表达式中插入空格,避免代码拥挤,包括:赋值符号两边要有空格;双目运算符两边要有空格;单目运算符和操作数之间可没有空格,示例如下:a=b;c=a+b;if(a==b)then...a=~a&c;2.1.6对齐和缩进(1)不要使用连续的空格来进行语句的对齐。(2)采用制表符Tab对语句对齐和缩进,Tab键采用4个字符宽度,可在编辑器中设置。(3)各种嵌套语句尤其是if...else语句,必须严格的逐层缩进对齐。PDF文件使用pdfFactoryPro试用版本创建注释必须加入详细
本文标题:华为FPGA设计流程指南
链接地址:https://www.777doc.com/doc-648788 .html