CN101345604B - Parallel implementing method for determinant block interleaving device - Google Patents

Parallel implementing method for determinant block interleaving device Download PDF

Info

Publication number
CN101345604B
CN101345604B CN200810117930XA CN200810117930A CN101345604B CN 101345604 B CN101345604 B CN 101345604B CN 200810117930X A CN200810117930X A CN 200810117930XA CN 200810117930 A CN200810117930 A CN 200810117930A CN 101345604 B CN101345604 B CN 101345604B
Authority
CN
China
Prior art keywords
indx
bit data
floor
write address
data
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.)
Expired - Fee Related
Application number
CN200810117930XA
Other languages
Chinese (zh)
Other versions
CN101345604A (en
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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN200810117930XA priority Critical patent/CN101345604B/en
Publication of CN101345604A publication Critical patent/CN101345604A/en
Application granted granted Critical
Publication of CN101345604B publication Critical patent/CN101345604B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

The invention relates to a parallel accomplishing method for row type grouped interweaver, belonging to communication field. Interweaving depth is d, breadth is n for row type grouped interweaver; random factor of n is selected as parallelism degree p, n=w*p, w is positive integer. First sequence exchanger exchanges inputted p bit data in order, then executes ROR, then writes p bit data gotten from sequential exchange and ROR in p double port RAMs (random access memory) according to p address created by writing address creator; after writing a frame of data, then parallel reading p bit data from p double port RAMs according to read address created by read address creator, then executes ROL to get interweaved data. The invention can agilely selects parallelism degree p to accomplish parallel row type grouped interweaver, so promotes data processing rate p times to satisfy needs of high speed data transmission.

Description

A kind of Parallel Implementation method of determinant block interleaved device
Technical field
The present invention relates to communication technical field, relate in particular to a kind of Parallel Implementation method of determinant block interleaved device.
Background technology
The determinant block interleaved is the simplest a kind of interleaving mode in the interleaver, and its basic principle is that the Bit data of importing is packed in d * n the matrix unit line by line, and is as shown in fig. 1; After having filled all matrix units, then by the content in the row sensor matrix unit, as shown in Figure 2.Wherein, d and n are two parameters of determinant block interleaved device, are called interleave depth and weaving width respectively.Say that from interleave function the function of determinant block interleaved device is output again again after the Bit data of input is upset in proper order, determinant block interleaved device is to be that the Bit data of d * n is the unit that interweaves with the frame length, and every frame data are carried out identical interlace operation.
The serial implementation method of determinant block interleaved device is comparatively simple.Use a capacity for (d * n) * 1 storage is write, read to dual port random access memory (RAM) the bit data of bit; The write address of dual port RAM is that 1 counter that adds of d * n produces by mould; After in dual port RAM, writing full d * n data; Then begin sense data from dual port RAM, the generation of reading the address of dual port RAM is by Cnt RAnd Cnt CTwo parts addition constitutes, Cnt RBe a mould be d * n add the n counter, work as Cnt RCalculated value be 0 o'clock by (d-1) * n redirect, Cnt CThen carrying out mould is 1 counting that adds of n, and the initial value of two counters all is 0.
Obviously, the data processing speed bottleneck of the determinant block interleaved device realized of serial approach is subject to the writing of dual port RAM, reading rate.In order to improve the data processing speed of determinant block interleaved device, can take the Parallel Implementation method.Denomination of invention is for having provided a kind of Parallel Implementation method of determinant block interleaved device among the US6476738 of granted patent of " Block interleave circuit ", it is mainly from avoiding the purpose of the comparatively loaded down with trivial details read-write control logic of dual port RAM to propose.With shift register d * n Bit data carried out the serial conversion earlier during realization; Then deposit the parallel data after the conversion, afterwards the dateout of this d * n register is upset to walk abreast in proper order depositing the data Output Shift Register in and walk abreast/serial conversion according to the desired data of function of determinant block interleaved device with d * n register.Though in patent of invention US6476738, the data of determinant block interleaved device output are serial modes, if remove the data Output Shift Register, this invention can regard that the degree of parallelism of determinant block interleaved device is the Parallel Implementation method of d * n as.
The shortcoming of foregoing invention is a d and the less situation of n value of only being suitable for, when d and n than greatly the time, the register resources that this invention need be a large amount of, thereby impracticable; The degree of parallelism of this invention is fixed in addition, can not change flexibly according to the actual requirements.
Summary of the invention
The present invention is directed to the Parallel Implementation of determinant block interleaved device,, proposed a kind of Parallel Implementation method of determinant block interleaved device for improving the data processing speed of determinant block interleaved device.
The present invention realizes through following technical scheme:
The interleave depth that makes determinant block interleaved device is d, and weaving width is n, and the number of a frame Bit data is d * n; Any factor of choosing n is as degree of parallelism p; N=w * p, wherein w is a positive integer, determinant block interleaved device be input as that data width is the p bit parallel data after serial conversion; Its output is also for data width is the p bit parallel data, and the data that a frame interweaves are that d * w data width is the p bit parallel data.Its step is following:
(1) with the order interchanger p Bit data of importing is carried out the order exchange.The order interchanger is a data passages of the p Bit data being carried out the bit-order exchange according to exchange sequence, and the exchange sequence of each p Bit data is all identical, given d; N; P value, exchange sequence just confirm that also its computational methods are: getting i is the integer on 0 to p-1; At first calculate index Indx value, wherein the relation between Indx and the i is following:
Indx=mod(i,n)×d+floor(i/n)
Wherein mod (i, n) expression i is divided exactly the remainder that n obtains, floor (i/n) expression i is divided exactly the merchant that n obtains, then, the Indx value according to calculating calculates the Shuf value, the Shuf value is for to be positioned at the integer on 0 to p-1, wherein the relation between Shuf and the Indx is following:
Shuf=mod(Indx+mod(floor(Indx/1cm(d,p)),gcd(d,p)),p)
Wherein 1cm (d, p) least common multiple of d and p is asked in expression, (d p) then representes to ask the greatest common divisor of d and p to gcd; (Indx/1cm (d, p)) expression Indx is divided exactly 1cm (d, the merchant who p) obtains, mod (floor (Indx/1cm (d to floor; P)), (Indx/1cm (d, p)) is divided exactly gcd (d to gcd (d, p)) expression floor; P) remainder that obtains, mod (Indx+mod (floor (Indx/1cm (d, p)), gcd (d; P)), p) then represent Indx and mod (floor (Indx/1cm (d, p)), gcd (d; P)) divide exactly the remainder that p obtains with value, get the i value and be followed successively by from 0 to p-1 integer, calculate successively and can get p Shuf value, the corresponding relation integer of the p from 0 to p-1 and p the Shuf value calculating is exchange sequence;
(2) will behind step (1) exchange sequence, obtain the data inputs cyclic shifter cyclic shift that moves to right that moves to right; The cyclic shifter that moves to right each p Bit data after to exchange sequence carries out to the right cyclic shift, and (a data high position is on a left side; Low level is on the right side), the computational methods of the number of times SR of displacement are following:
SR=floor(k/w)
Wherein k representes the sequence number of p Bit data in frame p bit parallel data, and value is from 0 to d * w-1 last integer, and floor (k/w) expression asks k to divide exactly the merchant that w obtains;
(3) p the write address that produces according to the write address generator, each bit of the p Bit data that will after step (2) move to right cyclic shift, obtain writes respectively in p the dual port RAM.The write address generator is used to produce distinguishes p corresponding write address when each p Bit data writes toward p dual port RAM; Its production method is: for the 1st p Bit data (sequence number k is 0); The content of from 0 address storaging unit of read-only memory (ROM), reading is p write address of the 1st p Bit data; The production method of the write address of (w-1) individual p Bit data that it is follow-up is that p write address of a back p Bit data added up by p write address of previous p Bit data and 1 obtain; For (w+1) individual p Bit data (sequence number k is w); The content of from 1 address storaging unit of ROM, reading is p the write address of (w+1) individual p Bit data; The production method of the write address of (w-1) individual p Bit data that it is follow-up is that p write address of a back p Bit data added up by p write address of previous p Bit data and 1 obtain, and the rest may be inferred, and (d * w) the pairing write address of individual p Bit data produces in this way and obtains.
The production method of the content of storing among the ROM is: for the 1st p Bit data (sequence number k is 0), getting i is the integer from 0 to p-1, at first, calculates p Indx value, then, calculates p initial write address Addr according to the Indx value WR' Addr wherein WRAnd the relation between the Indx is following:
4ddr wR=mod(floor(Indx/p),d)×w+floor(Indx/(d×p))
Wherein floor (Indx/p) expression Indx is divided exactly the merchant that p obtains; Mod (floor (Indx/p), d) expression asks foor (Indx/p) to divide exactly the remainder that d obtains, and floor (Indx/ (d * p)) representes that then Indx divides exactly the merchant that d * p obtains; Exchange sequence according to the p Bit data; Earlier order exchange is carried out in p initial write address, carry out the identical circulative shift operation that moves to right according to the operation of the cyclic shift that moves to right of the 1st p Bit data p initial write address after to the order exchange again, the p that an obtains write address carries out the binary bits data and links that (high position is on a left side in order; Low level is on the right side) deposit in the memory cell of 0 address indication of ROM; For (w+1) individual p Bit data (sequence number k is w), getting i is from (w * p) to the integer of (w+1) * p-1, calculate p Indx value earlier; Then, calculate p initial write address Addr according to the Indx value WR' according to the exchange sequence of p Bit data; Earlier the order exchange is carried out in p initial write address; Carry out the identical circulative shift operation that moves to right according to the operation of the cyclic shift that moves to right of w p Bit data p initial write address after to the order exchange again, the p that obtains write address binary bits data link in the memory cell of 1 address that deposits ROM in indicating, and the rest may be inferred; The content of d memory cell according to said method produces and obtains among the ROM, and the capacity of ROM is d * (p * m 1) bit, wherein,
Figure G200810117930XD0003180945QIETU
, wherein
Figure G200810117930XD0003181016QIETU
Represent to round up computing, promptly need m 1Individual bit is represented (d-1) * w value;
(4) step (3) accomplish frame data are all write p dual port RAM after, according to the address of reading of reading the address generator generation, parallel read-out p Bit data from p dual port RAM, p dual port RAM to read the address all identical, it produces by Cnt RAnd Cnt CTwo parts addition constitutes, Cnt RBe a mould be d * w add the w counter, work as Cnt RCalculated value is 0 o'clock by (d-1) * w redirect, Cnt CThen carrying out mould is 1 counting that adds of w, and the initial value of two counters all is 0;
(5) cyclic shifter that moves to left is carried out left cyclic shift to each p Bit data of being read by step (4) (a data high position is on a left side; Low level is on the right side); The p Bit data that obtains after the cyclic shift that moves to left is the output of determinant block interleaved device, and the computational methods of the number of times SL of cyclic shift are following left:
SL=mod(floor(j/(d/gcd(d,p))),gcd(d,p))
The sequence number of the j p Bit data representing from p dual port RAM, to read wherein, value are from 0 to d * w-1 last integer, and gcd (d, p) then the greatest common divisor of d and p is asked in expression; (j/ (d/gcd (d, p))) expression j is divided exactly the (merchant that d/gcd (d, p)) obtains to floor; Mod (floor (j/ (d/gcd (d, p))), gcd (d; P)) (j/ (d/gcd (d, p))) is divided exactly gcd (d, the remainder that p) obtains to expression floor.
Beneficial effect of the present invention
The present invention is through choosing the mode of degree of parallelism p neatly, and the PDR of determinant block interleaved device is improved p doubly, satisfied the application of high speed data transfer.
Description of drawings
Fig. 1 is the sketch map of writing of determinant block interleaved device;
Fig. 2 is the sketch map of reading of determinant block interleaved device;
Fig. 3 is the Parallel Implementation structure chart of determinant block interleaved device;
Fig. 4 is the structure chart of the write address generator among Fig. 3;
Fig. 5 is the structure chart of reading address generator among Fig. 3;
Fig. 6 for dual port RAM write fashionable, the sequential chart of the control signal that controller among Fig. 3 produces;
When Fig. 7 reads for dual port RAM, the sequential chart of the control signal that the controller among Fig. 3 produces;
Fig. 8 is the order exchange of one group of data according to an embodiment of the invention and the cyclic shift figure that moves to right;
Fig. 9 is the order exchange of another group of data according to an embodiment of the invention and the cyclic shift figure that moves to right;
Figure 10 has write in the storage in the dual port RAM of back for a frame interleaving data according to an embodiment of the invention
Hold sketch map.
Embodiment
The present invention proposes a kind of Parallel Implementation method of determinant block interleaved device.The interleave depth of determinant block interleaved device is d, and weaving width is n, and the number of a frame Bit data is d * n, and any factor of choosing n is as degree of parallelism p, and n=w * p, w are positive integer.
Converting every p the Bit data serial continuously of d * n Bit data to a data width is the p bit parallel data.Interleaving process need use p capacity to be the (dual port RAM (RAM of bit of d * w) * 1 0, RAM 1..., RAM P-1) storage is write, read to data.Each p Bit data is not to write RAM respectively according to the bit-order in the parallel data 0, RAM 1..., RAM P-1In, and after need this p Bit data being carried out the order exchange earlier,, according to write address each bit is write RAM respectively then again through cyclic shift 0, RAM 1..., RAM P-1In this p dual port RAM.
The Parallel Implementation structured flowchart of determinant block interleaved device as shown in Figure 3.
The function of order interchanger 3001 is that the p Bit data that determinant block interleaved device is imported is carried out the order exchange.For given d, n, the p value, exchange sequence confirms that its computational methods are: getting i is the integer on 0 to p-1, at first calculates index Indx value according to formula (1).
Indx=mod(i,n)×d+floor(i/n)(1)
Wherein mod (i, n) expression i is divided exactly the remainder that n obtains, floor (i/n) expression i is divided exactly the merchant that n obtains.
According to the Indx value that calculates, calculate the Shuf value according to formula (2), the Shuf value is for being positioned at the integer on 0 to p-1.
Shuf=mod(Indx+mod(floor(Indx/1cm(d,p)),gcd(d,p)),p)(2)
Wherein, 1cm (d, p) least common multiple of d and p is asked in expression, gcd (d, p) then the greatest common divisor of d and p is asked in expression, floor (Indx/1cm (d, p)) represent to ask Indx divide exactly 1cm (d, the merchant who p) obtains,
Mod (floor (Indx/1cm (d, p)), gcd (d, p)) expression floor (Indx/1cm (d; P)) divide exactly gcd (d, the remainder that p) obtains, mod (Indx+mod (floor (Indx/1cm (d, p)); Gcd (d, p)) p) then representes Indx and mod (floor (Indx/1cm (d; P)), gcd's (d, p)) divides exactly the remainder that p obtains with value.
Get the i value and be followed successively by from 0 to p-1 integer, calculate successively and can get p Shuf value, the corresponding relation integer of the p from 0 to p-1 and p the Shuf value calculating is exchange sequence.
Order interchanger among the present invention only is the cross over transition of data path, does not consume any circuit resource.
The function of the cyclic shifter that moves to right among Fig. 3 3002 is to accomplish the operation of cyclic shift to the right of each p Bit data.A data high position is on a left side, and low level is on the right side, by the CE of controller 3008 generations 2Signal indication be each p Bit data number of times SR of cyclic shift to the right, it can calculate according to formula (3).
SR=floor(k/w)(3)
Wherein k representes the sequence number of p Bit data in frame p bit parallel data, and value is from 0 to d * w-1 last integer, and floor (k/w) expression asks k to divide exactly the merchant that w obtains.
Among Fig. 3; Read-only memory (ROM) 3003 is d memory cell altogether, and its memory contents production method is following: for the 1st p Bit data (sequence number k is 0), getting i is the integer from 0 to p-1; At first; Calculate p Indx value according to formula (1), then, calculate p initial write address Addr by formula (4) according to the Indx value WR'
Addr wR=mod(floor(Indx/p),d)×w+floor(Indx/(d×p))(4)
Wherein floor (Indx/p) expression Indx is divided exactly the merchant that p obtains; Mod (floor (Indx/p), d) expression asks floor (Indx/p) to divide exactly the remainder that d obtains, and floor (Indx/ (d * p)) representes that then Indx divides exactly the merchant that d * p obtains; Exchange sequence according to the p Bit data; Earlier order exchange is carried out in p initial write address, carry out the identical circulative shift operation that moves to right according to the operation of the cyclic shift that moves to right of the 1st p Bit data p initial write address after to the order exchange again, the p that an obtains write address carries out the binary bits data and links that (high position is on a left side in order; Low level is on the right side) deposit in the memory cell of 0 address indication of ROM; For (w+1) individual p Bit data (sequence number k is w), getting i is from (w * p) to the integer of (w+1) * p-1, calculate p Indx value earlier; Then, calculate p initial write address Addr according to the Indx value WR' according to the exchange sequence of p Bit data; Earlier the order exchange is carried out in p initial write address; Carry out the identical circulative shift operation that moves to right according to the operation of the cyclic shift that moves to right of w p Bit data p initial write address after to the order exchange again, the p that an obtains write address carries out the binary bits data and links in the memory cell of 1 address that deposits ROM in indicating, and by parity of reasoning; The d that stores among a ROM write address produces in this way and obtains, and the amount of capacity of ROM is d * (p * m 1) bit, wherein,
Figure G200810117930XD0006181303QIETU
, wherein "] representes to round up computing, promptly needs m 1Individual bit is represented (d-1) * w value;
Among Fig. 3, ROM reads the every w of an address CA clock cycle from adding 1 (initial value is 0), and the p of a read-only memory bit wide is m 1The output of bit corresponds to respectively on p the write address generator 3004.
Write address generator 3004 is used to produce the write address of dual port RAM; Its production method is: for the 1st p Bit data (sequence number k is 0); The content of from 0 address storaging unit of ROM, reading is p write address of the 1st p Bit data; The production method of the write address of (w-1) individual p Bit data that it is follow-up is that p write address of a back p Bit data added up by p write address of previous p Bit data and 1 obtain; For (w+1) individual p Bit data (sequence number k is w); The content of from 1 address storaging unit of ROM, reading is p the write address of (w+1) individual p Bit data; The production method of the write address of (w-1) individual p Bit data that it is follow-up is that p write address of a back p Bit data added up by p write address of previous p Bit data and 1 obtain, and by parity of reasoning, and (d * w) the pairing write address of individual p Bit data produces in this way and obtains.
The detailed structure of write address generator 3004 as shown in Figure 4.Order
Figure G200810117930XD0006181327QIETU
, promptly need m 2Individual bit is represented the (value of d * w-1).CE 1When signal was effective, the data width of the content that will from read-only memory 3003, read was from m 1Expand to m 2(high-order benefit 0).CE 1During invalidating signal, write address adds up 1.
P write address of p write address generator 3004 outputs corresponds to respectively on p the write address port of p dual port RAM 3005, with each bit of p Bit data write p dual port RAM by in the indicated memory cell of p write address.
Read the address of reading that address generator 3006 is used to produce dual port RAM, p dual port RAM to read the address all identical, it produces by Cnt RAnd Cnt CTwo parts addition constitutes, Cnt RBe a mould be d * w add the w counter, work as Cnt RCalculated value is 0 o'clock by (d-1) * w redirect, Cnt CThen carrying out mould is 1 counting that adds of w, and the initial value of two counters all is 0.The detailed structure of reading address generator 3006 as shown in Figure 5.CE 3When signal is effective, Cnt RPut 0, Cnt CAdd 1 counting; Otherwise, Cnt RAdd the w counting, Cnt CIt is constant then to keep initial value.
Read individual the reading on the address port of p that the address has corresponded to p dual port RAM 3005 of address generator 3006 generations, be used for parallel read-out p Bit data.
Each p Bit data that 3007 pairs of the cyclic shifter that moves to left are read cyclic shift that moves to left, a data high position is on a left side, and low level is on the right side, and the p Bit data that obtains after the cyclic shift left is the output of determinant block interleaved device, the CE that is produced by controller 3008 4Signal indication be each p Bit data number of times SL of cyclic shift left, it can calculate according to formula (5).
SL=mod(floor(j/(d/gcd(d,p))),gcd(d,p))(5)
Controller 3008 is used to produce control signal CA, CE 1, CE 2, CE 3And CE 4
When in dual port RAM, writing data, need to produce control signal CA, CE 1And CE 2, its sequential chart as shown in Figure 6.After frame data all write p dual port RAM, just begin reading of data from p dual port RAM, during read data, need to produce control signal CE 3And CE 4, its sequential chart as shown in Figure 7.Only provided the sequential relationship in the preceding d clock cycle among Fig. 7, follow-up sequential relationship then is (w-1) the inferior repetition among Fig. 7.
Explain with instantiation below.
Instance:
If: interleave depth d=6, weaving width n=12, degree of parallelism p=4 is according to formula n=w * p, then w=3.
If 72 Bit datas of a frame are x 0, x 1..., x 71
Get i respectively and equal 0,1,2,3, calculate the Indx value by formula (1) and be respectively (0,6,12,18), calculate the Shuf value by formula (2) and be respectively (0,2,1,3).
For 4 Bit data (x 0, x 1, x 2, x 3), sequence number k equals 0, calculating the SR value by formula (3) is 0, therefore, through order exchange and to the right 4 Bit datas after the cyclic shift 0 time be (x 0, x 2, x 1, x 3), the order of this 4 Bit data exchanges and moves to right cyclic shift figure as shown in Figure 8.
For another example for 4 Bit data (x 36, x 37, x 38, x 39), sequence number k equals 9, calculating the SR value by formula (3) is 3, therefore, through order exchange and to the right 4 Bit datas after the cyclic shift 3 times be (x 38, x 37, x 39, x 36), the order of this 4 Bit data exchanges and moves to right cyclic shift figure as shown in Figure 9.
6 groups of initial write address Addr that calculate by formula (4) WRBe (0,3,9,12); (0,3,9,12); (0,6,9,15); (0,6,9,15); (3,6,12,15); (3,6,12,15).Through the order exchange and the cyclic shift that moves to right after, 6 groups of write addresses be (0,9,3,12); (12,0,9,3); (6,15,0,9); (9,6,15,0); (3,12,6,15); (15,3,12,6).
Every group of write address link deposited among the ROM that capacity is 6 * 16 bits, and since 0 address, the content of storage is followed successively by 0000100100111100; 1100000010010011; 0110111100001001; 1001011011110000; 0011110001101111; 1111001111000110.
In this instance, after a frame interleaving data has been write, 4 dual port RAM (RAM 0, RAM 1, RAM 2, RAM 3) middle content of storing as shown in Figure 10.
After one frame interleaving data has been write, need from 4 dual port RAMs, data to be read, and will read the 4 Bit datas cyclic shift that moves to left at every turn according to reading the address.
As read the 1st 4 Bit datas read the address for (0,0,0,0), the 1st 4 Bit datas of from 4 dual port RAMs, reading are (x 0, x 12, x 24, x 36), j=0, calculating the SL value by formula (5) is 0.This 4 Bit data needs through cyclic shift left 0 time, also is that the 1st 4 Bit datas of determinant block interleaved device output are (x 0, x 12, x 24, x 36).
The address of reading of reading the 5th 4 Bit datas for another example is (12,12,12,12), and the 5th 4 Bit datas of from 4 dual port RAMs, reading are (x 15, x 50, x 62, x 3), j=4, calculating the SL value by formula (6) is 1.This 4 Bit data after cyclic shift left 1 time determinant block interleaved device be output as (x 50, x 62, x 3, x 15).

Claims (1)

1. the Parallel Implementation method of a determinant block interleaved device, wherein, the interleave depth of determinant block interleaved device is d; Weaving width is n, and the number of a frame Bit data is d * n, it is characterized in that; Any factor of choosing n is as degree of parallelism p; N=w * p, wherein w is a positive integer, concrete steps comprise:
(1) with the order interchanger p Bit data of importing is carried out the order exchange, the order interchanger is a data passages of the p Bit data being carried out the bit-order exchange according to exchange sequence, and the exchange sequence of each p Bit data is all identical; Given d, n, p value; Exchange sequence is also just confirmed; Its computational methods are: getting i is the integer on 0 to p-1, at first calculates index Indx value, and wherein the relation between Indx and the i is following:
Indx=mod(i,n)×d+floor(i/n)
Wherein mod (i, n) expression i is divided exactly the remainder that n obtains, floor (i/n) expression i is divided exactly the merchant that n obtains, then, the Indx value according to calculating calculates the Shuf value, the Shuf value is for to be positioned at the integer on 0 to p-1, wherein the relation between Shuf and the Indx is following:
Shuf=mod(Indx+mod(floor(Indx/1cm(d,p)),gcd(d,p)),p)
Wherein 1cm (d, p) least common multiple of d and p is asked in expression, (d p) then representes to ask the greatest common divisor of d and p to gcd; (Indx/1cm (d, p)) expression Indx is divided exactly 1cm (d, the merchant who p) obtains, mod (floor (Indx/1cm (d to floor; P)), (Indx/1cm (d, p)) is divided exactly gcd (d to gcd (d, p)) expression floor; P) remainder that obtains, mod (Indx+mod (floor (Indx/1cm (d, p)), gcd (d; P)), p) then represent Indx and mod (floor (Indx/1cm (d, p)), gcd (d; P)) divide exactly the remainder that p obtains with value, get the i value and be followed successively by from 0 to p-1 integer, calculate successively and can get p Shuf value, the corresponding relation integer of the p from 0 to p-1 and p the Shuf value calculating is exchange sequence;
The data that (2) will behind step (1) exchange sequence, the obtain input cyclic shifter cyclic shift that moves to right that moves to right; The cyclic shifter that moves to right each p Bit data after to exchange sequence carries out cyclic shift to the right; A data high position is on a left side, and low level is on the right side, and the computational methods of the number of times SR of displacement are following:
SR=floor(k/w)
Wherein k representes the sequence number of p Bit data in frame p bit parallel data, and value is from 0 to d * w-1 last integer, and floor (k/w) expression asks k to divide exactly the merchant that w obtains;
(3) p the write address that produces according to the write address generator; To write respectively in p the dual port RAM through step (2) move to right each bit of the p Bit data that cyclic shift obtains; The write address generator is used to produce distinguishes p corresponding write address when each p Bit data writes toward p dual port RAM; Its production method is: for the 1st p Bit data; Sequence number k is 0, and the content of from 0 address storaging unit of read-only memory (ROM), reading is p write address of the 1st p Bit data, and the production method of the write address of (w-1) individual p Bit data that it is follow-up is that p write address of a back p Bit data added up by p write address of previous p Bit data and 1 obtain; For (w+1) individual p Bit data; Sequence number k is w, and the content of from 1 address storaging unit of ROM, reading is p the write address of (w+1) individual p Bit data, and the production method of the write address of (w-1) individual p Bit data that it is follow-up is that p write address of a back p Bit data added up by p write address of previous p Bit data and 1 obtain; The rest may be inferred, and (d * w) the pairing write address of individual p Bit data produces in this way and obtains;
The production method of the content of storing among the ROM is: for the 1st p Bit data, sequence number k is 0, and getting i is the integer from 0 to p-1, at first, calculates p Indx value, then, calculates p initial write address Addr according to the Indx value WR, Addr wherein WRAnd the relation between the Indx is following:
Addr wR=mod(floor(Indx/p),d)×w+floor(Indx/(d×p))
Wherein floor (Indx/p) expression Indx is divided exactly the merchant that p obtains, and mod (floor (Indx/p), d) expression asks floor (Indx/p) to divide exactly the remainder that d obtains; Floor (Indx/ (d * p)) representes that then Indx divides exactly the merchant that d * p obtains, and according to the exchange sequence of p Bit data, earlier order is carried out in p initial write address and exchanges; Carry out the identical circulative shift operation that moves to right according to the operation of the cyclic shift that moves to right of the 1st p Bit data p initial write address after to the order exchange again, the p that an obtains write address carries out the binary bits data and links, and a high position is on a left side in order; Low level is on the right side; Deposit in the memory cell of 0 address indication of ROM, for (w+1) individual p Bit data, sequence number k is w; Get i for from (w * p) is to the integer of (w+1) * p-1; Calculate p Indx value earlier, then, calculate p initial write address Addr according to the Indx value WRAccording to the exchange sequence of p Bit data, earlier order exchange is carried out in p initial write address, according to the operation of the cyclic shift that moves to right of w p Bit data the identical circulative shift operation that moves to right is carried out in p initial write address after exchanging in proper order again; The p that obtains write address binary bits data link in the memory cell of the 1 address indication that deposits ROM in; The rest may be inferred, and the content of d memory cell according to said method produces and obtains among the ROM, and the capacity of ROM is d * (p * m 1) bit, wherein,
Figure FSB00000378052400021
Wherein
Figure FSB00000378052400022
Represent to round up computing, promptly need m 1Individual bit is represented (d-1) * w value;
(4) step (3) accomplish frame data are all write p dual port RAM after, according to the address of reading of reading the address generator generation, parallel read-out p Bit data from p dual port RAM, p dual port RAM to read the address all identical, it produces by Cnt RAnd Cnt CTwo parts addition constitutes, Cnt RBe a mould be d * w add the w counter, work as Cnt RCalculated value is 0 o'clock by (d-1) * w redirect, Cnt CThen carrying out mould is 1 counting that adds of w, and the initial value of two counters all is 0;
(5) cyclic shifter that moves to left is carried out cyclic shift left to each p Bit data of being read by step (4); A data high position is on a left side; Low level is on the right side, and the p Bit data that obtains after the cyclic shift that moves to left is the output of determinant block interleaved device, and the computational methods of the number of times SL of cyclic shift are following left:
SL=mod(floor(j/(d/gcd(d,p))),gcd(d,p))
The sequence number of the j p Bit data representing from p dual port RAM, to read wherein, value are from 0 to d * w-1 last integer, and gcd (d, p) then the greatest common divisor of d and p is asked in expression; (j/ (d/gcd (d, p))) expression j is divided exactly the (merchant that d/gcd (d, p)) obtains to floor; Mod (floor (j/ (d/gcd (d, p))), gcd (d; P)) (j/ (d/gcd (d, p))) is divided exactly gcd (d, the remainder that p) obtains to expression floor.
CN200810117930XA 2008-08-15 2008-08-15 Parallel implementing method for determinant block interleaving device Expired - Fee Related CN101345604B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810117930XA CN101345604B (en) 2008-08-15 2008-08-15 Parallel implementing method for determinant block interleaving device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810117930XA CN101345604B (en) 2008-08-15 2008-08-15 Parallel implementing method for determinant block interleaving device

Publications (2)

Publication Number Publication Date
CN101345604A CN101345604A (en) 2009-01-14
CN101345604B true CN101345604B (en) 2012-03-21

Family

ID=40247504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810117930XA Expired - Fee Related CN101345604B (en) 2008-08-15 2008-08-15 Parallel implementing method for determinant block interleaving device

Country Status (1)

Country Link
CN (1) CN101345604B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158654B (en) * 2014-08-25 2018-01-16 中国石油大学(华东) A kind of key stream generating method and device based on interleaving technology
CN109891756B (en) * 2019-01-31 2023-03-28 香港应用科技研究院有限公司 Resettable segmented scalable shifter
CN111030780B (en) * 2019-12-16 2022-07-12 中国科学院国家空间科学中心 Configurable parallel bit grouping interleaver and interleaving method
CN111478750B (en) * 2020-03-12 2022-10-14 普联技术有限公司 Data parallel interleaving method, terminal equipment and computer storage medium
CN112328522B (en) * 2020-11-26 2023-05-26 北京润科通用技术有限公司 Data processing method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1361596A (en) * 2000-12-29 2002-07-31 深圳市中兴通讯股份有限公司 Method and device for interleaving and deinterleaving of parallel cascade convolution code
CN101116249A (en) * 2005-02-03 2008-01-30 松下电器产业株式会社 Parallel interleaver, parallel deinterleaver, and interleave method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1361596A (en) * 2000-12-29 2002-07-31 深圳市中兴通讯股份有限公司 Method and device for interleaving and deinterleaving of parallel cascade convolution code
CN101116249A (en) * 2005-02-03 2008-01-30 松下电器产业株式会社 Parallel interleaver, parallel deinterleaver, and interleave method

Also Published As

Publication number Publication date
CN101345604A (en) 2009-01-14

Similar Documents

Publication Publication Date Title
CN101345604B (en) Parallel implementing method for determinant block interleaving device
CN110390384A (en) A kind of configurable general convolutional neural networks accelerator
CN103078732B (en) A kind of dot product accelerating circuit of prime field elliptic curve cryptography
CN105528191B (en) Data accumulation apparatus and method, and digital signal processing device
CN107590085B (en) A kind of dynamic reconfigurable array data path and its control method with multi-level buffer
CN108171317A (en) A kind of data-reusing convolutional neural networks accelerator based on SOC
CN110427171A (en) Expansible fixed-point number matrix multiply-add operation deposits interior calculating structures and methods
CN105490776B (en) Deinterleaving method and interleaver
CN109872161A (en) A kind of chip and system accelerating IOTA subchain transaction verification process
CN102377437B (en) Method and device for coding quasi-cyclic low density parity check codes
CN101043284B (en) Interleaver of TURBO coder in WCDMA system
CN100504758C (en) Multiple-word multiplication-accumulation circuit and montgomery modular multiplication-accumulation circuit
CN107085562A (en) A kind of neural network processor and design method based on efficient multiplexing data flow
CN105335331A (en) SHA256 realizing method and system based on large-scale coarse-grain reconfigurable processor
CN103218348A (en) Method and system for processing fast Fourier transform
CN102508803A (en) Matrix transposition memory controller
CN109347486A (en) The 5G LDPC encoder of low complex degree high-throughput and coding method
CN105227259A (en) A kind of M sequence walks abreast production method and device
CN209708122U (en) A kind of computing unit, array, module, hardware system
CN114330656A (en) Convolution operation hardware accelerator and data processing method
CN101697491A (en) Method for realizing convolution interleaving and de-interleaving of time domain by using SDRAM
CN100527073C (en) High efficiency modular multiplication method and device
CN102184515B (en) Method for filling ladder diagram in FPGA (Field Programmable Gate Array)
CN100435091C (en) Hardware high-density realizing method for great number modules and power system
CN103023659B (en) ECC (elliptic curve cryptosystem) encryption hardware device with expandable parameter bit width

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120321

Termination date: 20120815