嵌入式fpga ip核顶层电路图自动生成方法、装置及存储介质

文档序号:49483 发布日期:2021-09-28 浏览:55次 >En<

阅读说明:本技术 嵌入式fpga ip核顶层电路图自动生成方法、装置及存储介质 (Method and device for automatically generating top-level circuit diagram of embedded FPGA IP core and storage medium ) 是由 陈柱佳 其他发明人请求不公开姓名 于 2021-08-30 设计创作,主要内容包括:本发明涉及一种嵌入式FPGA IP核顶层电路图自动生成方法、装置及存储介质,其中,生成方法包括:根据资源排布信息,创建包含有若干格点单元的资源格点阵列;选取一格点单元,读取资源子模块库和资源排布图,以在选定的格点单元中布置资源子模块;获取资源子模块的一功能端口并创建对应该功能端口的线网,并根据功能端口的方向属性创建线名;遍历资源子模块的所有功能端口及所有格点单元后,建立顶层电路端口,输出FPGA IP核顶层电路图。通过合理利用FPGA内部资源的重复性和规律性,配合资源子模块库和资源排布图,从而实现了IP核顶层电路图的自动生成,极大的缩短了IP核顶层电路的生成时间,提高了FPGA IP核的开发效率。(The invention relates to an automatic generation method, a device and a storage medium for a top-level circuit diagram of an embedded FPGA IP core, wherein the generation method comprises the following steps: creating a resource grid point array comprising a plurality of grid point units according to the resource arrangement information; selecting a grid point unit, reading the resource sub-module library and the resource arrangement layout to arrange the resource sub-modules in the selected grid point unit; acquiring a functional port of the resource sub-module, creating a line network corresponding to the functional port, and creating a line name according to the direction attribute of the functional port; and after traversing all functional ports and all lattice point units of the resource sub-module, establishing a top circuit port and outputting a top circuit diagram of the FPGA IP core. By reasonably utilizing the repeatability and regularity of internal resources of the FPGA and matching with the resource sub-module library and the resource arrangement diagram, the automatic generation of the top-layer circuit diagram of the IP core is realized, the generation time of the top-layer circuit of the IP core is greatly shortened, and the development efficiency of the FPGA IP core is improved.)

嵌入式FPGA IP核顶层电路图自动生成方法、装置及存储介质

技术领域

本发明涉及数字集成电路

技术领域

,特别涉及一种嵌入式FPGA IP核顶层电路图自动生成方法、装置及存储介质。

背景技术

现场可编程门阵列(Field-Programmable Gate Array,FPGA)是一种通用的可编程器件,具有灵活性高、并行度高的特点,通常包括可编程逻辑模块(Configurable LogicBlock,CLB)、可编程互连资源(Configurable Routing,CR)、输入输出模块(Input OutputBlock,IOB)以及其它IP资源(如块存储器、数字信号处理器等),它为用户提供了系统可编程或可重配置的能力。

嵌入式FPGA(embedded FPGA, eFPGA)是将FPGA内核阵列以IP核的形式,嵌入到ASIC(Application SpecificIntegrated Circuit)、ASSP(Application SpecificStandard Parts)或片上系统(System on a Chip,SoC)等芯片中。将FPGA以IP形式嵌入到片上系统中可以克服独立FPGA带宽受限和ASIC功能固定的缺点,以及在它们之间传递数据的问题。嵌入到ASIC中的FPGA IP为SoC系统提供了动态调整的能力,嵌入式FPGA的优势是可以通过重新配置来重构SoC或者ASIC的功能。

FPGA IP核的设计是在用户电路所需资源确定后开始进行的,其过程包括:步骤一、确定FPGA IP核的基本元件类型和规模、排布等参数;步骤二、建立IP资源排布;步骤三、电路设计;步骤四、IP核信息的生成;步骤五、用户集成FPGA IP核。其中步骤三的电路设计分为资源子模块的设计和顶层电路设计,在FPGA IP核的顶层电路设计中,由于资源子模块端口的数量众多且资源子模块间的互连复杂度高,导致设计周期很长,限制了FPGA IP核开发的效率。

发明内容

