一种输入输出端口的工艺映射方法转让专利

申请号 : CN201611079491.9

文献号 : CN106650033B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

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

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

摘要 :

本发明实施例提供一种输入输出端口的工艺映射方法,所述方法包括:用户设计输入;预提取所述用户设计中输入输出的端口信息;将所述用户设计转换为门级网表;建立所述输入输出端口的通用模型;在所述通用模型上,进行所述门级网表的工艺映射。本发明实施例通过预提取用户设计中输入输出的端口信息,提前对用户设计中的I/O物理约束进行处理,缩短了I/O端口的工艺映射时间,进而极大的提高了用户开发流程的效率。

权利要求 :

1.一种输入输出端口的工艺映射方法,其特征在于,所述方法包括:用户设计输入;

预提取所述用户设计中输入输出的端口信息;

根据预提取的所述输入输出的端口信息,判断用户是否对输入输出端口进行物理约束;

若用户对输入输出端口进行物理约束,则生成输入输出端口的物理约束文件;

将所述用户设计转换为门级网表;

建立所述输入输出端口的通用模型;所述输入输出端口的通用模型包括物理管脚、数据输入端口、数据输出端口、数据输出使能端口、输入寄存器、输出寄存器、输出使能寄存器、快速输入配置位、快速输出配置位、快速输出使能配置位;

在所述通用模型上,进行所述门级网表的工艺映射,所述工艺映射需要满足所述物理约束文件中包含的物理约束。

2.根据权利要求1所述的方法,其特征在于,所述在所述通用模型上,进行所述门级网表的工艺映射包括:根据所述物理约束文件中的物理约束,进行所述门级网表的工艺映射。

3.根据权利要求1所述的方法,其特征在于,所述物理约束包括所述用户设计中的快速输入输出信息。

说明书 :

一种输入输出端口的工艺映射方法

技术领域

[0001] 本发明涉及微电子领域中的集成电路设计技术领域,特别是一种输入输出端口的工艺映射方法。

背景技术

[0002] 现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)是一种具有丰富硬件资源、强大并行处理能力和灵活可重配置能力的逻辑器件。这些特征使得FPGA在数据处理、通信、网络等很多领域得到了越来越多的广泛应用。
[0003] 现有技术中,一款FPGA架构中会有多种不同的输入输出端口,而架构迭代更新时,这些端口的特性也经常发生变化,在传统的工艺映射流程中,不得不花费大量时间来完成对每款架构的每种类型的输入输出端口的工艺映射。如图1所示,用户针对输入输出端口(Input/output,I/0)的物理约束发生在逻辑综合和工艺映射之后,当步骤S104中用户需要对I/O端口进行物理约束时,需要针对I/O端口重新进行逻辑综合和工艺映射。
[0004] 因此,如何找到一种通用的针对I/O端口的工艺映射流程并且能快速地支持不同架构不同类型输入输出端口,进而缩短I/O端口的工艺映射时间,成为亟待解决的问题。

发明内容

[0005] 本申请的目的是针对现有技术的缺陷,提供了一种输入输出端口的工艺映射方法,该方法能够缩短I/O端口的工艺映射时间。
[0006] 本申请提供一种输入输出端口的工艺映射方法,所述方法包括:用户设计输入;预提取所述用户设计中输入输出的端口信息;将所述用户设计转换为门级网表;建立所述输入输出端口的通用模型;在所述通用模型上,进行所述门级网表的工艺映射。
[0007] 在第一种可能实现的方式中,所述方法还包括:根据预提取的所述输入输出的端口信息,判断用户是否对输入输出端口进行物理约束;若用户对输入输出端口进行物理约束,则生成输入输出端口的物理约束文件。
[0008] 在第二种可能实现的方式中,所述在所述通用模型上,进行所述门级网表的工艺映射包括:根据所述物理约束文件中的物理约束,进行所述门级网表的工艺映射。
[0009] 在第三种可能实现的方式中,所述物理约束包括所述用户设计中的快速输入输出信息。
[0010] 在第四种可能实现的方式中,所述输入输出端口的通用模型包括物理管脚、数据输入端口、数据输出端口、数据输出使能端口、输入寄存器、输出寄存器、输出使能寄存器、快速输入配置位、快速输出配置位、快速输出使能配置位。
[0011] 本申请通过预提取用户设计中输入输出的端口信息,提前对用户设计中的I/O物理约束进行处理,极大缩短了I/O端口的工艺映射时间,进而极大的提高了用户开发流程的效率。

