本发明专利技术公开了一种基于数据位宽展开的scramble与descramble硬件实现方法,展开后进行冗余项消除并一次性算出当前运算周期scramble/descramble的运算结果以及移位后移位寄存器的值,对于USB3.1和PCI‑Express3.0协议定义的scramble和descramble多项式具有比较好的效果,能够获得比较小的硬件延时,使系统可以工作在更高的频率。
【技术实现步骤摘要】
一种基于数据位宽展开的scramble与descramble硬件实现方法
本专利技术属于USB领域,更具体地,涉及一种基于数据位宽展开的scramble与descramble硬件实现方法。
技术介绍
USB是英文UniversalSerialBus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。USB接口支持设备的即插即用和热插拔功能。USB标准于1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出,现已经被广泛应用于电脑,手机,数码相机等各种电子设备。USB标准由USB官方组织USB-IF制定和维护,从开始至今依次发布了USB1.1,USB2.0,USB3.0和USB3.1四个版本,新版本前向兼容旧版本。每个版本支持的最大传输速率分布为:USB1.1:12Mbps;USB2.0:480Mbps;USB3.0:5Gbps;USB3.1:10Gbps;PCI-Express是PeripheralComponentInterconnectExpress的缩写,是一种高速串行电脑扩展总线标准,广泛用于电脑主板和扩展设备如可显卡、声卡、网卡、内置Modem、IEEE1394卡、IDE接口卡、RAID卡、电视卡、视频采集卡以及其它种类繁多的扩展卡之间的连接。PCI-Express支持从1条通道链接(Lane)到32条通道链接,具有非常强的伸缩性,以满足不同系统设备对数据传输带宽不同的需求。PCI-Express标准由PCI-SIG(PCISpecialInterestGroup)组织制定和维护,现有的主要版本以及单条通道链接支持的最大传输速率:PCI-Express2.0:5GbpsPCI-Express3.0:8GbpsScramble是根据特定的多项式,通过线性反馈的方式根据二进制的原始数据生成伪随机数序列,scramble之后二进制数据0和1的分布更为均衡,可以减少高速传输时的电磁辐射干扰(ElectromagneticinterferenceEmission),与scramble相对应的将伪随机数还原成原始数据的方法称为descramble。USB3.1和PCI-Express3.0协议中都使用了scramble和descramble技术,发送方将原始数据scramble后进行传输以减小数据高速传输过程中产生的电磁辐射干扰,接收方在接收到数据后先通过descramble还原出原始数据,然后再根据协议对数据进行处理。USB3.1和PCI-Express3.0协议中使用了相同的scramble和descramble多项式,协议的物理层(PhysicalLayer)负责对发出的数据进行scramble处理,并对接收到的数据进行descramble处理。线性反馈的多项式为:G(X)=X23+X21+X16+X8+X5+X2+1。USB3.1和PCI-Express3.0协议定义了单比特的scramble和descramble实现方案,如图1所示。图1的实现方案每个工作周期输入一个固定位宽(如16位,32位或64位等)的数据data_in,进行scramble并输出结果data_out,方案中使用了23位的线性反馈移位寄存器(lfsr[22:0]),输入数据按照小数端(LSB)由低到高逐位进行迭代和运算,scramble的具体运算步骤为:第一步,将输入数据data_in的最低位D0与lfsr的最高位D22进行异或,得到输出数据data_out的最低位。第二步,将lfsr按照图1中所示的电路结构(对应多项式:X23+X21+X16+X8+X5+X2+1)进行单比特(bit)移位,得到新的lfsr的值,对应的算法为:D0(n+1)=D22(n);D1(n+1)=D0(n);D2(n+1)=D1(n)^D22(n);D3(n+1)=D2(n);D4(n+1)=D3(n);D5(n+1)=D4(n)^D22(n);D6(n+1)=D5(n);D7(n+1)=D6(n);D8(n+1)=D7(n)^D22(n);D9(n+1)=D8(n);D10(n+1)=D9(n);D11(n+1)=D10(n);D12(n+1)=D11(n);D13(n+1)=D12(n);D14(n+1)=D13(n);D15(n+1)=D14(n);D16(n+1)=D15(n)^D22(n);D17(n+1)=D16(n);D18(n+1)=D17(n);D19(n+1)=D18(n);D20(n+1)=D19(n);D21(n+1)=D20(n)^D22(n);D22(n+1)=D21(n);其中,符号“^”表示单比特数据异或,n代表当前周期的线性反馈移位寄存器(lfsr)的值,n+1代表下一周期的线性反馈移位寄存器(lfsr)的值;第三步,将输入数据data_in的第二位D1与经步骤2移位后新的lfsr的最高位D22进行异或,得到输出数据data_out的第二位;第四步,重复步骤2和步骤3,直至当前周期数据的所有位都处理完,最终得到本周期输入数据data_in的scramble结果data_out;第五步,下一个周期重复步骤1到步骤4,根据本周期最后的lfsr的数值和下一个周期输入的新data_in数值计算下一个周期的scramble的结果data_out。Descramble是将scramble后的伪随机数恢复成原输入数据的运算,采用的电路结构和运算步骤与scramble相同,区别在于descramble输入的数据data_in是scramble后的伪随机数,输出的结果data_out是scramble之前的原输入数据。只要保证发送方scramble的线性反馈移位寄存器(lfsr)的数值与接收方descramble的线性反馈移位寄存器(lfsr)数值同步,双方就能实时同步的进行数据传输。USB3.1/PCI-Express3.0定义了特殊字符(symbol)和序列(orderset),通过特殊字符和序列来保证收发双方线性反馈移位寄存器(lfsr)的同步。USB3.1和PCI-Express3.0协议提供的基于单比特移位的scramble和descramble的缺点在于每个周期需要迭代次数较多,耗时长,scramble和descramble结果生成的硬件延时较大,从而限制了系统的工作频率和整体性能。
技术实现思路
本专利技术的目的是在遵守USB3.1和PCI-Express3.0协议的前提下,提出一种基于数据位宽展开的scramble与descramble硬件实现方法,通过展开后消去冗余项,缩短scramble和descramble结果生成的硬件延时,使系统可以工作在更高的频率。本文档来自技高网...
【技术保护点】
1.一种基于数据位宽展开的scramble与descramble硬件实现方法,假定数据位宽为N,所述方法包括:/n将输入数据的最低位与移位寄存器的最高位进行异或得到输出数据的最低位;/n根据多项式X23 + X21 + X16 + X8 + X5 + X2 + 1对所述移位寄存器进行迭代和展开,直至算出迭代1~N次后线性反馈移位寄存器的值,然后根据a^a^b=b(a,b为2进制变量)消去展开式中相同的项,其中单步算法为:/nD0(n+1) = D22(n);/nD1(n+1) = D0(n);/nD2(n+1) = D1(n) ^ D22(n);/nD3(n+1) = D2(n);/nD4(n+1) = D3(n);/nD5(n+1) = D4(n) ^ D22(n);/nD6(n+1) = D5(n);/nD7(n+1) = D6(n);/nD8(n+1) = D7(n) ^ D22(n);/nD9(n+1) = D8(n);/nD10(n+1) = D9(n);/nD11(n+1) = D10(n);/nD12(n+1) = D11(n);/nD13(n+1) = D12(n);/nD14(n+1) = D13(n);/nD15(n+1) = D14(n);/nD16(n+1) = D15(n) ^ D22(n);/nD17(n+1) = D16(n);/nD18(n+1) = D17(n);/nD19(n+1) = D18(n);/nD20(n+1) = D19(n);/nD21(n+1) = D20(n) ^ D22(n);/nD22(n+1) = D21(n);/n其中,符号“^”表示单比特数据异或,n代表当前周期的所述移位寄存器的值,n + 1 代表本次迭代完后的所述移位寄存器的值;/n将所述输入数据的第1到N-1位分别与第二步中迭代1~N-1次并经过冗余项去除的所述移位寄存器的最高位进行异或,得到所述输出数据的第1到N-1位。/n...
【技术特征摘要】
1.一种基于数据位宽展开的scramble与descramble硬件实现方法,假定数据位宽为N,所述方法包括:
将输入数据的最低位与移位寄存器的最高位进行异或得到输出数据的最低位;
根据多项式X23+X21+X16+X8+X5+X2+1对所述移位寄存器进行迭代和展开,直至算出迭代1~N次后线性反馈移位寄存器的值,然后根据a^a^b=b(a,b为2进制变量)消去展开式中相同的项,其中单步算法为:
D0(n+1)=D22(n);
D1(n+1)=D0(n);
D2(n+1)=D1(n)^D22(n);
D3(n+1)=D2(n);
D4(n+1)=D3(n);
D5(n+1)=D4(n)^D22(n);
D6(n+1)=D5(n);
D7(n+1)=D6(n);
D8(n+1)=D7(n)^D22(n);
D9(n+1)=D8(n);
D10(n+1)=D9(n);
D11(n+1)=D10(n);
D12(n+1)=D11(n);
D13(n+1)=D12(n);
D14(n+1)=D13(n);
D15(n+1)=D14(n);
D16(n+1)=D15(n)^D22(...
【专利技术属性】
技术研发人员:范凯,陈盈安,卢笙,
申请(专利权)人:芯启源电子科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。