CN101788967B - 抗串扰片上总线编解码方法及其编解码装置 - Google Patents

抗串扰片上总线编解码方法及其编解码装置 Download PDF

Info

Publication number
CN101788967B
CN101788967B CN2010101208371A CN201010120837A CN101788967B CN 101788967 B CN101788967 B CN 101788967B CN 2010101208371 A CN2010101208371 A CN 2010101208371A CN 201010120837 A CN201010120837 A CN 201010120837A CN 101788967 B CN101788967 B CN 101788967B
Authority
CN
China
Prior art keywords
bus
data
signal
input end
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2010101208371A
Other languages
English (en)
Other versions
CN101788967A (zh
Inventor
刘毅
杨银堂
钟广德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Optoelectronic Pilot Institute Technology Co ltd
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN2010101208371A priority Critical patent/CN101788967B/zh
Publication of CN101788967A publication Critical patent/CN101788967A/zh
Application granted granted Critical
Publication of CN101788967B publication Critical patent/CN101788967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种抗串扰片上总线编码方法及其编解码装置,主要解决现有总线编码方法的数据传送效率低和功耗大的问题。该方法首先通过插入屏蔽线将N位总线分割为低位和高位子总线;然后分别对该两个子总线待传送数据原码与反码是否会引起最坏情况串扰进行判断,并生成标志信号;最后,根据该标志信号得出子总线是否存在最坏情况串扰,如果有子总线存在最坏情况串扰,则插入N位屏蔽字以消除最坏情况串扰;如两个子总线均无最坏情况串扰,则对编码方法的功耗作优化,即如果原码和反码均不引起最坏情况串扰,则选取功耗低者传送,否则取不引起最坏情况串扰的数据传送。本发明具有数据传送效率高和功耗低的优点,可用于超大规模集成电路的设计。

Description

抗串扰片上总线编解码方法及其编解码装置
技术领域
本发明属于微电子技术领域,涉及深亚微米工艺集成电路片上总线,尤其是一种抗串扰片上总线的编解码方法及其编解码装置,可用于超大规模集成电路的设计。
背景技术
随着集成电路工艺特征尺寸的不断缩减,集成器件尺寸减小、局部互连线长度更短,但全局互连线的长度依然随芯片尺寸的增大而增大。而且,由于相邻互连线之间距离以及互连线宽高比的减小,互连线之间的耦合电容CI已接近甚至远大于接地电容CL。不断增加的耦合电容使相邻互连线发生相对翻转时产生严重的串扰,这种串扰尤其是最坏情况串扰(Worst-Case-Crosstalk,WCC)已成为影响信号时序及时钟周期的主要因素,并导致集成电路性能下降及功能出错;同时串扰还会增加互连线的功耗和噪声。因此,消除串扰尤其是最坏情况串扰对全局互连线延迟、功耗及噪声的影响在高性能集成电路设计中是必须考虑的一个问题。本文中最坏情况串扰指1+4λ和1+3λ这两种串扰,λ为工艺参数,且λ=CI/CL
目前已有的一些抗串扰片上总线编码方法主要有以下几种:
“Optimal shielding/spacing metrics for low power design”涉及的方法较简单,该方法在总线中相邻的两条互连线间插入屏蔽线或增加互连线的间距,这就可达到消除最坏情况串扰的目的。在相邻的互连线间插入屏蔽线的方法用于32位总线时,编码后总线的位宽增加到63位,编码后总线所消耗的芯片面积增加近一倍。
“Bus encoding to prevent crosstalk delay”中提出的方法,首先将n位的总线分割成多个3位宽的子总线,子总线间再插入接地的屏蔽线以消除相邻子总线间的串扰,然后再分别对每个子总线进行编码,子总线编码的具体过程为:在每个子总线上利用编码电路将3位的数据字映射到4位的编码数据字,编码数据字的具有如下特点:任意两个编码数据字间不存在最坏情况串扰,因此原始数据经该方法编码后进行传送就不会引起最坏情况串扰。例如,采用该方法,32位的总线经过编码后为53位,需增加21条冗余线。由此可知,以上这两种空间编码方法的缺点是:需增加大量的冗余线,从而使芯片面积冗余显著增加。
“Delay and power minimization in VLSI interconnects with spatio-temporalbus-encoding scheme”中提出的双周期时空总线编码Dual-Cycle STBE,通过增加大量的屏蔽线将待传送的数据字分两个时周周期进行传送,从而达到消除最坏情况串扰的目的。该方法的编码过程为:n位的数据按每4位一组进行编码,每4位数据编码后采用位宽为5的子总线分两个周期传送,并且相邻的两个子总线间插入屏蔽线以消除子总线间的串扰,因此,n位的数据在编码后需n+2[(n/4)-2]+1位的总线进行传送,例如32位数据编码后需45位的总线传送。每个子总线的编码过程为:在第一个周期传送前3位数据,这3位数据如无最坏情况串扰,则直接传送,否则对原数据按位取反后传送,此外这3位数据的最高位和最低位都采用有源屏蔽线进行屏蔽;在第二个周期传送第4位数据,同时还传送在第一个周期传送的3位数据的标志信号位,此标志信号位用于表示在第一个周期传送的3位数据是否进行了取反操作。此方法能最大限度的消除串扰,但不足之处在于:需消耗更多的时钟周期数以完成一定量的数据传送,而且引入的冗余线也较多,功耗较大。
“A crosstalk aware interconnect with variable cycle transmission”提出了一种动态-翻转编码DYN-BI方法,该方法也属于时空编码方法,其编码过程为:首先,总线上的串扰被分为6种类型,即0、1、1+λ、1+2λ、1+3λ和1+4λ,然后同时分析待传送的数据字的原码和反码的串扰类型,选择串扰较小的数据进行传送,传送数据所需的周期数是由编码装置中的串扰分析电路动态控制的,当串扰类型为0、1和1+λ三种情况时,用1个周期传送,当串扰类型为1+2λ时,用2个周期传送,当串扰类型为1+3λ时,用3个周期传送,当串扰类型为1+4λ时,用4个周期传送。该方法基于串扰分析电路对待传送数据串扰类型的分析,动态调节传送数据的时钟周期数,这进一步提高了时空编码方法的效率,缺点是:编码电路的延迟较大,且未对编码方法的功耗开销进行优化。
发明内容
本发明的目的在于避免上述已有技术的不足,提供一种抗串扰片上总线编解码方法及其编解码装置,以实现在消除最坏情况串扰且减少空间编码方法所需的冗余线的前提下,进一步提高时空总线编码方法的数据传送效率,并且降低时空总线编码方法的功耗开销。
为实现上述目的,本发明抗串扰片上总线编码方法的技术方案,包括如下步骤:
1)通过插入屏蔽线将位宽为N的总线分割为低位子总线和高位子总线,低位子总线上的数据用Bt[k:0]表示,高位子总线上的数据用Bt[N-1:k+1]表示,其中N为大于等于1的整数,k为0到N-1间的一个整数,t为时钟周期;
2)分别对低位子总线待传送数据的原码Dt[k:0]及反码~Dt[k:0]和高位子总线待传送数据的原码Dt[N-1:k+1]及反码~Dt[N-1:k+1]是否会引起最坏情况串扰进行如下判断:
如果低位子总线传送Dt[k:0]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为Dt[k:0]会引起最坏情况串扰,同时设置相应的标志信号stateL1=1;反之判为Dt[k:0]不会引起最坏情况串扰,同时设置相应的标志信号stateL1=0;
如果低位子总线传送~Dt[k:0]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为~Dt[k:0]会引起最坏情况串扰,同时设置相应的标志信号stateL2=1;反之判为~Dt[k:0]不会引起最坏情况串扰,同时设置相应的标志信号stateL2=0;
如果高位子总线传送Dt[N-1:k+1]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为Dt[N-1:k+1]会引起最坏情况串扰,同时设置相应的标志信号stateH1=1;反之判为Dt[N-1:k+1]不会引起最坏情况串扰,同时设置相应的标志信号stateH1=0;
如果高位子总线传送~Dt[N-1:k+1]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为~Dt[N-1:k+1]会引起最坏情况串扰,同时设置相应的标志信号stateH2=1;反之判为~Dt[N-1:k+1]不会引起最坏情况串扰,同时设置相应的标志信号stateH2=0;
3)根据低位和高位子总线待传送数据原码和反码的标志信号stateL1,stateL2,stateH1,stateH2得到低位和高位子总线是否存在最坏情况串扰的标志信号stateL=stateL1&&stateL2和stateH=stateH1&&stateH2,
如果标志信号stateL为逻辑‘1’,则表明“低位子总线存在最坏情况串扰”,否则表明“低位子总线不存在最坏情况串扰”;
如果标志信号stateH为逻辑‘1’,则表明“高位子总线存在最坏情况串扰”,否则表明“高位子总线不存在最坏情况串扰”;
4)由上述标志信号stateL和stateH,进一步得到状态信号state=stateL‖stateH,根据状态信号state作如下操作:
如果state为逻辑‘1’,则在整个总线插入N位的全‘1’或全‘0’屏蔽字,以消除总线中的最坏情况串扰,同时设置标志信号flag=1,用于告知解码装置当前传送的数据字为屏蔽字,标志信号inv[0]和inv[1]保持不变,其中inv[0]和inv[1]分别用于表示低位和高位子总线上传送数据的类型,如果这两个标志信号被设置为逻辑‘1’,则表示传送的是反码,如果这两个标志信号被设置为逻辑‘0’,则表示传送的是原码;
如果state为逻辑‘0’,在编码算法性能优先的条件下根据待传送数据的串扰情况对其功耗作以下优化:如果原码Dt[k:0]与反码~Dt[k:0]均不引起最坏情况串扰,则选取功耗低的数据传送,否则原码Dt[k:0]与反码~Dt[k:0]有且只有一个会引起最坏情况串扰,此时选取不会引起最坏情况串扰的数据传送;如果原码Dt[N-1:k+1]与反码~Dt[N-1:k+1]均不引起最坏情况串扰,则选取功耗低的数据传送,否则原码Dt[N-1:k+1]与反码~Dt[N-1:k+1]有且只有一个会引起最坏情况串扰,此时选取不会引起最坏情况串扰的数据传送;同时设置标志信号flag=0,用于告知解码装置当前传送的数据字为有效数据字,根据传送的数据类型设置标志信号inv[0]和inv[1],如果这两个标志信号被设置为逻辑‘1’,则表示传送的是反码,如果这两个标志信号被设置为逻辑‘0’,则表示传送的是原码;
5)如果state为逻辑‘1’,数据发送单元将在下一个周期重新发送数据Dt给编码装置;如果state为逻辑‘0’,数据发送单元将在下一个周期继续传送新数据给编码装置,并转到步骤2)。
为实现上述目的,本发明的抗串扰片上总线解码方法,包括如下步骤:
(A)如果标志信号flag=1,则表示当前从总线接收的数据字为屏蔽字,此时编码装置的输出DOUTt+1保持原状态DOUTt不变,否则进行步骤(B);
(B)如果标志信号flag=0,则进行步骤(C);
(C)根据inv[0]和inv[1]分别对低位子总线和高位子总线传送的数据进行解码,若inv[0]为逻辑‘1’,则低位子总线的输出为当前低位子总线数据的反码;若inv[0]为逻辑‘0’,则低位子总线的输出为当前低位子总线数据的原码;若inv[1]为逻辑‘1’,则高位子总线的输出为当前高位子总线数据的反码,若inv[1]为逻辑‘0’,则高位子总线的输出为当前高位子总线数据的原码;并转到步骤(A),对下一个周期总线传送的数据进行解码。
为实现上述目的,本发明的抗串扰片上总线编码装置,包括:
高位子总线编码单元(400),用于高位子总线编码,并输出两个高位标志信号stateH1和stateH2给屏蔽字插入控制单元(402);
低位子总线编码单元(401),用于低位子总线编码,并输出两个低位标志信号stateL1和stateL2给屏蔽字插入控制单元(402);
屏蔽字插入控制单元(402),用于控制屏蔽字的插入,并根据高位子总线编码单元(400)和低位子总线编码单元(401)提供的标志信号stateH1,stateH2,stateL1和stateL2生成状态信号state,以控制高位子总线编码单元(400)和低位子总线编码单元(401)的输出,同时告知数据发送单元在下一周期是否发送新的数据;
寄存器(403),用于输出屏蔽字插入控制单元(402)生成的状态信号state,该状态信号state由寄存器(403)输出,得到标志信号flag。
为实现上述目的,本发明的抗串扰片上总线解码装置,包括:
高位子总线解码单元(600),用于高位子总线解码,高位子总线解码单元(600)的输入数据为高位子总线上的数据Bt[31:16],输出为解码后的数据DOUTt[31:16],该单元包括:反相器(610),多路开关(611),多路开关(612)和寄存器(613);该反相器(610)的输出数据传输给多路开关(611),多路开关(611)输出端与多路开关(612)的输入端连接,多路开关(611)输出端与寄存器(613)的输入端连接;
低位子总线解码单元(601),用于低位子总线解码,低位子总线解码单元(601)的输入数据为低位子总线上的数据Bt[15:0],输出为解码后的数据DOUTt[15:0],该单元包括:反相器(620),多路开关(621),多路开关(622)和寄存器(623);该反相器(620)的输出数据传输给多路开关(621),多路开关(621)输出端与多路开关(622)的输入端连接,多路开关(621)输出端与寄存器(623)的输入端连接;
标志信号输出寄存器(602),用于寄存并输出标志信号FLAG,其输入端与总线的标志信号flag连接,输出为标志信号FLAG,此标志信号FLAG用于指示解码装置当前输出的数据是否为有效数据。
本发明具有如下优点:
1)本发明方法通过串扰类型判断单元判断子总线是否存在最坏情况串扰,并通过在整个总线中插入N位的全‘1’或全‘0’屏蔽字的方式,消除总线中的最坏情况串扰,因此可提高总线的工作频率,进而提高总线的数据传送效率;
2)本发明方法通过屏蔽线将总线分割为高位子总线和低位子总线来处理,并且每个子总线同时对传送数据的原码与反码是否会引起最坏情况串扰进行判断,以选取有利于提高效率的数据进行传送,以上两个措施可减小整个总线出现最坏情况串扰的概率,总线出现最坏情况串扰的概率降低,可减少用于消除最坏情况串扰的屏蔽字的插入,从而降低时间开销;
3)本发明方法通过综合判断两个子总线的串扰情况,动态调节屏蔽字的插入,即仅当判断出子总线传送数据的原码和反码均会引起最坏情况串扰时,才在总线上插入屏蔽字以消除最坏情况串扰,其他情况不须插入屏蔽字,因此该方法具有自适应性,使数据传送效率得到了进一步提高;
4)本发明由于在两个子总线均无最坏情况串扰时,每个子总线分别从待传送数据的原码和反码中选取功耗低的数据进行传送,降低了功耗。
与现有技术相比,本发明方法的主要改进之处在于:进一步提高了时空总线编码方法的数据传送效率,同时也降低了编码方法的功耗开销。
附图说明
图1是本发明抗串扰片上总线编解码装置结构框图;
图2是本发明编码装置的实施例结构图;
图3是本发明编码装置中的串扰类型判断单元结构图;
图4是本发明总线装置的结构示意图;
图5是本发明解码装置的实施例结构图;
图6是用现有编码方法与本发明编码方法的时间节省率对比图;
图7是用现有编码方法与本发明编码方法在总线上的归一化功耗对比图。
具体实施方式
为使本发明的目的、特征和优点更能明显易懂,下文特举本发明的较佳实施例,并配合附图,作详细说明如下。
参照图1,本发明的抗串扰片上总线编解码装置,包括:
数据发送单元100,编码装置101,总线装置102,解码装置103和数据接收单元104。其中,数据发送单元100的输出端与编码装置101的输入端连接,并根据编码装置101输出的状态信号state传输原始数据给编码装置101;编码装置101首先将数据发送单元100传送的原始数据字转化成编码数据字,然后再传输给总线装置102;总线装置102连接编码装置101的输出与解码装置103的输入,编码数据字经由该总线装置102传输给解码装置103;解码装置103首先将总线装置102传输来的编码数据字再转化成原始数据字,然后传输给数据接收单元104;数据接收单元104根据解码装置103输出的标志信号FLAG接收经解码装置103解码后的原始数据。
参照图2,本发明编码装置包括:高位子总线编码单元400,低位子总线编码单元401,屏蔽字插入控制单元402和寄存器403四个单元。其中,高位子总线编码单元400对待传送数据原码Dt[31:16]和反码~Dt[31:16]是否会引起最坏情况串扰进行判断后,输出两个高位标志信号stateH1和stateH2给屏蔽字插入控制单元402;与此同时,低位子总线编码单元401对待传送数据原码Dt[15:0]和反码~Dt[15:0]是否会引起最坏情况串扰进行判断后,输出两个低位标志信号stateL1和stateL2给屏蔽字插入控制单元402;屏蔽字插入控制单元402根据高位子总线编码单元400和低位子总线编码单元401输出的标志信号stateH1,stateH2,stateL1和stateL2生成状态信号state,该状态信号state再反馈到高位子总线编码单元400和低位子总线编码单元401以控制整个编码装置的输出,如果state为逻辑‘1’,则在整个总线插入N位的全‘1’或全‘0’屏蔽字,以消除总线中的最坏情况串扰,如果state为逻辑‘0’,在编码算法性能优先的条件下根据待传送数据的串扰情况选取功耗低的数据传送;同时状态信号state也反馈给数据发送单元,数据发送单元根据状态信号state判断在下一周期是否发送新的数据;最后,状态信号state由寄存器403输出,得到标志信号flag。
上述高位子总线编码单元400,包括:
反相器318,第一串扰类型判断单元3101,第二串扰类型判断单元3102,海明距离探测单元311,多路复用开关组312,判决单元313,多路复用开关组314,多路复用开关组315,多路复用开关组316,比较单元317,寄存器320和寄存器321。其中,反相器318首先将待传送数据原码Dt[31:16]转换为反码~Dt[31:16],然后该反码~Dt[31:16]被传送到串扰类型判断单元3102、多路复用开关组314和多路复用开关组315的输入端。其中:
第一串扰类型判断单元3101根据待传送数据原码Dt[31:16]和高位子总线上的数据Bt[31:16]判断出高位子总线待传送数据原码Dt[31:16]是否会引起最坏情况串扰,如果高位子总线传送Dt[31:16]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且与其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变;则判为Dt[31:16]会引起最坏情况串扰,同时设置相应的标志信号stateH1=1,反之判为Dt[31:16]不会引起最坏情况串扰,同时设置相应的标志信号stateH1=0;最后,将判断结果stateH1传输给屏蔽字插入控制单元402、判决单元313和多路复用开关组314的输入端;
第二串扰类型判断单元3102根据待传送数据反码~Dt[31:16]和高位子总线上的数据Bt[31:16]判断出高位子总线待传送数据反码~Dt[31:16]是否会引起最坏情况串扰,如果高位子总线传送~Dt[31:16]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且与其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变;则判为~Dt[31:16]会引起最坏情况串扰,同时设置相应的标志信号stateH2=1,反之判为~Dt[31:16]不会引起最坏情况串扰,同时设置相应的标志信号stateH2=0;最后,将判断结果stateH2传输给屏蔽字插入控制单元402和判决单元313的输入端;
海明距离探测单元311,在计算出待传送数据原码Dt[31:16]与高位子总线上的数据Bt[31:16]间的海明距离后,将计算结果传输给比较单元317的输入端;
多路复用开关组312,由判决单元313的输出信号控制,它的输入端与多路复用开关组314和多路复用开关组315的输出端连接,其输出端与多路复用开关组316的输入端连接;其根据判决单元313的输出信号从多路复用开关组314和多路复用开关组315的输出数据中选择其一输出;
判决单元313,它的输入端与串扰类型判断单元3101的输出信号stateH1和串扰类型判断单元3102的输出信号stateH2连接,其输出端与多路复用开关组312的控制端连接,并控制多路复用开关组312的输出数据;
多路复用开关组314,由串扰类型判断单元3101输出的stateH1信号控制,其输入端与待传送数据原码Dt[31:16]和反码~Dt[31:16]连接,输出端与多路复用开关组312的输入端连接;根据第一串扰类型判断单元3101的判断结果stateH1,从待传送数据原码Dt[31:16]和反码~Dt[31:16]中选出不会引起最坏情况串扰的数据字并输出给多路复用开关组312,同时为标志信号inv[1]设置一个逻辑值;
多路复用开关组315,由比较单元317输出的信号控制,其输入端待传送数据原码Dt[31:16]和反码~Dt[31:16]连接,输出端与多路复用开关组312的输入端连接;根据比较单元317输出的信号,从待传送数据原码Dt[31:16]和反码~Dt[31:16]中选出功耗低的数据字输出给多路复用开关组312,同时为标志信号inv[1]设置一个逻辑值;
该多路复用开关组316,它的输入端与多路复用开关组312的输出端、十六位的全‘1’屏蔽字和寄存器321的输出信号inv[1]连接,其输出端与寄存器320和寄存器321的输入端连接;根据屏蔽字插入控制单元402输出的状态信号state,如果state为逻辑‘1’,则输出16位的全‘1’屏蔽字‘FFFF’,以消除总线中的最坏情况串扰,如果state为逻辑‘0’,则输出多路复用开关组312输出的有效数据字,同时该多路复用开关组316还从多路复用开关组312和寄存器321的输出信号中选出标志信号inv[1]的逻辑值;
比较单元317,它的两个输入数据为海明距离探测单元311的计算结果和常数‘8’,这两个输入数据经该比较单元317比较大小后,得到一个比较结果信号,该信号传输给多路复用开关组315的控制端,并控制多路复用开关组315的输出数据和标志信号的逻辑值;
寄存器320,它的输入端与多路复用开关组316的输出端连接,其输出端与高位子总线连接;高位子总线编码单元400编码后的数据字由寄存器320寄存,并输出给高位子总线;
寄存器321,它的输入端与多路复用开关组316的输出端连接,其输出端与标志信号线inv[1]和多路复用开关组316的输入端连接;其输出的标志信号inv[1]由寄存器321寄存并输出给标志信号线inv[1]。
上述低位子总线编码单元401,包括:反相器418,第三串扰类型判断单元4101,第四串扰类型判断单元4102,海明距离探测单元411,多路复用开关组412,判决单元413,多路复用开关组414,多路复用开关组415,多路复用开关组416,比较单元417,寄存器420和寄存器421。其中,反相器418首先将待传送数据原码Dt[15:0]转换为反码~Dt[15:0],然后该反码~Dt[15:0]被传送到串扰类型判断单元4102、多路复用开关组414和多路复用开关组415的输入端。
所述第三串扰类型判断单元4101根据待传送数据原码Dt[15:0]和低位子总线上的数据Bt[15:0]判断出低位子总线待传送数据原码Dt[15:0]是否会引起最坏情况串扰,如果低位子总线传送Dt[15:0]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且与其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变;则判为Dt[15:0]会引起最坏情况串扰,同时设置相应的标志信号stateL1=1,反之判为Dt[15:0]不会引起最坏情况串扰,同时设置相应的标志信号stateL1=0;最后,将判断结果stateL1传输给屏蔽字插入控制单元402、判决单元413和多路复用开关组414的输入端;
所述第四串扰类型判断单元4102根据待传送数据反码~Dt[15:0]和低位子总线上的数据Bt[15:0]判断出低位子总线待传送数据反码~Dt[15:0]是否会引起最坏情况串扰,如果低位子总线传送~Dt[15:0]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且与其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变;则判为~Dt[15:0]会引起最坏情况串扰,同时设置相应的标志信号stateL2=1,反之判为~Dt[15:0]不会引起最坏情况串扰,同时设置相应的标志信号stateL2=0;最后,将判断结果stateL2传输给屏蔽字插入控制单元402和判决单元413的输入端;
所述海明距离探测单元411,在计算出待传送数据原码Dt[15:0]与低位子总线上的数据Bt[15:0]间的海明距离后,将计算结果传输给比较单元417的输入端;
所述多路复用开关组412,由判决单元413的输出信号控制,它的输入端与多路复用开关组414和多路复用开关组415的输出端连接,其输出端与多路复用开关组416的输入端连接;其根据判决单元413的输出信号从多路复用开关组414和多路复用开关组415的输出数据中选择其一输出;
所述判决单元413,它的输入端与串扰类型判断单元4101的输出信号stateL1和串扰类型判断单元4102的输出信号stateL2连接,其输出端与多路复用开关组412的控制端连接,并控制多路复用开关组412的输出数据;
所述多路复用开关组414,由串扰类型判断单元4101输出的stateL1信号控制,其输入端与待传送数据原码Dt[15:0]和反码~Dt[15:0]连接,输出端与多路复用开关组412的输入端连接;根据第三串扰类型判断单元4101的判断结果stateL1,从待传送数据原码Dt[15:0]和反码~Dt[15:0]中选出不会引起最坏情况串扰的数据字并输出给多路复用开关组412,同时为标志信号inv[0]设置一个逻辑值;
所述多路复用开关组415,由比较单元417输出的信号控制,其输入端与待传送数据原码Dt[15:0]和反码~Dt[15:0]连接,输出端与多路复用开关组412的输入端连接;根据比较单元417输出的信号,从待传送数据原码Dt[15:0]和反码~Dt[15:0]中选出功耗低的数据字输出给多路复用开关组412,同时为标志信号inv[0]设置一个逻辑值;
所述多路复用开关组416,它的输入端与多路复用开关组412的输出端、十六位的全‘1’屏蔽字和寄存器421的输出信号inv[0]连接,其输出端与寄存器420和寄存器421的输入端连接;根据屏蔽字插入控制单元402输出的状态信号state,如果state为逻辑‘1’,则输出16位的全‘1’屏蔽字‘FFFF’,以消除总线中的最坏情况串扰,如果state为逻辑‘0’,则输出多路复用开关组412输出的有效数据字,同时该多路复用开关组416还从多路复用开关组412和寄存器421的输出信号中选出标志信号inv[0]的逻辑值;
所述比较单元417,它的两个输入数据为海明距离探测单元411的计算结果和常数‘8’,这两个输入数据经该比较单元417比较大小后,得到一个比较结果信号,该信号传输给多路复用开关组415的控制端,并控制多路复用开关组415的输出数据和标志信号的逻辑值;
所述寄存器420,它的输入端与多路复用开关组416的输出端连接,其输出端与高位子总线连接;低位子总线编码单元401编码后的数据字由寄存器420寄存,并输出给高位子总线;
所述寄存器421,它的输入端与多路复用开关组416的输出端连接,其输出端与标志信号线inv[0]和多路复用开关组416的输入端连接;其输出的标志信号inv[0]由寄存器421寄存并输出给标志信号线inv[0]。
参照图3,本发明编码装置中的串扰类型判断单元3101,3102,4101,4102结构相同,各包括:十五个子模块700,701,702,…,714,两个十五输入的或门4311,4312和一个二输入的或门4313。其中:
该十五个子模块700,701,702,…,714中均包括一个模块432,该模块有两个输出端,每个子模块一个输出端与十五输入的或门4311连接,另一个输出端与十五输入的或门4312连接;根据待传送数据的原码或反码和子总线上的数据,其可判断出子总线中相邻的三条信号线在传送该数据时是否会引起最坏情况串扰,如果该三条信号线满足中间线的信号发生翻转,且与其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反,或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变;则判为该数据会引起最坏情况串扰,同时输出逻辑‘1’,反之判为该数据不会引起最坏情况串扰,同时输出逻辑‘0’;
该两个十五输入的或门4311,4312,其输入端与十五个子模块700,701,702,…,714的输出端连接,输出端与二输入的或门4313的输入端连接;如果任意三条相邻信号线发生最坏情况串扰,即上述十五个子模块700,701,702,…,714中的任意一个模块输出为逻辑‘1’,则十五输入的或门4311,4312输出逻辑‘1’;
该二输入的或门4313,其输入端与两个十五输入的或门4311,4312的输出端连接,输出端为串扰类型判断结果;如果两个十五输入的或门4311,4312其中之一输出为逻辑‘1’,则该二输入的或门4313也输出逻辑‘1’
参照图4,本发明的总线装置,依次包括:低位子总线501、屏蔽线502、高位子总线500、屏蔽线Bt[31]508、标志信号线flag505、屏蔽线506、标志信号线inv[0]503、屏蔽线507和标志信号线inv[1]504。该总线装置102的位宽为39,即由39条信号线构成,所有信号线的几何尺寸相同,且相邻信号线的间距也相等,其中:
低位子总线501,其连接低位子总线编码单元和低位子总线解码单元,低位子总线编码单元输出的编码数据字经该低位子总线501传输到低位子总线解码单元进行解码,该子总线的位宽为16;
屏蔽线502,其位于低位子总线501和高位子总线500间,其与电源或地连接,不用于信号传输,而仅用于屏蔽高位子总线500和低位子总线501,以使这两个子总线相对独立;
高位子总线500,其连接高位子总线编码单元和高位子总线解码单元,高位子总线编码单元输出的编码数据字经该高位子总线500传输到高位子总线解码单元进行解码,该子总线的位宽为16;
屏蔽线Bt[31]508,其上传送的信号与高位子总线500的最高位信号相同,该屏蔽线Bt[31]508消除了标志信号flag505对高位子总线500的影响,;
标志信号线inv[0]503、inv[1]504和flag505,它们将相应的标志信号inv[0]、inv[1]和flag从编码装置传输到解码装置;
屏蔽线506,其位于标志信号线flag505和inv[0]503间,用于消除标志信号线flag505和inv[0]503间可能发生的最坏情况串扰;
屏蔽线507,其位于标志信号线inv[0]503和inv[1]504间,用于消除标志信号线inv[0]503和inv[1]504间可能发生的最坏情况串扰。
参照图5,本发明解码装置包括:高位子总线解码单元600,低位子总线解码单元601和标志信号输出寄存器602三个单元。其中:
高位子总线解码单元600,包括反相器610,多路开关611,多路开关612和寄存器613。该反相器610首先将高位子总线传输来的数据Bt[31:16]反相,得到反码~Bt[31:16],该反码再与数据Bt[31:16]一同传输给多路开关611;该多路开关611,由标志信号inv[1]控制,它的输入为数据Bt[31:16]和~Bt[31:16],输出与多路开关612的输入端连接;根据标志信号inv[1]的逻辑值,如果inv[1]=1,则将数据~Bt[31:16]传输给多路开关612,如果inv[1]=0,则将数据Bt[31:16]传输给多路开关612;该多路开关612,由标志信号flag控制,它的输入与多路开关611的输出端和寄存器613的输出端连接,输出端与寄存器613的输入端连接;根据标志信号flag的逻辑值,如果标志信号flag=1,则表示当前从总线接收的数据字为屏蔽字,此时输出寄存器613的反馈数据,如果标志信号flag=0,则输出来自多路开关611输出端的数据;该寄存器613,它的输入与多路开关612的输出端连接,输出为解码后的数据DOUTt[31:16]。
低位子总线解码单元601,包括反相器620,多路开关621,多路开关622和寄存器623。该反相器620首先将低位子总线传输来的数据Bt[15:0]反相,得到反码~Bt[15:0],该反码~Bt[15:0]再与数据Bt[15:0]一同传输给多路开关621;该多路开关621,由标志信号inv[0]控制,它的输入为数据Bt[15:0]和~Bt[15:0],输出与多路开关622的输入端连接;根据标志信号inv[0]的逻辑值,如果inv[0]=1,则将数据~Bt[15:0]传输给多路开关622,如果inv[0]=0,则将数据Bt[15:0]传输给多路开关622;该多路开关622,由标志信号flag控制,它的输入与多路开关621的输出端和寄存器623的输出端连接,输出端与寄存器623的输入端连接;根据标志信号flag的逻辑值,如果标志信号flag=1,则表示当前从总线接收的数据字为屏蔽字,此时输出寄存器623的反馈数据,如果标志信号flag=0,则输出来自多路开关621输出端的数据;该寄存器623,它的输入与多路开关622的输出端连接,输出为解码后的数据DOUTt[15:0]。
标志信号输出寄存器602,它的输入端与总线的标志信号线flag连接,输出为标志信号FLAG,它对从总线装置的标志信号线flag传输来的信号进行寄存并输出,输出的标志信号FLAG最终传输给数据接收单元。
对于图2所述的编码装置,其编码方法包括如下步骤:
步骤1,分割总线。
通过插入屏蔽线将位宽为32的总线分割为低位子总线和高位子总线处理,以减小整个总线出现最坏情况串扰的概率,从而减少用于消除最坏情况串扰的屏蔽字的插入,降低时间开销;低位子总线上的数据用Bt[k:0]表示,高位子总线上的数据用Bt[N-1:k+1]表示,其中N为大于等于1的整数,k为0到N-1间的一个整数,t为时钟周期,本实施例取低位子总线上传送的数据为Bt[15:0],高位子总线上传送的数据为Bt[31:16],但不限于此数据。
步骤2,判断子总线上待传送数据的串扰情况。
首先,采用反相器将低位和高位子总线待传送数据的原码Dt[15:0]和Dt[31:16]反相,得到相应的反码~Dt[15:0]和~Dt[31:16];然后,分别对低位子总线待传送数据的原码Dt[15:0]及反码~Dt[15:0]和高位子总线待传送数据的原码Dt[31:16]及反码~Dt[31:16]是否会引起最坏情况串扰进行如下判断:
如果低位子总线传送Dt[15:0]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为Dt[15:0]会引起最坏情况串扰,同时设置相应的标志信号stateL1=1;反之判为Dt[15:0]不会引起最坏情况串扰,同时设置相应的标志信号stateL1=0;
如果低位子总线传送~Dt[15:0]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为~Dt[15:0]会引起最坏情况串扰,同时设置相应的标志信号stateL2=1;反之判为~Dt[15:0]不会引起最坏情况串扰,同时设置相应的标志信号stateL2=0;
如果高位子总线传送Dt[31:16]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为Dt[31:16]会引起最坏情况串扰,同时设置相应的标志信号stateH1=1;反之判为Dt[31:16]不会引起最坏情况串扰,同时设置相应的标志信号stateH1=0;
如果高位子总线传送~Dt[31:16]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为~Dt[31:16]会引起最坏情况串扰,同时设置相应的标志信号stateH2=1;反之判为~Dt[31:16]不会引起最坏情况串扰,同时设置相应的标志信号stateH2=0。
步骤3,判断子总线是否存在最坏情况串扰。
根据低位和高位子总线待传送数据原码和反码的标志信号stateL1,stateL2,stateH1和stateH2得到低位和高位子总线是否存在最坏情况串扰的标志信号stateL=stateL1&&stateL2和stateH=stateH1&&stateH2,然后根据该标志信号stateL和stateH进行如下判断:
如果标志信号stateL为逻辑‘1’,则表明“低位子总线存在最坏情况串扰”,否则表明“低位子总线不存在最坏情况串扰”;
如果标志信号stateH为逻辑‘1’,则表明“高位子总线存在最坏情况串扰”,否则表明“高位子总线不存在最坏情况串扰”。
步骤4,传送数据。
由上述标志信号stateL和stateH,进一步得到状态信号state=stateL‖stateH,根据状态信号state作如下操作:
如果state为逻辑‘1’,表明低位和高位子总线中至少有一个存在最坏情况串扰,则在整个总线插入32位的全‘1’屏蔽字,以消除总线中的最坏情况串扰,同时设置标志信号flag=1,告知解码装置当前传送的数据字为屏蔽字,标志信号inv[0]和inv[1]保持不变,其中inv[0]和inv[1]分别用于表示低位和高位子总线上传送数据的类型,如果这两个标志信号被设置为逻辑‘1’,则表示传送的是反码,如果这两个标志信号被设置为逻辑‘0’,则表示传送的是原码;
如果state为逻辑‘0’,表明低位和高位子总线均不存在最坏情况串扰,此时,在编码算法性能优先的条件下根据待传送数据的串扰情况对其功耗作以下优化:如果原码Dt[15:0]与反码~Dt[15:0]均不引起最坏情况串扰,则选取功耗低的数据传送,否则原码Dt[15:0]与反码~Dt[15:0]有且只有一个会引起最坏情况串扰,此时选取不会引起最坏情况串扰的数据传送;与此类似,如果原码Dt[31:16]与反码~Dt[31:16]均不引起最坏情况串扰,则选取功耗低的数据传送,否则原码Dt[31:16]与反码~Dt[31:16]有且只有一个会引起最坏情况串扰,此时选取不会引起最坏情况串扰的数据传送;同时设置标志信号flag=0,告知解码装置当前传送的数据字为有效数据字,根据传送的数据类型设置标志信号inv[0]和inv[1],如果这两个标志信号被设置为逻辑‘1’,则表示传送的是反码,如果这两个标志信号被设置为逻辑‘0’,则表示传送的是原码,其中:
以上涉及的state为逻辑‘0’且原码与反码均不引起最坏情况串扰时,“选取功耗低的数据传送”,按如下步骤进行:
(a)低位和高位子总线分别通过海明距离探测单元计算出Dt[15:0]和Bt[15:0]间的海明距离以及Dt[31:16]和Bt[31:16]间的海明距离;
(b)根据计算的海明距离确定传输数据,如果Dt[15:0]和Bt[15:0]间的海明距离大于常数‘8’,则低位子总线传送反码~Dt[15:0],否则低位子总线传送原码Dt[15:0];如果Dt[31:16]和Bt[31:16]间的海明距离大于常数‘8’,则高位子总线传送反码~Dt[31:15],否则高位子总线传送原码Dt[31:16];
以上涉及的state为逻辑‘0’且原码与反码有且只有一个会引起最坏情况串扰时,“选取不会引起最坏情况串扰的数据传送”,是根据待传送数据串扰情况的标志信号stateL1和stateH1确定,如果stateL1为逻辑‘0’,则低位子总线传送原码Dt[15:0],否则低位子总线传送反码~Dt[15:0];如果stateH1为逻辑‘0’,则高位子总线传送原码Dt[31:16],否则高位子总线传送反码~Dt[31:15]。
步骤5,判断下一个周期是否传送新数据。
编码装置将状态信号state反馈给数据发送单元,数据发送单元据此判断:如果state为逻辑‘1’,表明当前周期总线存在最坏情况串扰,总线在该周期插入32位的全‘1’屏蔽字,以消除最坏情况串扰,因此,待传送数据Dt未能传送到总线上,数据发送单元将在下一个周期重新发送数据Dt给编码装置;如果state为逻辑‘0’,表明当前周期待传送数据Dt已成功发送到总线上,数据发送单元将在下一个周期继续传送新数据给编码装置,并转到步骤2。
对于图5所述的解码装置,其解码方法包括如下步骤:
步骤A,如果标志信号flag=1,则表示当前从总线接收的数据字为屏蔽字,此时解码装置的输出DOUTt+1保持原状态DOUTt不变,否则进行步骤B;
步骤B,如果标志信号flag=0,则进行步骤C;
步骤C,解码装置根据inv[0]和inv[1]分别对低位子总线和高位子总线传送的数据进行解码,若inv[0]为逻辑‘1’,则低位子总线的输出为当前低位子总线数据的反码~Bt[15:0];若inv[0]为逻辑‘0’,则低位子总线的输出为当前低位子总线数据的原码Bt[15:0];若inv[1]为逻辑‘1’,则高位子总线的输出为当前高位子总线数据的反码~Bt[31:16],若inv[1]为逻辑‘0’,则高位子总线的输出为当前高位子总线数据的原码Bt[31:16];并转到步骤(A),对下一个周期总线传送的数据进行解码。
本发明编码方法的优点可以通过以下的仿真结果作进一步说明。
仿真1:对采用现有编码方法与本发明编码方法的时间节省率进行对比,其结果如图6所示,其中图6A和图6B分别给出了在λ=4和λ=1两种工艺参数下,采用“双周期时空总线编码”和“动态-翻转编码”这两种现有编码方法与本发明编码方法传送一定量数据时,该三种方法的时间节省率对比情况;图中ijpeg,vpr,mcf,perl,compress95,parser为SPEC测试基准程序;λ为工艺参数,且λ=CI/CL,CI表示总线中相邻互连线间的寄生耦合电容,CL表示总线中的互连线与衬底间的寄生电容;
时间节省率STP定义为传送未编码数据所用时间Tuncoded与传送编码后数据所用时间Tcoded的差占传送未编码数据所用时间的百分率:
STP = T uncoded - T coded T uncoded × 100 % - - - ( 1 )
由图6A和图6B可知,对于不同的测试基准程序,在λ=4时,“双周期时空总线编码”时间节省率平均为41.18%,“动态-翻转编码”平均为36.85%,本发明编码方法的实施例平均为41.90%;在λ=1时,“双周期时空总线编码”时间节省率降低到20%,“动态-翻转编码”平均为14.12%,本发明编码方法的实施例平均为34.16%。
由以上时间节省率的对比结果可知,对不同的工艺参数λ,本发明编码方法的平均时间节省率在这三种时空编码中最优。
仿真2:对采用现有编码方法与本发明编码方法的总线的归一化功耗进行对比,其结果如图7所示,其中图7A和图7B分别给出了在λ=4和λ=1两种工艺参数下,采用“双周期时空总线编码”和“动态-翻转编码”这两种现有编码方法与本发明编码方法在传送一定量数据时在总线上的归一化功耗对比情况;图中ijpeg,vpr,mef,perl,compress95,parser为SPEC测试基准程序;λ为工艺参数,且λ=CI/CL,CI表示总线中相邻互连线间的寄生耦合电容,CL表示总线中的互连线与衬底间的寄生电容;
图7中的编码方法在传送一定量数据时的功耗计算方法为:首先由式(2)可计算出总线上的数据从Bt翻转到Bt+1所消耗的能量E(Bt,Bt+1),式(3)表示每根线翻转时所消耗的能量Ei(Bt,Bt+1),然后将传送每一个数据字总线翻转所消耗的能量E(Bt,Bt+1)进行累加就可计算出传送一定量数据的总功耗,图7A和图7B中的功耗对CLVdd 2进行了归一化;其中Vdd为电源电压,Bt、Bt+1为第t和t+1个周期出现在总线上的数据字,Bt[i]为总线的第i根数据线在第t个周期的值,δi=Bt+1[i]-Bt[i],N表示总线的宽度。
E ( B t , B t + 1 ) = Σ i = 1 n E i ( B t , B t + 1 ) - - - ( 2 )
E i ( B t , B t + 1 ) = B t + 1 [ 1 ] [ ( 1 + &lambda; ) &delta; 1 - &lambda; &delta; 2 ] C L V dd 2 ; i = 1 B t + 1 [ i ] [ ( 1 + 2 &lambda; ) &delta; i - &lambda; ( &delta; i - 1 + &delta; i + 1 ) ] C L V dd 2 ; 1 < i < N B t + 1 [ N ] [ ( 1 + &lambda; ) &delta; N - &lambda; &delta; N - 1 ] C L V dd 2 ; i = N - - - ( 3 )
由图7A和图7B知,对于不同的测试基准程序,在λ=4时,本发明编码方法的平均功耗相对于“双周期时空总线编码”和“动态-翻转编码”分别降低了54.67%和14.63%;在λ=1时,本发明编码方法的平均功耗相对于“双周期时空总线编码”和“动态-翻转编码”分别降低了53.78%和15.46%。由此可知,本发明编码方法的平均功耗小于“双周期时空总线编码”和“动态-翻转编码”的平均功耗。
此外,对32位的总线数据进行编码,采用“Optimal shielding/spacing metrics forlow power design”涉及的空间编码方法,总线需增加31条冗余线;采用“Busencoding to prevent crosstalk delay”中提出的空间编码方法,总线需增加21条冗余线;而采用本发明的时空编码方法,总线仅增加7条冗余线;因此,本发明的时空编码方法的冗余线明显减少,这有利于减小芯片中总线占用的面积。
因此,本发明提供的技术方案可在消除最坏情况串扰且减少空间编码方法所需的冗余线的前提下,进一步提高时空总线编码方法的数据传送效率,并且降低时空总线编码方法的功耗开销。
上述实施例仅仅是本发明的一个较佳实施例,本发明并不仅仅局限于上述实施例所描述的实现方式。

