一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种DSP映射方法、系统、设备及计算机可读存储介质与流程

2022-04-30 15:56:18 来源:中国专利 TAG:

一种dsp映射方法、系统、设备及计算机可读存储介质
技术领域
1.本技术涉及资源管理技术领域,更具体地说,涉及一种dsp映射方法、系统、设备及计算机可读存储介质。


背景技术:

2.随着人工智能等技术的飞速发展,对高性能计算,向量计算等的要求也越来越高。向量与矩阵的乘法运算是现代信号处理中最基本的运算,在很多领域,包括人工智能,加解密算法等得到广泛的应用,但是向量与矩阵的乘法运算的计算复杂度高,因此计算性能直接影响系统的整体性能。fpga(field programmable gate array,可编程门阵列)作为一种通用的可编程逻辑器件,设计更接近于硬件底层的架构,拥有大量的ram(random access memory,随机存取存储器)资源、dsp(digital signal processing,数字信号处理)资源等,具有擅长数据并行计算、更加灵活和低延迟的特点,同时fpga还具有功耗低、可编程及设计灵活等的特点,因此fpga在很多应用领域得到广泛的使用。
3.但是在fpga等可编程逻辑器件的应用过程中,当用户设计中存在大量乘法器时,综合时默认将乘法器映射为dsp资源,当映射出的资源超出芯片的dsp资源时,后续布局布线就会失败,导致此用户设计没法使用,或者需要用户修改设计,增加了用户操作复杂度,使得用户体验性较差。
4.综上所述,如何提高用户使用可编程逻辑器件的体验性是目前本领域技术人员亟待解决的问题。


技术实现要素:

