FPGA工程过程管理优化设计方法、系统及存储介质技术方案

技术编号:17363451 阅读:57 留言:0更新日期:2018-02-28 13:21
本发明专利技术公开了一种基于Eclipse CDT的FPGA工程过程管理优化设计方法、系统及存储介质,在Eclipse CDT提供的基础扩展点上针对FPGA工程编写插件,通过检索工程目录,自动生成编译FPGA bit文件的tcl脚本,并以命令行的方式调用Vivado的相关功能,完成bit文件的生成。实现了FPGA工程的建立、编译和烧写功能。

FPGA engineering process management optimization design method, system and storage medium

The invention discloses a FPGA engineering process management optimization design method, system and storage medium Eclipse based on CDT, in Eclipse CDT based on extension points for FPGA project prepared by searching the plug-in project directory, the compiler automatically generates TCL FPGA foot bit file, and the relevant function calls to the command line the way of Vivado, complete bit file generation. The building, compiling and burning and writing functions of the FPGA project are realized.

【技术实现步骤摘要】
FPGA工程过程管理优化设计方法、系统及存储介质
本专利技术涉及嵌入式软件集成开发
,尤其涉及一种基于EclipseCDT的FPGA工程过程管理优化设计方法、系统及存储介质。
技术介绍
FPGA即现场可编程门阵列,它主要使用硬件描述语言(Verilog或VHDL)来完成电路设计。在使用Xilinx公司的Vavido软件实现相关的操作的过程中发现,使用Vivado图形化界面进行FPGA开发,需要进行繁琐的配置,过程复杂,容易出错且对新手不友好。同时,如果已有外部硬件描述文件,无法方便快捷的生成bit文件。目前,尚未有一款良好的开源项目能够支持FPGA的编译工作。
技术实现思路
本专利技术的主要目的在于提供一种基于EclipseCDT的FPGA工程过程管理优化设计方法、系统及存储介质,在Vavido的基础上实现FPGA工程的建立、编译和烧写功能,方便准确节省工作时间,提高效率。为实现上述目的,本专利技术提供的一种基于EclipseCDT的FPGA工程过程管理优化设计方法,包括以下步骤:S1:建立FPGA工程;S2:设计实现一个生成FPGAbit文件的生成功能按钮;S3:在plugin.xml中配置该按钮的action信息,重写按钮的点击事件,在所述点击事件中触发tcl脚本的生成以及bit文件的生成;S4:设计tcl标准模板,遍历工程目录,根据遍历找到的文件以及标准模板进行填充,采用模板填充技术,自动生成tcl脚本;S5:若执行tcl脚本出现错误,则将报错信息展示给用户,由用户根据报错信息,修改工程文件或者修改tcl脚本;S6:根据此tcl脚本文件,执行“vivado-modebatch-sourcebuild.tcl”,生成bit文件;S7:对FPGA工程类型进行判断;S8:在执行tcl脚本的最后步骤完成之后执行一次刷新工作空间的操作,以使bit文件显示在Eclipse工程目录下。其中,在S1中建立FPGA工程的具体步骤如下:(1)根据用户选择的产品名,从已集成的硬件配置数据中获取该硬件开发板的FPGA芯片配置信息,调用ResourcesPlugin.getWorkspace().getRoot().getProject(projectName)函数新建工程对象project;(2)通过ResourcesPlugin.getWorkspace()函数获取待创建工程所在的工作区间为workpace;(3)通过workspace.newProjectDescription(projectName)函数新建待创建工程的描述信息description,参数为工程名;(4)通过对description的设置,具体通过description.setLocation(projectLocation)设置工程路径,参数为创建后工程所在的绝对路径;(5)通过调用函数project.create(description,null)创建出工程,判断该工程对象是否打开,如果没有打开,则通过project.open(monitor)打开该工程;(6)创建FPAG所需的文件夹,并在对应的文件夹下添入相应的源代码文件;(7)保存工程配置信息。其中,所述文件夹包括verilog、xdc、bit、buildTcl、edif、xci文件夹。其中,在S4中所述的tcl脚本生成步骤包括:(1)采用深度优先搜索算法遍历工程的工程目录;(2)遍历到文件时,根据文件的后缀名,判断文件的类型,填充至模板的相应位置;(3)文件遍历完成后,根据该FPGA工程创建时所选择的芯片种类,设置综合设计中的相关综合参数;之后填充优化设计、布局、布线指令,在tcl脚本的最后加上bit文件的指令。其中,所述遍历到文件时,根据文件的后缀名,判断文件的类型,填充至模板的相应位置的步骤中包括:read_vhdl–library是添加vhdl库文件;read_vhdl是添加vhdl文件;read_verilog是添加verilog文件;read_xdc是添加xdc文件;read_edif是添加网表文件;read_ip是添加xciIP文件。其中,在S6中使用java的Process类来执行tcl脚本,具体步骤包括:(1)通过ProcessBuilder()函数新建一个builder对象,参数为要执行的第三方可执行程序的绝对路径;(2)通过builder.start()执行该第三方程序,获得一个Process进程对象process,process即为打开该第三方程序后的进程;(3)通过process.getOutputStream()获得该进程的输入流,通过该输入流执行相应的指令;(4)使用WorkspaceJob创建一个新的线程,用来监听process进程的输出流;(5)当监听线程开始执行之后,监听第三方可执行程序的输出流;(6)当标准输出流和错误输出流都为空时,关闭这两个输出流,同时刷新工程所在的工作区间。其中,所述监听第三方可执行程序的输出流的步骤中包括:使用一个while循环,循环的终止条件为:标准输出流和错误输出流均为空。其中,所述方法还包括:重写所述按钮的点击事件,具体为重写run()函数,包括:(1)检索工程目录,如果已有bit文件,提示用户是否重新生成;若重新生成则执行第(2)步操作;(2)检索工程目录,如果已有生成bit文件的tcl脚本,则执行“vivado-modebatch-sourcebuild.tcl”,根据此脚本生成bit文件;如果没有tcl脚本,则递归遍历整个工程,根据工程所包含的文件,自动生成tcl脚本并执行。本专利技术还提出一种基于EclipseCDT的FPGA工程过程管理优化设计系统,其特征在于,所述系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的方法的步骤。本专利技术还提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。与现有技术相比,本专利技术的有益效果是:(1)免去了繁琐的图形化配置;(2)避免了当文件被外部硬件扫描时,无法生成bit文件的问题;(3)后台采用tcl交互式命令行的模式启动Vivado,调用Vivado的相关功能,增加了可靠性和安全性;(4)实现了FPGA工程的建立、编译和烧写功能的一步式操作,方便准确节省大量的工作时间,提高了效率。附图说明图1是本专利技术基于EclipseCDT的FPGA工程过程管理优化设计方法的流程示意图;图2是本专利技术FPGA工程建立函数流程图;图3是本专利技术tcl脚本及bit文件生成函数流程图;图4是本专利技术tcl脚本生成函数流程图;图5是本专利技术执行tcl脚本函数流程图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。为了使本专利技术的技术方案更加清楚、明了,下面将结合附图作进一步详述。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。由于现有技术中,尚未有一款良好的开源项目能够支持FPGA的编译工作。故本专利技术在Vavido的基础上进行研究,研究其实现机制。本专利技术考虑到,Vivado软件的核心是一个脚本解释器,本文档来自技高网...
FPGA工程过程管理优化设计方法、系统及存储介质