Claims (9)

1.一种抗串扰片上总线编码方法,包括如下步骤:
1)通过插入屏蔽线将位宽为N的总线分割为低位子总线和高位子总线,低位子总线上的数据用Bt[k:0]表示,高位子总线上的数据用Bt[N-1:k+1]表示,其中N为大于等于1的整数,k为0到N-1间的一个整数,t为时钟周期;
2)分别对低位子总线待传送数据的原码Dt[k:0]及反码~Dt[k:0]和高位子总线待传送数据的原码Dt[N-1:k+1]及反码~Dt[N-1:k+1]是否会引起最坏情况串扰进行如下判断:
如果低位子总线传送Dt[k:0]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为Dt[k:0]会引起最坏情况串扰,同时设置相应的标志信号stateL1=1;反之判为Dt[k:0]不会引起最坏情况串扰,同时设置相应的标志信号stateL1=0;
如果低位子总线传送~Dt[k:0]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为~Dt[k:0]会引起最坏情况串扰,同时设置相应的标志信号stateL2=1;反之判为~Dt[k:0]不会引起最坏情况串扰,同时设置相应的标志信号stateL2=0;
如果高位子总线传送Dt[N-1:k+1]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为Dt[N-1:k+1]会引起最坏情况串扰,同时设置相应的标志信号stateH1=1;反之判为Dt[N-1:k+1]不会引起最坏情况串扰,同时设置相应的标志信号stateH1=0;
如果高位子总线传送~Dt[N-1:k+1]时存在任意三条相邻的信号线,该三条信号线满足中间线的信号发生翻转,且其相邻的两条线上信号的翻转方向与中间线上信号的翻转方向相反;或者其中两条相邻线上的信号发生相对翻转,另外一条线上的信号保持不变,则判为~Dt[N-1:k+1]会引起最坏情况串扰,同时设置相应的标志信号stateH2=1;反之判为~Dt[N-1:k+1]不会引起最坏情况串扰,同时设置相应的标志信号stateH2=0;
3)根据低位和高位子总线待传送数据原码和反码的标志信号stateL1,stateL2,stateH1,stateH2得到低位和高位子总线是否存在最坏情况串扰的标志信号stateL=stateL1&&stateL2和stateH=stateH1&&stateH2,
如果标志信号stateL为逻辑‘1’,则表明“低位子总线存在最坏情况串扰”,否则表明“低位子总线不存在最坏情况串扰”;
如果标志信号stateH为逻辑‘1’,则表明“高位子总线存在最坏情况串扰”,否则表明“高位子总线不存在最坏情况串扰”;
4)由上述标志信号stateL和stateH,进一步得到状态信号state=stateL||stateH,根据状态信号state作如下操作:
如果state为逻辑‘1’,则在整个总线插入N位的全‘1’或全‘0’屏蔽字,以消除总线中的最坏情况串扰,同时设置标志信号flag=1,用于告知解码装置当前传送的数据字为屏蔽字,标志信号inv[0]和inv[1]保持不变,其中inv[0]和inv[1]分别用于表示低位和高位子总线上传送数据的类型,如果这两个标志信号被设置为逻辑‘1’,则表示传送的是反码,如果这两个标志信号被设置为逻辑‘0’,则表示传送的是原码;
如果state为逻辑‘0’,在编码算法性能优先的条件下根据待传送数据的串扰情况对其功耗作以下优化:如果原码Dt[k:0]与反码~Dt[k:0]均不引起最坏情况串扰,则选取功耗低的数据传送,否则原码Dt[k:0]与反码~Dt[k:0]有且只有一个会引起最坏情况串扰,此时选取不会引起最坏情况串扰的数据传送;如果原码Dt[N-1:k+1]与反码~Dt[N-1:k+1]均不引起最坏情况串扰,则选取功耗低的数据传送,否则原码Dt[N-1:k+1]与反码~Dt[N-1:k+1]有且只有一个会引起最坏情况串扰,此时选取不会引起最坏情况串扰的数据传送;同时设置标志信号flag=0,用于告知解码装置当前传送的数据字为有效数据字,根据传送的数据类型设置标志信号inv[0]和inv[1],如果这两个标志信号被设置为逻辑‘1’,则表示传送的是反码,如果这两个标志信号被设置为逻辑‘0’,则表示传送的是原码;
5)如果state为逻辑‘1’,数据发送单元将在下一个周期重新发送数据Dt给编码装置;如果state为逻辑‘0’,数据发送单元将在下一个周期继续传送新数据给编码装置,并转到步骤2)。
2.根据权利要求1所述的抗串扰片上总线编码方法,其中步骤4)所涉及的“选取功耗低的数据传送”,按如下步骤进行:
(2a)通过海明距离探测单元计算出Dt[k:0]和Bt[k:0]间的海明距离以及Dt[N-1:k+1]和Bt[N-1:k+1]间的海明距离;
(2b)根据计算的海明距离确定传输数据,如果Dt[k:0]和Bt[k:0]间的海明距离大于常数(k+1)/2,则低位子总线传送反码~Dt[k:0],否则低位子总线传送原码Dt[k:0];如果Dt[N-1:k+1]和Bt[N-1:k+1]间的海明距离大于常数(N-k-1)/2,则高位子总线传送反码~Dt[N-1:k+1],否则高位子总线传送原码Dt[N-1:k+1]。
3.根据权利要求1所述的抗串扰片上总线编码方法,其中步骤4)涉及的“选取不会引起最坏情况串扰的数据传送”,是根据待传送数据串扰情况的标志信号stateL1和stateH1确定,如stateL1为逻辑‘0’,则低位子总线传送原码Dt[k:0],否则低位子总线传送反码~Dt[k:0];如果stateH1为逻辑‘0’,则高位子总线传送原码Dt[N-1:k+1],否则高位子总线传送反码~Dt[N-1:k+1]。
4.一种抗串扰片上总线解码方法,包括如下步骤:
(A)如果标志信号flag=1,则表示当前从总线接收的数据字为屏蔽字,此时解码装置的输出DOUTt+1保持原状态DOUTt不变,否则进行步骤(B);
(B)如果标志信号flag=0,则进行步骤(C);
(C)根据标志信号线inv[0]和inv[1]分别对低位子总线和高位子总线传送的数据进行解码,若inv[0]为逻辑‘1’,则低位子总线的输出为当前低位子总线数据的反码;若inv[0]为逻辑‘0’,则低位子总线的输出为当前低位子总线数据的原码;若inv[1]为逻辑‘1’,则高位子总线的输出为当前高位子总线数据的反码,若inv[1]为逻辑‘0’,则高位子总线的输出为当前高位子总线数据的原码;并转到步骤(A),对下一个周期总线传送的数据进行解码。
5.一种抗串扰片上总线编码装置,包括:
高位子总线编码单元(400),用于高位子总线编码,并输出两个高位标志信号stateH1和stateH2给屏蔽字插入控制单元(402);
低位子总线编码单元(401),用于低位子总线编码,并输出两个低位标志信号stateL1和stateL2给屏蔽字插入控制单元(402);
屏蔽字插入控制单元(402),用于控制屏蔽字的插入,并根据高位子总线编码单元(400)和低位子总线编码单元(401)提供的标志信号stateH1,stateH2,stateL1和stateL2生成状态信号state,以控制高位子总线编码单元(400)和低位子总线编码单元(401)的输出,同时告知数据发送单元在下一周期是否发送新的数据;
寄存器(403),用于输出屏蔽字插入控制单元(402)生成的状态信号state,该状态信号state由寄存器(403)输出,得到标志信号flag。
6.根据权利要求5所述的抗串扰片上总线编码装置,其中高位子总线编码单元(400),包括:
第一串扰类型判断单元(3101),用于判断高位子总线待传送数据原码Dt[31:16]是否会引起最坏情况串扰,串扰类型判断单元(3101)的两个输入数据为待传送数据原码Dt[31:16]和高位子总线上的数据Bt[31:16],串扰类型判断单元(3101)的判断结果stateH1传输给判决单元(313)的输入端;
第二串扰类型判断单元(3102),用于判断高位子总线待传送数据反码~Dt[31:16]是否会引起最坏情况串扰,串扰类型判断单元(3102)的两个输入数据为待传送数据反码~Dt[31:16]和高位子总线上的数据Bt[31:16],该串扰类型判断单元(3102)的判断结果stateH2传输给判决单元(313)的输入端;
海明距离探测单元(311),用于计算待传送数据原码Dt[31:16]与高位子总线上的数据Bt[31:16]间的海明距离,它的两个输入数据为待传送数据原码Dt[31:16]和高位子总线上的数据Bt[31:16],其计算结果传输给比较单元(317)的输入端;
多路复用开关组(312),由判决单元(313)的输出信号控制,其输入端与多路复用开关组(314)和多路复用开关组(315)连接,输出端与多路复用开关组(316)的输入端连接;
判决单元(313),用于控制多路复用开关组(312)的输出数据,其输入端与串扰类型判断单元(3101)的输出信号stateH1和串扰类型判断单元(3102)的输出信号stateH2连接,输出端与多路复用开关组(312)的控制端连接;
多路复用开关组(314),用于从待传送数据原码Dt[31:16]和反码~Dt[31:16]中选出不会引起最坏情况串扰的数据字,同时为标志信号inv[1]设置一个逻辑值;该多路复用开关组(314)由串扰类型判断单元(3101)的输出信号stateH1控制,其输入端与待传送数据原码Dt[31:16]和反码~Dt[31:16]连接,输出端与多路复用开关组(312)的输入端连接;
多路复用开关组(315),用于从待传送数据原码Dt[31:16]和反码~Dt[31:16]中选出功耗低的数据字,同时为标志信号inv[1]设置一个逻辑值;该多路复用开关组(315)由比较单元(317)的输出信号控制,其输入端与待传送数据原码Dt[31:16]和反码~Dt[31:16]连接,输出端与多路复用开关组(312)的输入端连接;
多路复用开关组(316),用于从有效数据字和屏蔽字中选出不会引起最坏情况串扰的数据字,同时选出标志信号inv[1]的逻辑值;该多路复用开关组(316)由屏蔽字插入控制单元(402)的输出信号控制,其输入端与多路复用开关组(312)的输出端、十六位的全‘1’屏蔽字和寄存器(321)的输出信号inv[1]连接,输出端与寄存器(320)和寄存器(321)的输入端连接;
比较单元(317),用于比较海明距离探测单元(311)的输出数据与常数‘8’的大小,其输入端分别与海明距离探测单元(311)的输出端和常数‘8’连接,输出端与多路复用开关组(315)的控制端连接;
寄存器(320),用于寄存并输出经高位子总线编码单元(400)编码后的数据字,其输入端与多路复用开关组(316)的输出端连接,输出端与高位子总线连接;
寄存器(321),用于寄存并输出标志信号inv[1],其输入端与多路复用开关组(316)的输出端连接,输出端与标志信号线inv[1]和多路复用开关组(316)的输入端连接;
反相器(318),用于将待传送数据原码Dt[31:16]转换为反码~Dt[31:16],其输入端与待传送数据原码Dt[31:16]连接,输出端与串扰类型判断单元(3102)、多路复用开关组(314)和多路复用开关组(315)的输入端连接。
7.根据权利要求5所述的抗串扰片上总线编码装置,其中低位子总线编码单元(401),包括:
第三串扰类型判断单元(4101),用于判断低位子总线待传送数据原码Dt[15:0]是否会引起最坏情况串扰,其两个输入数据为待传送数据原码Dt[15:0]和低位子总线上的数据Bt[15:0],输出的判断结果stateL1传输给判决单元(413)的输入端;
第四串扰类型判断单元(4102),用于判断低位子总线待传送数据反码~Dt[15:0]是否会引起最坏情况串扰,其两个输入数据为待传送数据反码~Dt[15:0]和低位子总线上的数据Bt[15:0],输出的判断结果stateL2传输给判决单元(413)的输入端;
海明距离探测单元(411),用于计算待传送数据原码Dt[15:0]与低位子总线上的数据Bt[15:0]间的海明距离,它的两个输入数据为待传送数据原码Dt[15:0]和低位子总线上的数据Bt[15:0],其计算结果传输给比较单元(417)的输入端;
多路复用开关组(412),由判决单元(413)的输出信号控制,其输入端与多路复用开关组(414)和多路复用开关组(415)连接,输出端与多路复用开关组(416)的输入端连接;
判决单元(413),用于控制多路复用开关组(412)的输出数据,其输入端与串扰类型判断单元(4101)的输出信号stateL1和串扰类型判断单元(4102)的输出信号stateL2连接,输出端与多路复用开关组(412)的控制端连接;
多路复用开关组(414),用于从待传送数据原码Dt[15:0]和反码~Dt[15:0]中选出不会引起最坏情况串扰的数据字,同时为标志信号inv[0]设置一个逻辑值;该多路复用开关组(414)由串扰类型判断单元(4101)的输出信号stateL1控制,其输入端与待传送数据原码Dt[15:0]和反码~Dt[15:0]连接,输出端与多路复用开关组(412)的输入端连接;
多路复用开关组(415),用于从待传送数据原码Dt[15:0]和反码~Dt[15:0]中选出功耗低的数据字,同时为标志信号inv[0]设置一个逻辑值;该多路复用开关组(415)由比较单元(417)的输出信号控制,其输入端与待传送数据原码Dt[15:0]和反码~Dt[15:0]连接,输出端与多路复用开关组(412)的输入端连接;
多路复用开关组(416),用于从有效数据字和屏蔽字中选出不会引起最坏情况串扰的数据字,同时选出标志信号inv[0]的逻辑值;该多路复用开关组(416)由屏蔽字插入控制单元(402)的输出信号控制,其输入端与多路复用开关组(412)的输出端、十六位的全‘1’屏蔽字和寄存器(421)的输出信号inv[0]连接,输出端与寄存器(420)和寄存器(421)的输入端连接;
比较单元(417),用于比较海明距离探测单元(411)的输出数据与常数‘8’的大小,其输入端分别与海明距离探测单元(411)的输出端和常数‘8’连接,输出端与多路复用开关组(415)的控制端连接;
寄存器(420),用于寄存并输出低位子总线编码单元(401)编码后的数据字,其输入端与多路复用开关组(416)的输出端连接,输出端与低位子总线连接;
寄存器(421),用于寄存并输出标志信号inv[0],其输入端与多路复用开关组(416)的输出端连接,输出端与标志信号线inv[0]和多路复用开关组(416)的输入端连接;
反相器(418),用于将待传送数据原码Dt[15:0]转换为反码~Dt[15:0],其输入端与待传送数据原码Dt[15:0]连接,输出端与串扰类型判断单元(4102)、多路复用开关组(414)和多路复用开关组(415)的输入端连接。
8.根据权利要求6或7所述的抗串扰片上总线编码装置,其中四个串扰类型判断单元(3101,3102,4101,4102)结构相同,各包括:十五个子模块(700,701,702,…,714),两个十五输入的或门(4311,4312)和一个二输入的或门(4313);
所述的十五个子模块(700,701,702,…,714)中均包括一个模块(432),该模块有两个输出端,每个子模块一个输出端与十五输入的或门(4311)连接,另一个输出端与十五输入的或门(4312)连接;
所述的两个十五输入的或门(4311,4312),其输入端与十五个子模块(700,701,702,…,714)的输出端连接,输出端与二输入的或门(4313)的输入端连接;
所述的二输入的或门(4313),其输入端与两个十五输入的或门(4311,4312)的输出端连接,输出端为串扰类型判断结果;
上述十五个子模块(700,701,702,…,714)均包括一个模块(432),该模块用于判断子总线中相邻的三条信号线在传送数据时是否会引起最坏情况串扰,其输入数据来自待传送数据的原码或反码和子总线上的数据。
9.一种抗串扰片上总线解码装置,包括:
高位子总线解码单元(600),用于高位子总线解码,高位子总线解码单元(600)的输入数据为高位子总线上的数据Bt[31:16],输出为解码后的数据DOUTt[31:16],该单元包括:反相器(610),多路开关(611),多路开关(612)和寄存器(613);该反相器(610)的输出数据传输给多路开关(611),多路开关(611)输出端与多路开关(612)的输入端连接,多路开关(611)输出端与寄存器(613)的输入端连接;
低位子总线解码单元(601),用于低位子总线解码,低位子总线解码单元(601)的输入数据为低位子总线上的数据Bt[15:0],输出为解码后的数据DOUTt[15:0],该单元包括:反相器(620),多路开关(621),多路开关(622)和寄存器(623);该反相器(620)的输出数据传输给多路开关(621),多路开关(621)输出端与多路开关(622)的输入端连接,多路开关(621)输出端与寄存器(623)的输入端连接;
标志信号输出寄存器(602),用于寄存并输出标志信号FLAG,其输入端与总线的标志信号flag连接,输出为标志信号FLAG,此标志信号FLAG用于指示解码装置当前输出的数据是否为有效数据。
CN2010101208371A 2010-03-09 2010-03-09 抗串扰片上总线编解码方法及其编解码装置 Active CN101788967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101208371A CN101788967B (zh) 2010-03-09 2010-03-09 抗串扰片上总线编解码方法及其编解码装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101208371A CN101788967B (zh) 2010-03-09 2010-03-09 抗串扰片上总线编解码方法及其编解码装置