为解决上述技术问题,本发明提供了一种嵌入式FPGA IP核顶层电路图自动生成方法、装置及存储介质,具有可自动生成顶层电路、提高开发效率的优点。

为达到上述目的,本发明的技术方案如下:

一种嵌入式FPGA IP核顶层电路图自动生成方法,包括:

在IP资源排布完成后,根据资源排布信息,创建包含有若干格点单元的资源格点阵列;

选取一格点单元,读取资源子模块库和资源排布图,以在选定的所述格点单元中布置资源子模块;

获取资源子模块的一功能端口并创建对应该功能端口的线网,并根据所述功能端口的方向属性创建线名;

遍历资源子模块的所有功能端口及所有格点单元后,建立顶层电路端口,输出FPGA IP核顶层电路图。

作为本发明的一种优选方案,所述选取一格点单元,读取资源子模块库和资源排布图,以在选定的所述格点单元中布置资源子模块具体包括:

根据资源排布图建立覆盖所述资源格点阵列的坐标系;

根据预定的坐标顺序选取一格点单元,记坐标为(X,Y);

读取资源子模块库和资源排布图;

依据所述资源排布图和所述资源子模块库中各资源子模块的信息,在选定的所述格点单元中布置资源子模块。

作为本发明的一种优选方案,所述获取资源子模块的一功能端口并创建对应该功能端口的线网具体包括:

按照预定的创建顺序获取资源子模块的一功能端口并创建对应该功能端口的线网;

根据所述功能端口的属性创建对应该功能端口的线名。

作为本发明的一种优选方案,所述根据所述功能端口的方向属性创建线名具体包括:

获取并判断所述功能端口的方向属性;

若所述功能端口为输出属性,根据所述资源子模块所在格点单元的坐标和所述功能端口的名称创建线名;

若所述功能端口为输入属性,则根据与所述功能端口相对应的连接端口的坐标和名称创建线名。

作为本发明的一种优选方案,所述根据与所述功能端口相对应的连接端口的坐标和名称创建线名具体包括:

从所述资源排布图中获取当前所述资源子模块所在格点单元的坐标;

从资源模块间的互联信息库中获取与所述功能端口相对应的连接端口及其相对坐标,记为(ΔX,ΔY);

根据所述相对坐标计算所述连接端口的坐标,记为(X1,Y1);

根据所述连接端口的坐标和所述连接端口的名称创建线名。

作为本发明的一种优选方案,所述遍历资源子模块的所有功能端口及所有格点单元后,建立顶层电路端口,输出FPGA IP核顶层电路图具体包括:

线名创建完成后,判断是否遍历资源子模块的所有功能端口;

若否,按照预定的创建顺序获取资源子模块的下一个功能端口;

若是,则继续判断是否遍历所有格点单元;

若否,根据预定的坐标顺序选取下一个格点单元,重新布置资源子模块;

若是,则根据创建的线网和线名建立顶层电路端口,输出FPGA IP核顶层电路图。

作为本发明的一种优选方案,所述资源子模块库包括各资源子模块的名称以及资源子模块中各功能端口的信息。

作为本发明的一种优选方案,所述资源模块间的互联信息库包括各资源子模块中各功能端口之间的连接关系。

为解决上述技术问题,本发明实施例还提供一种嵌入式FPGA IP核顶层电路图自动生成装置,包括:

第一创建单元,用于在IP资源排布完成后,根据资源排布信息,创建包含有若干格点单元的资源格点阵列;

资源布置单元,用于选取一格点单元,读取资源子模块库和资源排布图,以在选定的所述格点单元中布置资源子模块;

第二创建单元,获取资源子模块的一功能端口并创建对应该功能端口的线网,并根据所述功能端口的方向属性创建线名;

生成执行单元,用于遍历资源子模块的所有功能端口及所有格点单元后,建立顶层电路端口,输出FPGA IP核顶层电路图。

为解决上述技术问题,本发明实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一技术方案所述的生成方法的步骤。

本发明实施例的有益效果是:

