输入输出I/O工艺映射方法和装置转让专利

申请号 : CN201610864552.6

文献号 : CN106528927B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孟祥龙王元鹏樊平

申请人 : 京微齐力(北京)科技有限公司

摘要 :

本发明涉及一种I/O工艺映射方法,通过在HDL设计时,将硬知识产权IP核的专用I/O的第一信息添加至所述HDL设计中;根据所述第一信息,判断所述专用I/O是否被使用,当所述专用I/O被使用时,从设备数据库中获取所述专用I/O的第二信息;根据所述第二信息,在输出网表中生成所述专用I/O的原语;根据所述专用I/O的原语,在布局时为所述专用I/O进行位置分配,使专用I/O在布局时可配置。

权利要求 :

1.一种输入输出端口I/O工艺映射方法,其特征在于,所述方法包括:在HDL设计时,将硬知识产权IP核的专用I/O的第一信息添加至所述HDL设计中;

根据所述第一信息,判断所述专用I/O是否被使用,当所述专用I/O被使用时,从设备数据库中获取所述专用I/O的第二信息;其中,所述第二信息包括位置信息和类型信息;

根据所述第二信息,在输出网表中生成所述专用I/O的原语;

根据所述专用I/O的原语,在布局时为所述专用I/O进行位置分配。

2.根据权利要求1所述的方法,其特征在于,所述在HDL设计,将硬IP核的专用I/O的第一信息添加至所述HDL设计中之后还包括:将所述HDL设计转换为门级网表;

解析所述第一信息。

3.根据权利要求1所述的方法,其特征在于,所述硬IP核具体为ARM。

4.根据权利要求1所述的方法,其特征在于,所述硬IP核具体为DSP。

5.一种I/O工艺映射装置,其特征在于,所述装置包括:添加单元,判断单元,生成单元,分配单元;

所述添加单元,用于在HDL设计时,将硬知识产权IP核的专用I/O的第一信息添加至所述HDL设计中;

所述判断单元,用于根据所述第一信息,判断所述专用I/O是否被使用,当所述专用I/O被使用时,从设备数据库中获取所述专用I/O的第二信息;其中,所述第二信息包括位置信息和类型信息;

所述生成单元,用于根据所述第二信息,在输出网表中生成所述专用I/O的原语;

所述分配单元,用于根据所述专用I/O的原语,在布局时为所述硬IP核的专用I/O进行位置分配。

6.根据权利要求5所述的装置,其特征在于,所述装置还包括:转换单元,解析单元;

所述转换单元,用于将所述HDL设计转换为门级网表;

所述解析单元,用于解析所述第一信息。

7.根据权利要求5所述的装置,其特征在于,所述硬IP核具体为ARM。

8.根据权利要求5所述的装置,其特征在于,所述硬IP核具体为DSP。

说明书 :

输入输出I/O工艺映射方法和装置

技术领域

[0001] 本发明涉及集成电路技术领域,尤其涉及一种专用I/O工艺映射方法和装置。

背景技术

[0002] 现有技术中,现场可编程门阵列(Field-Programmable Gate Array,FPGA)在架构中,会集成不同的硬知识产权核(intel lectual property core,IP核),如ARM(Advanced RISC Machines)或数字信号处理器(Digital SignalProcessor,DSP)。在布局时,除了FPGA芯片功能布局(FPGA Place,FP)的普通输入/输出端口(input/output,I/O)之外,硬IP核存在专用I/O。此时,普通I/O和专用I/O都可能在布局时被分配具体的位置。用户在编写应用硬IP核的硬件描述语言(Hardware Description Language,HDL)设计时,顶层设计的I/O会被映射到FP的普通I/O上去,而硬IP核的专用I/O不能被映射,从而在布局时,不能对硬IP核的专用I/O分配固定的位置。

发明内容