Publications (2)

Publication Number Publication Date
CN101788967A CN101788967A (zh) 2010-07-28
CN101788967B true CN101788967B (zh) 2012-02-08

Family

ID=42532187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101208371A Active CN101788967B (zh) 2010-03-09 2010-03-09 抗串扰片上总线编解码方法及其编解码装置

Country Status (1)

Country Link
CN (1) CN101788967B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885913B (zh) * 2014-03-26 2017-01-04 中国科学院声学研究所 总线编解码装置及其方法
CN106849954B (zh) * 2016-12-09 2019-06-28 西安电子科技大学 一种针对片上网络的低功耗、抗串扰的编解码方法及编解码装置
CN111177038B (zh) * 2018-11-13 2021-08-03 龙芯中科技术股份有限公司 总线编码发送电路和方法、总线传输系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1096750C (zh) * 1995-04-25 2002-12-18 盛群半导体股份有限公司 编码解码装置
WO2002039290A2 (en) * 2000-11-07 2002-05-16 Intel Corporation Method and apparatus for reducing simultaneous switching output noise using dynamic bus inversion
WO2005088467A1 (en) * 2004-03-03 2005-09-22 Koninklijke Philips Electronics N.V. Data communication module providing fault tolerance and increased stability

Also Published As

Publication number Publication date
CN101788967A (zh) 2010-07-28

