一种ip生成方法及工具的制作方法

文档序号:10489118阅读:428来源:国知局
一种ip生成方法及工具的制作方法
【专利摘要】本发明公开了一种IP生成方法及工具,该方法首先解析IP结构描述文件,然后解析用户配置参数文件,并根据所述用户配置参数文件配置目的IP,最后产生并输出所述目的IP的IP描述文件。本发明提供了一个灵活的IP自动产生框架和平台,IP开发者可以按照既有的框架和协议,开发出IP模型,无缝内嵌到IP?Builder中,供系统设计者和电路开发者使用,快速便捷。
【专利说明】
一种IP生成方法及工具
技术领域
[0001] 本申请涉及微电子领域中的集成电路设计和电子设计自动化领域,尤其涉及一种 IP生成方法及工具。
【背景技术】
[0002] 由于芯片设计的复杂性和产品面市时间对于保证终端市场的成功率至关重要,因 此设计师不断寻求缩短设计周期的方法,以及更有效的设计方式。与此同时,伴随着步入系 统级芯片时代,利用IP内核和可编程逻辑进行设计复用显得日趋重要。
[0003] 基于FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)片上系统 开发已成为目前FPGA应用的一个热点。但是基于FPGA片上系统对使用者的知识要求比较 高,使用流程比较复杂,参考资料不多,成为目前开发者应用的瓶颈。因此,现有的解决方式 是通过使用高度参数化的IP可以来提高FPGA的开发应用。
[0004] 但是目前还没有针对IP自动产生工具技术实现的公开发表。

【发明内容】

