买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明公开了一种数据展开器的并行数据展开方法先设置数据展开器的参数并创建一个计数器;接着向数据展开器输入多路并行数据项并缓存,然后通过数据展开器实现并行输入的多个带有数据和重复次数的数据项展开为固定位宽并行输出的数据,特别适合在各种高速数字电路系统中使用。
主权项:1.一种数据展开器的并行数据展开方法,其特征在于,包括以下步骤:1、设置数据展开器的参数;2、创建一个计数器,初始化计数器的计数值为0;3、向数据展开器输入多路并行数据项并缓存;向数据展开器输入多路并行数据项,然后按照输入的先后顺序通过寄存器缓存成两组,两组缓存数据作为数据展开器一轮待展开的数据项,每组中包含Nin路数据项,两组缓存数据项的索引值记为0~2*Nin-1;4、设置数据展开器的展开轮次i,初始化i=1,设置每轮展开次数j,初始化j=1;5、分别计算数据展开器第i轮展开时寄存器中两组缓存数据项的长度之和,分别记为l1st,i和l2nd,i: 其中,li,1k、li,2k分别表示第i轮展开时寄存器中两组缓存数据中第k路数据项的长度值;6、计算数据展开器在第i轮第j次展开时的起点位置和终点位置;6.1、设置数据展开器第一轮展开数据时的溢出长度loverflow=0,第一轮的第一次展开的起点位置pstart=0;6.2、计算数据展开器在第i轮第j次展开的起点位置pstart,ij:pstart,ij=loverflow,i+cntij*Nout其中,cntij为第i轮第j次展开计数器的计数值,Nout为展开器的输出位个数,loverflow为展开起点位置pstart相比第一组数据项长度的溢出长度loverflow: 其中,pstart,i-1last表示第i-1轮展开时最后一次展开的起点位置,l1st,i-1表示第i-1轮展开时寄存器中缓存的第一组数据项的长度之和;6.3、计算数据展开器在第i轮第j次展开的终点位置pend,ij:pend,ij=pstart,ij+Nout7、计算第i轮展开时计数器的计数目标值;7.1、计算第i轮展开时的保留长度lremain,i;利用第一组缓存数据项的长度之和l1st,i减去溢出长度loverflow,i作为第一组缓存数据项剩余未被展开的长度,记为保留长度lremain,i;lremain,i=l1st,i-loverflow,i7.2、将保留长度lremain,i除以展开器的输出位个数Nout,取商并求余数,然后将商作为lremain,i的高位lremain_High,i,将余数作为lremain,i的低位lremain_Low,i; 7.3、计算第i轮展开时计数器的计数目标值cnttarget,i; 8、判断计数器的计数值cnt是否达到计数目标值cnttarget,如果cnt<cnttarget,则进入步骤9;否则,进入步骤10;9、数据展开器进行第i轮数据展开;9.1、读取两组缓存数据然后拼接成一组数据,记为Lik,k=0,1,2,…,2*Nin;9.2、计算Lik中每路数据项偏移值; 其中,|Lik|表示数据Lik中第k路数据项的长度,offsetik表示数据Lik中第k路数据项的偏移值;9.3、计算第i轮第j次展开时终点位置对应的索引值iend,ij;iend,ij=min{k|offsetik+1>pend,ij}9.4、计算第i轮第j次展开时筛选数据项的起点位置、终点位置对应的索引值; iselected_end,ij=iselected_start,ij+Nselect-1其中,iselected_start,ij、iselected_end,ij分别表示筛选数据项的起点位置、终点位置对应的索引值,Nselect为筛选数据项个数;9.5、将数据Lik中,按照索引值iselected_start,ij和iselected_end,ij,从2Nin个数据项中筛选出对应索引位置的所有数据项作为第i轮第j次展开时的数据项;9.6、计算各筛选数据项的偏移值offsetselected,ijp; 其中,p=1,2,…,Nselect;9.7、计算各筛选数据项的使能信号enableijp; 其中,True代表使能数据项,False代表不使能数据项;9.8、根据各筛选数据项的偏移值和使能信号,构建一个Nselect行Nout列的掩码矩阵M;其中,掩码矩阵M的每个元素为0或1,当掩码矩阵M中第p行第q列元素mpq满足:enableijp为True且offsetselected,ijp≤q<offsetselected,ijp+1时,mpq取值为1,否则取值为0;9.9、取出掩码矩阵M每列中元素为1对应数据,然后按序拼接得到长度为Nout的数据项,并作为数据展开器在第i轮第j次展开后的输出数据;9.10、待第j次展开完成后,将计数器的计数值加1,然后令j=j+1,并返回步骤6.2进行下一轮的数据展开;10、将计数器的计数值清零;令i=i+1,然后控制数据展开器将寄存器内第二组缓存数据覆盖第一组缓存数据,再按顺继续接收输入的多路并行数据项并缓存,得到新的第二组缓存数据,接着重新标记两组缓存数据项的索引值为0~2*Nin-1;最后再返回步骤5。
全文数据:
权利要求:
百度查询: 电子科技大学(深圳)高等研究院 一种数据展开器的并行数据展开方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。