Similar Documents

Publication Publication Date Title
CN100485646C (zh) 提供容错性和增强的稳定性的数据通信模块
CN101788967B (zh) 抗串扰片上总线编解码方法及其编解码装置
CN101834704B (zh) 高性能抗串扰时空总线编解码方法及其编解码装置
CN104995612A (zh) 低同步开关噪声芯片间通信方法和系统
CN102611951B (zh) 用于降低以太网无源光网络物理层集成电路系统功耗的方法
CN102016813A (zh) 用于平衡接收端电源负载的方法和系统
KR20130112977A (ko) 데이터 송신 장치, 데이터 수신 장치 및 데이터 전송 방법
CN106849954A (zh) 一种针对片上网络的低功耗、抗串扰的编解码方法及编解码装置
CN107784179A (zh) 集成电路半定制后端设计布线和优化方法
CN108683505A (zh) 一种高安全性apuf电路结构
CN105591645B (zh) 一种多级串并转换电路
CN102053649A (zh) 用于增减动态总线时钟的装置和方法
Venkataraman et al. GALLOP: genetic algorithm based low power FSM synthesis by simultaneous partitioning and state assignment
CN101848059B (zh) 抑制总线串扰的自适应时间编解码装置及其编解码方法
CN100592308C (zh) 一种可靠片上总线的设计方法和系统及其工作方法
CN100414522C (zh) 在线对上传输和接收数据信号的方法及其发送和接收电路
García-Ortiz et al. Optimization of interconnect architectures through coding: A review
Fu et al. Exploiting parity computation latency for on-chip crosstalk reduction
Zeng et al. Transition inversion coding with parity check for off-chip serial transmission
Rajagopal et al. Multi-bit error correction coding with crosstalk avoidance using parity sharing technique for noc
Singhal et al. Data handling limits of on-chip interconnects
CN103001901B (zh) 一种基于mdpcm的集成电路高速数字接口模块
Chen et al. Analysis and design of serial error correction code with crosstalk avoidance technique
US7519131B2 (en) Method and digital circuit for transmitting a plurality of bit sequences to be transmitted via several bus lines
Fu et al. A dual-mode hybrid arq scheme for energy efficient on-chip interconnects

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160802