附图说明

[0012] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0013] 图1为现有技术中的一种输入输出端口的工艺映射方法流程示意图;
[0014] 图2为本发明实施例中的一种输入输出端口的工艺映射方法流程示意图;
[0015] 图3为本发明实施例中的一种输入输出端口的工艺映射方法流程示意图;
[0016] 图4为本发明实施例提供的一种通用输入输出模型结构示意图。

具体实施方式

[0017] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
[0018] 下面以图1为例,对现有技术中的输入输出端口工艺映射流程进行说明。图1为现有技术中的一种输入输出端口的工艺映射方法流程示意图。
[0019] 如图1所示,该方法包括步骤S101-S104。S101,通过硬件描述语言(Hardware Description Language,HDL),将用户设计输入;S102,逻辑综合,编译器将HDL用户设计输入转换为门级网表的过程;S103,工艺映射,将门级网表中的逻辑单元、逻辑单元的所有端口以及端口的连线信息映射在FPGA芯片中的逻辑资源和绕线资源上;S104,判断用户是否对输入输出端口I/O进行物理约束,若有,则重新回到步骤S102,进行逻辑综合;若没有,则对映射后的门级网表进行布局;步骤S105,对完成映射后的时序逻辑和组合逻辑进行布局。
[0020] 现有的输入输出端口的映射流程中,完成逻辑综合和工艺映射之后,才判断用户是否对I/O进行物理约束。当判断用户需要进行物理约束时,需要重新进行逻辑综合和工艺映射的过程,极大的影响了用户开发流程的效率。
[0021] 需要说明的是,逻辑综合是指将用户设计输入,用编译器,编译成由与门、或门、非门、随机存取存储器(Random Access Memory,RAM)、触发器等基本逻辑单元、逻辑单元端口以及端口的连线信息组成的门级网表。工艺映射,是指将门级网表的逻辑单元、逻辑单元端口及其连线信息映射到FPGA的绕线资源模块和逻辑资源中。布局是用布局算法,如模拟退火算法,对组合逻辑单元和时序逻辑单元进行布局。FPGA的逻辑资源包括寄存器和查找表;绕线资源包括xbar绕线资源。
[0022] 下面以图2为例,与图1对照,对本发明实施例的输入输出端口的流程进行说明。图2为本发明实施例提供的一种输入输出端口的工艺映射方法流程示意图。该方法包括步骤S201-S207。
[0023] S201,通过硬件描述语言HDL进行用户设计输入。
[0024] S202,端口预提取。
[0025] 针对用户设计输入,通过语法解析器HDL设计的层级信息,并且解析出顶层设计的输入输出端口的信息。
[0026] 预先提取输入输出端口的信息,可以优先处理用户对输入输出端口的物理约束,而不用在逻辑综合和工艺映射之后,再根据用户的物理约束进行第二次映射,进而极大地提高了用户开发流程的效率。
[0027] S203,判断用户是否对I/O进行物理约束。
[0028] 根据预提取的输入输出端口信息,判断输入输出端口信息中是否有用户的物理约束。用户的物理约束,如:快速输入输出。
[0029] 若用户对I/O进行了物理约束,则执行步骤S204。
[0030] S204,生成I/O的物理约束文件。
[0031] 当判断用户对I/O进行物理约束,生成I/O的物理约束文件。
[0032] 此时,生成的I/O物理约束文件是作为步骤S207工艺映射过程中的一个输入文件。且该I/O物理约束文件本身并不进行逻辑综合,但用户的HDL设计就仍然需要进行逻辑综合了,也就是执行步骤S205。
[0033] 也就是说,无论用户设计中是否存在对I/O的物理约束,HDL设计都要进行逻辑综合。
[0034] 逻辑综合结束后,进行工艺映射。如图2中所示,工艺映射被分为两步,第一步,建立通用I/O模型,即步骤S206;第二步,做具体类型I/O的工艺映射,即步骤S207。在步骤S207中,会用生成的所述I/O物理约束文件进行映射,此时,所述I/O物理约束文件相当于一个外部的输入文件。I/O物理约束文件的后缀名包括.aoc。
[0035] S205,逻辑综合。
[0036] 需要说明的是,无论步骤S203中,用户是否对I/O进行物理约束,都需要对HDL用编译器进行编译,将用户设计输入转换为门级网表。
[0037] S206,通用I/O模型的建立。
[0038] 建立通用的I/O模型,如图4所示,该模型包括各种类型I/O的通用特性,包括物理管脚PAD、数据输入输出端口id、数据输出端口od、数据输出使能端口oe、输入寄存器、输出寄存器、输出使能寄存器、快速输入配置位fast_in、快速输出配置位fast_out、快速输出使能配置位fast_oe。
[0039] S207,具体类型I/O的工艺映射。
[0040] 工艺映射就是在上述通用模型上,进行上述门级网表的工艺映射。也就是,需要将通用的I/O模型映射到具体架构的具体类型的I/O上,而针对不同架构的不同类型的I/O的工艺映射过程,只需要根据具体I/O的特性重写这部分算法即可。当用户对I/O进行了物理约束时,生成了I/O的物理约束文件;在进行工艺映射时,需要满足物理约束文件中的物理约束进行映射。由于在通用模型上已经进行了快速输入输出的映射,故对于快速输入输出这种物理上的约束则不需要重写映射算法。
[0041] FPGA架构,如:Xilinx的V5系列、V7系列。具体类型的I/O包括:普通I/O、时钟I/O,双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM)I/O,还有硬IP核的专用I/O等。
[0042] 用户对于I/O的物理位置的约束在将通用I/O模型映射为具体类型I/O时,可以更好地确定I/O的类型,映射过程可以更准确的满足用户的布局需求。
[0043] S208,布局。对完成工艺映射后的通用I/O模型,进行布局。
[0044] 图3为本发明实施例提供的一种输入输出端口的工艺映射方法流程示意图,如图3所示,该方法包括S301-S306。
[0045] S301,用户设计输入。
[0046] S302,预提取所述用户设计中输入输出的端口信息。
[0047] S303,根据预提取的所述输入输出的端口信息,判断用户是否对输入输出端口进行物理约束。
[0048] 在上述方法中,所述物理约束包括所述用户设计中的快速输入输出信息。例如:若提取的输入输出端口信息中有快速输入输出信息,则判断用户对输入端口进行了物理约束。物理约束还包括位置信息,本发明实施例对此并不限定。
[0049] S304,若用户对输入输出端口进行物理约束,则生成输入输出端口的物理约束文件。
[0050] 需要说明的是,在步骤S307中,根据该输入输出端口的物理约束文件,进行门级网表的工艺映射。
[0051] 当判断用户对输入输出端口进行了物理约束时,生成的物理约束文件,其本身不需要进行逻辑综合,即执行S304。但是针对用户设计仍然需要进行逻辑综合,故S304后,需要执行S305。
[0052] S305,将所述用户设计转换为门级网表。
[0053] 此时,无论用户是否对输入输出端口进行物理约束,都需要将所述用户设计转换为门级网表。
[0054] S306,建立所述输入输出端口的通用模型。
[0055] 在上述方法中,所述输入输出端口的通用模型包括物理管脚、数据输入端口、数据输出端口、数据输出使能端口、输入寄存器、输出寄存器、输出使能寄存器、快速输入配置位、快速输出配置位、快速输出使能配置位。
[0056] 需要说明的是,建立输入输出端口的通用模型可以单独进行,也就是在进行门级网表的工艺映射时,直接在所述通用模型上进行门级网表的工艺映射;也可以在对门级网表进行工艺映射时,先建立输入输出端口模型,然后进行具体门级网表的工艺映射。
[0057] S307,在所述通用模型上,进行所述门级网表的工艺映射。
[0058] 此时,上述步骤S303的判断中,判断用户设计中存在输入输出端口的物理约束文件,则需要根据所述输入输出端口的物理约束文件,进行门级网表的工艺映射。也就是说,在进行门级网表的工艺映射的同时,需要满足所述输入输出端口的物理约束文件中的物理约束。
[0059] S308,布局。
[0060] 本发明通过一种通用的针对I/O的工艺映射流程,缩短了I/O端口的工艺映射时间,进而极大的提高了用户开发流程的效率。
[0061] 专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0062] 结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0063] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。