华为FPGA设计流程指南.docx
《华为FPGA设计流程指南.docx》由会员分享,可在线阅读,更多相关《华为FPGA设计流程指南.docx(22页珍藏版)》请在知海网上搜索。
FPGA设计流程指南序该部门承担的FPGA设计任务主要有两个功能:系统的原型实现和ASIC的原型验证。
1、该流程的目的是:l在于规范整个设计过程,实现开发的合理性、一致性和高效性。
我形成了一个良好的风格和完整的文件。
l实现不同FPGA厂商之间以及FPGA到ASIC的平滑移植。
l方便新员工快速掌握本部门FPGA的设计流程。
2、由于目前使用的FPGA器件主要是Altera,下面的例子也以Altera为例,工具组合为ModelSIM+LeonardoSpectrum/FPGACompilerii+Quartus,但原理和方法基本适用于其他厂商和工具。
3、目录基于HDL1的FPGA设计流程概述1设计流程图12实施关键步骤21功能模拟22逻辑综合23预模拟34布局和布线35后模拟(时间序列模拟)4VerilogHDL设计41编码风格要求41文件42案例53标识符54参数设计55空行和空格56对齐和缩进57附注58C语言参考资料59视觉设计方法62综合设计63设计目录6逻辑模拟61个试验台)72使用预编译库7逻辑综合81逻辑综合的一些原则81关于狮子座光谱81大规模设计的综合83必须注意工具8生成的警告信息2调用模块的黑盒方法8参考文献10修订记录10编号:时间:2021年X月X日这是一条通往书籍之山的道路,学习永无止境页码:第18页,共22页基于HDL的FPGA设计过程综述1设计流程图(设计定义(HDL实现逻辑模拟器(功能模拟逻辑合成器(逻辑综合逻辑模拟器(预模拟FPGA制造商工具(布局和布线(静态时间序列分析逻辑模拟器(后模拟(在系统测试中描述:l逻辑模拟器主要参考modelsim,Verilog-XL等。
4、l逻辑合成器主要参考LeonardoSpectrum,Synplify,FPGAExpress/FPGA编译器等。
5、LFPGA工厂工具参考Altera的Max+PlusII和QuartusII,Xilinx的Foundation、Alliance和ISE1等。
6、2实现的关键步骤1功能模拟RTL电码调用模块的行为模拟模型测试程序(试验台)测试数据逻辑模拟器描述:“调用模块行为仿真模型”是指RTL代码中引用的宏模块/IP,如Altera提供的LPM库中的乘法器、存储器等部件的行为模型。
7、2逻辑综合设定全面的目标和约束调用模块的黑盒接口RTL电码逻辑合成器HDL网表(网表)EDIF网表(网表)描述:引入“调用模块黑盒接口”是因为RTL代码调用了一些外部模块,但是这些外部模块无法合成或者不需要合成,而逻辑合成器需要其接口的定义来检查逻辑并保留这些模块的接口。
8、3预模拟逻辑合成器调用模块的行为模拟模型测试数据测试程序(试验台)HDL网表(网表)逻辑模拟器描述:一般来说,FPGA设计这一步可以跳过,但是可以用来调试有没有问题。
4布局和布线逻辑合成器设置布局和布线约束FPGA制造商工具EDIF网表(网表)调用模块的综合模型SDF文件(标准延迟格式)HDL网表(网表)下载/程序文件后5模拟(时间序列模拟)测试数据SDF文件(标准延迟格式)FPGA基本单元的仿真模型测试程序(试验台)FPGA制造商工具HDL网表(网表)逻辑模拟器VerilogHDL设计基于将来设计ASIC的方便性,本部门的设计采用VerilogHDL,但鉴于混合设计、混合仿真的趋势,所有开发人员也应该会看VHDL。
VerilogHDL的学习可以参考12。
1编程风格(CodingStyle)要求1个文件(一般来说,每个模块应该存在于一个单独的源文件中,通常与包含的模块同名。
(在每个设计文件的开头,应包括以下注释:l年份和公司名称。
l文件名。
l属于项目。
l顶部模块。
l模块名及其描述。
我修改了记录。
请参考标准样本程序3。
2例(如无特殊需要,模块名称和信号名称应采用小写字母。
(为了醒目,常量(definedefinition)/参数(parameterdefinition)用大写字母。
3标识符(标识符采用C语言的传统命名方式,即单词之间用“_”隔开,如max_delay、data_size等。
(使用有意义的词来命名能够反映对象的特征、功能和属性的标识符,以增强程序的可读性。
(为了避免冗长的标识符,对于较长的单词应该采用适当的缩写,例如用“buff”代替“buffer”,“ENA”代替“enable”,用“addr”代替“address”。
4参数化设计为了源代码的可读性和可移植性,不要在程序中直接写具体的值,尽可能使用define语句或paramater语句来定义常量或参数。
5空白行和空格(在代码的不同部分适当插入空行,避免因程序拥挤而不利阅读。
(在表达式中插入空格以避免代码拥挤,包括:赋值符号两边应该有空格;双目操作者两边要有空格;单目运算符和操作数之间不能有空格。
例子如下:ac如果(a=b)那么.a6对齐和缩进(不要用连续的空格来对齐语句。
(使用Tab对语句进行对齐和缩进,Tab键为4个字符宽,可以在编辑器中设置。
(各种嵌套语句,尤其是如果.else语句,必须严格逐层缩进对齐。
7条评论必须添加详细清晰的注释行,增强代码的可读性和可移植性,注释内容不得少于代码长度的30%。
8参考C语言的资料。
要形成良好的编程风格,有很多细节需要注意,可以参考参考文献4。
虽然是关于C语言的讨论,但是VerilogHDL和C语言中提到的很多原理非常相似,可以借鉴。
9视觉设计方法为了提高设计效率,适应协同设计,可以采用可视化的设计方法,MentorGrahpics的Renoir软件提供了非常好的设计模式。
2可以综合设计用HDL实现电路,设计者对具有综合风格的RTL描述的掌握,不仅会影响仿真和综合的一致性,而且是逻辑综合后电路可靠性和质量的最重要因素,应引起充分重视。
学习综合HDL请参考567。
学习设计的模块划分请参考8。
3设计目录采用合理的、组织良好的设计目录结构有助于提高设计的效率和可维护性。
建议采用如下所示的目录结构:(设计科学研究委员会(源代码)synchronizing同步(综合)模拟游戏(模拟)票面价值(布局和布线)(设计版本1ver2科学研究委员会(源代码)synchronizing同步(综合)模拟游戏(模拟)票面价值(布局和布线)科学研究委员会(源代码)synchronizing同步(综合)模拟游戏(模拟)票面价值(布局和布线)逻辑模拟考虑到性能和易用性,首选的逻辑模拟器是MentorGraphics的modelsim。
1个测试台(测试台)测试程序对设计功能和时间的验证有决定性的影响。
测试激励的完整性和真实性是关键,必须遵循以下原则:(获取测试激励输入和响应输出的时间应考虑功能模拟(无延迟)和时间模拟(有延迟)。
(对于循环次数较多的测试,为了提高效率,应尽可能使用程序语句来判断响应是否与标准结果一致,并给出成功或错误标记,而不是通过观察波形来判断。
(使用基于文件的测试是一种很好的方式,即通过matlab或spw等系统工具生成测试数据,测试程序读取生成激励,然后将响应结果写入文件,再交给上述工具进行处理或分析。
(模拟器支持几乎所有的VerilogHDL语法,而不仅仅是常用的RTL描述。
我们应该利用这一点使测试程序尽可能的简洁明了,并且尽量用task来描述冗长的测试程序。
2使用预编译库功能仿真和后期仿真需要一些模块的行为仿真模型和门级仿真模型,比如AlteraQuartus中的220model.v(LPM模块行为仿真模型)和apex20ke_atoms.v(20KE系列门级仿真模型)。
为了避免在不同的设计目录中多次编译这些模型,应该采用一次编译多次使用的方法。
具体方法如下(以20KE门级库为例):在工作目录下创建一个名为apex20ke的新库,并将apex20ke_atoms.v编译到其中。
在图形界面的“加载设计”对话框中加载仿真设计时,在Verilog标签下指定预编译库的完整路径。
(见下图)逻辑综合目前可用的FPGA综合工具有MentorGraphics的LeonardoSpectrum、Synplicity的Synplify和Synopsys的FPGACompilerII/FPGAExpress。
LeonardoSpectrum已经成为我们首选的合成器,因为它具有最佳的性能和速度。
FPGACompilerII/FPGAExpress也可以使用,因为它与设计编译器代码兼容。
参见参考文献91逻辑综合的一些原则HDL代码合成后电路的好坏主要取决于三个方面:RTL实现是否合理,了解厂商器件的特性,掌握合成器。
参考文献10有更全面的论述。
?1关于狮子座光谱LeonardoSpectrum的综合控制能力很强,但使用起来也略显复杂,使用前需要尽可能的熟悉。
- 下载必读:
1、word格式文档无特别注明外均可编辑修改;预览文档经过压缩,下载后原文更清晰!
2、纯PPT格式课件,可能不包含音视频文件,无法播放。请谨慎下单,否则后果自负。
3、试题类资料,若没标明(含答案),则可能不含答案。对于标明含答案的试题,其主观题也可能无答案。请谨慎下单,否则后果自负。- 版权声明:
该资料为 【上传人(卖家):盘川A】主动上传,所获收益归该上传人。本站对所上传内容,不做编辑和修改!知海网作为网络服务提供商,仅对该作品提供存储保护!我们不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华为 fpga 设计 流程 指南
- 本文标题:
华为FPGA设计流程指南.docx
- 链接地址:
https://www.zhwenku.com/edit/39264.html