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

使用编码及解码表的半分类压缩的制作方法

2022-03-31 11:19:11 来源:中国专利 TAG:

使用编码及解码表的半分类压缩


背景技术:

1.半分类已描述为用于在布谷鸟过滤器及d-left计数布鲁姆过滤器中压缩指纹,布谷鸟过滤器及d-left计数布鲁姆过滤器这两种重要的近似集成员数据结构(asmds)普遍存在于联网硬件及软件以及其他应用(例如,数据库系统、基因组测序及文件系统)中。指纹是对asmds所近似地表示的集中的项的存在进行编码的简短散列。通常,指纹存储在asmds内的存储桶(类似于高速缓存集)中,其中指纹在存储桶内的位置不会改变其含义。
2.先前技术是按其前缀排序这些指纹并用代码字替换前缀。为了对指纹进行编码及解码,先前技术使用了一对编码及解码表。然而,这些表的大小相对于关联性的增长率实际上将存储桶的关联性限制为4或更小,因为在关联性为4时,查找表的大小可以是几千字节。因此,减小这些表的大小以改善其在硬件高速缓存或其他存储器中的存储的解决方案将是理想的。
附图说明
3.图1以框图形式图解说明根据一些实施例的包括压缩的数据处理平台。
4.图2以流程图形式图解说明根据一些实施例的用于将数据压缩并解压缩的过程。
5.图3以流程图形式图解说明根据一些实施例的用于创建含有经压缩数据的代码字的更详细过程。
6.图4以表形式图解说明根据一些实施例的用于使用编码表来创建含有经压缩数据的代码字的过程。
7.图5是根据一些实施例的展示半分类过程的图式。
8.图6是根据一些实施例的展示使用编码表来创建代码字的实例的图式。
9.图7以流程图形式图解说明根据一些实施例的用于将代码字解压缩的过程。
10.图8以图式形式图解说明根据一些实施例的使用编码表来将代码字解压缩的过程的一部分。
11.图9以图式形式图解说明图8的过程的另一部分。
12.图10以图表形式图解说明根据一些示例性实施例获得的压缩性能的实例。
13.在以下描述中,在不同附图中使用相同附图标记指示类似或相同项目。除非另有陈述,否则术语“耦合的”及其相关联动词形式包括直接连接及通过本领域中已知的方法的间接电连接,并且除非另有陈述,直接连接的任何描述暗指使用适合间接电连接形式的替代实施例。
具体实施方式
14.一种数据处理平台包括存储器及耦合到所述存储器的处理器,所述处理器能够执行对一组数据项的压缩及解压缩。处理器接收一组数据项,并基于相应数据项的数据内容为所述一组数据项中的每一相应数据项选择后缀数据及前缀。基于前缀对所述一组数据项进行分类。通过查询多个编码表对前缀进行编码,以创建含有经压缩信息的代码字,所述经
压缩信息表示所述一组数据项的所有前缀的值。将数据项中的每一者的后缀数据及代码字存储在存储器中。将代码字解压缩以恢复前缀,并且将经恢复前缀与其相应后缀数据配对。
15.一种方法压缩并存储数据项。接收一组数据项,并基于相应数据项的数据内容为所述一组数据项中的每一相应数据项选择后缀数据及前缀。基于前缀对所述一组数据项进行分类。通过查询多个编码表对前缀进行编码,以创建含有经压缩信息的代码字,所述经压缩信息表示所述一组数据项的所有前缀的值。存储代码字及数据项中的每一者的后缀数据。将代码字解压缩以恢复前缀。将经恢复前缀与其相应后缀数据配对。
16.一种有形非暂时性计算机可读介质保存可由至少一个处理器执行的程序产品以将数据项压缩并解压缩。接收一组数据项,并基于相应数据项的数据内容为所述一组数据项中的每一相应数据项选择后缀数据及前缀。基于前缀对所述一组数据项进行分类。通过查询多个编码表对前缀进行编码,以创建含有经压缩信息的代码字,所述经压缩信息表示所述一组数据项的所有前缀的值。将代码字及数据项中的每一者的后缀数据存储在存储器中。将代码字解压缩以恢复前缀。将经恢复前缀与其相应后缀数据配对。
17.图1以框图形式图解说明根据一些实施例的包括压缩的数据处理平台。数据处理平台100可以是需要将可被重新排序的具有高熵的一组数据项压缩的任何平台。举例来说,本文中的技术具有许多应用,如近似集成员数据结构中软件及硬件高速缓存标签以及指纹的压缩。一般来说,数据处理平台100为一组固定长度的项提供压缩及解压缩。所述技术对于次序可被置换的一致随机项(即,具有最大信息熵)是最有益的。应用可因联网、软件系统及硬件高速缓存而发生变化。
18.数据处理平台100与网络或主机系统10通信,以满足对数据存储及检索的请求,或者为主机系统执行诸如加密密钥检索或高速缓存等操作。在此实例中,数据处理平台100包括与随机存取存储器(ram)112通信的处理器110,随机存取存储器112可位于处理器110内部或外部。举例来说,ram 112可以是处理器110的集成高速缓存的一部分,或者处于平台100的主存储器中。处理器110还与非易失性存储器120通信,非易失性存储器120提供诸如快闪存储器或硬盘驱动器等有形非暂时性计算机可读介质,所述有形非暂时性计算机可读介质保存诸如压缩及解压缩程序代码122等计算机程序代码。
19.ram 112保存下文所描述的压缩技术中所使用的数据(诸如代码字σ,)及后缀0到后缀k-1(存在k个后缀,所述后缀中的每一者与k个数据项中的一者相关联)。此类数据也可存储在非易失性存储器中。当从非易失性存储器120加载程序代码122时,如由所加载压缩引擎114及所加载解压缩引擎116所描绘,压缩及解压缩程序代码存在于ram 112中。与本文中所描述的技术一起使用的其他数据(诸如要压缩的数据项及编码表)也可保存在ram 112或非易失性存储器120中。
20.虽然在此实施例中,数据处理平台包括执行程序代码指令的处理器110,但其他实施例可在硬件中实施一些压缩特征或所有压缩特征,诸如联网asic、cpu、gpu中的数字逻辑或fpga中的可编程逻辑。
21.图2以流程图形式图解说明根据一些实施例的用于将数据压缩并解压缩的过程200。在框202处,提供用于压缩的一组数据项。数据项通常是固定长度的项,通常具有如上文所论述的高熵。数据项中的一些位子序列可具有高熵,而其他子序列可能不太随机。举例来说,各种类型的高速缓存线、高速缓存标签、来自asmds的指纹、网络路由数据、来自分支
预测器或硬件预取器的硬件表或数据库条目,仅列举一些实例。
22.在框204处,过程200基于项的数据内容为一组中的每一数据项选择前缀及后缀数据。在一些实施例中,数据项可能已具有经识别前缀及后缀,在此情形中,框204不是必需的。举例来说,一组数据项可以是已提供高速缓存标签的一组高速缓存线,高速缓存标签的一部分或全部标签均用作前缀。当选择前缀时,过程200优选地从每一项选择确定性的位子序列,诸如从项选择若干个初始位。子序列可从数据项的任何所期望部分选择,并且可包括来自数据项的非序列位,诸如从来自数据项的非连续位子序列计算的指纹或散列。替代地,在某些实施方式中,使用数据项的所期望部分上的散列或计算来选择或产生前缀。后缀数据通常是数据项中除前缀以外剩余的位。
23.接下来,在框206处,基于前缀对数据项进行分类。可对整组数据项进行分类,或者可将所述一组分成子组,并且对所述子组进行分类。在一些实施方式中,以前缀的排序的次序存储数据项,并且对于这些实施例,不需要执行框206。然后在框208处,创建表示一组中所有前缀的经压缩值的代码字,如下文进一步所描述。基于经分类组而创建代码字。代码字可以是无损耗的,也就是说,能够再现经压缩前缀的每个位。如果对多个子组进行分类,那么通常会为每一子组创建代码字。
24.在框210处,将后缀数据及代码字存储在存储器中。取决于应用,用于进行存储的存储器可以是短期ram(诸如ram 112(图1))或存储存储器(诸如非易失性存储器120(图1))。后缀数据及代码字还可存储在数据库或经联网存储装置中,所述数据库或经联网存储装置不是执行压缩及解压缩的数据处理平台的一部分。
25.在框212处,当请求来自数据集的信息时,检索所存储后缀数据及代码字,并且将前缀解压缩。下文描述了一个适合解压缩过程的实例。然后,将经解压缩前缀与前缀数据配对以提供完整数据项。在一些情形中,如果在解压缩过程的早期提取了所期望数据项,那么就不需要将完整代码字解压缩,如下文进一步所描述。
26.图3以流程图形式图解说明根据一些实施例的用于创建含有经压缩数据的代码字的更详细过程300。图4至图6中图解说明压缩过程的其他实例。这些过程可由诸如图1的压缩引擎114等软件压缩引擎来执行,或者可由硬件与软件的其他适当组合来执行。
27.在框302处,过程300开始创建代码字。框304通过从存储器检索代码字、计算代码字或部分计算代码字来提供创建代码字所需的编码表,如下文进一步所描述。
28.对于每一前缀,以按分类提供的次序,框306通过查询多个编码表来对前缀进行编码,以创建含有经压缩信息的代码字σ,所述经压缩信息表示一组数据项的所有前缀的值。在此实施例中,框306查询编码表以获得表示编码表中相应前缀位置的多个整数。
29.如图5中所描绘,只要数据项是通过其前缀值排序的,过程就可处理分类结果的变化。在框308处,在此实施例中,通过将如所展示的所得整数求和,将查询多个输入表的结果用于创建代码字σ。图5展示带有所识别的前缀及后缀的一组数据项的原始输入。为了简单起见,所描绘数据项仅仅是具有少量小数据项的一个实例,并且可根据本文中的技术来存储数据项的许多其他布置。如框206(图2)处所陈述,对这些数据项进行分类。此分类构成了相对于数据项的半分类,因为在分类中不使用后缀数据,仅使用前缀数据。因此,分类的结果可按顺序变化,如图5的分类输出a及b所展示,分类输出a及b都是基于前缀的数据项分类的有效结果。请注意,共享相同前缀(101)的两个数据项出现在a及b中的交换位置中。更一
般来说,具有相同前缀的数据项彼此间可以任何次序出现在分类的输出中,而不会影响输出的正确性。过程300是有效的,尽管输入数据的次序可能发生变化,诸如图5中的那些输入数据。
30.再次参考图3,虽然这些框被描述为顺序的,但实际次序取决于实施方式。当由处理器执行时,过程可通过每一前缀进行迭代,并且在每次迭代中将整数值添加到运行总数中。更并行的实施方式可并行执行编码表查找。在框308处,当将所有整数求和时,所完成求和提供代码字σ。
31.图4以表形式图解说明根据一些实施例的用于使用编码表来创建含有经压缩数据的代码字的过程。压缩编码采用k个r位前缀的有序列表,并输出表达所述前缀的代码字。整数k表示一组中数据项的数目,且r表示每一前缀中的位的数目。描绘了一种此种编码方案,所述编码方案使用组合表达式的变体来列举编码。所述方案使用迭代器i列举一组0,1,2,...,k-2,k-1中的数据项。当所述迭代器进行列举时,其插入第i个数据项的前缀的值(称为pi)代替2r且i 1代替k(如果不是零索引,那么i将代替k)。然后将这些部分表达式求和以产生净和。在此实施例中,对k个前缀进行编码的代码字σ的公式由方程式1给出:
32.(1)
33.所描绘表400展示对于k=4及r=log2(3)的此公式的应用的实例。在此实例中,过程采用4个数据项前缀,并将其存储成本从4log2(3)≈6.34个位降低到log2(15)≈3.91个位。此编码可通过访问一个或多个经预计算表、通过响应于要求经计算值的压缩或解压缩请求而计算封闭形式表达式或者通过前两者的组合来进行。仍另一替代方案是仅根据需要来计算值或部分值,但在相关联数据或硬件结构中计算出值之后对所述值进行高速缓存以备后用。还可将计算中涉及的乘法计算减少到一系列等效加法、移位及掩蔽操作。
34.对于使用经预计算编码查找表的版本,优选地,为一组中的每一数据项使用单独查找表(不包括编码为恒等函数的第0个数据项)。依据表400,创建了四个编码表l0到l3,从而保存四列中每一列中所展示的组合表达式的值。然后这些相同表也可用于进行解码,如下文进一步所描述。
35.在此实施例中,表的数目等于前缀k的数目。在其他实施例中,可使用更少的表。举例来说,有可能使用隐式编码来实施表l0,如下文关于图10进一步所论述。所述表通常被称为表l0到l
k-1
,其中每一li是第i个数据项的前缀pi的编码表。每一li保存2r个条目,并由特定pi编入索引,从而产生特定编码。具体来说,对于其中0≤i≤k-1的i的所有整数值及其中0≤pi≤2
r-1的pi的所有整数值,在此实施例中,将表示表内前缀位置的索引值用于对前缀进行编码。在其他实施例中,可使用其他值。举例来说,编入索引的值在表中出现的次序可与所描绘次序不同,在此情形中,所返回的索引不一定是前缀位置。
36.可使用各种技术来提高计算或存储编码表的效率。可在运行中部分地计算编码表,以降低存储成本。举例来说,每次乘以2可实施为移位操作,因此存储此类移位的计数比存储经移位值更高效。当提供编码表l0到l
k-1
时,如果编码表内的两个条目存储相同值,那么所述过程可以将所述两个条目合并成单个条目。举例来说,通过为r及k选择适当值,所述过程可利用的性质或其他编码方案的类似性质来减少每表需要存储的条目数
目(例如,pi=5且i=2,则因为两者都是35)。在那种情形中,所述过程可用由将元组pi及i编入索引的单个矩阵来替换个体li,所述矩阵不存储当i 1等于p
i-1时的重复值(例如,所述过程不存储及两者)。
37.在一些实施方式中,对于r及k的公共值,编码表的大小可以不超过一千字节。所述过程仅需按照2rk个条目的次序存储,因此可使用r.在大约4到8的范围中的值,同时仍提供大部分空间节省,并且编码表的面积开销很小。在r个值的这个范围中,可在下文图10中看到示例性实施例的存储需求的减少。
38.图5及图6的序列图解说明使用8位数据项并采用3位前缀的实例性压缩过程。图5以图式形式图解说明根据一些实施例的半分类过程的结果500。描绘了所述过程的四个原始输入数据项,每一数据项有8个位。识别了3位前缀及剩余的5位后缀。将经半分类输出的两个有效变体(例如,框206的输出,图2)展示为标记为a及b。如所看到,一组中的两个数据项具有101的前缀值。因为分类根据其相应前缀的相对排序来重新布置数据项,所以具有前缀101的两个所描绘数据项可在经分类输出中彼此互换,而不影响正确性。
39.图6以图表形式图解说明根据一些实施例的使用编码表来创建代码字的示例性过程600。所描绘场景使用来自图5的根据输出a分类的一组数据项。编码过程一般从k个r位前缀开始,并对前缀进行编码以产生代码字σ,所述代码字是前缀的经压缩表示。在此情形中,k为4,并且过程600使用四个编码表l3到l0。可根据关于图4所描述的技术或者用其他适合技术产生编码表。所述图展示了从每一前缀值到所述前缀的相应编码表中的表条目的箭头,从而指示所述前缀值被用作所述表的索引。如果次序无关紧要,那么函数“ncr”指示组合表达式“n选择k”(从一组n个项选择k个项的方式的数目)。如关于图3框306所描述,在每一相应条目处产生整数值。从表条目到加法器框的箭头表示将整数值求和以产生代码字σ,在此实例中,所述代码字σ的值为261。此代码字值与5位后缀值一起存储在存储器中。
40.在一些实施例中,提供所述编码表,使得对于每一前缀,相应前缀索引提供基于按排序性质排序的前缀值的多个有序集合的计数,其中所述计数基于前缀在有序集合中的相对位置。每一相应前缀索引的计数指示前缀值的有序集合的数目,其中每一有序集合的大小是应用于前缀值在有序集合中的相对位置的函数的输出,且有序集合中的所有前缀值小于如按排序性质计算的相应前缀的值。举例来说,在图6的实施例中,当检查第i个前缀时,其中0≤i《k,通过对li[前缀]执行表查找来检索第i个前缀的编码。所返回的索引值是长度数目为i 1的前缀的经分类列表的计数,所述经分类列表在数字上位于含有第i个前缀的第一列表之前。举例来说,如果i为3且前缀为2,那么l3[2]存储按非递增次序排序在列表2,0,0,0之前的长度数目为3 1的列表的计数。这些列表是(1,1,1,1)、(1,1,1,0)、(1,1,0,0)、(1,0,0,0)及(0,0,0,0),总共为5个。虽然在此实施方式中,有序集合所采用的排序性质是非递增的,但可使用以所定义次序放置前缀值的任何适合排序性质。
[0041]
图7以流程图形式图解说明根据一些实施例的用于将代码字解压缩的过程700。图8以图式形式图解说明根据一些实施例的使用编码表来将代码字解压缩的过程800的一部分。图9是展示图8的过程的另一部分900的图式。以下描述将根据需要参考图7至图9。可由软件解压缩引擎116(图1)或其他适合硬件实施方式来执行过程700。所描绘解码过程是给定上文所描述的编码过程可使用的一个实例。对于上文所使用的编码及其他编码,其他解码方案也是可能的。
[0042]
在框702处,响应于从一组数据项提供数据的要求,过程700从存储器检索一组数据项的代码字σ并开始解压缩。也检索一组数据项的所存储后缀,如沿着图8的顶部所展示。解码通常从代码字σ开始,所述代码字是k个r位前缀的经压缩表示并且对从第k-1个前缀开始向下到第0个前缀的前缀进行解码。过程700包括k次迭代,在此实例中为四次,每前缀一次。如图8和图9中所展示,迭代以按半分类产生的次序采用编码表l3到l0。在此实施例中,所使用的表是在从表l
k-1
到表l0的编码中采用的相同编码表。
[0043]
对于第一次迭代,在框704处,过程700将整数i初始化为k-1并将搜索值σ

