一种基于脚本的芯片原型验证平台的搭建方法与流程

文档序号:29621479发布日期:2022-04-13 13:25阅读:341来源:国知局
一种基于脚本的芯片原型验证平台的搭建方法与流程

1.本发明属于芯片技术领域,尤其涉及一种基于脚本的芯片原型验证平台的搭建方法。


背景技术:

2.芯片原型验证技术是芯片设计及制造环节中涉及并使用的一项必要技术手段,是用于芯片流片前检验芯片的功能、接口等于预期设计效果是否一致的必要验证流程。众所周知,随着芯片的制程工艺跟随摩尔定律不断提升,芯片一次流片的成本越来越高昂,若一次流片不成功,则芯片设计公司将面临巨大的经济压力,甚至威胁公司的正常运营,所以绝大部分芯片设计公司在自己的芯片设计流片前,通常会采取fpga原型验证的方式,将自己的的设计在fpga(现场可编程门阵列,field programmable gate array)平台上进行移植,经过eda综合(synthesis)、布局布线(place&route)后,芯片设计可以直接运行在fpga芯片内,以实现与芯片设计几乎相同的功能、接口及性能。由于fpga可现场编程、可多次擦写的特性,芯片设计公司可以对自己的设计进行反复的修改、实现及验证,直至达到与设计预期一致的效果及标准。
3.在涉及到图像处理芯片,尤其是isp(image signal processor)等芯片的原型验证时,往往会在一个fpga平台上适配并验证不同sensor输入的图像,以验证isp芯片在适配不同型号sensor时的图像处理能力和效果。此外,随着图像处理类芯片越来越向soc的方向发展,一颗图像处理芯片又包含了越来越丰富的外设接口,除了i2c,uart,jtag等等常规接口外,有些芯片为适配不同的市场需求及应用,又同时或至少包含usb、ethernet、ahd、hdmi等等复杂数据接口中的一个或几个,这就要求在对这类芯片进行原型验证时,可能要大家含有不同外设的fpga验证平台,甚至由于ddr4或mipi接口的需求,需要将芯片设计同时分别移植到不同品牌不同规格的fpga平台上。以上这些都对fpga验证平台的搭建方法提出了挑战,如果针对不同的外设使用不同的fpga验证平台,无疑成倍增加了fpga原型验证工程师的工作量,有违芯片原型验证快速反应的原则,并且增加了出错的几率,不利于提高人机可靠性,甚至对将来芯片的流片造成严重影响。
4.另外,在传统的芯片设计领域,芯片设计工作往往是在linux系统上进行,在linux环境下,fpga开发中常用的eda工具如synplify,vivado等的图形化界面(gui)操作不够便捷,理想的操作是通过脚本来驱动eda工具的工作。同时,脚本可以用来灵活配置eda工具的设置,以此可以实现使用不同脚本命令来使设计针对不同平台进行移植、编译、综合、布局布线等步骤。
5.综上所述,基于脚本搭建出通用的fpga验证平台来适配不同的senor及丰富的外设接口,对图像处理类soc芯片的设计及流片制造至关重要,是这类芯片设计公司fpga原型验证工程师需要解决的重要问题。


技术实现要素:

