在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1563|回复: 1

[原创] Xilinx Artix-7 FPGA快速入门、技巧与实例连载6——FPGA开发流程

[复制链接]
发表于 2019-4-1 17:52:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
Xilinx Artix-7 FPGA快速入门、技巧与实例连载6——FPGA开发流程
更多资料共享
       链接:https://share.weiyun.com/53UnQas
1.jpg
如图1.32所示,这是一个基于FPGA开发工具的开发流程图。当然了,在此之前,从FPGA项目的提上议程开始,设计者需要进行FPGA功能的需求分析,然后进行模块的划分,比较复杂和庞大的设计,则会通过模块划分把工作交给一个团队的多人协作完成。各个模块的具体任务和功能划分完毕(通常各个模块间的通信和接口方式也同时被确定),则可以着手进行详细设计,其各个步骤包括设计输入、设计综合、约束输入、设计实现、分析实现结果(查看工具给出的各种报告结果)。为了保证设计达到预期要求,设计仿真以及设计优化则穿插其间。在EDA工具上验证无误后,则可以生成下载配置文件烧录到实际器件中进行板级的调试工作。从图中的箭头示意不难看出,设计的迭代性是FPGA开发过程中的一个重要特点,这就要求设计者从一开始就要非常认真细致,否则后续的很多工作量可能就是不断的返工。
2.jpg
图1.32 FPGA开发流程
    基于Xilinx的Vivado开发工具,我们对以上开发流程所涉及的各个步骤做简要的说明。
设计输入
    设计输入阶段,设计者需要创建FPGA工程,并且创建或添加设计源文件到工程中。FPGA工程包含了各种不同类型的源文件和设计模块,比如HDL文件、EDIF或NGC网表文件、原理图、IP核模块、嵌入式处理器以及数字信号处理器模块等。
设计综合
    设计综合阶段,FPGA开发工具的综合引擎将编译整个设计,并将HDL源文件转译为特定结构的设计网表。Vivado设计工具内置Synthesis综合功能,也支持第三方综合工具,如Synplify, SynplifyPro和Precision等软件工具的使用。
约束输入
         约束输入阶段,设计者可以指定时序、布局布线或者其它的设计要求。Vivado工具支持专用的编辑器实现时序约束、I/O引脚约束和布局布线约束。
设计仿真
    在整个开发过程的任意时刻,设计者都可以使用仿真工具对FPGA工程进行功能验证,比如Vivado内置的仿真器或者第三方工具ModelSim仿真器。
设计实现
         设计综合之后,接着就需要设计实现,将逻辑设计进一步转译为可以被下载烧录到目标FPGA器件中的特定物理文件格式。使用Vivado的工程导航窗口中支持的目标和策略设置属性,可以控制设计实现以及结果优化。为了更快的达到设计目标,可以使用SmartXplorer进行不同的处理策略实现,达到多次的自动实现处理以完成设计目标。
分析实现结果
         完成设计实现后,必须对设计约束、器件资源占用率、实现结果以及功耗等设计性能进行分析。既可以查看静态报告,也可以使用Vivado中内置的工具动态的查看设计综合实现的结果。对于时序结果和功耗结果,Vivado内置工具中都可以进行查看。此外,在系统调试时也可以使用在线逻辑分析仪ILA。
设计优化
      基于对设计结果的分析,设计者可以对设计源文件、编译属性或设计约束进行修改,然后重新综合、实现以达到设计最优化。
板级调试
         在生成下载配置文件后,设计者便可以对FPGA器件进行调试。在此过程中,既可以实现下载配置文件的快速在线烧录进行实时调试验证,也可以实现产品固化烧录使其可以离线运行。
当然了,对于没有实际工程经验的初学者而言,这个流程图可能不是那么容易理解。不过没有关系,我们会简化这个过程,从实际操作角度,以一个比较简化的顺序的方式来理解这个流程。如图1.33所示,从大的方面来看,FPGA开发流程不过是三个阶段,第一个阶段是概念阶段,或者也可以称之为架构阶段,这个阶段的任务是项目前期的立项准备,如需求的定义和分析、各个设计模块的划分;第二个阶段是设计实现阶段,这个阶段包括编写RTL代码、并对其进行初步的功能验证、逻辑综合和布局布线、时序验证,这一阶段是详细设计阶段;第三个阶段是FPGA器件实现,除了器件烧录和板级调试外,其实这个阶段也应该包括第二个阶段的布局布线和时序验证,因为这两个步骤都是和FPGA器件紧密相关的。我们这么粗略的三个阶段划分并没有把FPGA整个设计流程完全的孤立开来,恰恰相反,从我们的阶段划分中,我们也看到FPGA设计的各个环节是紧密衔接、相互影响的。
3.jpg
图1.33 简化的FPGA开发流程
更多资料共享
       链接:https://share.weiyun.com/53UnQas

发表于 2019-10-15 00:17:22 | 显示全部楼层
a good effort, thank you
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-2-23 03:40 , Processed in 0.015670 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表