[0003] 本发明的目的是提供一种硬IP核的专用I/O工艺映射方法,使专用I/O在布局时可配置。
[0004] 为实现上述目的,第一方面,本发明提供了一种I/O工艺映射方法,所述方法包括:
[0005] 在HDL设计时,将硬IP核的专用I/O的第一信息添加至所述HDL设计中;
[0006] 根据所述第一信息,判断所述专用I/O是否被使用,当所述专用I/O被使用时,从设备数据库中获取所述专用I/O的第二信息;
[0007] 根据所述第二信息,在输出网表中生成所述专用I/O的原语;
[0008] 根据所述专用I/O的原语,在布局时为所述专用I/O进行位置分配。
[0009] 在一个可能的设计中,所述进行HDL设计,将硬IP核的专用I/O的第一信息添加至所述HDL设计中之后还包括:
[0010] 将所述HDL设计转换为门级网表;
[0011] 解析所述第一信息。
[0012] 在一个可能的设计中,所述硬IP核具体为ARM。
[0013] 在一个可能的设计中,所述硬IP核具体为DSP。
[0014] 第二方面,本发明实施例提供了一种I/O工艺映射装置,其特征在于,所述装置包括:添加单元,判断单元,生成单元,分配单元;
[0015] 所述添加单元,用于在HDL设计时,将硬IP核的专用I/O的第一信息添加至所述HDL设计中;
[0016] 所述判断单元,用于根据所述第一信息,判断所述专用I/O是否被使用,当所述专用I/O被使用时,从设备数据库中获取所述专用I/O的第二信息;
[0017] 所述生成单元,用于根据所述第二信息,在输出网表中生成所述专用I/O的原语;
[0018] 所述分配单元,用于根据所述专用I/O的原语,在布局时为所述硬IP核的专用I/O进行位置分配。
[0019] 在一个可能的设计中,所述装置还包括:转换单元,解析单元;
[0020] 所述转换单元,用于将所述HDL设计转换为门级网表;
[0021] 所述解析单元,用于解析所述第一信息。
[0022] 在一个可能的设计中,所述硬IP核具体为ARM。
[0023] 在一个可能的设计中,所述硬IP核具体为DSP。
[0024] 本申请提供的I/O工艺映射方法和装置,在HDL设计时,将硬IP核的专用I/O的第一信息添加至所述HDL设计中;根据所述第一信息,判断所述专用I/O是否被使用,当所述专用I/O被使用时,从设备数据库中获取所述专用I/O的第二信息;根据所述第二信息,在输出网表中生成所述专用I/O的原语;根据所述专用I/O的原语,在布局时为所述专用I/O进行位置分配,使专用I/O在布局时可配置。

附图说明

[0025] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0026] 图1为FPGA与硬IP核连接示意图;
[0027] 图2为FPGA芯片的管脚封装示意图;
[0028] 图3为本发明实施例提供的专用I/O工艺映射方法流程图;
[0029] 图4为本发明实施例提供的硬IP核的专用I/O示意图;
[0030] 图5为本发明实施例一提供的专用I/O工艺映射方法流程图;
[0031] 图6为本发明实施例二提供的专用I/O工艺映射装置示意图。

具体实施方式

