【技术实现步骤摘要】
一种实现任意小位宽数据转大位宽数据的方法本专利技术涉及协议解析
,尤其涉及一种实现任意小位宽数据转大位宽数据的方法,主要用于协议解析需要将小位宽数据转大位宽数据的应用。
技术介绍
在对协议进行解析时,经常会碰到将某种特定的小位宽数据转换为某种特定的大位宽数据以便后续按照大位宽数据进行处理。例如,在解析OTN中的40GE时,有两个地方都涉及了小位宽转大位宽的应用,一个是,ODU3占据OTU4的31个时隙,故ODU3的数据位宽为248b,而40GE映射到ODU3中时是以256b为单位进行的,故需要将248b的小位宽转换为256b的大位宽;另一个是,在完成ODU3的解映射后,需要定界1027b块的边界,因为40GE是以1027b块结构承载在ODU3中的,故需要将256b的小位宽转换为1027b的大位宽。一种可能的方法是,经过复杂的数据拼接实现小位宽的数据转换为大位宽的数据。例如上述256b的小位宽转换为1027b的大位宽时,可以先将256b的小位宽整数拼接成1024b的小位宽,从而将问题转化为1024b转1027b的问题,每次拼接需要多3个比特, ...
【技术保护点】
1.一种实现任意小位宽数据转大位宽数据的方法,该方法基于FPGA的硬件平台上实现,其特征在于,步骤如下:/n(1)假设原始小位宽数据data_i的位数为a’,大位宽数据data_o的位数为b,floor[b/a’]=n,那么首先将原始的小位宽数据data_i进行整数n的拼接,得到拼接后的待处理的小位宽数据data_t,其位数为a=a’*n,其中floor[]表示取小于等于结果的最大正整数,/表示除法,*表示乘法,=表示等于;/n(2)设a与b的最大公约数为c,令a/c=ac,b/c=bc,那么a*bc=b*ac,其含义是说,bc个时钟周期的小位宽数据刚好可以转换成ac个时钟 ...
【技术特征摘要】
1.一种实现任意小位宽数据转大位宽数据的方法,该方法基于FPGA的硬件平台上实现,其特征在于,步骤如下:
(1)假设原始小位宽数据data_i的位数为a’,大位宽数据data_o的位数为b,floor[b/a’]=n,那么首先将原始的小位宽数据data_i进行整数n的拼接,得到拼接后的待处理的小位宽数据data_t,其位数为a=a’*n,其中floor[]表示取小于等于结果的最大正整数,/表示除法,*表示乘法,=表示等于;
(2)设a与b的最大公约数为c,令a/c=ac,b/c=bc,那么a*bc=b*ac,其含义是说,bc个时钟周期的小位宽数据刚好可以转换成ac个时钟周期的大位宽数据,这也是本发明设计的基本思路;
(3)设计一个计数器cnt_n,计数周期为bc,即cnt_n计数值达到bc-1时归0;
(4)设计一个数据缓存data_buf,用于移位存储小位宽数据data_t,即data_buf<...
【专利技术属性】
技术研发人员:陈伟峰,陈晖,王连岳,
申请(专利权)人:天津光电通信技术有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。