一种自动编译生成不同功能的FPGA工程的方法技术

技术编号:33287030 阅读:17 留言:0更新日期:2022-04-30 23:56
本发明专利技术公开了一种自动编译生成不同功能的FPGA工程的方法。该方法包括:编写第一脚本文件,用于描述指令和设置全局参数;其中,第一脚本文件描述的指令用于添加功能模块的设计文件和约束文件;编写第二脚本文件,用于声明配置参数和描述指令;其中,第二脚本文件描述的指令用于调用第一脚本文件;运行第二脚本文件,生成FPGA工程。本发明专利技术能有效解决利用多个FPGA工程进行大型芯片测试的过程中,存在一个或多个FPGA工程可能更新不同步的问题,且显著减少了设计的工作量,通用性强,节省了验证时间。间。间。

【技术实现步骤摘要】
一种自动编译生成不同功能的FPGA工程的方法


[0001]本专利技术属于芯片测试
,更具体地,涉及一种自动编译生成不同功能的FPGA工程的方法。

技术介绍

[0002]芯片,本质上是将数以亿计的晶体管高度集成的一个拇指大小面积的物理电路。在芯片的开发制造过程中涉及到数字部分设计、模拟部分设计、集成、生成掩膜、光刻、粒子注入、蚀刻等工程。设计工作量大、周期长、过程复杂,单次试制至少百万美元起,其成本、周期、工作量决定了我们在芯片设计过程中要高度严谨,因此,需要通过各种测试手段保证各个过程设计满足预期。
[0003]目前测试芯片的手段主要有设计软件进行虚拟仿真、通过现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)芯片进行半实物仿真、通过硬件仿真平台进行接近实际测试。其中,设计软件进行虚拟仿真主要是通过建模,给激励进行仿真,只能用于一些功能开发的正确性作初步测试,无法模拟实际芯片的工作状态,例如受电源波动、电磁干扰、实际电路元件特性。硬件仿真平台进行测试接近芯片实际状态,仿真速度较快,但是硬件仿真平台的成本都在百万以上,同时仅能进行1~2个芯片的仿真,具有很大的局限性。
[0004]FPGA芯片是一种半定制芯片,通过软件编程对其内部电路进行搭建,形成自己的专用电路。设计芯片本质上就是设计自己的专用电路,在芯片正式生产前,可以运用FPGA芯片测试自己的设计是否满足客户需求,获得芯片在实际使用环境中表现。FPGA芯片凭借其可以多次编程,成本低,可以一定程度反映芯片真实表现,在芯片设计中获得大量应用。
[0005]FPGA存在可以编程的逻辑资源,资源越多,成本呈指数上升。为进一步降低测试成本,常采用多片逻辑资源较少的FPGA芯片协同工作,实现对大型芯片设计的测试。例如,对一些大型的SOC集成电路在FPGA上进行原型验证时,会对该大型设计进行分割设计,形成多个FPGA工程,协同测试。虽然通过分割可以利用多FPGA芯片实现大型芯片的测试,但是切割后的多个FPGA工程之间存在相互关联,导致单个FPGA工程的更新迭代会影响其他FPGA的功能,版本管控困难,容易出问题。例如:一个集成电路设计里面包含公用功能模块和其他功能模块、约束模块,该集成电路被切分成3个FPGA工程实现。如公用功能模块的设计代码有更新,则需要同步更新另外两个FPGA工程,否则存在版本出错风险。这无形增加了工作量,降低测试效率。

技术实现思路