Address after: Xi'an City, Shaanxi province Taibai Road 710071 No. 2

Patentee after: Shaanxi Xi'an electronic large Assets Management Co.,Ltd.

Address before: Xi'an City, Shaanxi province Taibai Road 710071 No. 2

Patentee before: Xidian University

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20161018

Address after: High tech Zone Industrial Park Shanglinyuan road 710075 No. 15 Shaanxi Xi'an

Patentee after: Shaanxi optoelectronic integrated circuit pilot Technology Research Institute Co.,Ltd.

Address before: Xi'an City, Shaanxi province Taibai Road 710071 No. 2

Patentee before: Shaanxi Xi'an electronic large Assets Management Co.,Ltd.

CP03 Change of name, title or address

Address after: No. 15, Shanglinyuan 1st Road, Hi tech Zone, Xi'an, Shaanxi 710199

Patentee after: Shaanxi optoelectronic pilot Institute Technology Co.,Ltd.

Address before: No.15, Shanglinyuan 1st Road, new industrial park, high tech Zone, Xi'an, Shaanxi 710075

Patentee before: Shaanxi optoelectronic integrated circuit pilot Technology Research Institute Co.,Ltd.

CP03 Change of name, title or address
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Anti crosstalk on-chip bus encoding and decoding method and its encoding and decoding device

Effective date of registration: 20230328

Granted publication date: 20120208

Pledgee: Xi'an Hi-tech Emerging Industry Investment Fund Partnership (L.P.)

Pledgor: Shaanxi optoelectronic pilot Institute Technology Co.,Ltd.

Registration number: Y2023610000221

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20120208

Pledgee: Xi'an Hi-tech Emerging Industry Investment Fund Partnership (L.P.)

Pledgor: Shaanxi optoelectronic pilot Institute Technology Co.,Ltd.

Registration number: Y2023610000221