【技术保护点】
一种基于Eclipse CDT的FPGA工程过程管理优化设计方法,其特征在于,包括以下步骤:S1:建立FPGA工程;S2:设计实现一个生成FPGA bit文件的生成功能按钮;S3:在plugin.xml中配置该按钮的action信息,重写按钮的点击事件,在所述点击事件中触发tcl脚本的生成以及bit文件的生成;S4:设计tcl标准模板,遍历工程目录,根据遍历找到的文件以及标准模板进行填充,采用模板填充技术,自动生成tcl脚本;S5:若执行tcl脚本出现错误,则将报错信息展示给用户,由用户根据报错信息,修改工程文件或者修改tcl脚本;S6:根据此tcl脚本文件,执行“vivado‑mode batch‑source build.tcl”,生成bit文件;S7:对FPGA工程类型进行判断;S8:在执行tcl脚本的最后步骤完成之后执行一次刷新工作空间的操作,以使bit文件显示在Eclipse工程目录下。

【技术特征摘要】
1.一种基于EclipseCDT的FPGA工程过程管理优化设计方法,其特征在于,包括以下步骤:S1:建立FPGA工程;S2:设计实现一个生成FPGAbit文件的生成功能按钮;S3:在plugin.xml中配置该按钮的action信息,重写按钮的点击事件,在所述点击事件中触发tcl脚本的生成以及bit文件的生成;S4:设计tcl标准模板,遍历工程目录,根据遍历找到的文件以及标准模板进行填充,采用模板填充技术,自动生成tcl脚本;S5:若执行tcl脚本出现错误,则将报错信息展示给用户,由用户根据报错信息,修改工程文件或者修改tcl脚本;S6:根据此tcl脚本文件,执行“vivado-modebatch-sourcebuild.tcl”,生成bit文件;S7:对FPGA工程类型进行判断;S8:在执行tcl脚本的最后步骤完成之后执行一次刷新工作空间的操作,以使bit文件显示在Eclipse工程目录下。2.根据权利要求1所述的基于EclipseCDT的FPGA工程过程管理优化设计方法,其特征在于,在S1中建立FPGA工程的具体步骤如下:(1)根据用户选择的产品名,从已集成的硬件配置数据中获取该硬件开发板的FPGA芯片配置信息,调用ResourcesPlugin.getWorkspace().getRoot().getProject(projectName)函数新建工程对象project;(2)通过ResourcesPlugin.getWorkspace()函数获取待创建工程所在的工作区间为workpace;(3)通过workspace.newProjectDescription(projectName)函数新建待创建工程的描述信息description,参数为工程名;(4)通过对description的设置,具体通过description.setLocation(projectLocation)设置工程路径,参数为创建后工程所在的绝对路径;(5)通过调用函数project.create(description,null)创建出工程,判断该工程对象是否打开,如果没有打开,则通过project.open(monitor)打开该工程;(6)创建FPAG所需的文件夹,并在对应的文件夹下添入相应的源代码文件;(7)保存工程配置信息。3.根据权利要求2所述的基于EclipseCDT的FPGA工程过程管理优化设计方法,其特征在于,所述文件夹包括verilog、xdc、bit、buildTcl、edif、xci文件夹。4.根据权利要求1所述的基于EclipseCDT的FPGA工程过程管理优化设计方法,其特征在于,在S4中所述的tcl脚本生成步骤包括:(1)采用深度优先搜索算法遍历工程的工程目录;(2)遍历到文件时,根据文件的后缀名,判断文件的类型,填充至模板的相应位置;(3)文件遍历完成后,根据该FPGA工程创建时所选择的芯...

【专利技术属性】
技术研发人员:吴翔虎曲明成陶永超刘全胜
申请(专利权)人:深圳航天科技创新研究院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1