[0005] 本发明了提供了一种IP生成方法及工具,以解决目前没有针对IP自动产生工具技 术实现的公开发表的问题。
[0006] 为解决上述技术问题,本发明提供了一种IP生成方法,应用于IP生成工具中,所述 方法包括:解析IP结构描述文件,其中,所述IP结构描述文件采用IP描述标准(IP-XACT)进 行描述;解析用户配置参数文件,并根据所述用户配置参数文件配置目的IP;产生并输出所 述目的IP的IP描述文件。
[0007] 优选的,所述解析IP结构描述文件具体为:解析所述IP结构描述文件,并建立第一 数据结构(IP-XACTcomp),其中,所述第一数据结构和所述IP描述标准对应。
[0008] 优选的,所述解析用户配置参数文件,并根据所述用户配置参数文件配置IP包括: 解析用户配置参数文件,获得配置参数值;将所述配置参数值对应嵌入到所述第一数据结 构中,以获得第二数据结构,其中,所述第二数据结构具体是包含了所述配置参数值的数据 结构。
[0009] 优选的,当所述用户配置参数文件包含有表达式的参数,所述解析用户配置参数 文件,获得配置参数值,具体为:通过lex&yacc解析器,解析并计算出参数被配置后的数值, 获得所述配置参数值。
[0010]优选的,所述产生并输出所述目的IP的IP描述文件具体包括:采用静态产生方式 产生所述IP描述文件;采用动态产生方式产生所述IP描述文件。
[0011] 优选的,所述采用静态产生方式产生所述IP描述文件,具体为:基于采用VHDL描述 的IP内核描述文件,按照所述第二数据结构,具体化IP内核描述以及IP的接口,产生所述IP 描述文件。
[0012] 优选的,所述采用动态产生方式产生所述IP描述文件,具体为:基于采用脚本语言 描述的IP内核描述文件,按照所述第二数据结构,具体化IP内核描述以及IP的接口,产生所 述IP描述文件。
[0013] 优选的,所述IP描述文件包含行为级IP描述文件或者结构级IP描述文件。
[0014] 本发明提供了一种IP生成工具,包括第一解析单元,用于解析IP结构描述文件,其 中,所述IP结构描述文件采用IP描述标准(IP-XACT)进行描述;第二解析单元,用于解析用 户配置参数文件,并根据所述用户配置参数文件配置目的IP;输出单元,用于产生并输出所 述目的IP的IP描述文件。
[0015] 优选的,所述IP生成工具还包括:接收单元,用于接收用户的指令,获取该关于所 述IP生成工具的基本参数。
[0016] 通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
[0017] 本发明提供了一种IP生成方法及工具,该方法首先解析IP结构描述文件,然后解 析用户配置参数文件,并根据所述用户配置参数文件配置目的IP,最后产生并输出所述目 的IP的IP描述文件。本发明提供了一个灵活的IP自动产生框架和平台,IP开发者可以按照 既有的框架和协议,开发出IP模型,无缝内嵌到IP-Builder中,供系统设计者和电路开发者 使用,快速便捷。
【附图说明】
[0018] 图1为本发明实施例中IP生成方法的设计思路图;
[0019] 图2为本发明实施例1P生成方法的流程图;
[0020] 图3为本发明实施例输出实施过程图;
[0021] 图4为本发明实施例1P生成工具的示意图。
【具体实施方式】
[0022] 为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图, 通过具体实施例对本申请技术方案作详细描述。
[0023] 实施例一:
[0024]在本发明实施例中,提供了一种I P生成方法,本发明实施例涉及的I P (Intellectual Property,知识产权)指的是某些设计好的模块,即:用于产品应用专用集 成电路(ASIC)或者可编辑逻辑器件(FPGA)的逻辑块或数据块,其可以分为软件模块和硬件 模块。而本发明设计的IP生成方法便是针对这些模块所做的设计。请参看图1,是本发明的 主要设计思路。其中,在获得IP结构描述文件之后,便对IP结构描述文件解析,而IP结构描 述文件主要采用IP描述标准(IP-XACT)进行描述。然后配置目的IP,并会使用到IP配置文 件、第一数据结构(ΙΡ-XACTcomp)。最后输出IP,此处使用了 IP内核描述文件。在输出时,通 过设定选项可以供用户输出Veirlog Hdl、IP实例化、VHDUEDIF形式的文件,同时可以指 定-res的参数,用于设定IP输出结果存放位置。
[0025] 以上是本发明的主要设计思路,下面请看具体的实施步骤。
[0026] 下面请参看图2,是本发明提供的IP生成方法的流程图。
[0027] Sl,解析IP结构描述文件。
[0028] 一般来说,IP结构描述文件采用了 IP描述标准(IP-XACT)进行描述,便于无缝嵌入 第三方IP提供商提供的IP。IP结构描述文件命名为component .xml,包含了 IP相关的各种信 息,例如:IP的Interface、Model、Parameter、fiIeset等等说明。
[0029] XML文件的C++/C解析器有LibXml、XMLBooster、squashXML、tinyXML等,其中 tinyXML使用方法也比较简单,是一个开源的解析XML解析库,用于C++,支持Windows和 Linux,因此本专利采用tinyXML解析器来解析IP结构描述文件。而在解析IP结构描述文件 之后,还会建立第一数据结构(IP-XACTcomp ),第一数据结构(ΙΡ-XACTcomp)是和IP描述标 准对应建立的。
[0030] 第一数据结构组成的关系如下所示。
[0031] 第一数据结构的顶层数据结构定义为IP-XACTcomp。IP-XACTcomp与IP-XACT相对 应,包括IP的库、版本、名称、接口、配置参数、实现模式、相关文件关系、支持的器件等。另 外,第一数据结构除了包含IP结构的描述外,还包含有文件属性,这些文件用来说明与IP产 生相关的文件组成、文件的类型、文件的功能、文件如何在IP产生过程使用等信息。
[0032]此外,第一数据结构还可以分为两层数据结构,即已配置层和可配置层。其中,库、 版本、名称、接口属于已配置层,配置参数、实现模式属于可配置层。
[0033] S2,解析用户配置参数文件,并根据所述用户配置参数文件配置目的IP。
[0034] 具体来说,用户配置参数文件是用来描述IP可配置参数值的文件,主要用来配置 一个可配置的IP。
[0035] 在具体的配置IP的过程中,首先,需要解析用户配置参数文件,以获得配置参数 值。
[0036]而如果用户配置参数文件中包含有表达式,还需要借助lex&yacc解析器,解析并 计算出参数被配置后的数值,获得所述配置参数值。
[0037] 如表达式"MODELPARAM_VALUE. C_PORTA_WIDTH&apos",这类表达式包括各种算数 运算、布尔运算、比较运算等。因此本实施例采用lex&yacc解析此类表达式,并得出表达式 对应的配置参数值。以下面的代码为例。
[0038] <spirit:port> <spirit:namc>A <spirit:pon> <sp i r i t: n ame> A </sp i r i t: name> <spiril:wire> <spi rit; d i ??〇??·〇??>?η</8ρ?π?: direction> <spirit:vector> <spirit:left spirit:format=,ilong,r Spiritresolve=fiCiepeiidentif spirit:dependency=M(spirit:decode(id(&apos;MODELPARA M_VAI.,UF.C_PORTA_WiDTH&apos;))-l)n>17</spiritleft> <spiril:righ spirit: fbnruil_''long" spirit;rcsoIvc=',iimnediate!l>0</spMt:rigW </spirit:vector> </spiril:wire> </spirit;p〇n>
[0039] 其次,在获得配置参数值之后,便会按照配置的要求把IP-XACTcomp变成包含配置 参数值的数据结构(即第二数据结构,第二数据结构就是包含了所述配置参数值的数据结 构)。具体来说,是将配置参数值按照要求对应嵌入到所述第一数据结构中,以此来进行配 置并获得第二数据结构,第二数据结构便是目的IP的数据结构。
[0040] 在获得了第二数据结构之后,便会执行下面的步骤。
[0041 ] S3,产生并输出目的IP的IP描述文件。
[0042] 在本发明的实施过程中,可以采用两种方式来产生目的IP的IP描述文件:静态产 生方式和动态产生方式。
[0043] 下面分别介绍这两种方式。
[0044] 静态产生方式,是调用采用VHDL(Very-High_Speed Integrated Circuit Hardware Description Language,硬件描述语言)描述的IP内核描述文件,按照SI、S2产生 的已配置IP数据结构,具体化该IP内核描述以及IP的接口,产生IP描述文件。具体而言,在 第二数据结构中已经明确了要实现的IP工作模式和接口结构,因此在动态产生的过程中, 按照第二数据结构中接口的特征(接口宽度和接口组成),产生接口并输出;按照第二数据 结构中描述的IP工作模式,调用IP内核描述文件,并输出。
[0045] 动态产生方式,是调用采用脚本语言描述的IP内核描述文件,按照S1、S2产生的已 配置IP数据结构(即第二数据结构),具体化该IP内核描述以及IP的接口,产生IP描述文件。 具体而言,在第二数据结构中已经明确了要实现的IP实现方式和接口结构,因此在动态产 生的过程中,按照第二数据结构中接口的特征(接口宽度和接口组成),产生接口并输出;按 照第二数据结构中描述的IP实现方式,比如乘法器实现方式是行为级的同步乘法器,就可 以产生行为级乘法器的内核,并输出。
[0046]优选的,IP描述文件包含结构级的IP描述文件或者行为级IP描述文件。行为级IP 描述文件是指类似C语言的一种电路表达方式,而结构级的IP描述文件则是面向于某个 FPGA器件,采用该器件内单元结构描述的一种电路方式。
[0047] IP描述文件还可以加密。
[0048] 优选的,在上述生成IP的基础上,本实施例的IP生成工具还可以接收用户的指令 获取有关于IP生成工具的相关信息,这些相关信息包括:本申请实施例涉及的IP工具支持 的所有的IP;本申请实施例涉及的IP工具支持的各IP使用权限;本申请实施例涉及的IP工 具支持的各IP所支持的器件。
[0049] 下面以产生'Verilog HDL'格式的IP描述文件为例进行整体说明。Verilog HDL是 目前应用最为广泛的硬件描述语言。Verilog HDL可以用来进行各种层次的逻辑设计,也可 以进行数字系统的逻辑综合,仿真验证和时序分析等。
[0050] 事先准备:接收用户定义的输出命令ip. output-res〈输出结果位置>-v-i VO-Vhd- edf,并接收用户的设定,确定输出Veirlog HDL,然后接收用户指定-res的参数,以设定IP 输出结果存放位置。当然,本发明在此使用Veirlog HDL进行举例说明,并不是限制只能为 Veirlog HDL。在实际应用中,还可以通过设定选项选择输出IP实例化、VHDUEDIF形式等文 件。
[0051] 下面请参看图3,是具体的实施过程。
[0052] 步骤S3.1、启动输出Verilog HDL命令。
[0053]步骤S3. 2、基于第一数据结构,建立IP各配置参数名和参数值的映射表一 ParamMap0
[0054]步骤S 3.3、输出IP的顶层信息,包括产生IP的名称、IP的端口、以及端口的 direct ion、位宽、属性等。
[0055]步骤S3.4、输出IP的内核。
[0056]本文提出的输出IP内核分为两种实现方式,即静态方式和动态方式,其中动态方 式是优先选择的。
[0057]静态方式的实现过程:
[0058] 前期准备:已经准备好IP源描述文件(如Verilog HDL)。
[0059] 按照用户配置的IP内核实现方式,产生一个IP源描述文件的实例化,该实例化包 含了 parameter的配置值、IP内核实现的接口等信息,把该实例化结构描述内嵌到IP描述文 件中。最后拷贝IP源描述文件到本IP产生的路径下。
[0060] 动态方式的实现过程:
[0061 ]前期准备:已经准备好IP内核产生的脚本文件(如TcUperl等)。
[0062] 按照用户配置的IP内核实现方式和IP属性,动态产生一个IP内核描述文件一 core. V,然后把core. V内嵌到bigmult. V中,并删除core. V。
[0063] 步骤S3.5、输出IP的实例化描述文件。
[0064] 输出IP的实例化描述文件,便于系统设计用户直接内嵌实例化网表到系统描述 中,其产生过程主要确定两类信息:
[0065] IP端口:包括所具有的端口名、端口位宽。
[0066] IP属性参数。
[0067] 以上便是本实施例提供的IP生成方式的介绍,而基于同一发明构思,下面的实施 例还介绍了一种IP生成工具。
[0068] 实施例二:
[0069] 本实施例的IP生成工具命名为IP-Builder。
[0070] 请参见图4,本申请实施例的IP生成工具具体包括:
[0071] 第一解析单401,用于解析IP结构描述文件,其中,所述IP结构描述文件采用IP描 述标准(IP-XACT)进行描述。
[0072] 一般来说,IP结构描述文件采用了 IP描述标准(IP-XACT)进行描述,便于无缝嵌入 第三方IP提供商提供的IP。IP结构描述文件命名为component .xml,包含了 IP相关的各种信 息,例如:IP的Interface、Model、Parameter、fiIeset等等说明。
[0073] XML文件的C++/C解析器有LibXml、XMLBooster、squashXML、tinyXML等,其中 tinyXML使用方法也比较简单,是一个开源的解析XML解析库,用于C++,支持Windows和 Linux,因此本专利采用tinyXML解析器来解析IP结构描述文件,因此,在实际情况中,第一 解析单401可用tinyXML解析器来来代替。而在解析IP结构描述文件之后,还会建立第一数 据结构(ΙΡ-XACTcomp ),第一数据结构(ΙΡ-XACTcomp)是和IP描述标准对应建立的。
[0074] 第二解析单元402,用于解析用户配置参数文件,并根据所述用户配置参数文件配 置目的IP。
[0075] 具体来说,用户配置参数文件是用来描述IP可配置参数值的文件,主要用来配置 一个可配置的IP。
[0076] 在具体的配置IP的过程中,首先,需要解析用户配置参数文件,以获得配置参数 值。
[0077]而如果用户配置参数文件中包含有表达式,还需要借助lex&yacc解析器,解析并 计算出参数被配置后的数值,获得所述配置参数值。
[0078] 其次,在获得配置参数值之后,便会按照配置的要求把IP-XACTcomp变成包含配置 参数值的数据结构(即第二数据结构,第二数据结构就是包含了所述配置参数值的数据结 构)。具体来说,是将配置参数值按照要求对应嵌入到所述第一数据结构中,以此来进行配 置并获得第二数据结构,第二数据结构便是目的IP的数据结构。
[0079] 输出单元403,用于产生并输出所述目的IP的IP描述文件。
[0080] 在本发明的实施过程中,可以采用两种方式来产生目的IP的IP描述文件:静态产 生方式和动态产生方式。
[0081] 下面分别介绍这两种方式。
[0082] 静态产生方式,是调用采用VHDL(Very-High_Speed Integrated Circuit Hardware Description Language,硬件描述语言)描述的IP内核描述文件,按照SI、S2产生 的已配置IP数据结构,具体化该IP内核描述以及IP的接口,产生IP描述文件。
[0083]动态产生方式,是调用采用脚本语言描述的IP内核描述文件,按照S1、S2产生的已 配置IP数据结构(即第二数据结构),具体化该IP内核描述以及IP的接口,产生IP描述文件。 [0084]优选的,IP描述文件包含结构级的IP描述文件或者行为级IP描述文件。行为级IP 描述文件是指类似C语言的一种电路表达方式,而结构级的IP描述文件则是面向于某个 FPGA器件,采用该器件内单元结构描述的一种电路方式。
[0085] IP描述文件还可以加密。
[0086]除此之外,本申请实施例涉及的IP生成工具还提供了搜索功能,8卩:IP生成工具还 包括:接收单元,能够接收用户的指令,获取该关于所述IP生成工具的基本参数,例如:获取 该关于该工具所支持的IP品类、IP的状态以及支持该IP的所有器件等等信息。
[0087]本申请的IP生成工具定义ip.query命令实现信息,即:
[0088] ip.query<-all><IP name><-license><-family><-status>
[0089] ip·query〈IP name>〈-license>〈-family>〈-status>
[0090] (列出某个IP的使用权限、支持的器件、对于某支持器件本IP的使用状态等信息。) [0091 ]其中 ip · query-all是列车所有的IP和IP所有信息,如Iicense、famiiIy、status 等。
[0092] 通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
[0093] 本发明提供了一种IP生成方法及工具,该方法首先解析IP结构描述文件,然后解 析用户配置参数文件,并根据所述用户配置参数文件配置目的IP,最后产生并输出所述目 的IP的IP描述文件。本发明提供了一个灵活的IP自动产生框架和平台,IP开发者可以按照 既有的框架和协议,开发出IP模型,无缝内嵌到IP-Builder中,供系统设计者和电路开发者 使用,快速便捷。
[0094]尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本 创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包 括优选实施例以及落入本申请范围的所有变更和修改。
[0095]显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精 神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围 之内,则本申请也意图包含这些改动和变型在内。
【主权项】
1. 一种IP生成方法,应用于IP生成工具中,其特征在于,所述方法包括: 解析IP结构描述文件,其中,所述IP结构描述文件采用IP描述标准(IP-XACT)进行描 述; 解析用户配置参数文件,并根据所述用户配置参数文件配置目的IP; 产生并输出所述目的IP的IP描述文件。2. 如权利要求1所述的方法,其特征在于,所述解析IP结构描述文件具体为: 解析所述IP结构描述文件,并建立第一数据结构(IP-XACTcomp),其中,所述第一数据 结构和所述IP描述标准对应。3. 如权利要求2所述的方法,其特征在于,所述解析用户配置参数文件,并根据所述用 户配置参数文件配置IP包括: 解析用户配置参数文件,获得配置参数值; 将所述配置参数值对应嵌入到所述第一数据结构中,以获得第二数据结构,其中,所述 第二数据结构具体是包含了所述配置参数值的数据结构。4. 如权利要求3所述的方法,其特征在于,当所述用户配置参数文件包含有表达式的参 数,所述解析用户配置参数文件,获得配置参数值,具体为: 通过lex&yacc解析器,解析并计算出参数被配置后的数值,获得所述配置参数值。5. 如权利要求3所述的方法,其特征在于,所述产生并输出所述目的IP的IP描述文件具 体包括: 采用静态产生方式产生所述IP描述文件; 采用动态产生方式产生所述IP描述文件。6. 如权利要求5所述的方法,其特征在于,所述采用静态产生方式产生所述IP描述文 件,具体为: 基于采用VHDL描述的IP内核描述文件,按照所述第二数据结构,具体化IP内核描述以 及IP的接口,产生所述IP描述文件。7. 如权利要求5所述的方法,其特征在于,所述采用动态产生方式产生所述IP描述文 件,具体为: 基于采用脚本语言描述的IP内核描述文件,按照所述第二数据结构,具体化IP内核描 述以及IP的接口,产生所述IP描述文件。8. 如权利要求1所述的方法,其特征在于,所述IP描述文件包含行为级IP描述文件或者 结构级IP描述文件。9. 一种IP生成工具,其特征在于,包括 第一解析单元,用于解析IP结构描述文件,其中,所述IP结构描述文件采用IP描述标准 (IP-XACT)进行描述; 第二解析单元,用于解析用户配置参数文件,并根据所述用户配置参数文件配置目的 IP; 输出单元,用于产生并输出所述目的IP的IP描述文件。10. 如权利要求9所述的一种IP生成工具,其特征在于,所述IP生成工具还包括: 接收单元,用于接收用户的指令,获取该关于所述IP生成工具的基本参数。
【文档编号】G06F17/50GK105843993SQ201610153446
【公开日】2016年8月10日
【申请日】2016年3月17日
【发明人】李艳, 张东晓
【申请人】中国科学院微电子研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1