掌桥专利:专业的专利平台
掌桥专利
首页

实现网表文件处理的方法、装置、计算机存储介质及终端

文献发布时间:2023-06-19 19:05:50


实现网表文件处理的方法、装置、计算机存储介质及终端

技术领域

本文涉及但不限于电子设计自动化技术,尤指一种实现网表文件处理的方法、装置、计算机存储介质及终端。

背景技术

硬件描述语言(HDL,Hardware Description Language)原理图查看器是一款电路原理图查看工具,旨在帮助用户更加方便和直观的了解自己的电路设计中的算法和逻辑,快速进行系统分析,提高用户的设计效率;HDL原理图查看器的设计流程包括:通过相关技术中的算法读取、分析并保存寄存器传输级(RTL,Register Transfer Level)或逻辑综合后网表文件中的逻辑资源及其连接关系,然后在上位机将网表文件中的逻辑资源以及连接关系进行布局、布线、绘制和显示。

图1为相关技术中的HDL原理图查看器的工作流程图,如图1所示,HDL原理图查看器的设计包括:步骤101、读取网表文件;步骤102、对网表文件中的逻辑资源(逻辑资源包括:网表文件中的查找表(LUT)、寄存器(DFF)等实例(instance),逻辑资源输入端口和输出端口,用于连接逻辑资源)和逻辑资源的连接关系逐一分析,并保存分析获得的逻辑资源和逻辑资源的连接关系;步骤103、根据保存的逻辑资源和逻辑资源的连接关系进行布局和布线,逻辑资源和逻辑资源的连接需要逐个完成,且只有所有的布局完成之后,才能逐个的进行布线处理,布线处理的开始必须在所有逻辑资源的布局完成才可以进行;步骤104、对布局和布线后的逻辑资源和逻辑资源的连接关系进行绘制、显示及刷新。上述HDL原理图查看器处理的各个流程之间是顺序的,一个流程的输入完全依赖于另一个流程的输出,尤其是逻辑资源和逻辑资源的连接的布局和布线处理,流程之间有着强关联性和依赖性,耦合性高。因此,这种设计方法的运行效率较低,当网表文件中逻辑资源丰富,连接关系复杂时,存在着运行效率低、显示界面存在等待时间长和刷新卡顿的问题,影响了用户的芯片设计效率。

发明内容

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

本发明实施例提供一种实现网表文件处理的方法、装置、计算机存储介质及终端,能够降低逻辑资源和逻辑资源连接关系的布局和布线处理的关联性和耦合性。

本发明实施例提供了一种实现网表文件处理的方法,包括:

将网表文件拆分为两个以上处理单元,一个处理单元由网表文件中的一个第一逻辑资源及与该第一逻辑资源直接连接的所有第二逻辑资源组成;

对每一个处理单元,分别进行处理单元中包含的第一逻辑资源和第二逻辑资源的布局处理和布线处理;

所有处理单元均完成布局处理和布线处理后,根据不同处理单元中是否包含相同的逻辑资源组成,确定处理单元之间的连接分布信息;

根据所有完成布线处理的处理单元和确定的连接分布信息,绘制网表文件;

其中,所述逻辑资源组成为所述第一逻辑资源或所述第二逻辑资源。

另一方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述实现网表文件处理的方法。

再一方面,本发明实施例还提供一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,

处理器被配置为执行存储器中的计算机程序;

所述计算机程序被所述处理器执行时实现如上述实现网表文件处理的方法。

还一方面,本发明实施例还提供一种实现网表文件处理的装置,包括:拆分单元、布局布线单元、确定分布单元和绘制单元;其中,

拆分单元设置为:将网表文件拆分为两个以上处理单元,一个处理单元由网表文件中的一个第一逻辑资源及与该第一逻辑资源直接连接的所有第二逻辑资源组成;

布局布线单元设置为:对每一个处理单元,分别进行处理单元中包含的第一逻辑资源和第二逻辑资源的布局处理和布线处理;

确定分布单元设置为:所有处理单元均完成布局处理和布线处理后,根据不同处理单元中是否包含相同的逻辑资源组成,确定处理单元之间的连接分布信息;

绘制单元设置为:根据所有完成布线处理的处理单元和确定的连接分布信息,绘制网表文件;