初始化为等于代码字σ。然后在框706处,在编码表li中搜索小于或等于搜索值σ

的最大值。这在图8中进行图解说明,其中表l3展示了通过搜索小于261的σ

的最高值而突出显示的搜索结果,所述最高值是在最后一个条目中找到的值210。
[0044]
在框708处,使用此搜索结果,这将经恢复前缀pi设置为等于在搜索中找到的最大值的表索引。在图9的实例中,将经恢复前缀设置为表l3中最后一个条目的索引111。经恢复前缀值111与所存储后缀值10111以在将代码字进行编码时使用的分类提供的次序进行组合,从而提供了表l3下所展示的完整数据项。
[0045]
接下来在框710处,将整数i设置为递减,以进行到下一迭代。在框712处,将搜索值σ

设置为等于先前搜索值σ

减去在先前搜索迭代中找到的小于或等于先前搜索值σ

的最大值。在图9的实例中,此值由计算为261-210=51的新搜索值σ
′2展示。值的来源由馈入加法框902的箭头展示。
[0046]
然后在框714处,在编码表li中搜索小于或等于新搜索值σ

的最大值。这在图8中由表l2中的所突出显示搜索结果35展示,最大的表条目小于51。在框716处,将经恢复前缀pi设置为等于在搜索中找到的最大值的表索引。在实例中,将经恢复前缀p2设置为表l2的经突出显示索引值101。此前缀与所存储后缀数据相结合,以提供前缀p2的完整数据项,所述数据项为10111111。
[0047]
重复框710到716,直到最后一次迭代完成为止,其中整数i为零,这就完成了一组经恢复前缀。在图8和图9的实例中,描绘了展示所得值的最后两次迭代。使用σ
′1的值16搜索表l1,所述值等于来自先前迭代的先前搜索值51减去找到的最大值35。将经恢复索引p1设置为通过用16搜索找到的表索引值,所述表索引为101,即来自表l1的索引15。然后用σ
′0的值1搜索表l0,所述值等于先前搜索值16减去先前找到的最大值15。将经恢复索引p0设置为通过用1搜索找到的表索引值,所述表索引为001,即表l0中找到的值1的索引。
[0048]
请注意,虽然所描绘过程700展示前缀恢复或解压缩完全发生,但这不是限制性的,并且如果仅需要在所述过程早期恢复的前缀的值,那么所述过程可仅部分完成。
[0049]
框706及714的搜索可以线性或并行方式对小表进行,或者替代地使用诸如针对较大表的经改进二分搜索等的另一适合搜索算法。如上文所论述,可用执行程序代码的微处理器、专用数字逻辑或可编程逻辑来实施所述过程。
[0050]
图10以图表形式图解说明根据一些实施例获得的压缩性能的实例。图表1000展示上文针对多个数据集描述的实例性过程的性能,其中竖直轴线上每数据项的位的减少对水平轴线上位的前缀长度(r),每项所压缩的位数目。图表图例识别出数据集的不同关联性。本文中使用术语“关联性”,因为所述术语在本领域中通常用于描述高速缓存集或类似数据集。也就是说,每一存储器地址或其他数据项标识符映射到一组或一群组数据项内的可能
数目的位置。可能位置的数目是关联性。请注意,关联性每增加2次方,每经压缩前缀均会节省大约另一位(假设r的值适当)。
[0051]
在给定带有r位前缀的k个项的组的情况下,存储这些前缀的初始空间是kr个位。此种编码允许存储过程对一组k个r位数目的所有2
rk
个排列进行编码,其中允许进行复制。然而,对于每数据项的2r个完全不同值,如果这些值是有序的,那么问题就从必须存储k个r位数目的所有排列演变为仅需存储组合。存在个此类组合,比全部2
rk
个排列要少得多。因此,本文中的技术可在四舍五入到最接近的整数位时将这些组合编码为个位。因此,每组的净节省量是k个r位数目(kr个位)的净大小减去新大小(个位)。将净节省量除以每组的项数目(k),我们得到每经压缩前缀(或与之相关的项)的位的节省量,所述节省量在图10中绘制为数个实例,并且通常由方程式2描述:
[0052]
(2)
[0053]
从图表1000可理解,对于高关联性结构,前缀的存储成本通常可取决于所设置关联性而降低一到四个位。在asmds中,数据项的长度通常只有八到几十个位,每项节省一到四个位是很重要的。此外,前缀的长度仅需数个位就可实现压缩的大部分益处。此性质很重要,因为本文中的实例性过程中的个别编码查找表各自具有2r个条目,因此就编码表大小来说,较长前缀是昂贵的。
[0054]
先前技术使用了一个解码表及一个编码表。如果在压缩之前没有执行分类,那么全部2
rk
个排列各自需要编码表中的一个条目。如果在压缩之前按前缀进行分类,那么仅需要具有个条目的一个表。举例来说,如果每一条目的大小为4个字节,那么即使r=4且k=4,查找表中也存在3867个条目。在每项两个字节的情况下,每一表大约是8kb(两者为16kb)。
[0055]
相比之下,本文中的一些实例性实施方式使用了k个查找表,每一查找表均具有2r个条目。在k=4且r=4的情况下,此种设计最多使用k2r个条目。在每条目两个字节下,总空间成本为2个字节
×4×
2^4=128个字节。当r固定时,此方法的存储成本与σ大致成线性比例,但与线性行为有所不同,因为每一查找表条目均采用个位的次序进行编码。通过在运行中计算查找表值来执行编码及解码进一步降低了存储成本。如先前所指示,另一可用优化是使最终查找表隐式化,因为所述最终查找表总是也就是简单的p0,所以解压缩过程的k-1次迭代后剩余的任何内容都是最后一个前缀。类似地,在编码期间,可通过将第零个前缀添加到整数和中而将编码过程的最终前缀编码到代码字中(图3,308)。
[0056]
本文中所描述的技术可用硬件与软件的各种组合来实施。举例来说,硬件电路系统可包括数字逻辑、有限状态机、可编程逻辑阵列(pla)等等。压缩及解压缩过程可通过微控制器执行所存储程序指令来实施,以评估未决命令的相对定时合格性。在此情形中,一些指令可存储在非暂时性计算机存储器或计算机可读存储介质中以供微控制器执行。在各种实施例中,非暂时性计算机可读存储介质包括磁盘或光盘存储装置、诸如快闪存储器的固态存储装置或一个或多个其他非易失性存储装置。存储在非暂时性计算机可读存储介质上
的计算机可读指令可以是源代码、汇编语言代码、对象代码或由一个或多个处理器解译及/或执行的其他指令格式。
[0057]
图1的数据处理平台100或其任何部分(诸如处理器110),或者其他实施方式(诸如所定制数字逻辑实施方式)可由呈数据库、数据库索引或其他数据结构形式的计算机可访问数据结构来描述或表示,所述数据结构可由程序读取并直接或间接用于制作集成电路。举例来说,此数据结构可以是诸如verilog或vhdl的高级设计语言(hdl)中的硬件功能性的行为级描述或寄存器传送级(rtl)描述。所述描述可由合成工具读取,所述合成工具可合成所述描述以产生包括来自合成库的门的列表的网表。所述网表包括一组门,所述一组门也表示包括集成电路的硬件的功能性。然后,可放置并且路由所述网表以产生描述要应用于掩模的几何形状的数据集。然后,可在各种半导体制造步骤中使用掩模来生产集成电路。替代地,计算机可存取存储介质上的数据库可以是网表(具有或没有合成库)或数据集(根据需要),或图形数据系统(gds)ii数据。
[0058]
虽然已经描述特定实施例,但对这些实施例的各种修改对于所属领域的技术人员来说将是显而易见的。举例来说,在不同实施例中,数据集中的数据类型可以不同,诸如各种类型的高速缓存线、高速缓存标签、来自asmds的指纹、网络路由数据、来自分支预测器或硬件预取器的硬件表或者数据库条目。用于产生编码表的数学算法可有所不同。基于多个表的编码及解码的特定过程也可发生变化。提供编码表的方法也可发生变化,包括表值的计算或部分计算。此外,虽然在本文中的实例中使用了单个代码字,但取决于所使用的压缩算法,其他实施例可为特定数据集产生多个代码字。
[0059]
因此,所附权利要求书旨在涵盖落入本公开的范围内的所公开实施例的所有修改。
再多了解一些

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

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

相关文献