本发明通过提供一种嵌入式FPGA IP核顶层电路图自动生成方法、装置及存储介质,通过合理利用FPGA内部资源的重复性和规律性,配合资源子模块库和资源排布图,从而实现了IP核顶层电路图的自动生成,极大的缩短了IP核顶层电路的生成时间,提高了FPGAIP核的开发效率,且能够集成到IP核的翻译过程中,交由用户产生合适的IP核电路和网表,适用性更强。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例生成方法的基本流程示意图。

图2为本发明实施例中在格点单元中布置资源子模块的流程示意图。

图3为本发明实施例中创建线名的流程示意图。

图4为本发明实施例中根据与功能端口相对应的连接端口的坐标和名称创建线名的流程示意图。

图5为本发明实施例中输出FPGA IP核顶层电路图的流程示意图。

图6为本发明实施例中自动生成IP核顶层电路图一

具体实施方式

的流程示意图。

图7为本发明实施例生成的顶层电路结构图。

图8为本发明实施例中自动生成装置的基本结构示意图。

图9为本发明实施例中计算机设备的基本结构框图。

图中数字和字母所表示的相应部件名称:

601、资源格点阵列;602、顶层电路端口;603、资源子模块;604、线网;701、第一创建模块;702、资源布置模块;703、第二创建模块;704、生成执行模块。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

具体请参阅图1,图1为本实施例生成方法的基本流程示意图。

如图1所示,一种嵌入式FPGA IP核顶层电路图自动生成方法,包括:

S100、在IP资源排布完成后,根据资源排布信息,创建包含有若干格点单元的资源格点阵列。

IP资源排布在确定FPGA IP的基本元件类型、规模和排布等参数后进行,资源排布信息即包含了IP的基本元件类型、规模和排布等参数。

S200、选取一格点单元,读取资源子模块库和资源排布图,以在选定的所述格点单元中布置资源子模块。

如图2所示,S200具体包括:

S201、根据资源排布图建立覆盖所述资源格点阵列的坐标系,由此每个格点单元均对应一个坐标值;

S202、根据预定的坐标顺序选取一格点单元,记坐标为(X,Y),该预定的坐标顺序可以按照沿着X轴的顺序或者沿着Y轴的顺序依次选取格点单元;

S203、读取资源子模块库和资源排布图,其中,资源子模块库包括各资源子模块的名称以及资源子模块中各功能端口的信息,资源子模块包括可编程逻辑块、块存储器、输入输出模块等功能模块,资源子模块库中还包含了各资源子模块的设计图、符号图等信息,资源排布图虚拟了FPGA IP核的阵列坐标,并定义了每个坐标下的资源类型;

S204、依据资源排布图和资源子模块库中各资源子模块的信息,在选定的格点单元中布置资源子模块,根据资源排布图中对应定义的资源类型,从资源模块库中选择相应类型的资源子模块进行布设。

S300、获取资源子模块的一功能端口并创建对应该功能端口的线网,并根据所述功能端口的方向属性创建线名。

S300具体包括:

S301、按照预定的创建顺序获取资源子模块的一功能端口并创建对应该功能端口的线网;

S302、根据所述功能端口的属性创建对应该功能端口的线名。

如图3所示,S302具体包括:

S3021、获取并判断所述功能端口的方向属性;

S3022、若所述功能端口为输出属性,根据所述资源子模块所在格点单元的坐标和所述功能端口的名称创建线名;

S3023、若所述功能端口为输入属性,则根据与所述功能端口相对应的连接端口的坐标和名称创建线名。

其中,如图4所示,根据与所述功能端口相对应的连接端口的坐标和名称创建线名具体包括:

S30231、从所述资源排布图中获取当前所述资源子模块所在格点单元的坐标;

S30232、从资源模块间的互联信息库中获取与所述功能端口相对应的连接端口及其相对坐标,记为(ΔX,ΔY),其中,资源模块间的互联信息库包括各资源子模块中各功能端口之间的连接关系,如每个资源子模块中的各功能端口的各自的连接关系或者与其他资源子模块中的各功能模块的连接关系,具体如:可编程逻辑模块的第一端口与存储模块的第二端口连接,可编程逻辑模块的第二端口与可编程逻辑模块的第七端口连接等类似的连接关系信息,连接端口为对应向该功能端口输入数据和信号的端口;