其中,所述逻辑资源组成为所述第一逻辑资源或所述第二逻辑资源。

本申请技术方案包括:将网表文件拆分为两个以上处理单元,一个处理单元由网表文件中的一个第一逻辑资源及与该第一逻辑资源直接连接的所有第二逻辑资源组成;对每一个处理单元,分别进行处理单元中包含的第一逻辑资源和第二逻辑资源的布局处理和布线处理;所有处理单元均完成布局处理和布线处理后,根据不同处理单元中是否包含相同的逻辑资源组成,确定处理单元之间的连接分布信息;根据所有完成布线处理的处理单元和确定的连接分布信息,绘制网表文件;其中,所述逻辑资源组成为所述第一逻辑资源或所述第二逻辑资源。本发明实施例将网表文件拆分为处理单元,对每一个处理单元分别执行布局和布线处理,降低了硬件描述语言(HDL)原理图处理的关联性和依赖性,实现了原理图处理的低耦合。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为相关技术中的HDL原理图查看器的工作流程图;

图2为本发明实施例实现网表文件处理的方法的流程图;

图3为本发明实施例实现网表文件处理的装置的结构框图;

图4为本发明实施例实现网表文件处理的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2为本发明实施例实现网表文件处理的方法的流程图,如图2所示,包括:

步骤201、将网表文件拆分为两个以上处理单元,一个处理单元由网表文件中的一个第一逻辑资源及与该第一逻辑资源直接连接的所有第二逻辑资源组成;

在一种示例性实例中,本发明实施例中的第一逻辑资源和第二逻辑资源包括现场可编辑逻辑器件(FPGA)的逻辑资源。

在一种示例性实例中,本发明实施例中的第一逻辑资源和第二逻辑资源均指网表文件中的逻辑资源,第一和第二仅用于区分陈述两种逻辑资源。

步骤202、对每一个处理单元,分别进行处理单元中包含的第一逻辑资源和第二逻辑资源的布局处理和布线处理;

步骤203、所有处理单元均完成布局处理和布线处理后,根据不同处理单元中是否包含相同的逻辑资源组成,确定处理单元之间的连接分布信息;

步骤204、根据所有完成布线处理的处理单元和确定的连接分布信息,绘制网表文件;

其中,逻辑资源组成为第一逻辑资源或第二逻辑资源。

本发明实施例将网表文件拆分为处理单元,对处理单元分别执行布局和布线处理,降低了硬件描述语言(HDL)原理图处理的关联性和依赖性,实现了原理图处理的低耦合。

在一种示例性实例中,本发明实施例可以通过HDL原理图查看器实施,通过本发明实施例方法提高了HDL原理图查看器的运行效率,减少了HDL原理图查看器的运行时长和刷新卡顿问题,为提升FPGA的设计效率提供了支持。

在一种示例性实例中,本发明实施例对每一个处理单元,分别进行处理单元中包含的第一逻辑资源和第二逻辑资源的布局处理和布线处理,包括:

对每一个处理单元,分别进行处理单元中包含的第一逻辑资源和第二逻辑资源的布局处理;

对完成布局处理的每一个处理单元,分别进行处理单元中包含的第一逻辑资源和第二逻辑资源的布线处理。

在一种示例性实例中,本发明实施例拆分获得处理单元后,可以对拆分的处理单元按照预设策略进行排序后,依照排序先后执行布局处理;处理单元在完成布局处理之后,再执行布线处理。本发明实施例对处理单元进行布局处理和布线处理,实际是对拆分的处理单元中包含的第一逻辑资源和第二逻辑资源的相对位置的布局和布线处理,通过拆分的处理单元,降低了网表文件中包含的逻辑资源之间的耦合性,提高了网表文件绘制的效率。

在一种示例性实例中,本发明实施例中的第一逻辑资源和第二逻辑资源,包括:网表文件中的查找表(LUT)和/或寄存器(DFF)。

在一种示例性实例中,本发明实施例中的第一逻辑资源和第二逻辑资源,可以是FPGA的网表文件中的其他实例(instance),可以根据网表文件的具体内容确定。