6.本发明实施例提供一种基于脚本的芯片原型验证平台的搭建方法,旨在解决在针对不同的外设使用不同的fpga验证平台时,成倍增加了fpga原型验证工程师的工作量,有违芯片原型验证快速反应的原则,并且增加了出错的几率,不利于提高人机可靠性,甚至对将来芯片的流片造成严重影响的问题。
7.本发明实施例是这样实现的,一种基于脚本的芯片原型验证平台的搭建方法,包括:
8.s1:首先基于一个tcl脚本来启动make流程,该脚本为mkfile脚本;
9.s2:在mkfile脚本在运行时,输入此次所要搭建的fpga验证平台使用何种fpga平台(fpga platform)、使用包含何种外设的data boar以及此次将要适配的sensor型号;
10.s3:由mkfile脚本根据此三项重要参数来生成fpga原型验证平台;
11.s4:最终生成fpga二进制烧写文件bitfile,将此文件烧写进对应的fpga平台后,即可得到实物的fpga原型验证平台。
12.作为本发明的一种优选方案,所述mkfile脚本需要引用两个子脚本,其中一个定义为define.tcl,主要用于定义fpga原型验证平台所要验证的芯片设计的顶层(top-level),以及fpga原型验证平台所要使用的fpga器件类型、所属厂商的器件族信息。
13.作为本发明的又一种优选方案,所述define.tcl脚本还要规定fpga eda工具生成验证平台时的fpga工程的top,此fpga工程的设计输入方式(input mode),以及fpga工程的流程模式(flow mode)。
14.作为本发明的又一种优选方案,所述define.tcl子脚本中,定义的设计顶层、fpga器件类型、fpga芯片信息、fpga工程top、工程输入方式、工程flow mode等参数信息均为固定值不可选。
15.作为本发明的又一种优选方案,所述define.tcl脚本设置有多个,且define.tcl脚本命名不同,且不同的define.tcl脚本用以分别对应不同的芯片设计项目和不同的fpga平台。
16.作为本发明的又一种优选方案,mkfile引用的另一个子脚本在本技术中定义为rsmk.tcl,此脚本为驱动整个原型验证平台生成的主要脚本。
17.作为本发明的又一种优选方案,所述rsmk.tcl脚本可从mkfile脚本的传参获取所要生成的fpga原型验证平台的fpga实现平台信息、外设系统组成信息以及所适配的sensor图像输入信息。
18.作为本发明的又一种优选方案,所述rsmk.tcl脚本可生成fpga工程文件夹变量、约束文件变量等变量,对于不同的传参参数,可以在脚本内部利用不同的宏定义来生成不同的参数变量。
19.本发明的有益效果:基于tcl脚本mkfile及其调用的define.tcl及rsmk.tcl脚本,可以将不同参数传递进整个fpga原型验证平台的编译、综合、布局布线的流程中,以达到同样的芯片设计可以灵活的通过脚本参数或命令选择不同的fpga平台及fpga器件来实现,可以通过脚本调用的文件链表(flist.f)来为fpga原型验证平台选择所要编译的平台外设接口,并且通过脚本所生成的参数变量所对应的约束文件(xdc file)来为fpga原型验证平台选择不同的管脚map约束,以达到适配不同sensor输入的目的;且基于这种fpga原型验证平
台的搭建方法,也可快速的适配不同的芯片设计,为不同的设计快速部署fpga原型的验证方案,快速灵活地生成不同芯片设计所需的原型验证平台。
附图说明
20.图1是一种基于脚本的芯片原型验证平台的搭建方法的原理框图;
21.图2是一种基于脚本的芯片原型验证平台的搭建方法的实施例框图一;
22.图3是一种基于脚本的芯片原型验证平台的搭建方法的实施例框图二。
具体实施方式
23.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
24.本发明能够可以有效地、灵活的、快速的搭建针对不同需求的fpga原型验证平台,大大减少了芯片设计公司原型验证工程师的工作量。
25.实施例一
26.请参阅图1,一种基于脚本的芯片原型验证平台的搭建方法的原理框图。
27.一种基于脚本的芯片原型验证平台的搭建方法,包括:
28.s1:首先基于一个tcl脚本来启动make流程,该脚本为mkfile脚本;
29.s2:在mkfile脚本在运行时,输入此次所要搭建的fpga验证平台使用何种fpga平台(fpga platform)、使用包含何种外设的data boar以及此次将要适配的sensor型号;
30.s3:由mkfile脚本根据此三项重要参数来生成fpga原型验证平台;
31.s4:最终生成fpga二进制烧写文件bitfile,将此文件烧写进对应的fpga平台后,即可得到实物的fpga原型验证平台。
32.所述mkfile脚本需要引用两个子脚本,其中一个定义为define.tcl,主要用于定义fpga原型验证平台所要验证的芯片设计的顶层(top-level),以及fpga原型验证平台所要使用的fpga器件类型、所属厂商的器件族信息。
33.所述脚本还要规定fpga eda工具生成验证平台时的fpga工程的top,此fpga工程的设计输入方式(input mode),以及fpga工程的流程模式(flow mode)。
34.所述子脚本中,定义的设计顶层、fpga器件类型、fpga芯片信息、fpga工程top、工程输入方式、工程flow mode等参数信息均为固定值不可选。
35.实施例二
36.请参阅图2-3,图2是一种基于脚本的芯片原型验证平台的搭建方法的实施例框图一,图3是一种基于脚本的芯片原型验证平台的搭建方法的实施例框图二。
37.rsmk.tcl脚本的描述及脚本运行流程如下:
38.mkfile引用的另一个子脚本在本技术中定义为rsmk.tcl,此脚本为驱动整个原型验证平台生成的主要脚本。首先此子脚本需要利用mkfile脚本的传参来获取所要生成的fpga原型验证平台的fpga实现平台信息、外设系统组成信息以及所适配的sensor图像输入信息。利用此信息,rsmk.tcl脚本生成fpga工程文件夹变量、约束文件变量等变量,对于不同的传参参数,可以在脚本内部利用不同的宏定义来生成不同的参数变量,这样就实现了
fpga平台、外设选择、适配不同sensor的灵活搭配。在定义好参数变量信息后,脚本开始按流程调用各个eda工具的tcl命令,
39.首先脚本要根据不同的fpga平台参数变量信息,来调用tcl命令来读取fpga工程所要使用的fpga ip,这些ip是对应不同fpga厂商的,而且同一厂商的ip,由于fpga器件的不同,所要选取的fpga ip也各不相同。
40.然后,脚本根据不同的流程需要,开始调用eda工具的tcl命令,一般的fpga原型验证平台搭建,通常需要综合和布局布线这两个基本步骤,故脚本按照普通流程,先调用综合工具的命令,在本技术中,我们定义综合流程的脚本命令为”synplify”,以此命令来调用synopsys的综合工具synplify_premier。synplify脚本命令下,又调用了不同的下级脚本命令,本技术中首先会调用dirs脚本命令来rsmk.tcl生成synplify所需要的文件目录,然后调用prepare_fpga脚本子命令来设置synplify综合所需的各项宏参数,如project、rm_compile_noscan、rm_dft_const、rm_core_top等等,设置完成后调用本技术中的perl脚本filelist_conv_tcl.pl来将此时fpga所选择的设计对应的外设和模块系统的设计,通过flist.f文件链表读入,并转换成可执行的tcl命令,并将综合所需参数拷贝至synplify工程文件夹,供eda工具读取。synplify脚本命令的最后一步即是在上面子脚本调用所生成的环境及参数下,调用tcl命令来运行synplify_premier:synplify_premier-shell《project_dir/synplify.prj。
41.综合结束后,rsmk.tcl根据普通流程,通过vivado脚本命令来调用vivado工具启动布局布线流程(注,本技术中只涉及了xilinx一家fpga厂商的fpga平台,故本技术的布局布线描述中只说明了xilinx的eda工具)。首先,vivado命令需要check此时参数设置下的fpga平台参数、外设及系统参数以及sensor适配参数所对应的约束文件是否存在,vivado工具需要相应的约束文件才能相应的产生此配置下的fpga bitfile烧录文件。约束文件check完成后,vivado脚本命令调用perl脚本文件implement_tcl_gen.pl将之前脚本设置的参数转换成vivado工具能够识别的tcl配置命令,最终运行vivado开始布局布线流程并在时序收敛、约束正确的情况线产生*.bit文件,可以烧录到fpga工程生成时参数所对应的fpga平台中。在perl脚本文件implement_tcl_gen.pl中,生成fpga原型验证平台的fpga工程对应的设计top-level、fpga器件型号及器件族、fpga工程约束文件等均是通过传参可选的,可以根据上面提到的define.tcl脚本中的设置,来相应的选取工程运行的fpga平台、fpga器件型号、fpga工程的输入方式是vm还是edif、fpga工程在vivado运行时的flow mode是standard还是incremental等,从而实现本技术中所说的可以适配多种sensor输入,多种外设配置及多种fpga平台。
42.由以上技术方案可以看出,基于tcl脚本mkfile及其调用的define.tcl及rsmk.tcl脚本,可以将不同参数传递进整个fpga原型验证平台的编译、综合、布局布线的流程中,以达到同样的芯片设计可以灵活的通过脚本参数或命令选择不同的fpga平台及fpga器件来实现,可以通过脚本调用的文件链表(flist.f)来为fpga原型验证平台选择所要编译的平台外设接口,并且通过脚本所生成的参数变量所对应的约束文件(xdc file)来为fpga原型验证平台选择不同的管脚map约束,以达到适配不同sensor输入的目的。此外,基于这种fpga原型验证平台的搭建方法,也可快速的适配不同的芯片设计,为不同的设计快速部署fpga原型的验证方案,快速灵活地生成不同芯片设计所需的原型验证平台。
43.综上所述,本技术所描述的一种基于脚本的芯片原型验证平台的搭建方法可以有效地、灵活的、快速的搭建针对不同需求的fpga原型验证平台,大大减少了芯片设计公司原型验证工程师的工作量。
44.本应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
45.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
46.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
47.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1