Summary of the invention
The object of the invention is to avoid the deficiency of above-mentioned prior art, a kind of high performance anti-crosstalk space-time bus decoding method and coding and decoding device thereof are provided, to be implemented in the elimination worst case cross talk and to reduce under the prerequisite of the required redundant line of space encoding method, further improve the data-transmission efficiency of space-time bus coding method, and reduce the power consumption expense of space-time bus coding method.
For achieving the above object, the technical scheme of high performance anti-crosstalk space-time bus coding method of the present invention comprises the steps:
(1) be that the bus of N is divided into low seat bus and high seat bus, the data B on the bus of low seat by inserting shielding conductor with bit wide
t[k:0] expression, the data B on the bus of high seat
t[N-1:k+1] expression, wherein N is the integer more than or equal to 1, and k is an integer between 0 to N-1, and t is the clock cycle;
(2) respectively to hanging down the true form D of seat bus data to be transmitted
t[k:0] and radix-minus-one complement~D
tThe true form D of [k:0] and high seat bus data to be transmitted
t[N-1:k+1] and radix-minus-one complement~D
tWhether [N-1:k+1] can cause that worst case cross talk makes the following judgment:
If low seat bus transmits D
tHave any three adjacent holding wires when [k:0], the signal that this three signal line satisfies mid line overturns, and on its two adjacent lines on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged, and then is judged to D
t[k:0] can cause worst case cross talk, and corresponding marking signal stateL1=1 is set simultaneously; Otherwise be judged to D
t[k:0] can not cause worst case cross talk, and corresponding marking signal stateL1=0 is set simultaneously;
If low seat bus transmission~D
tHave any three adjacent holding wires when [k:0], the signal that this three signal line satisfies mid line overturns, and on its two adjacent lines on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged, and then is judged to~D
t[k:0] can cause worst case cross talk, and corresponding marking signal stateL2=1 is set simultaneously; Otherwise be judged to~D
t[k:0] can not cause worst case cross talk, and corresponding marking signal stateL2=0 is set simultaneously;
If high seat bus transmits D
tHave any three adjacent holding wires when [N-1:k+1], the signal that this three signal line satisfies mid line overturns, and on its two adjacent lines on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged, and then is judged to D
t[N-1:k+1] can cause worst case cross talk, and corresponding marking signal stateH1=1 is set simultaneously; Otherwise be judged to D
t[N-1:k+1] can not cause worst case cross talk, and corresponding marking signal stateH1=0 is set simultaneously;
If high seat bus transmission~D
tHave any three adjacent holding wires when [N-1:k+1], the signal that this three signal line satisfies mid line overturns, and on its two adjacent lines on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged, and then is judged to~D
t[N-1:k+1] can cause worst case cross talk, and corresponding marking signal stateH2=1 is set simultaneously; Otherwise be judged to~D
t[N-1:k+1] can not cause worst case cross talk, and corresponding marking signal stateH2=0 is set simultaneously;
(3) according to the marking signal stateL1 of low level and high seat bus data true form to be transmitted and radix-minus-one complement, stateL2, stateH1, stateH2 obtain the marking signal stateL=stateL1﹠amp whether low level and high seat bus exist worst case cross talk; ﹠amp; StateL2 and stateH=stateH1﹠amp; ﹠amp; StateH2,
If marking signal stateL is logic ' 1 ', then shows " there is worst case cross talk in low seat bus ", otherwise show " there is not worst case cross talk in low seat bus ";
If marking signal stateH is logic ' 1 ', then shows " there is worst case cross talk in high seat bus ", otherwise show " there is not worst case cross talk in high seat bus ";
(4) by above-mentioned marking signal stateL and stateH, further obtain status signal state=stateL ‖ stateH, do following operation according to status signal state:
If state is logic ' 1 ', then insert complete ' 1 ' or complete ' 0 ' mask word of N position in whole bus, to eliminate the worst case cross talk in the bus, marking signal flag=1 is set simultaneously, be used for informing that the data word of the current transmission of decoding device is mask word, marking signal inv[0] and inv[1] remain unchanged, inv[0 wherein] and inv[1] be respectively applied to represent to transmit on low level and the high seat bus type of data, if this marking signal is set to logic ' 1 ', what expression transmitted is radix-minus-one complement, marking signal is set to logic ' 0 ', and what expression transmitted is true form;
If state is logic ' 0 ', low level and high seat bus select respectively a data word that can not cause worst case cross talk to transmit from the true form of data to be transmitted and radix-minus-one complement; Marking signal flag=0 is set simultaneously, is used for informing that the data word of the current transmission of decoding device is the valid data word; If what low seat bus transmitted be true form, marking signal inv[0] be set to logic ' 0 ', if transmission is radix-minus-one complement, marking signal inv[0] be set to logic ' 1 '; If what high seat bus transmitted be true form, marking signal inv[1] be set to logic ' 0 ', if transmission is radix-minus-one complement, marking signal inv[1] be set to logic ' 1 ';
(5) if state is logic ' 1 ', data transmission unit will resend data D at next cycle
tGive code device; If state is logic ' 0 ', data transmission unit will continue to transmit new data to code device at next cycle, and forward step (2) to.
For achieving the above object, high performance anti-crosstalk space-time bus coding/decoding method of the present invention comprises the steps:
(A) if marking signal flag=1 represents that then the current data word that receives from bus is mask word, at this moment the output DOUT of code device
T+1DOUT maintains the original state
tConstant, otherwise carry out step (B);
(B) if marking signal flag=0 then carries out step (C);
(C) according to inv[0] and inv[1] respectively to hanging down the decoding data of seat bus and high seat bus transmission, if inv[0] be logic ' 1 ', then hang down the radix-minus-one complement that the seat bus is output as current low seat bus data; If inv[0] be logic ' 0 ', then hang down the true form that the seat bus is output as current low seat bus data; If inv[1] be logic ' 1 ', then high seat bus is output as the radix-minus-one complement of current high seat bus data, if inv[1] and be logic ' 0 ', then high seat bus is output as the true form of current high seat bus data; And forward step (A) to, to the decoding data of next cycle bus transmission.
For achieving the above object, high performance anti-crosstalk space-time bus code device of the present invention comprises:
Bus code unit, high seat (900) is used for high seat bus code, and exports two high-order marking signal stateH1 and stateH2 inserts control unit (902) to mask word;
Low bus code unit, seat (901) is used for low seat bus code, and exports two low level marking signal stateL1 and stateL2 inserts control unit (902) to mask word;
Mask word is inserted control unit (902), be used for the insertion of control mask word, and the marking signal stateH1 that provides according to bus code unit, high seat (900) and bus code unit, low seat (901), stateH2, stateL1 and stateL2 generate status signal state, to control the output of bus code unit, high seat (900) and bus code unit, low seat (901), inform simultaneously whether data transmission unit sends new data in next cycle;
Register (903) is used for the output mask word and inserts the status signal state that control unit (902) generates, and this status signal state obtains marking signal flag by register (903) output.
For achieving the above object, high performance anti-crosstalk space-time bus decoding device of the present invention comprises:
Bus encoding/decoding unit, high seat (600) is used for high seat bus encoding/decoding, and the input data of bus encoding/decoding unit, high seat (600) are the data B on the bus of high seat
t[31:16] is output as decoded data DOUT
t[31:16], this unit comprises: inverter (610), variable connector (611), variable connector (612) and register (613); The output transfer of data of this inverter (610) is to variable connector (611), variable connector (611) output is connected with the input of variable connector (612), and variable connector (611) output is connected with the input of register (613);
Low bus encoding/decoding unit, seat (601) is used for low seat bus encoding/decoding, and the input data of low bus encoding/decoding unit, seat (601) are the data B on the bus of low seat
t[15:0] is output as decoded data DOUT
t[15:0], this unit comprises: inverter (620), variable connector (621), variable connector (622) and register (623); The output transfer of data of this inverter (620) is to variable connector (621), variable connector (621) output is connected with the input of variable connector (622), and variable connector (621) output is connected with the input of register (623);
Marking signal output register (602), be used for depositing and output identification signal FLAG, its input is connected with the marking signal flag of bus, is output as marking signal FLAG, and whether the data that this marking signal FLAG is used to indicate the current output of decoding device are valid data.
The present invention has following advantage:
1) whether the inventive method exists worst case cross talk by the sub-bus of types of crosstalk judgment unit judges, and the mode of complete ' 1 ' or complete ' 0 ' mask word by in whole bus, inserting the N position, eliminate the worst case cross talk in the bus, therefore can improve the operating frequency of bus, and then improve the data-transmission efficiency of bus;
2) the inventive method is divided into high seat bus by shielding conductor with bus and low seat bus is processed, and whether every sub-bus can cause that to the true form that transmits data and radix-minus-one complement worst case cross talk judges simultaneously, transmit to choose the data that are conducive to raise the efficiency, more than two measures can reduce the probability that worst case cross talk appears in whole bus, the probability that worst case cross talk appears in bus reduces, can reduce the insertion for the mask word of eliminating worst case cross talk, thereby reduce time overhead;
3) the inventive method is by the situation of crosstalking of two sub-buses of comprehensive judgement, the insertion of dynamic adjustments mask word, namely only when the true form of judging sub-bus transmissioning data and radix-minus-one complement all can cause worst case cross talk, just insert mask word to eliminate worst case cross talk in bus, other situations must not inserted mask word, therefore the method has adaptivity, makes data-transmission efficiency obtain further raising;
4) the inventive method can reduce the probability that the bus worst case cross talk occurs in the space-time code, and then reduces the power consumption that is caused by worst case cross talk.
Compared with prior art, the main improvements of the inventive method are: further improved the data-transmission efficiency of space-time bus coding method, also had lower power consumption expense simultaneously.
Embodiment
For purpose of the present invention, feature and advantage more can be become apparent, preferred embodiment of the present invention cited below particularly, and cooperation accompanying drawing are described in detail below.
With reference to Fig. 1, high performance anti-crosstalk space-time bus coding and decoding device of the present invention comprises:
Data transmission unit 100, code device 101, bus unit 102, decoding device 103 and data receiver unit 104.Wherein, the output of data transmission unit 100 is connected with the input of code device 101, and transmits initial data to code device 101 according to the status signal state of code device 101 outputs; Code device 101 at first changes into coded data word with the raw data word that data transmission unit 100 transmits, and then is transferred to bus unit 102; Bus unit 102 connects the output of code device 101 and the input of decoding device 103, and coded data word is transferred to decoding device 103 via this bus unit 102; Decoding device 103 at first changes into raw data word again with the coded data word that bus unit 102 transmission come, and then is transferred to data receiver unit 104; Data receiver unit 104 receives through decoding device 103 decoded initial data according to the marking signal FLAG of decoding device 103 outputs.
With reference to Fig. 2, code device of the present invention comprises: bus code unit, high seat 900, and low bus code unit, seat 901, mask word is inserted control unit 902 and 903 4 unit of register.Wherein, bus code unit, high seat 900 is treated and is transmitted data true form D
t[31:16] and radix-minus-one complement~D
tAfter whether [31:16] can cause that worst case cross talk is judged, export two high-order marking signal stateH1 and stateH2 and insert control unit 902 to mask word; Meanwhile, low bus code unit, seat 901 is treated and is transmitted data true form D
t[15:0] and radix-minus-one complement~D
tAfter whether [15:0] can cause that worst case cross talk is judged, export two low level marking signal stateL1 and stateL2 and insert control unit 902 to mask word; Mask word is inserted control unit 902 according to the marking signal stateH1 of bus code unit, high seat 900 and 901 outputs of bus code unit, low seat, stateH2, stateL1 and stateL2 generate status signal state, this status signal state feeds back to bus code unit, high seat 900 and bus code unit, low seat 901 again to control the output of whole code device, if state is logic ' 1 ', then insert complete ' 1 ' or complete ' 0 ' mask word of N position in whole bus, to eliminate the worst case cross talk in the bus; If state is logic ' 0 ', low level and high seat bus respectively from the true form of data to be transmitted and radix-minus-one complement an optional data word that can not cause worst case cross talk transmit; Status signal state also feeds back to data transmission unit simultaneously, and data transmission unit judges whether send new data in next cycle according to status signal state; At last, status signal state obtains marking signal flag by register 903 outputs.
Bus code unit, above-mentioned high seat 900 comprises:
Inverter 818, the first types of crosstalk judging unit 8101, the second types of crosstalk judging units 8102, multiplexer switch group 814, multiplexer switch group 816, register 820 and registers 821.Wherein, inverter 818 at first will data true form D be transmitted
t[31:16] is converted to radix-minus-one complement~D
t[31:16], then this radix-minus-one complement~D
t[31:16] is sent to the input of types of crosstalk judging unit 8102 and multiplexer switch group 814;
The first types of crosstalk judging unit 8101 is according to data true form D to be transmitted
tData B on [31:16] and the high seat bus
t[31:16] judges high seat bus data true form to be transmitted D
tWhether [31:16] can cause worst case cross talk, if high seat bus transmits D
tThere are any three adjacent holding wires when [31:16], the signal that this three signal line satisfies mid line overturns, and on two lines that are adjacent on the reverses direction of signal and the mid line reverses direction of signal opposite, perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged; Then be judged to D
t[31:16] can cause worst case cross talk, corresponding marking signal stateH1=1 is set simultaneously, otherwise is judged to D
t[31:16] can not cause worst case cross talk, and corresponding marking signal stateH1=0 is set simultaneously; At last, judged result stateH1 is transferred to the input that mask word is inserted control unit 902 and multiplexer switch group 814;
The second types of crosstalk judging unit 8102 is according to data radix-minus-one complement~D to be transmitted
tData B on [31:16] and the high seat bus
t[31:16] judges high seat bus data radix-minus-one complement~D to be transmitted
tWhether [31:16] can cause worst case cross talk, if high seat bus transmission~D
tHave any three adjacent holding wires when [31:16], the signal that this three signal line satisfies mid line overturns, and on two lines that are adjacent on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged; Then be judged to~D
t[31:16] can cause worst case cross talk, corresponding marking signal stateH2=1 is set simultaneously, otherwise is judged to~D
t[31:16] can not cause worst case cross talk, and corresponding marking signal stateH2=0 is set simultaneously; At last, judged result stateH2 is transferred to the input that mask word is inserted control unit 902;
Multiplexer switch group 814 is by the output signal stateH1 control of types of crosstalk judging unit 8101, its input and data true form D to be transmitted
t[31:16] and radix-minus-one complement~D
t[31:16] connects, and output is connected with the input of multiplexer switch group 816; According to the judged result stateH1 of the first types of crosstalk judging unit 8101, from data true form D to be transmitted
t[31:16] and radix-minus-one complement~D
tSelect the data word that can not cause worst case cross talk in [31:16], simultaneously for marking signal inv[1] logical value is set;
Multiplexer switch group 816, the output signal inv[1 that the output of its input and multiplexer switch group 814, complete ' 1 ' mask word of sixteen bit are connected with register] be connected, output is connected with the input that register 820 is connected with register; Insert the status signal state of the output of control unit 902 according to mask word, if state is logic ' 1 ', then export 16 complete ' 1 ' mask word ' FFFF ', to eliminate the worst case cross talk in the bus, if state is logic ' 0 ', the valid data word of output multi-channel multiplex switch group 814 output then, this multiplexer switch group 816 is also selected marking signal inv[1 from the output signal of multiplexer switch group 814 and register 821 simultaneously] logical value;
Register 820, its input is connected with the output of multiplexer switch group 816, and output is connected with high seat bus; Data word behind bus code unit, high seat 900 codings is deposited by register 820, and exports to high seat bus;
Register 821, its input is connected with the output of multiplexer switch group 816, output and marking signal line inv[1] input of being connected with the multiplexer switch group is connected the marking signal inv[1 of its output] deposit and export to marking signal line inv[1 by register 821].
Bus code unit, above-mentioned low seat 901 comprises: inverter 918, the three types of crosstalk judging unit 9101, the four types of crosstalk judging units 9102, multiplexer switch group 914, multiplexer switch group 916, register 920 and registers 921.Wherein, inverter 918 at first will data true form D be transmitted
t[15:0] is converted to radix-minus-one complement~D
t[15:0], then this radix-minus-one complement~D
t[31:16] is sent to the input of types of crosstalk judging unit 9102 and multiplexer switch group 914;
Described the 3rd types of crosstalk judging unit 9101 is according to data true form D to be transmitted
tData B on [15:0] and the low seat bus
t[15:0] judges low seat bus data true form to be transmitted D
tWhether [15:0] can cause worst case cross talk, if low seat bus transmits D
tHave any three adjacent holding wires when [15:0], the signal that this three signal line satisfies mid line overturns, and on two lines that are adjacent on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged; Then be judged to D
t[15:0] can cause worst case cross talk, corresponding marking signal stateL1=1 is set simultaneously, otherwise is judged to D
t[15:0] can not cause worst case cross talk, and corresponding marking signal stateL1=0 is set simultaneously; At last, judged result stateL1 is transferred to the input that mask word is inserted control unit 902 and multiplexer switch group 914;
Described the 4th types of crosstalk judging unit 9102 is according to data radix-minus-one complement~D to be transmitted
tData B on [15:0] and the low seat bus
t[15:0] judges low seat bus data radix-minus-one complement~D to be transmitted
tWhether [15:0] can cause worst case cross talk, if low seat bus transmission~D
tHave any three adjacent holding wires when [15:0], the signal that this three signal line satisfies mid line overturns, and on two lines that are adjacent on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged; Then be judged to~D
t[15:0] can cause worst case cross talk, corresponding marking signal stateL2=1 is set simultaneously, otherwise is judged to~D
t[15:0] can not cause worst case cross talk, and corresponding marking signal stateL2=0 is set simultaneously; At last, judged result stateL2 is transferred to the input that mask word is inserted control unit 902;
Described multiplexer switch group 914 is by the output signal stateL1 control of types of crosstalk judging unit 9101, its input and data true form D to be transmitted
t[15:0] and radix-minus-one complement~D
t[15:0] connects, and output is connected with the input of multiplexer switch group 916; According to the judged result stateL1 of the 3rd types of crosstalk judging unit 9101, from data true form D to be transmitted
t[15:0] and radix-minus-one complement~D
tSelect the data word that can not cause worst case cross talk in [15:0], simultaneously for marking signal inv[0] logical value is set;
Described multiplexer switch group 916, the output signal inv[0 that the output of its input and multiplexer switch group 914, complete ' 1 ' mask word of sixteen bit are connected with register] be connected, output is connected with the input that register 920 is connected with register; Insert the status signal state of the output of control unit 902 according to mask word, if state is logic ' 1 ', then export 16 complete ' 1 ' mask word ' FFFF ', to eliminate the worst case cross talk in the bus, if state is logic ' 0 ', the valid data word of output multi-channel multiplex switch group 914 output then, this multiplexer switch group 916 is also selected marking signal inv[0 from the output signal of multiplexer switch group 914 and register 921 simultaneously] logical value;
Described register 920, its input is connected with the output of multiplexer switch group 916, and output is connected with low seat bus; Data word behind low bus code unit, seat 901 codings is deposited by register 920, and exports to low seat bus;
The input of described register 921 is connected with the output of multiplexer switch group 916, output and marking signal line inv[0] input of being connected with the multiplexer switch group is connected; The marking signal inv[0 of its output] deposit and export to marking signal line inv[0 by register 921].
With reference to Fig. 3, the types of crosstalk judging unit 8101,8102,9101 in the code device of the present invention, 9102 structures are identical, respectively comprise: 15 submodules 700,701,702,, 714, two 15 inputs or 4311,4312 and one two inputs of door or door 4313.Wherein:
These 15 submodules 700,701,702 ..., include a module 432 in 714, this module has two outputs, output of each submodule and 15 inputs or door 4311 is connected, another output is that input with 15 or 4312 be connected; According to the true form of data to be transmitted or the data on radix-minus-one complement and the sub-bus, whether it can judge three adjacent in sub-bus signal line can cause worst case cross talk when transmitting these data, if the signal that this three signal line satisfies mid line overturns, and on two lines that are adjacent on the reverses direction of signal and the mid line reverses direction of signal opposite, perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged; Then be judged to these data and can cause worst case cross talk, output logic ' 1 ' can not cause worst case cross talk otherwise be judged to these data simultaneously, simultaneously output logic ' 0 ';
These two 15 input or doors 4311,4312, its input and 15 submodules 700,701,702 ..., 714 output connects, and output is connected with input two inputs or door 4313; If any three adjacent signals line generation worst case cross talk, i.e. above-mentioned 15 submodules 700,701,702 ..., any one module in 714 is output as logic ' 1 ', then 15 inputs or door 4311,4312 output logics ' 1 ';
This two input or door 4313, outputs its input and two 15 inputs or door 4311,4312 connect, and output is the types of crosstalk judged result; If two 15 inputs or door 4311,4312 one of them be output as logic ' 1 ', then this two input or door 4313 also output logics ' 1 '.
With reference to Fig. 4, bus unit of the present invention comprises successively: low seat bus 501, shielding conductor 502, high seat bus 500, shielding conductor B
t[31] 508, marking signal line flag505, shielding conductor 506, marking signal line inv[0] 503, shielding conductor 507 and marking signal line inv[1] 504.The bit wide of this bus unit 102 is 39, namely is made of 39 signal line, and the physical dimension of all holding wires is identical, and the spacing of adjacent signals line is also equal, wherein:
Low seat bus 501, it connects low bus code unit, seat and bus encoding/decoding unit, low seat, the coded data word of low bus code unit, seat output is decoded through should low seat bus 501 being transferred to low bus encoding/decoding unit, seat, and the bit wide of this sub-bus is 16;
Shielding conductor 502, it is positioned at 500 of low seat bus 501 and high seat buses, and it is connected with power supply or ground, and be not used in signal and transmit, and only for shielding high seat bus 500 and low seat bus 501, so that these two sub-buses are relatively independent;
High seat bus 500, it connects bus code unit, high seat and bus encoding/decoding unit, high seat, the coded data word of bus code unit, high seat output is transferred to bus encoding/decoding unit, high seat through this high seat bus 500 and decodes, and the bit wide of this sub-bus is 16;
Shielding conductor B
t[31] 508, the signal that transmits on it is identical with the highest order signal of high seat bus 500, this shielding conductor B
t[31] 508 have eliminated the impact of marking signal flag505 on high seat bus 500;
Marking signal line inv[0] 503, inv[1] 504 and flag505, they are with corresponding marking signal inv[0], inv[1] and flag be transferred to decoding device from code device;
Shielding conductor 506, it is positioned at marking signal line flag505 and inv[0] 503, be used for eliminating marking signal line flag505 and inv[0] 503 contingent worst case cross talk;
Shielding conductor 507, it is positioned at marking signal line inv[0] 503 and inv[1] 504, be used for eliminating marking signal line inv[0] 503 and inv[1] 504 contingent worst case cross talk.
With reference to Fig. 5, decoding device of the present invention comprises: bus encoding/decoding unit, high seat 600, low bus encoding/decoding unit, seat 601 and 602 3 unit of marking signal output register.Wherein:
Bus encoding/decoding unit, high seat 600 comprises inverter 610, variable connector 611, variable connector 612 and register 613.The data B that this inverter 610 at first comes high seat bus transfer
t[31:16] is anti-phase, obtains radix-minus-one complement~B
t[31:16], this radix-minus-one complement again with data B
t[31:16] together is transferred to variable connector 611; This variable connector 611 is by marking signal inv[1] control, it be input as data B
t[31:16] and~B
t[31:16], output is connected with the input of variable connector 612; According to marking signal inv[1] logical value, if inv[1]=1, then with data~B
t[31:16] is transferred to variable connector 612, if inv[1]=0, then with data B
t[31:16] is transferred to variable connector 612; This variable connector 612, by marking signal flag control, its input is connected with the output that the output of variable connector 611 is connected with register, and output is connected with the input of register 613; Logical value according to marking signal flag, if marking signal flag=1 represents that then the current data word that receives from bus is mask word, at this moment the feedback data of output register 613, if marking signal flag=0 then exports the data from variable connector 611 outputs; This register 613, its input is connected with the output of variable connector 612, is output as decoded data DOUT
t[31:16].
Low bus encoding/decoding unit, seat 601 comprises inverter 620, variable connector 621, variable connector 622 and register 623.This inverter 620 at first will hang down the data B that the seat bus transfer is come
t[15:0] is anti-phase, obtains radix-minus-one complement~B
t[15:0], this radix-minus-one complement~B
t[15:0] again with data B
t[15:0] together is transferred to variable connector 621; This variable connector 621 is by marking signal inv[0] control, it be input as data B
t[15:0] and~B
t[15:0], output is connected with the input of variable connector 622; According to marking signal inv[0] logical value, if inv[0]=1, then with data~B
t[15:0] is transferred to variable connector 622, if inv[0]=0, then with data B
t[15:0] is transferred to variable connector 622; This variable connector 622, by marking signal flag control, its input is connected with the output that the output of variable connector 621 is connected with register, and output is connected with the input of register 623; Logical value according to marking signal flag, if marking signal flag=1 represents that then the current data word that receives from bus is mask word, at this moment the feedback data of output register 623, if marking signal flag=0 then exports the data from variable connector 621 outputs; This register 623, its input is connected with the output of variable connector 622, is output as decoded data DOUT
t[15:0].
Marking signal output register 602, its input is connected with the marking signal line flag of bus, be output as marking signal FLAG, it is deposited and exports the signal that the marking signal line flag transmission from bus unit comes, and the marking signal FLAG of output finally is transferred to the data receiver unit.
For the described code device of Fig. 2, its coding method comprises the steps:
Step 1, splitted bus.
Be that 32 bus is divided into low seat bus and high seat bus is processed by inserting shielding conductor with bit wide, occur the probability of worst case cross talk to reduce whole bus, thereby reduce the insertion of the mask word that is used for eliminating worst case cross talk, reduce time overhead; Data B on the bus of low seat
t[k:0] expression, the data B on the bus of high seat
t[N-1:k+1] expression, wherein N is the integer more than or equal to 1, and k is an integer between 0 to N-1, and t is the clock cycle, and it is B that present embodiment is got the data that transmit on the bus of low seat
t[15:0], the data that transmit on the bus of high seat are B
t[31:16], but be not limited to this data.
Step 2 is judged the situation of crosstalking of data to be transmitted on the sub-bus.
At first, adopt inverter with the true form D of low level and high seat bus data to be transmitted
t[15:0] and D
t[31:16] is anti-phase, obtains corresponding radix-minus-one complement~D
t[15:0] and~D
t[31:16]; Then, respectively to hanging down the true form D of seat bus data to be transmitted
t[15:0] and radix-minus-one complement~D
tThe true form D of [15:0] and high seat bus data to be transmitted
t[31:16] and radix-minus-one complement~D
tWhether [31:16] can cause that worst case cross talk makes the following judgment:
If low seat bus transmits D
tHave any three adjacent holding wires when [15:0], the signal that this three signal line satisfies mid line overturns, and on its two adjacent lines on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged, and then is judged to D
t[15:0] can cause worst case cross talk, and corresponding marking signal stateL1=1 is set simultaneously; Otherwise be judged to D
t[15:0] can not cause worst case cross talk, and corresponding marking signal stateL1=0 is set simultaneously;
If low seat bus transmission~D
tHave any three adjacent holding wires when [15:0], the signal that this three signal line satisfies mid line overturns, and on its two adjacent lines on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged, and then is judged to~D
t[15:0] can cause worst case cross talk, and corresponding marking signal stateL2=1 is set simultaneously; Otherwise be judged to~D
t[15:0] can not cause worst case cross talk, and corresponding marking signal stateL2=0 is set simultaneously;
If high seat bus transmits D
tHave any three adjacent holding wires when [31:16], the signal that this three signal line satisfies mid line overturns, and on its two adjacent lines on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged, and then is judged to D
t[31:16] can cause worst case cross talk, and corresponding marking signal stateH1=1 is set simultaneously; Otherwise be judged to D
t[31:16] can not cause worst case cross talk, and corresponding marking signal stateH1=0 is set simultaneously;
If high seat bus transmission~D
tHave any three adjacent holding wires when [31:16], the signal that this three signal line satisfies mid line overturns, and on its two adjacent lines on reverses direction and the mid line of signal the reverses direction of signal opposite; Perhaps wherein relatively upset occurs in the signal on two adjacent lines, and the signal on the other line remains unchanged, and then is judged to~D
t[31:16] can cause worst case cross talk, and corresponding marking signal stateH2=1 is set simultaneously; Otherwise be judged to~D
t[31:16] can not cause worst case cross talk, and corresponding marking signal stateH2=0 is set simultaneously.
Step 3 judges whether sub-bus exists worst case cross talk.
According to the marking signal stateL1 of low level and high seat bus data true form to be transmitted and radix-minus-one complement, stateL2, stateH1 and stateH2 obtain the marking signal stateL=stateL1﹠amp whether low level and high seat bus exist worst case cross talk; ﹠amp; StateL2 and stateH=stateH1﹠amp; ﹠amp; Then stateH2 makes the following judgment according to this marking signal stateL and stateH:
If marking signal stateL is logic ' 1 ', then shows " there is worst case cross talk in low seat bus ", otherwise show " there is not worst case cross talk in low seat bus ";
If marking signal stateH is logic ' 1 ', then shows " there is worst case cross talk in high seat bus ", otherwise show " there is not worst case cross talk in high seat bus ".
Step 4 transmits data.
By above-mentioned marking signal stateL and stateH, further obtain status signal state=stateL ‖ stateH, do following operation according to status signal state:
If state is logic ' 1 ', then insert complete ' 1 ' or complete ' 0 ' mask word of N position in whole bus, to eliminate the worst case cross talk in the bus, marking signal fag=1 is set simultaneously, be used for informing that the data word of the current transmission of decoding device is mask word, marking signal inv[0] and inv[1] remain unchanged, inv[0 wherein] and inv[1] be respectively applied to represent to transmit on low level and the high seat bus type of data, if this marking signal is set to logic ' 1 ', what expression transmitted is radix-minus-one complement, marking signal is set to logic ' 0 ', and what expression transmitted is true form;
If state is logic ' 0 ', low level and high seat bus select respectively a data word that can not cause worst case cross talk to transmit from the true form of data to be transmitted and radix-minus-one complement; Marking signal flag=0 is set simultaneously, is used for informing that the data word of the current transmission of decoding device is the valid data word; If what low seat bus transmitted be true form, marking signal inv[0] be set to logic ' 0 ', if transmission is radix-minus-one complement, marking signal inv[0] be set to logic ' 1 '; If what high seat bus transmitted is true form, marking signal inv[1] be set to logic ' 0 ', if transmission is radix-minus-one complement, marking signal inv[1] be set to logic ' 1 ', wherein:
The state that more than relates to is logic ' 0 ', " low level and high seat bus select respectively a data word that can not cause worst case cross talk to transmit from the true form of data to be transmitted and radix-minus-one complement ", definite according to marking signal stateL1 and the stateH1 of data-crosstalk situation to be transmitted, if stateL1 is logic ' 0 ', then hangs down the seat bus and transmit true form D
t[15:0], otherwise low seat bus transmits radix-minus-one complement~D
t[15:0]; If stateH1 is logic ' 0 ', then high seat bus transmits true form D
t[31:16], otherwise high seat bus transmits radix-minus-one complement~D
t[31:15].
Step 5 judges whether next cycle transmits new data.
Code device feeds back to data transmission unit with status signal state, data transmission unit is judged accordingly: if state is logic ' 1 ', show that there is worst case cross talk in the current period bus, bus is inserted 32 complete ' 1 ' mask word in this cycle, to eliminate worst case cross talk, therefore, data D to be transmitted
tFail to be sent on the bus, data transmission unit will resend data D at next cycle
tGive code device; If state is logic ' 0 ', show current period data D to be transmitted
tSuccessfully send on the bus, data transmission unit will continue to transmit new data to code device at next cycle, and forward step 2 to.
For the described decoding device of Fig. 5, its coding/decoding method comprises the steps:
Steps A is if marking signal flag=1 represents that then the current data word that receives from bus is mask word, at this moment the output DOUT of decoding device
T+1DOUT maintains the original state
tConstant, otherwise carry out step B;
Step B is if marking signal flag=0 then carries out step C;
Step C, decoding device is according to inv[0] and inv[1] respectively to hanging down the decoding data of seat bus and high seat bus transmission, if inv[0] be logic ' 1 ', then hang down radix-minus-one complement~B that the seat bus is output as current low seat bus data
t[15:0]; If inv[0] be logic ' 0 ', then hang down the true form B that the seat bus is output as current low seat bus data
t[15:0]; If inv[1] be logic ' 1 ', then high seat bus is output as the radix-minus-one complement~B of current high seat bus data
t[31:16] is if inv[1] be logic ' 0 ', then high seat bus is output as the true form B of current high seat bus data
t[31:16]; And forward step (A) to, to the decoding data of next cycle bus transmission.
The advantage of coding method of the present invention can be described further by following simulation result.
Emulation 1: the time saving rate that adopts existing coding method and coding method of the present invention is compared, its result as shown in Figure 6, wherein Fig. 6 A and Fig. 6 B have provided respectively under λ=4 and λ=1 two kind of technological parameter, when adopting " binary cycle space-time bus coding " and " dynamic-the upset coding " these two kinds of existing coding methods and coding method of the present invention to transmit a certain amount of data, the time saving rate contrast situation of these three kinds of methods; Ijpeg among the figure, vpr, mcf, perl, compress95, parser are SPEC test benchmark program; λ is technological parameter, and λ=C
I/ C
L, C
IParasitic coupling capacitance in the expression bus between the adjacent interconnection line, C
LInterconnection line in the expression bus and the parasitic capacitance between substrate;
Time saving rate STP is defined as and transmits the not used time T of coded data
UncodedWith the used time T of data behind the transmission coding
CodedDifference account for and transmit the not percentage of used time of coded data:
By Fig. 6 A and Fig. 6 B as can be known, for different test benchmark programs, in λ=4 o'clock, " binary cycle space-time bus coding " time saving rate average out to 41.18%, " dynamically-and the upset coding " average out to 36.85%, the embodiment average out to 41.90% of coding method of the present invention; In λ=1 o'clock, " binary cycle space-time bus coding " time saving rate is reduced to 20%, " dynamically-and the upset coding " average out to 14.12%, the embodiment average out to 34.16% of coding method of the present invention.
By the comparing result of above time saving rate as can be known, to different technological parameter λ, the saving average time rate of coding method of the present invention is optimum in these three kinds of space-time codes, and namely data-transmission efficiency is optimum.
Emulation 2: the normalization power consumption that adopts the bus that has coding method and coding method of the present invention now is compared, its result as shown in Figure 7, wherein Fig. 7 A and Fig. 7 B provided respectively λ=and λ=1 two kind of technological parameter under, adopt " binary cycle space-time bus coding " and " dynamically-upset coding " these two kinds of existing coding methods and coding method of the present invention normalization power consumption on bus when a certain amount of data of transmission to contrast situation; Ijpeg among the figure, vpr, mcf, perl, compress95, parser are SPEC test benchmark program; λ is technological parameter, and λ=C
I/ C
L, C
IParasitic coupling capacitance in the expression bus between the adjacent interconnection line, C
LInterconnection line in the expression bus and the parasitic capacitance between substrate;
The power consumption calculation method of coding method among Fig. 7 when transmitting a certain amount of data is: at first can calculate data on the bus from B by formula (2)
tBe turned to B
T+1ENERGY E (the B that consumes
t, B
T+1), the ENERGY E that consumes during every line upset of formula (3) expression
i(B
t, B
T+1), then will transmit the ENERGY E (B that each data word bus upset consumes
t, B
T+1) adding up just to calculate the total power consumption that transmits a certain amount of data, the power consumption among Fig. 7 A and Fig. 7 B is to C
LV
Dd 2Carried out normalization; V wherein
DdBe supply voltage, B
t, B
T+1Be t and t+1 cycle to appear at the data word on the bus, B
t[i] is the i data lines of bus at the value in t cycle, δ
i=B
T+1[i]-B
i[i], N represent the width of bus.
Known that by Fig. 7 A and Fig. 7 B for different test benchmark programs, in λ=4 o'clock, the average power consumption of coding method of the present invention has reduced respectively 48.60% and 3.20% with respect to " binary cycle space-time bus coding " and " dynamically-upset coding "; In λ=1 o'clock, the average power consumption of coding method of the present invention has reduced respectively 41.04% and-7.84% with respect to " binary cycle space-time bus coding " and " dynamically-upset coding ".Hence one can see that, and for different technological parameter λ, the average power consumption of coding method of the present invention is less than the average power consumption of " binary cycle space-time bus coding ", but close to the average power consumption of " dynamically-upset coding ".
In addition, 32 bus data is encoded, the space encoding method that adopts " Optimal shielding/spacing metrics forlow power design " to relate to, bus need increase by 31 redundant lines; Adopt the space encoding method that proposes in " Busencoding to prevent crosstalk delay ", bus need increase by 21 redundant lines; And adopt space-time code method of the present invention, bus only to increase by 7 redundant lines; Therefore, the redundant line of space-time code method of the present invention obviously reduces, and this is conducive to reduce the area that bus takies in the chip.
Therefore, technical scheme provided by the invention can further improve the data-transmission efficiency of space-time bus coding method eliminating worst case cross talk and reducing under the prerequisite of the required redundant line of space encoding method, has simultaneously lower power consumption expense.
Above-described embodiment only is a preferred embodiment of the present invention, and the present invention is not limited only to the described implementation of above-described embodiment.