在一种示例性实例中,本发明实施例可以根据网表文件中包含的逻辑资源数,拆分为相应数量的处理单元,即每一个逻辑资源对应于一个处理单元,网表文件中的逻辑资源数量越多,拆分获得的处理单元越多。本发明实施例中的一个逻辑资源为网表文件中的一个实例,例如、一个LUT或一个DFF,逻辑资源的输入端口、输出端口可以连接到其他的逻辑资源。当拆分出一个逻辑资源对应的处理单元时,该逻辑资源为本发明实施例中的第一逻辑资源,与该逻辑资源的输入端口和输出端口连接的所有逻辑资源,为相对于第一逻辑资源的第二逻辑资源。

在一种示例性实例中,本发明实施例中处理单元的布局处理和布线处理可以是一个有着先后顺序的处理过程,可以认为是一个类似流水线的流转处理过程。

在一种示例性实例中,本发明实施例确定处理单元之间的连接分布信息,包括:

两个处理单元包含的逻辑资源组成完全不同时,确定处理单元之间不存在连接关系;

两个处理单元具有相同的逻辑资源组成时,确定处理单元之间由该相同的逻辑资源组成建立连接关系。

在一种示例性实例中,本发明实施例假设网表文件中包含逻辑资源1、逻辑资源2、逻辑资源3、逻辑资源4、逻辑资源5和逻辑资源6;逻辑资源1直接连接逻辑资源2和逻辑资源3,逻辑资源2直接连接逻辑资源5和逻辑资源6;逻辑资源3直接连接逻辑资源1、逻辑资源4和逻辑资源5;参照本发明实施例方法,假设处理单元1、处理单元2和处理单元3分别以逻辑资源1、逻辑资源2和逻辑资源3作为第一逻辑资源,则处理单元1中包含的第二逻辑资源为逻辑资源2和逻辑资源3,处理单元2中包含的第二逻辑资源为逻辑资源1、逻辑资源5和逻辑资源6,处理单元3中包含的第二逻辑资源为逻辑资源1、逻辑资源4和逻辑资源5;则处理单元1和处理单元2包含相同的逻辑资源组成的逻辑资源2,处理单元1和处理单元3包含相同的逻辑资源组成的逻辑资源3,处理单元2和处理单元3包含相同的逻辑资源组成的逻辑资源5;因此,处理单元1和处理单元2之间相邻且有逻辑资源2建立连接关系;处理单元1和处理单元3之间相邻且有逻辑资源3建立连接关系,处理单元2和处理单元2之间相邻且有逻辑资源5建立连接关系。

本发明实施例通过连接分布信息确定处理单元之间是否存在连接关系,以此也可以确定包含逻辑资源的处理单元之间的布局,为绘制网表文件提供数据基础,基于处理单元的布局处理和布线处理,以及处理单元的连接分布信息,可以确定绘制的所有逻辑资源的具体位置和所有连接关系,在上位机界面,可以显示绘制的网表文件。

在一种示例性实例中,本发明实施例当网表文件中逻辑资源和逻辑资源的连接关系发生变化时,本发明实施例绘制的网表文件参照相关技术进行显示刷新。

本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述实现网表文件处理的方法。

本发明实施例还提供一种终端,包括:存储器和处理器,存储器中保存有计算机程序;其中,

处理器被配置为执行存储器中的计算机程序;

计算机程序被处理器执行时实现如上述实现网表文件处理的方法。

图3为本发明实施例实现网表文件处理的装置的结构框图,如图3所示,包括:拆分单元、布局布线单元、确定分布单元和绘制单元;其中,

拆分单元设置为:将网表文件拆分为两个以上处理单元,一个处理单元由网表文件中的一个第一逻辑资源及与该第一逻辑资源直接连接的所有第二逻辑资源组成;

布局布线单元设置为:对每一个处理单元,分别进行处理单元中包含的第一逻辑资源和第二逻辑资源的布局处理和布线处理;

确定分布单元设置为:所有处理单元均完成布局处理和布线处理后,根据不同处理单元中是否包含相同的逻辑资源组成,确定处理单元之间的连接分布信息;

绘制单元设置为:根据所有完成布线处理的处理单元和确定的连接分布信息,绘制网表文件;

其中,逻辑资源组成为第一逻辑资源或第二逻辑资源。