[0032] 图1为FPGA布局与硬IP核连接示意图,在图1中,1为FPGA上的普通I/O,2为FPGA与硬IP核之间的硬连线,用户不可见,3为硬IP核上的专用I/O。其中,硬IP核包括但不限于ARM、DSP和SDRAM。
[0033] 图2为FPGA芯片的管脚封装示意图,在图2中, 表示普通I/O, 表示I/O。从图2可知,在FPGA的管脚封装中,硬IP核的专用I/O具有固定的位置,如果使用专用I/O就必须在布局阶段给对应的专用I/O分配其应有的固定位置。如果不使用专用I/O,则可以通过配置位将普通I/O分配到这些为专用I/O保留的位置上,当作普通I/O来使用。
[0034] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0035] 图3为本发明实施例提供的专用I/O工艺映射方法流程图。如图3所示,本发明实施例包括以下步骤:
[0036] S301,在HDL设计时,将硬IP核的专用I/O的第一信息添加至所述HDL设计中。
[0037] 具体地,在进行HDL设计时,可以对硬IP核进行软包装,用第一信息表示硬IP核的专用I/O的使用情况。在一个实施例中,可以将第一信息设置为参数,通过设置的参数来表示专用I/O的使用情况,即用户通过设置对应的参数,表示哪些专用I/O被使用。比如,在一个硬IP核中,如图4所示,该硬IP核包括10个专用I/O,为f0-f9,在HDL设计时,当添加的第一信息为parameter is_f0_4_used=1'b0时,表示用户使用f0,f1,f2,f3,f4这5个专用I/O,当添加的第一信息为parameter i s_f5_9_used=1'b0时,表示用户使用f5,f6,f7,f8,f9这5个专用I/O。
[0038] S302,根据所述第一信息,判断所述专用I/O是否被使用,当所述专用I/O被使用时,从设备数据库中获取所述专用I/O的第二信息;
[0039] 具体地,编译器将HDL设计转换为门级网表时,硬IP核的解析也会在此过程中完成,此时,第一信息会被解析出来,通过查找设备数据库获取专用I/O的第二信息,该第二信息可以是专用I/O的位置信息和/或类型信息。
[0040] 比如,当解析后的第一信息显示f0,f1,f2,f3,f4这5个专用I/O被使用时,可以通过查找设备数据库,获取这5个专用I/O的第二信息,以f0为例,f0的第二信息包括位置信息和类型信息,位置信息可以为(A,9),类型信息可以为f0是乘法端口。其中,设备数据库中包括当前设备中所有器件的信息,包括第二信息。
[0041] S303,根据所述第二信息,在输出网表中生成所述专用I/O的原语;
[0042] 具体地,如果HDL设计中使用的是软包装后的硬IP核,则通过逻辑综合解析出第二信息。通过检查第二信息的参数值,来判断用户想要配置硬IP核的哪些专用I/O,从而在逻辑综合后的网表中插入这些专用I/O的原语。
[0043] 对于普通I/O,则将HDL设计直接映射为普通I/O的I/O原语。
[0044] S304,根据所述专用I/O的原语,在布局时为所述专用I/O进行位置分配。
[0045] 具体地,布局工具可以通过原语,获取专用I/O的第二信息,比如位置信息,来自动完成对专用I/O的位置分配,以防用户将普通I/O配置到专用I/O的位置,而导致专用I/O不可用。
[0046] 图5为本发明实施例一提供的专用I/O工艺映射方法流程图。如图5所示,本发明实施例包括以下步骤:
[0047] S501,HDL设计。
[0048] 具体地,进行HDL设计,在HDL设计时,将硬IP核的专用I/O的第一信息添加至HDL设计中。
[0049] S502,逻辑综合。
[0050] 具体地,编译器将HDL设计转换为门级网表时,硬IP核的解析也会在此过程中完成,此时,第一信息会被解析出来。
[0051] S503,普通I/O工艺映射。
[0052] 具体地,对于普通I/O,则将HDL设计直接工艺映射为普通I/O的I/O原语。
[0053] S504,使用硬IP核时,跳转至S505;不使用硬IP核时,跳转至S508。
[0054] 具体地,根据S502中解析后的第一信息,判断是否使用专用I/O。
[0055] S505,使用专用I/O时,跳转至S506,不使用专用I/O时,跳转至S508。
[0056] S506,从设备数据库中获取专用I/O的第二信息。
[0057] 其中,该第二信息可以是位置信息和/或类型信息。
[0058] S507,生成硬IP核专用I/O的原语。
[0059] S508,生成器件相关I/O原语。
[0060] 具体地,如果HDL设计中使用的是软包装后的硬IP核,则通过逻辑综合解析出第二信息。通过检查第二信息的参数值,来判断用户想要配置硬IP核的哪些专用I/O,从而在逻辑综合后的网表中插入这些专用I/O的原语。
[0061] 通过应用本发明实施例提供的专用I/O工艺映射方法,在HDL设计时,将硬IP核的专用I/O的第一信息添加至所述HDL设计中;根据所述第一信息,判断所述专用I/O是否被使用,当所述专用I/O被使用时,从设备数据库中获取所述专用I/O的第二信息;根据所述第二信息,在输出网表中生成所述专用I/O的原语;根据所述专用I/O的原语,在布局时为所述专用I/O进行位置分配,使专用I/O在布局时可配置。
[0062] 图6为本发明实施例二提供的专用I/O工艺工艺映射装置示意图。如图6所示,本实施例包括:添加单元601,判断单元602,生成单元603,分配单元604;
[0063] 所述添加单元601,用于在HDL设计时,将硬IP核的专用I/O的第一信息添加至所述HDL设计中;
[0064] 所述判断单元602,用于根据所述第一信息,判断所述专用I/O是否被使用,当所述专用I/O被使用时,从设备数据库中获取所述专用I/O的第二信息;
[0065] 所述生成单元603,用于根据所述第二信息,在输出网表中生成所述专用I/O的原语;
[0066] 所述分配单元604,用于根据所述专用I/O的原语,在布局时为所述硬IP核的专用I/O进行位置分配。
[0067] 本实施例还包括:转换单元605,解析单元606;
[0068] 所述转换单元605,用于将所述HDL设计转换为门级网表;
[0069] 所述解析单元606,用于解析所述第一信息。
[0070] 通过应用本发明实施例提供的I/O工艺映射装置,添加单元,用于在HDL设计时,将硬知识产权IP核的专用I/O的第一信息添加至所述HDL设计中;判断单元,用于根据所述第一信息,判断所述专用I/O是否被使用,当所述专用I/O被使用时,从设备数据库中获取所述专用I/O的第二信息;生成单元,用于根据所述第二信息,在输出网表中生成所述专用I/O的原语;分配单元,用于根据所述专用I/O的原语,在布局时为所述硬IP核的专用I/O进行位置分配,使专用I/O在布局时可配置。
[0071] 本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0072] 结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0073] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。