[0006]针对现有技术的以上缺陷或改进需求,本专利技术提供了一种自动编译生成不同功能的FPGA工程的方法,能有效解决利用多个FPGA工程进行大型芯片测试的过程中,存在一个或多个FPGA工程可能更新不同步的问题,且显著减少了设计的工作量,通用性强,节省了验证时间。
[0007]为实现上述目的,按照本专利技术的一个方面,提供了一种自动编译生成FPGA工程的
方法,其特征在于,包括:编写第一脚本文件,用于描述指令和设置全局参数;其中,第一脚本文件描述的指令用于添加功能模块的设计文件和约束文件;编写第二脚本文件,用于声明配置参数和描述指令;其中,第二脚本文件描述的指令用于调用第一脚本文件;运行第二脚本文件,生成FPGA工程。
[0008]在一些实施方式中,该方法还包括编写功能模块的设计文件和约束文件。
[0009]在一些实施方式中,编写功能模块的设计文件包括用程序语言实现功能模块的功能;编写功能模块的约束文件包括描述逻辑设计的约束。
[0010]在一些实施方式中,编写功能模块的设计文件还包括采用条件编译语句实例化各个功能模块;逻辑设计的约束包括物理位置约束、电气特性约束和时序约束中的至少一种约束。
[0011]在一些实施方式中,第一脚本文件描述的指令包括第一指令、第二指令和第三指令;第一指令用于搭建工程和设定器件目标,第二指令用于添加功能模块的设计文件、约束文件和库文件;第三指令用于综合和实现。
[0012]在一些实施方式中,第二脚本文件声明的配置参数与功能模块对应,运行第二脚本文件生成的FPGA工程与功能模块对应。
[0013]在一些实施方式中,配置参数包括第一配置参数和第二配置参数,功能模块包括第一功能模块和第二功能模块,FPGA工程包括第一FPGA工程和第二FPGA工程;第一配置参数和第一FPGA工程与第一功能模块对应,第二配置参数和第二FPGA工程与第二功能模块对应;运行第二脚本文件,输入第一配置参数,调用第一功能模块的设计文件和约束文件,生成第一FPGA工程;运行第二脚本文件,输入第二配置参数,调用第二功能模块的设计文件和约束文件,生成第二FPGA工程。
[0014]在一些实施方式中,第一脚本文件设置的全局参数包括第二脚本文件声明的配置参数。
[0015]在一些实施方式中,第一脚本文件为TCL脚本,第二脚本文件为makefile脚本。
[0016]根据本专利技术的另一方面,提供了一种芯片测试方法,包括用上述方法生成多个FPGA工程;采用多个FPGA工程协同测试。
[0017]总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有以下有益效果:采用makefile文本,用于输入配置参数,采用TCL文本,自动加载设计文件和约束文件生成FPGA工程。在实际测试过程中,仅需要更改makefile中的配置参数,替换成迭代后的文件,即可自动生成多个FPGA工程。也就是说,仅利用一个FPGA环境,改变输入的配置参数,就能自动生成多个具备相关不同功能的FPGA工程,无需针对每个FPGA工程都创建一个FPGA环境,一方面减少了设计的工作量,通用性强,节省了验证时间;另一方面避免了多个工程未同步更新带来的风险。
附图说明
[0018]图1是本专利技术实施例的自动编译生成不同功能的FPGA工程的方法流程图;
[0019]图2是编写第一脚本文件的方法流程图。
具体实施方式
[0020]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。正如本领域技术人员可以认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
[0021]如图1所示,本专利技术实施例的自动编译生成不同功能的FPGA工程的方法包括:
[0022]步骤一:编写功能模块的设计文件和约束文件。
[0023]具体地,编写功能模块的设计文件包括用程序语言实现预定的功能(即功能模块的功能),得到功能模块的设计文件。在一些实施方式中,程序语言为verilog语言、VHDL语言或者systemverilog语言。在一些实施方式中,功能模块包括第一功能模块和第二功能模块。在一些实施方式中,功能模块包括第一功能模块、第二功能模块和第三功能模块。当然,还可以包括更多的功能模块,根据实际的测试需要确定。
...

【技术保护点】

【技术特征摘要】
1.一种自动编译生成FPGA工程的方法,其特征在于,包括:编写第一脚本文件,用于描述指令和设置全局参数;其中,第一脚本文件描述的指令用于添加功能模块的设计文件和约束文件;编写第二脚本文件,用于声明配置参数和描述指令;其中,第二脚本文件描述的指令用于调用第一脚本文件;运行第二脚本文件,生成FPGA工程。2.如权利要求1所述的自动编译生成FPGA工程的方法,其特征在于,还包括编写功能模块的设计文件和约束文件。3.如权利要求2所述的自动编译生成FPGA工程的方法,其特征在于,编写功能模块的设计文件包括用程序语言实现功能模块的功能;编写功能模块的约束文件包括描述逻辑设计的约束。4.如权利要求3所述的自动编译生成FPGA工程的方法,其特征在于,编写功能模块的设计文件还包括采用条件编译语句实例化各个功能模块;逻辑设计的约束包括物理位置约束、电气特性约束和时序约束中的至少一种约束。5.如权利要求1所述的自动编译生成FPGA工程的方法,其特征在于,第一脚本文件描述的指令包括第一指令、第二指令和第三指令;第一指令用于搭建工程和设定器件目标,第二指令用于添加功能模块的设计文件、约束文件和库文件;第三指令用于综合和实现。6.如权利要求1所述...

【专利技术属性】
技术研发人员:王晓霞谌彤
申请(专利权)人:芯动科技珠海有限公司
类型:发明
国别省市:

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

1