本发明实施例将网表文件拆分为处理单元,对每一个处理单元分别执行布局和布线处理,降低了硬件描述语言(HDL)原理图处理的关联性和依赖性,实现了原理图处理的低耦合。

在一种示例性实例中,本发明实施例可以通过HDL原理图查看器实施,通过本发明实施例方法提高了HDL原理图查看器的运行效率,减少了HDL原理图查看器的运行时长和刷新卡顿问题,为提升FPGA的设计效率提供了支持。

在一种示例性实例中,本发明实施例中的第一逻辑资源和第二逻辑资源包括现场可编辑逻辑器件(FPGA)的逻辑资源。

在一种示例性实例中,本发明实施例布局布线单元包括布局模块和布线模块;其中,

布局模块设置为:对每一个处理单元,分别进行处理单元中包含的第一逻辑资源和第二逻辑资源的布局处理;

布线模块设置为:对完成布局处理的每一个处理单元,分别进行处理单元中包含的第一逻辑资源和第二逻辑资源的布线处理。

在一种示例性实例中,本发明实施例拆分获得处理单元后,可以对拆分的处理单元按照预设策略进行排序后,依照排序先后执行布局处理;处理单元在完成布局处理之后,再执行布线处理;图4为本发明实施例实现网表文件处理的流程示意图,如图4所示,网表文件被拆分为处理单元后,通过布局模块、布线模块、确定分布单元和绘制单元,采用流水线方式顺序执行网表文件的绘制处理。本发明实施例对处理单元进行布局处理和布线处理,实际是对拆分的处理单元中包含的第一逻辑资源和第二逻辑资源的相对位置的布局和布线处理,通过拆分的处理单元,降低了网表文件中包含的逻辑资源之间的耦合性,提高了网表文件绘制的效率。

在一种示例性实例中,本发明实施例中的第一逻辑资源和第二逻辑资源,包括:网表文件中的查找表LUT和/或寄存器DFF。

在一种示例性实例中,本发明实施例可以根据网表文件中包含的逻辑资源数,拆分为相应数量的处理单元,即每一个逻辑资源对应于一个处理单元,网表文件中的逻辑资源数量越多,拆分获得的处理单元越多。本发明实施例中的一个逻辑资源为网表文件中的一个实例,例如、一个LUT或一个DFF,逻辑资源的输入端口、输出端口可以连接到其他的逻辑资源。当拆分出一个逻辑资源对应的处理单元时,该逻辑资源为本发明实施例中的第一逻辑资源,与该逻辑资源的输入端口和输出端口连接的所有逻辑资源,为相对于第一逻辑资源的第二逻辑资源;

在一种示例性实例中,本发明实施例中处理单元的布局处理和布线处理是一个有着先后顺序的处理过程,可以认为是一个类似流水线的流转处理过程。

在一种示例性实例中,本发明实施例确定分布单元是设置为:

两个处理单元包含的逻辑资源组成完全不同时,确定处理单元之间不存在连接关系;

两个处理单元具有相同的逻辑资源组成时,确定处理单元之间由该相同的逻辑资源组成建立连接关系。

本发明实施例通过连接分布信息确定处理单元之间是否存在连接关系,以此也可以确定包含逻辑资源的处理单元之间的布局,为绘制网表文件提供数据基础,基于处理单元的布局处理和布线处理,以及处理单元的连接分布信息,可以确定绘制的所有逻辑资源的具体位置和所有连接关系,在上位机界面,可以显示绘制的网表文件。

在一种示例性实例中,本发明实施例当网表文件中逻辑资源和逻辑资源的连接关系发生变化时,本发明实施例绘制的网表文件参照相关技术进行显示刷新。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

相关技术
  • 文件处理方法、装置、计算机设备及存储介质
  • 日志文件处理方法、装置、计算机设备及存储介质
  • 终端遥控方法、装置及系统、终端及计算机可读存储介质
  • 双屏终端立体声实现方法、终端及计算机可读存储介质
  • 无线局域网的睡眠控制方法及装置、存储介质、工作站、终端
  • 移动终端文件处理方法、移动终端及计算机可读存储介质
  • 呼叫转移实现方法、终端、核心网及计算机可读存储介质
技术分类

06120115798002