S30233、根据所述相对坐标计算所述连接端口的坐标,记为(X1,Y1);

S30234、根据所述连接端口的坐标和所述连接端口的名称创建线名。

S400、遍历资源子模块的所有功能端口及所有格点单元后,建立顶层电路端口,输出FPGA IP核顶层电路图。

如图5所示,S400具体包括:

S401、线名创建完成后,判断是否遍历资源子模块的所有功能端口;

S402、若否,按照预定的创建顺序获取资源子模块的下一个功能端口;

S403、若是,则继续判断是否遍历所有格点单元;

S404、若否,根据预定的坐标顺序选取下一个格点单元,重新布置资源子模块;

S405、若是,则根据创建的线网和线名建立顶层电路端口,输出FPGA IP核顶层电路图。

本发明具有如下有益效果:通过合理利用FPGA内部资源的重复性和规律性,配合资源子模块库和资源排布图,从而实现了IP核顶层电路图的自动生成,极大的缩短了IP核顶层电路的生成时间,提高了FPGA IP核的开发效率,且能够集成到IP核的翻译过程中,交由用户产生合适的IP核电路和网表,适用性更强。

为了便于理解,下面就一具体的实施方式进行阐述,如图6所示,该具体实施方式的嵌入式FPGA IP核顶层电路图自动生成方法包括:

S501、在IP资源排布完成后,根据资源排布信息,创建资源格点阵列601,该资源格点阵列包括若干格点单元;

S502、选取一格点单元,并定义其坐标为(X,Y),读取资源子模块库和资源排布图,在选取的该格点单元中布置资源子模块603;

S503、获取资源子模块中的一个功能端口Pn;

S504、创建一个对应该功能单元的线网604;

S505、判断该功能端口的方向属性,若其属性为输出则执行步骤S506,若其属性为输入则执行步骤S507;

S506、根据资源在模块所在的坐标(X,Y)和功能端口Pn的名称创建线名;

S507、从资源排布图中获取当前资源子模块的坐标后,从资源模块间的互联信息库中获取与功能端口Pn对应的连接端口Qn及其相对坐标(ΔX,ΔY),并计算出新的坐标(X1,Y1);

S508、根据新的坐标(X1,Y1)和连接端口Qn的名称创建线名;

S509、判断是否遍历资源子模块的所有端口,若是,执行步骤S510,若否,重复执行步骤S503;

S510,判断是否遍历资源格点阵列中的所有格点单元,若是,执行步骤S511,若否,重复执行步骤S502;

S511、建立顶层电路端口602,输出FPGA IP核的顶层电路图,最终输出的顶层电路图如图7所示。

为解决上述技术问题,本发明实施例还提供一种嵌入式FPGA IP核顶层电路图自动生成装置,如图8所示,包括:

第一创建单元701,用于在IP资源排布完成后,根据资源排布信息,创建包含有若干格点单元的资源格点阵列;

资源布置单元702,用于选取一格点单元,读取资源子模块库和资源排布图,以在选定的所述格点单元中布置资源子模块;

第二创建单元703,获取资源子模块的一功能端口并创建对应该功能端口的线网,并根据所述功能端口的方向属性创建线名;

生成执行单元704,用于遍历资源子模块的所有功能端口及所有格点单元后,建立顶层电路端口,输出FPGA IP核顶层电路图。

为解决上述技术问题,本发明实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。

如图9所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种顶层电路图自动生成方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种顶层电路图自动生成方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本实施方式中处理器用于执行图8中第一创建模块701、资源布置模块702、第二创建模块703和生成执行模块704的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。

计算机设备在生成IP核顶层电路图时,通过合理利用FPGA内部资源的重复性和规律性,配合资源子模块库和资源排布图,从而实现了IP核顶层电路图的自动生成,极大的缩短了IP核顶层电路的生成时间,提高了FPGA IP核的开发效率,且能够集成到IP核的翻译过程中,交由用户产生合适的IP核电路和网表,适用性更强。

为解决上述技术问题,本发明实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一技术方案所述的生成方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种提升电路仿真速度的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类