5.本技术的目的是提供一种dsp映射方法,其能在一定程度上解决如何提高用户使用可编程逻辑器件的体验性的技术问题。本技术还提供了一种dsp映射系统、设备及计算机可读存储介质。
6.为了实现上述目的,本技术提供如下技术方案:
7.一种dsp映射方法,包括:
8.获取对可编程逻辑器件的设计信息;
9.获取所述可编程逻辑器件中dsp资源的设计单位;
10.按照所述设计单位,将所述设计信息映射为初始dsp资源;
11.判断所述初始dsp资源是否超出阈值;
12.若所述初始dsp资源超出阈值,则将所述初始dsp资源划分为目标dsp资源及待拆分dsp资源,并将所述待拆分dsp资源拆分为其他资源;
13.其中,所述目标dsp资源未超出所述阈值。
14.优选的,所述按照所述设计单位,将所述设计信息映射为初始dsp资源,包括:
15.按照所述设计单位,基于优先使用小数值的所述设计单位的映射规则,将所述设计信息映射为所述初始dsp资源。
16.优选的,所述将所述初始dsp资源划分为目标dsp资源及待拆分dsp资源,并将所述待拆分dsp资源拆分为其他资源,包括:
17.在所述初始dsp资源中取出最小的子dsp资源作为所述待拆分dsp资源;
18.将所述待拆分dsp资源拆分为所述其他资源;
19.判断剩余的所述初始dsp资源是否超出所述阈值;
20.若剩余的所述初始dsp资源超出所述阈值,则返回执行所述在所述初始dsp资源中取出最小的dsp资源作为待拆分dsp资源的步骤;
21.若剩余的所述初始dsp资源未超出所述阈值,则将剩余的所述初始dsp资源作为所述目标dsp资源。
22.优选的,所述在所述初始dsp资源中取出最小的子dsp资源作为所述待拆分dsp资源,包括:
23.确定所述初始dsp资源中各个所述子dsp资源中输入位数的和值;
24.将值最小的所述和值对应的所述子dsp资源确定为所述待拆分dsp资源。
25.优选的,所述确定所述初始dsp资源中各个所述子dsp资源中输入位数的和值,包括:
26.确定所述初始dsp资源中各个所述子dsp资源中乘法输入位数的和值。
27.优选的,所述将所述待拆分dsp资源拆分为其他资源,包括:
28.将所述待拆分dsp资源拆分为所述其他资源,所述其他资源包括逻辑门。
29.优选的,所述将所述待拆分dsp资源拆分为其他资源,包括:
30.将所述待拆分dsp资源拆分为所述其他资源,所述其他资源包括加法器。
31.一种dsp映射系统,包括:
32.第一获取模块,用于获取对可编程逻辑器件的设计信息;
33.第二获取模块,用于获取所述可编程逻辑器件中dsp资源的设计单位;
34.第一映射模块,用于按照所述设计单位,将所述设计信息映射为初始dsp资源;
35.第一判断模块,用于判断所述初始dsp资源是否超出阈值;若所述初始dsp资源超出阈值,则将所述初始dsp资源划分为目标dsp资源及待拆分dsp资源,并将所述待拆分dsp资源拆分为其他资源;
36.其中,所述目标dsp资源未超出所述阈值。
37.一种dsp映射设备,其特征在于,包括:
38.存储器,用于存储计算机程序;
39.处理器,用于执行所述计算机程序时实现如上任一所述dsp映射方法的步骤。
40.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述dsp映射方法的步骤。
41.本技术提供的一种dsp映射方法,获取对可编程逻辑器件的设计信息;获取可编程逻辑器件中dsp资源的设计单位;按照设计单位,将设计信息映射为初始dsp资源;判断初始dsp资源是否超出阈值;若初始dsp资源超出阈值,则将初始dsp资源划分为目标dsp资源及待拆分dsp资源,并将待拆分dsp资源拆分为其他资源;其中,目标dsp资源未超出阈值。本技术中,在设计信息映射成的初始dsp资源超出阈值的情况下,会将初始dsp资源话分为未超出阈值的目标dsp资源及其他资源,使得可编程逻辑器件可以提供设计所需的目标dsp资
源,避免了重新修改设计的情况,提高了用户体验性。本技术提供的一种dsp映射系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.图1为本技术实施例提供的一种dsp映射方法的流程图;
44.图2为乘法器拆分后的逻辑资源表示;
45.图3为本技术实施例提供的指导综合过程中dsp映射的后平衡方法示意图;
46.图4为本技术实施例提供的一种dsp映射系统的结构示意图;
47.图5为本技术实施例提供的一种dsp映射设备的结构示意图;
48.图6为本技术实施例提供的一种dsp映射设备的另一结构示意图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.请参阅图1,图1为本技术实施例提供的一种dsp映射方法的流程图。
51.本技术实施例提供的一种dsp映射方法,可以包括以下步骤:
52.步骤s101:获取对可编程逻辑器件的设计信息。
53.实际应用中,可以先获取对可编程逻辑器件的设计信息,该设计信息可以由用户根据具体应用设计等,本技术在此不做具体限定。且可编程逻辑器件的类型也可以根据实际需要确定,比如可编程逻辑器件可以为fpga等。
54.步骤s102:获取可编程逻辑器件中dsp资源的设计单位。
55.实际应用中,用户确定好设计信息之后,在应用可编程逻辑器件的过程中,需先将设计信息转换为可编程逻辑器件中的相应资源占用信息,而可编程逻辑器件中各类资源信息均有自己的设计单元,也即资源被应用的最小单位,所以在获取对可编程逻辑器件的设计信息之后,需获取可编程逻辑器件中dsp资源的设计单位,以便后续基于该设计单元,将设计信息映射为对应的dsp资源。
56.需要说明的是,dsp资源的类型可以根据实际需要确定,比如dsp可以包括乘法器、乘加器及累加器等,且dsp资源的设计单元也可以根据实际需要确定,比如dsp资源的设计单位可以为mult9x9,mult18x18,multaddalu18x18,multalu36x18,mult36x36等,其中,mult9x9指乘法器两端的输入有效位为9,其他设计单位的释义可以对应理解。此外,一个mult18x18会占用2个mult9x9的资源,一个mult36x36会占用2个mult18x18或者4个mult9x9的资源,一个multaddalu18x18会占用4个mult9x9的资源,一个multalu1836x18也是占用4个mult9x9的资源。
57.步骤s103:按照设计单位,将设计信息映射为初始dsp资源。
58.实际应用中,在获取可编程逻辑器件中dsp资源的设计单位之后,便可以按照设计单位,将设计信息映射为初始dsp资源,以便后续可编程逻辑器件按照映射得到的dsp资源执行相应运算。
59.具体应用场景中,在按照设计单位,将设计信息映射为初始dsp资源的过程中,因为小的乘法器占用资源较少,所以为了节约dsp资源,可以按照设计单位,基于优先使用小数值的设计单位的映射规则,将设计信息映射为初始dsp资源。比如当一个8bit*8bit的乘法器进行dsp映射时,优先映射为mult9x9,而不映射为mult18x18等。
60.步骤s104:判断初始dsp资源是否超出阈值;若初始dsp资源超出阈值,则执行步骤s105。
61.步骤s105:将初始dsp资源划分为目标dsp资源及待拆分dsp资源,并将待拆分dsp资源拆分为其他资源;其中,目标dsp资源未超出阈值。
62.实际应用中,因为可编程逻辑器件中的资源有限,所以当设计信息映射成的初始dsp资源超出可编程逻辑器件的资源阈值后,用户需修改设计信息,但耗时耗力,为了避免此种情况,本技术在按照设计单位,将设计信息映射为初始dsp资源之后,需判断初始dsp资源是否超出阈值;若初始dsp资源超出阈值,则将初始dsp资源划分为目标dsp资源及待拆分dsp资源,并将待拆分dsp资源拆分为其他资源;其中,目标dsp资源未超出阈值,这样,用户无需修改设计信息,可以提高用户体验性。
63.需要说明的是,在判定初始dsp资源未超出阈值的情况下,可以直接将初始dsp资源作为目标dsp资源使用等,本技术在此不做具体限定。
64.具体应用场景中,在将待拆分dsp资源拆分为其他资源的过程中,可以将待拆分dsp资源拆分为其他资源,其他资源可以包括逻辑门、加法器等,其可以根据实际需要灵活确定,为了便于理解,假设待拆分的dsp资源为a
p*bq
,则拆分得到的其他资源可以如图2所示等。
65.本技术提供的一种dsp映射方法,获取对可编程逻辑器件的设计信息;获取可编程逻辑器件中dsp资源的设计单位;按照设计单位,将设计信息映射为初始dsp资源;判断初始dsp资源是否超出阈值;若初始dsp资源超出阈值,则将初始dsp资源划分为目标dsp资源及待拆分dsp资源,并将待拆分dsp资源拆分为其他资源;其中,目标dsp资源未超出阈值。本技术中,在设计信息映射成的初始dsp资源超出阈值的情况下,会将初始dsp资源拆分为未超出阈值的目标dsp资源及其他资源,使得可编程逻辑器件可以提供设计所需的目标dsp资源,避免了重新修改设计的情况,提高了用户体验性。
66.请参阅图3,图3为本技术实施例提供的指导综合过程中dsp映射的后平衡方法示意图。
67.本技术实施例提供的一种dsp映射方法,可以指导综合过程中dsp映射的后平衡,可以包括以下步骤:
68.步骤s201:获取对可编程逻辑器件的设计信息。
69.步骤s202:获取可编程逻辑器件中dsp资源的设计单位。
70.步骤s203:按照设计单位,将设计信息映射为初始dsp资源。
71.步骤s204:判断初始dsp资源是否超出阈值;若初始dsp资源超出阈值,则执行步骤
s205。
72.步骤s205:在初始dsp资源中取出最小的子dsp资源作为待拆分dsp资源。
73.步骤s206:将待拆分dsp资源拆分为其他资源。
74.实际应用中,因为大的dsp资源拆分为其他资源的话,会导致其他资源的占用率快速增大,且这部分设计信息的运行效率变慢,为了避免此种情况,可以在初始dsp资源中取出最小的子dsp资源作为待拆分dsp资源,并且只将待拆分dsp资源拆分为其他资源。这样,即缩减了dsp资源的使用量,又可以保证其他资源不被过多占用,保证设计信息的运行效率。
75.具体应用场景中,考虑到dsp资源中数据输入位数的大小可以反映所占用dsp资源的大小,所以在初始dsp资源中取出最小的子dsp资源作为待拆分dsp资源的过程中,为了便于确定待拆分dsp资源,可以确定初始dsp资源中各个子dsp资源中输入位数的和值;将值最小的和值对应的子dsp资源确定为待拆分dsp资源。且考虑到dsp资源多提供乘法运算,所以可以直接确定初始dsp资源中各个子dsp资源中乘法输入位数的和值等。
76.步骤s207:判断剩余的初始dsp资源是否超出阈值;若剩余的初始dsp资源超出阈值,则返回执行步骤s205;若剩余的初始dsp资源未超出阈值,则执行步骤s208。
77.步骤s208:将剩余的初始dsp资源作为目标dsp资源。
78.实际应用中,在将待拆分dsp资源拆分为其他资源之后,还需判断剩余的初始dsp资源是否超出阈值;若剩余的初始dsp资源超出阈值,则返回执行在初始dsp资源中取出最小的子dsp资源作为待拆分dsp资源的步骤;若剩余的初始dsp资源未超出阈值,则可以将剩余的初始dsp资源作为目标dsp资源。
79.请参阅图4,图4为本技术实施例提供的一种dsp映射方法的流程图。
80.本技术实施例提供的一种dsp映射系统,可以包括:
81.第一获取模块101,用于获取对可编程逻辑器件的设计信息;
82.第二获取模块102,用于获取可编程逻辑器件中dsp资源的设计单位;
83.第一映射模块103,用于按照设计单位,将设计信息映射为初始dsp资源;
84.第一判断模块104,用于判断初始dsp资源是否超出阈值;若初始dsp资源超出阈值,则将初始dsp资源划分为目标dsp资源及待拆分dsp资源,并将待拆分dsp资源拆分为其他资源;
85.其中,目标dsp资源未超出阈值。
86.本技术实施例提供的一种dsp映射系统,第一映射模块可以包括:
87.第一映射单元,用于按照设计单位,基于优先使用小数值的设计单位的映射规则,将设计信息映射为初始dsp资源。
88.本技术实施例提供的一种dsp映射系统,第一判断模块可以包括:
89.第一确定单元,用于在初始dsp资源中取出最小的子dsp资源作为待拆分dsp资源;
90.第一拆分单元,用于将待拆分dsp资源拆分为其他资源;
91.第一判断单元,用于判断剩余的初始dsp资源是否超出阈值;若剩余的初始dsp资源超出阈值,则返回执行在初始dsp资源中取出最小的dsp资源作为待拆分dsp资源的步骤;若剩余的初始dsp资源未超出阈值,则将剩余的初始dsp资源作为目标dsp资源。
92.本技术实施例提供的一种dsp映射系统,第一确定单元可以具体用于:确定初始
dsp资源中各个子dsp资源中输入位数的和值;将值最小的和值对应的子dsp资源确定为待拆分dsp资源。
93.本技术实施例提供的一种dsp映射系统,第一确定单元可以具体用于:确定初始dsp资源中各个子dsp资源中乘法输入位数的和值。
94.本技术实施例提供的一种dsp映射系统,第一判断模块可以包括:
95.第二拆分单元,用于将待拆分dsp资源拆分为其他资源,其他资源包括逻辑门。
96.本技术实施例提供的一种dsp映射系统,第一判断模块可以包括:
97.第三拆分单元,用于将待拆分dsp资源拆分为其他资源,其他资源包括加法器。
98.本技术还提供了一种dsp映射设备及计算机可读存储介质,其均具有本技术实施例提供的一种dsp映射方法具有的对应效果。请参阅图5,图5为本技术实施例提供的一种dsp映射设备的结构示意图。
99.本技术实施例提供的一种dsp映射设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
100.获取对可编程逻辑器件的设计信息;
101.获取可编程逻辑器件中dsp资源的设计单位;
102.按照设计单位,将设计信息映射为初始dsp资源;
103.判断初始dsp资源是否超出阈值;
104.若初始dsp资源超出阈值,则将初始dsp资源划分为目标dsp资源及待拆分dsp资源,并将待拆分dsp资源拆分为其他资源;
105.其中,目标dsp资源未超出阈值。
106.本技术实施例提供的一种dsp映射设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:按照设计单位,基于优先使用小数值的设计单位的映射规则,将设计信息映射为初始dsp资源。
107.本技术实施例提供的一种dsp映射设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:在初始dsp资源中取出最小的子dsp资源作为待拆分dsp资源;将待拆分dsp资源拆分为其他资源;判断剩余的初始dsp资源是否超出阈值;若剩余的初始dsp资源超出阈值,则返回执行在初始dsp资源中取出最小的dsp资源作为待拆分dsp资源的步骤;若剩余的初始dsp资源未超出阈值,则将剩余的初始dsp资源作为目标dsp资源。
108.本技术实施例提供的一种dsp映射设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:确定初始dsp资源中各个子dsp资源中输入位数的和值;将值最小的和值对应的子dsp资源确定为待拆分dsp资源。
109.本技术实施例提供的一种dsp映射设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:确定初始dsp资源中各个子dsp资源中乘法输入位数的和值。
110.本技术实施例提供的一种dsp映射设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:将待拆分dsp资源拆分为其他资源,其他资源包括逻辑门。
111.本技术实施例提供的一种dsp映射设备,包括存储器201和处理器202,存储器201
中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:将待拆分dsp资源拆分为其他资源,其他资源包括加法器。
112.请参阅图6,本技术实施例提供的另一种dsp映射设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现dsp映射设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(hml)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线连接:无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术。
113.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
114.获取对可编程逻辑器件的设计信息;
115.获取可编程逻辑器件中dsp资源的设计单位;
116.按照设计单位,将设计信息映射为初始dsp资源;
117.判断初始dsp资源是否超出阈值;
118.若初始dsp资源超出阈值,则将初始dsp资源划分为目标dsp资源及待拆分dsp资源,并将待拆分dsp资源拆分为其他资源;
119.其中,目标dsp资源未超出阈值。
120.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:按照设计单位,基于优先使用小数值的设计单位的映射规则,将设计信息映射为初始dsp资源。
121.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:在初始dsp资源中取出最小的子dsp资源作为待拆分dsp资源;将待拆分dsp资源拆分为其他资源;判断剩余的初始dsp资源是否超出阈值;若剩余的初始dsp资源超出阈值,则返回执行在初始dsp资源中取出最小的dsp资源作为待拆分dsp资源的步骤;若剩余的初始dsp资源未超出阈值,则将剩余的初始dsp资源作为目标dsp资源。
122.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:确定初始dsp资源中各个子dsp资源中输入位数的和值;将值最小的和值对应的子dsp资源确定为待拆分dsp资源。
123.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:确定初始dsp资源中各个子dsp资源中乘法输入位数的和值。
124.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:将待拆分dsp资源拆分为其他资源,其他资源包括逻辑门。
125.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:将待拆分dsp资源拆分为其他资源,其他资源包括加法器。
126.本技术所涉及的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质。
127.本技术实施例提供的dsp映射系统、设备及计算机可读存储介质中相关部分的说明请参见本技术实施例提供的dsp映射方法中对应部分的详细说明,在此不再赘述。另外,本技术实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
128.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
129.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献