CN114115804B - 一种乘法器转换方法、系统、设备以及介质 - Google Patents
一种乘法器转换方法、系统、设备以及介质 Download PDFInfo
- Publication number
- CN114115804B CN114115804B CN202210107346.6A CN202210107346A CN114115804B CN 114115804 B CN114115804 B CN 114115804B CN 202210107346 A CN202210107346 A CN 202210107346A CN 114115804 B CN114115804 B CN 114115804B
- Authority
- CN
- China
- Prior art keywords
- multiplier
- dsp
- mapping
- mapped
- multipliers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 17
- 238000013507 mapping Methods 0.000 claims abstract description 69
- 230000004044 response Effects 0.000 claims abstract description 21
- 235000019800 disodium phosphate Nutrition 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013461 design Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种乘法器转换方法,包括以下步骤:获取初始网表;遍历初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器;将每一个第一乘法器和对应的参数、每一个第二乘法器和对应的参数记录到数组中;根据数组中每一个第一乘法器对应的数据将初始网表中的第一乘法器映射为DSP;响应于第一乘法器转换的DSP所需资源小于芯片实际能够提供的DSP资源,依次再根据数组中每一个第二乘法器对应的数据将初始网表中的第二乘法器映射为DSP,其中每次将一个第二乘法器映射为DSP后均再次判断当前已映射的DSP所需资源是否小于芯片实际能够提供的DSP资源,若小于则停止映射。本发明还公开了一种系统、计算机设备以及可读存储介质。
Description
技术领域
本发明涉及计算机芯片设计技术领域,具体涉及一种乘法器转换方法、系统、设备以及存储介质。
背景技术
FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)作为一种通用的可编程逻辑器件,设计更接近于硬件底层的架构,拥有大量的RAM(Random AccessMemory,随机存取存储器)资源、DSP(Digital Signal Process,数字信号处理)资源等,具有擅长数据并行计算、更加灵活和低延迟的特点,同时FPGA还具有功耗低、可编程及设计灵活等的特点,因此FPGA在很多应用领域得到广泛的使用。
随着人工智能行业与FPGA行业的发展,用户设计的规模变得越来越大,由于用户设计的多样性,综合过程也变得尤其重要,需要识别到不同的用户设计,并且使用最合理的资源表示出来。
FPGA综合过程包括逻辑推理,逻辑优化技术映射等流程,当用户在rtl中定义及描述乘法器时,综合工具将其映射为DSP是合理的,但是rtl中的乘法器定义较多并且超出指定的芯片中的DSP资源时,如果将所有的定义的乘法器都综合出DSP,后续其他步骤就会失败。当设计中存在大量乘法器时,默认将乘法器映射为DSP资源,当映射出的资源超出芯片的DSP资源时,后续布局布线就会失败,导致此用户设计没法使用,或者需要用户修改设计。而现有技术中无法快速判断用户设计的网表是否符合实际资源要求。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种乘法器转换方法,包括以下步骤:
获取初始网表;
遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器;
将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中;
根据所述数组中每一个第一乘法器对应的数据将所述初始网表中的第一乘法器映射为DSP;
响应于所述第一乘法器转换的DSP所需资源小于芯片实际能够提供的DSP资源,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,其中每次将一个第二乘法器映射为DSP后均再次判断当前已映射的DSP所需资源是否小于芯片实际能够提供的DSP资源,且芯片实际能够提供的DSP资源无法满足下一个第二乘法器映射为DSP则停止映射。
在一些实施例中,还包括:
判断每一个所述第一乘法器和第二乘法器的周围是否存在符合DSP结构规则的元件;
响应于存在符合DSP结构规则的元件,将所述元件的参数记录到所述数组对应的数据中。
在一些实施例中,其特征在于,还包括:
响应于所述第一乘法器转换的DSP所需资源大于芯片实际能够提供的DSP资源,提示用户资源超出。
在一些实施例中,遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器,进一步包括:
响应于所述初始网表中乘法器的属性约束为DSP,则确定该乘法器为能够映射为DSP的第一乘法器;
响应于所述初始网表中的乘法器没有属性约束,则确定该乘法器为能够映射为DSP的第二乘法器。
在一些实施例中,将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中,进一步还包括:
将所述数组中的所述第一乘法器对应的数据进行标记以根据所述标记确定每一个第一乘法器对应的数据,并将所述第二乘法器对应的数据按照所述第二乘法器两端输入的宽度和的大小进行降序排列。
在一些实施例中,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,进一步包括:
将无法映射为DSP的第二乘法器映射拆分为芯片提供的其他资源。
在一些实施例中,还包括:
将所述初始网表中无法映射为DSP的乘法器映射拆分为芯片提供的其他资源。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种乘法器转换系统,包括:
获取模块,配置为获取初始网表;
遍历模块,配置为遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器;
记录模块,配置为将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中;
第一映射模块,配置为根据所述数组中每一个第一乘法器对应的数据将所述初始网表中的第一乘法器映射为DSP;
第二映射模块,配置为响应于所述第一乘法器转换的DSP所需资源小于芯片实际能够提供的DSP资源,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,其中每次将一个第二乘法器映射为DSP后均再次判断当前已映射的DSP所需资源是否小于芯片实际能够提供的DSP资源,且芯片实际能够提供的DSP资源无法满足下一个第二乘法器映射为DSP则停止映射。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种乘法器转换方法的步骤。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种乘法器转换方法的步骤。
本发明具有以下有益技术效果之一:本发明提出的方案通过采用边计算边映射的方式,只有当DSP资源不超出芯片的DSP资源时,才会进行替换,因此映射出来的DSP资源不会超出指定芯片的资源,而没有进行替换的电路部分保存了原始网表的属性及连接关系,合理的使用了芯片的各种资源,提高了资源利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的实施例提供的乘法器转换方法的流程示意图;
图2为本发明的实施例提供的乘法器转换系统的结构示意图;
图3为本发明的实施例提供的计算机设备的结构示意图;
图4为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
根据本发明的一个方面,本发明的实施例提出一种乘法器转换方法,如图1所示,其可以包括步骤:
S1,获取初始网表;
S2,遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器;
S3,将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中;
S4,根据所述数组中每一个第一乘法器对应的数据将所述初始网表中的第一乘法器映射为DSP;
S5,响应于所述第一乘法器转换的DSP所需资源小于芯片实际能够提供的DSP资源,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,其中每次将一个第二乘法器映射为DSP后均再次判断当前已映射的DSP所需资源是否小于芯片实际能够提供的DSP资源,且芯片实际能够提供的DSP资源无法满足下一个第二乘法器映射为DSP则停止映射。
本发明提出的方案通过采用边计算边映射的方式,只有当DSP资源不超出芯片的DSP资源时,才会进行替换,因此映射出来的DSP资源不会超出指定芯片的资源,而没有进行替换的电路部分保存了原始网表的属性及连接关系,合理的使用了芯片的各种资源,提高了资源利用率。
在一些实施例中,还包括:
判断每一个所述第一乘法器和第二乘法器的周围是否存在符合DSP结构规则的元件;
响应于存在符合DSP结构规则的元件,将所述元件的参数记录到所述数组对应的数据中。
具体的,FPGA中的DSP一般包括乘法器,乘加器及累加器等,乘法器还分为大的乘法器及小的乘法器,因为小的乘法器占用资源较少,如果乘法器的输入宽度较小时,优先映射为小的乘法器。当第一乘法器和/或第二乘法器的输入或输出有加法存在时,依据映射的基本规则及条件,将乘法器及加法器映射为乘加器或者累加器。因此需要将周围符合DSP结构规则的元件一并记录到数组中,这样数组中保存了DSP的边界及映射的DSP的参数,也即保存了初始网表中所有可以替换为DSP的候选电路及参数的对象。
在一些实施例中,其特征在于,还包括:
响应于所述第一乘法器转换的DSP所需资源大于芯片实际能够提供的DSP资源,提示用户资源超出。
具体的,若可以直接将第一乘法器映射为DSP,然后第一乘法器的转换后的DSP所需资源是否超出FPGA芯片的DSP资源,如果超出FPGA芯片能够提供的DSP资源时,为用户设计错误,直接报错退出,提示DSP用户资源超出。
在一些实施例中,遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器,进一步包括:
响应于所述初始网表中乘法器的属性约束为DSP,则确定该乘法器为能够映射为DSP的第一乘法器;
响应于所述初始网表中的乘法器没有属性约束,则确定该乘法器为能够映射为DSP的第二乘法器。
在一些实施例中,将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中,进一步还包括:
将所述数组中的所述第一乘法器对应的数据进行标记以根据所述标记确定每一个第一乘法器对应的数据,并将所述第二乘法器对应的数据按照所述第二乘法器两端输入的宽度和的大小进行降序排列。
具体的,可以将设计中约束为DSP的乘法器进行标记,即第一乘法器对应的数据进行标记;将没有属性约束的乘法器的两端输入宽度相加,按照输入宽度和的大小进行降序排列,保证优先将大的乘法器映射为DSP,即将第二乘法器对应的数据按照第二乘法器两端输入的宽度和的大小进行降序排列。
这样在映射时,首先将标记的第一乘法器不进行资源检测直接进行DSP替换,然后遍历数组计算用户设计中已经映射出的DSP是否小于指定芯片的DSP资源,如果小于指定芯片的DSP资源则使用对应的DSP替换第二乘法器,优先替换两端输入的宽度和较大的第二乘法器,并且每替换一个第二乘法器则判断芯片还能提供的DSP资源是否满足下一次映射,满足的话,则继续映射,反之则退出此循环遍历。
在一些实施例中,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,进一步包括:
将无法映射为DSP的第二乘法器映射拆分为芯片提供的其他资源。
在一些实施例中,还包括:
将所述初始网表中无法映射为DSP的乘法器映射拆分为芯片提供的其他资源。
具体的,将没有映射为DSP的第二乘法器和属性约束为非DSP的乘法器使用其他逻辑资源来进行拆分。即当设计中的DSP资源超出指定芯片的资源时,使用其他资源来表示乘法器,使得综合后的用户设计资源不超出指定芯片资源,用户设计在后续其他步骤都可以正常通过。还可以保证综合后的网表中DSP资源不会超出指定芯片资源,提高DSP资源的利用率,可以做到DSP映射过程的面积最优。
本发明提出的方案通过采用边计算边映射的方式,只有当DSP资源不超出芯片的DSP资源时,才会进行替换,因此映射出来的DSP资源不会超出指定芯片的资源,而没有进行替换的电路部分保存了原始网表的属性及连接关系,合理的使用了芯片的各种资源,提高了资源利用率。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种乘法器转换系统400,如图2所示,包括:
获取模块401,配置为获取初始网表;
遍历模块402,配置为遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器;
记录模块403,配置为将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中;
第一映射模块404,配置为根据所述数组中每一个第一乘法器对应的数据将所述初始网表中的第一乘法器映射为DSP;
第二映射模块405,配置为响应于所述第一乘法器转换的DSP所需资源小于芯片实际能够提供的DSP资源,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,其中每次将一个第二乘法器映射为DSP后均再次判断当前已映射的DSP所需资源是否小于芯片实际能够提供的DSP资源,且芯片实际能够提供的DSP资源无法满足下一个第二乘法器映射为DSP则停止映射。
在一些实施例中,还包括判断模块,配置为:
判断每一个所述第一乘法器和第二乘法器的周围是否存在符合DSP结构规则的元件;
响应于存在符合DSP结构规则的元件,将所述元件的参数记录到所述数组对应的数据中。
在一些实施例中,其特征在于,还包括提示模块,配置为:
响应于所述第一乘法器转换的DSP所需资源大于芯片实际能够提供的DSP资源,提示用户资源超出。
在一些实施例中,遍历模块402还配置为:
响应于所述初始网表中乘法器的属性约束为DSP,则确定该乘法器为能够映射为DSP的第一乘法器;
响应于所述初始网表中的乘法器没有属性约束,则确定该乘法器为能够映射为DSP的第二乘法器。
在一些实施例中,记录模块403还配置为:
将所述数组中的所述第一乘法器对应的数据进行标记以根据所述标记确定每一个第一乘法器对应的数据,并将所述第二乘法器对应的数据按照所述第二乘法器两端输入的宽度和的大小进行降序排列。
在一些实施例中,还包括拆分模块,配置为:
将无法映射为DSP的第二乘法器映射拆分为芯片提供的其他资源。
在一些实施例中,拆分模块,配置为:
将所述初始网表中无法映射为DSP的乘法器映射拆分为芯片提供的其他资源。
本发明提出的方案通过采用边计算边映射的方式,只有当DSP资源不超出芯片的DSP资源时,才会进行替换,因此映射出来的DSP资源不会超出指定芯片的资源,而没有进行替换的电路部分保存了原始网表的属性及连接关系,合理的使用了芯片的各种资源,提高了资源利用率。
基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种计算机设备501,包括:
至少一个处理器520;以及
存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行以下步骤:
S1,获取初始网表;
S2,遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器;
S3,将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中;
S4,根据所述数组中每一个第一乘法器对应的数据将所述初始网表中的第一乘法器映射为DSP;
S5,响应于所述第一乘法器转换的DSP所需资源小于芯片实际能够提供的DSP资源,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,其中每次将一个第二乘法器映射为DSP后均再次判断当前已映射的DSP所需资源是否小于芯片实际能够提供的DSP资源,且芯片实际能够提供的DSP资源无法满足下一个第二乘法器映射为DSP则停止映射。
在一些实施例中,还包括:
判断每一个所述第一乘法器和第二乘法器的周围是否存在符合DSP结构规则的元件;
响应于存在符合DSP结构规则的元件,将所述元件的参数记录到所述数组对应的数据中。
在一些实施例中,其特征在于,还包括:
响应于所述第一乘法器转换的DSP所需资源大于芯片实际能够提供的DSP资源,提示用户资源超出。
在一些实施例中,遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器,进一步包括:
响应于所述初始网表中乘法器的属性约束为DSP,则确定该乘法器为能够映射为DSP的第一乘法器;
响应于所述初始网表中的乘法器没有属性约束,则确定该乘法器为能够映射为DSP的第二乘法器。
在一些实施例中,将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中,进一步还包括:
将所述数组中的所述第一乘法器对应的数据进行标记以根据所述标记确定每一个第一乘法器对应的数据,并将所述第二乘法器对应的数据按照所述第二乘法器两端输入的宽度和的大小进行降序排列。
在一些实施例中,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,进一步包括:
将无法映射为DSP的第二乘法器映射拆分为芯片提供的其他资源。
在一些实施例中,还包括:
将所述初始网表中无法映射为DSP的乘法器映射拆分为芯片提供的其他资源。
本发明提出的方案通过采用边计算边映射的方式,只有当DSP资源不超出芯片的DSP资源时,才会进行替换,因此映射出来的DSP资源不会超出指定芯片的资源,而没有进行替换的电路部分保存了原始网表的属性及连接关系,合理的使用了芯片的各种资源,提高了资源利用率。
基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行以下步骤:
S1,获取初始网表;
S2,遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器;
S3,将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中;
S4,根据所述数组中每一个第一乘法器对应的数据将所述初始网表中的第一乘法器映射为DSP;
S5,响应于所述第一乘法器转换的DSP所需资源小于芯片实际能够提供的DSP资源,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,其中每次将一个第二乘法器映射为DSP后均再次判断当前已映射的DSP所需资源是否小于芯片实际能够提供的DSP资源,且芯片实际能够提供的DSP资源无法满足下一个第二乘法器映射为DSP则停止映射。
在一些实施例中,还包括:
判断每一个所述第一乘法器和第二乘法器的周围是否存在符合DSP结构规则的元件;
响应于存在符合DSP结构规则的元件,将所述元件的参数记录到所述数组对应的数据中。
在一些实施例中,其特征在于,还包括:
响应于所述第一乘法器转换的DSP所需资源大于芯片实际能够提供的DSP资源,提示用户资源超出。
在一些实施例中,遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器,进一步包括:
响应于所述初始网表中乘法器的属性约束为DSP,则确定该乘法器为能够映射为DSP的第一乘法器;
响应于所述初始网表中的乘法器没有属性约束,则确定该乘法器为能够映射为DSP的第二乘法器。
在一些实施例中,将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中,进一步还包括:
将所述数组中的所述第一乘法器对应的数据进行标记以根据所述标记确定每一个第一乘法器对应的数据,并将所述第二乘法器对应的数据按照所述第二乘法器两端输入的宽度和的大小进行降序排列。
在一些实施例中,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,进一步包括:
将无法映射为DSP的第二乘法器映射拆分为芯片提供的其他资源。
在一些实施例中,还包括:
将所述初始网表中无法映射为DSP的乘法器映射拆分为芯片提供的其他资源。
本发明提出的方案通过采用边计算边映射的方式,只有当DSP资源不超出芯片的DSP资源时,才会进行替换,因此映射出来的DSP资源不会超出指定芯片的资源,而没有进行替换的电路部分保存了原始网表的属性及连接关系,合理的使用了芯片的各种资源,提高了资源利用率。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (8)
1.一种乘法器转换方法,其特征在于,包括以下步骤:
获取初始网表;
遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器;
将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中;
根据所述数组中每一个第一乘法器对应的数据将所述初始网表中的第一乘法器映射为DSP;
响应于所述第一乘法器转换的DSP所需资源小于芯片实际能够提供的DSP资源,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,其中每次将一个第二乘法器映射为DSP后均再次判断当前已映射的DSP所需资源是否小于芯片实际能够提供的DSP资源,且芯片实际能够提供的DSP资源无法满足下一个第二乘法器映射为DSP则停止映射;
其中,遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器,进一步包括:
响应于所述初始网表中乘法器的属性约束为DSP,则确定该乘法器为能够映射为DSP的第一乘法器;
响应于所述初始网表中的乘法器没有属性约束,则确定该乘法器为能够映射为DSP的第二乘法器;
其中,将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中,进一步还包括:
将所述数组中的所述第一乘法器对应的数据进行标记以根据所述标记确定每一个第一乘法器对应的数据,并将所述第二乘法器对应的数据按照所述第二乘法器两端输入的宽度和的大小进行降序排列。
2.如权利要求1所述的方法,其特征在于,还包括:
判断每一个所述第一乘法器和第二乘法器的周围是否存在符合DSP结构规则的元件;
响应于存在符合DSP结构规则的元件,将所述元件的参数记录到所述数组对应的数据中。
3.如权利要求1所述的方法,其特征在于,还包括:
响应于所述第一乘法器转换的DSP所需资源大于芯片实际能够提供的DSP资源,提示用户资源超出。
4.如权利要求1所述的方法,其特征在于,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,进一步包括:
将无法映射为DSP的第二乘法器映射拆分为芯片提供的其他资源。
5.如权利要求1所述的方法,其特征在于,还包括:
将所述初始网表中无法映射为DSP的乘法器映射拆分为芯片提供的其他资源。
6.一种乘法器转换系统,其特征在于,包括:
获取模块,配置为获取初始网表;
遍历模块,配置为遍历所述初始网表以确定能够映射为DSP的多个第一乘法器和多个第二乘法器;
记录模块,配置为将每一个所述第一乘法器和对应的参数、每一个所述第二乘法器和对应的参数记录到数组中;
第一映射模块,配置为根据所述数组中每一个第一乘法器对应的数据将所述初始网表中的第一乘法器映射为DSP;
第二映射模块,配置为响应于所述第一乘法器转换的DSP所需资源小于芯片实际能够提供的DSP资源,依次再根据数组中每一个第二乘法器对应的数据将所述初始网表中的第二乘法器映射为DSP,其中每次将一个第二乘法器映射为DSP后均再次判断当前已映射的DSP所需资源是否小于芯片实际能够提供的DSP资源,且芯片实际能够提供的DSP资源无法满足下一个第二乘法器映射为DSP则停止映射;
遍历模块还配置为:
响应于所述初始网表中乘法器的属性约束为DSP,则确定该乘法器为能够映射为DSP的第一乘法器;
响应于所述初始网表中的乘法器没有属性约束,则确定该乘法器为能够映射为DSP的第二乘法器;
记录模块,还配置为将所述数组中的所述第一乘法器对应的数据进行标记以根据所述标记确定每一个第一乘法器对应的数据,并将所述第二乘法器对应的数据按照所述第二乘法器两端输入的宽度和的大小进行降序排列。
7.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-5任意一项所述的方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-5任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210107346.6A CN114115804B (zh) | 2022-01-28 | 2022-01-28 | 一种乘法器转换方法、系统、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210107346.6A CN114115804B (zh) | 2022-01-28 | 2022-01-28 | 一种乘法器转换方法、系统、设备以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114115804A CN114115804A (zh) | 2022-03-01 |
CN114115804B true CN114115804B (zh) | 2022-05-03 |
Family
ID=80361710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210107346.6A Active CN114115804B (zh) | 2022-01-28 | 2022-01-28 | 一种乘法器转换方法、系统、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115804B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5721690A (en) * | 1994-08-18 | 1998-02-24 | Nec Corporation | Logic circuit synthesis |
CN112948323A (zh) * | 2021-04-16 | 2021-06-11 | 山东高云半导体科技有限公司 | 存储器映射处理方法、装置及fpga芯片 |
CN113867685A (zh) * | 2021-09-27 | 2021-12-31 | 山东云海国创云计算装备产业创新中心有限公司 | 一种乘法器转换方法、装置、设备及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110264719A1 (en) * | 2008-10-30 | 2011-10-27 | Audioasics A/S | High radix digital multiplier |
US9152753B1 (en) * | 2014-06-30 | 2015-10-06 | Lattice Semiconductor Corporation | Incrementer absorption into multiplier logic for programmable logic devices |
-
2022
- 2022-01-28 CN CN202210107346.6A patent/CN114115804B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5721690A (en) * | 1994-08-18 | 1998-02-24 | Nec Corporation | Logic circuit synthesis |
CN112948323A (zh) * | 2021-04-16 | 2021-06-11 | 山东高云半导体科技有限公司 | 存储器映射处理方法、装置及fpga芯片 |
CN113867685A (zh) * | 2021-09-27 | 2021-12-31 | 山东云海国创云计算装备产业创新中心有限公司 | 一种乘法器转换方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
面向算术单元的FPGA工艺映射算法;路宝珠等;《微电子学与计算机》;20121205(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114115804A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701250B (zh) | 数据定点化方法和装置 | |
WO2018171715A1 (zh) | 适用神经网络处理器的自动化设计方法及系统 | |
CN113033811B (zh) | 两量子比特逻辑门的处理方法及装置 | |
CN113261003A (zh) | 使用神经网络生成集成电路平面图 | |
AU2014203218B2 (en) | Memory configuration for inter-processor communication in an MPSoC | |
CN106855952B (zh) | 基于神经网络的计算方法及装置 | |
US11275998B2 (en) | Circuitry for low-precision deep learning | |
JP7246447B2 (ja) | モデルトレーニング方法、装置、電子デバイス、記憶媒体、開発システムおよびプログラム | |
WO2018066074A1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
CN113313247B (zh) | 基于数据流架构的稀疏神经网络的运算方法 | |
CN115186821A (zh) | 面向芯粒的神经网络推理开销估计方法及装置、电子设备 | |
US20210350230A1 (en) | Data dividing method and processor for convolution operation | |
CN114936085A (zh) | 基于深度学习算法的etl调度方法及装置 | |
US8768680B2 (en) | Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores | |
CN116974868A (zh) | 芯片功耗估计装置、方法、电子设备及存储介质 | |
CN116483319A (zh) | 用于软件定义芯片的算子处理方法、装置、设备及介质 | |
CN112257368A (zh) | 时钟布局方法、装置、eda工具及计算机可读存储介质 | |
CN114115804B (zh) | 一种乘法器转换方法、系统、设备以及介质 | |
CN116663491B (zh) | 基于bdd求解功能覆盖组条件约束语句的方法、设备和介质 | |
CN117217136A (zh) | 一种基于rtl设计的fpga资源消耗估计方法 | |
CN112116081B (zh) | 一种深度学习网络的优化方法及装置 | |
CN115858648A (zh) | 数据库生成方法、数据流切分方法、装置、设备及介质 | |
CN111767204B (zh) | 溢出风险检测方法、装置及设备 | |
CN114723024A (zh) | 用于存算一体芯片的基于线性规划的神经网络映射方法 | |
CN116888599A (zh) | 一种集成电路的电路单元布局方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |