A PROCESSING REGISTER APPARATUS FOR USE IN DIGITAL SIGNAL PROCESSING SYSTEMS

Abstract: A digital signal processing apparatus adapted for use with high speed multipliers, which multipliers are known in the prior art. Digital signal processing, in general, is based upon multiplication, summing, subtraction and storing of digital data. Besides multiplication, these functions are performed in the prior art by a large number of integrated circuits resulting in cost, power consumption and reliability problems. The processing register of the present invention performs the remaining arithmetic operations of summing, subtraction, delay and storing of digital data while providing a plurality of different operating modes to accommodate a host different applications. In order to accommodate different modes, the processing register comprises a memory storage register (11) and a computation register (13) which are under the control of a control register (14), which register accepts a control word input having bits thereof indicative of a particular mode of operation.

Description: A PROCESSING REGISTER APPARATUS FOR USE IN DIGITAL SIGNAL PROCESSING SYSTEMS Background of Invention This invention relates to digital signal proces¬ sing apparatus in general, and more particularly, to a processing register for " se in digital signal processing systems. It has long been recognized that many future pro¬ ducts in the telecommunications field would operate based upon digital signal processing. By digitally processing data such as voice, video, radar, sonar and other signals, one" can achieve greater reliability and lower cost as dig¬ ital circuits are, in most cases, easier to integrate and produce than their analog counterparts. ' In general, digital signal processing is based, upon multiplication, summation, subtraction and storage of digital data and by performing these functions upon digital signals many useful devices can be implemented in a tele¬ communications system. The prior art is replete with a num¬ ber of patents and technical articles relating to digital signal processing techniques and systems employing such tech- niques. OMPI A powerful combination for performing digital signal ' processing is the combination of a high speed mul¬ tiplier operating in conjunction with a processing regis¬ ter. The function of the multiplier is to perform multi- plication and accumulation of data applied to its inputs. The multiplier may be a programmable device and may operate on digital data streams ' at the inputs to provide a sum of products. There are many examples of multipliers in the prior art. The processing register ' is a device which can perform the remaining arithmetic operations such as sum¬ mation, subtraction and delay. The prior art attempted to implement processing " register construction by the use of a large number of in— tegrated circuit chips as well as custom components which varied and changed according " to the applicatio - This lead to great difficulty in implementing digital processing systems in regard to cost, reliability and power consumption. "" To provide this utility and to be able to acco- modate these.functions, the processing register must be versatile and may provide a number of different operating modes to accomodate a host of diverse" applications. It should also be simple to operate and use. These criterion and others dictate that the structure and architecture of such a unit be amenable to providing a wide host of functions and that the unit might be capable of operation in various modes to enable the system designer to employ the register as desired. Particularly useful functions for the combina¬ tion of a processing- register and a multiplier is the utilization of these devices to implement digital filters and discrete Fourier transforms. With the processing reg¬ isters versatility discrete Fourier transforms. Finite Impulse- Response Filters (FIR filters) , or Infinite Impuls Response Filters (IIF filters) are examples of digital sig nal processing configurations which can be -implemented. This utility enables the digital system engineer 5 to implement various operations and devices such as digita hybrids, ' adaptive- equalizer systems, , echo cancellation sys tems, stand alone s-igna-ling systems, digital filters, spec trum analysis, correlation, speech analysis and a host of other ' functions.- 10 It is therefore an objec -of the present inven¬ tion to provide an improved processing register.-for use in digital signal processing which .is capable ' .of providing the ability to operate in a wide number of applications " for the selective processing of digital signals. IS " . 20 Description of the Preferred Embodiment A processing register apparatus for' use in digit 25 signal processing applications, said register capable of operating in a plurality of different modes ' , .domprising a main shift register means having a plurality of stages for receiving and storing therein a given number of ' bits mani- " -3F festing a plurality of digital data words each having a 30 . smaller number of bits of a given value, said register adavpted to receive at an input a digital data signal mani- ' festing said plurality of digital data words, and to provi - said words at an output, control register means coupled to sa main register means having a plurality of stages equal to 35 the number of bits in a data word ' and adapted to receive • a control word of said given value of bits, with predeter¬ mined- selected first ones of said bits indicative of any one of given number of modes of operation for said first register and with predetermined selected second ones of said, bits indicative of control signals for selecting any one stage of said main shift register manifesting a given delay from said input to output according to said selected stage, a second storage register having a plurality of stages for receiving and storing therein a different number of given bits than said main register, manifesting a smalle plurality of digital data words each of the same number of bits of said given value and overflow means coupled to said main and second registers to set said given value of bits indicative of any digital word stored to one binary logic value in either said main or second storage registers, mode selector means coupled to ' said control -register and respon¬ sive to said first ones of said bits to provide a plurality of control signals indicative of a separate mode of opera¬ tion for said processing register. Brief Description of'the Drawings FIGURE 1 is a block diagram of a processing reg- ister according to this invention employed in a shift reg¬ ister mode. FIGURE 2 is a timing diagram depicting waveforms utilized as external input signals to the processing reg¬ ister. FIGURES 3A to 3C are timing diagrams. depicting operation of the main shift register. FIGURES 4A to 4C are timing diagrams depicting operation of the independent storage register and word dela of the processing register. OMPI FIGURE PAIRS 5A, 5B and 5C, 5D are timing diagrams depicting operation of the sum and differenc register and multiplexer according to this invention. FIGURE 6 is a block diagram of a complex Biquadratic filter section employing a processing register according to this invention. FIGURE 7 is a block diagram showing a Biqua¬ dratic filter implemented using the processing register of this invention. FIGURE 8 is a block diagram depicting the processing register operating in an alternating word pair interchanger mode (AWPI) . FIGURE PAIRS 9A, 9B; 9C, 9D; 9E, 9F, 9G, 9H are timing diagrams depicting operation in the AWPI mode. FIGURE 10 is a block diagram of a complex Bi¬ quadratic filter operating in the AWPI mode. FIGURE 11 is a block diagram depicting the • processing register operating ' in a programmable delay shift register mode (PDSR) . FIGURE 12 is a timing diagram useful in ex- . plaining operation in the PDSR mode. FIGURE 13 is a block diagram of a Finite Impulse Response filter. FIGURE 14 is a block diagram of a Finite Impulse Response filter using the processing register of this invention. FIGURE 15 -is a block diagram depicting the processing register operating in a discrete fourier transform preprocessing mode (DFT) . FIGURE 16 is a block diagram of a discrete fourier transform implementation using the process¬ ing register of this invention. Basic Digital Signal Processing Configurations In. order to gain a closer understanding of the operation of a processing register some concepts of digital filter design will be given to clarify the environment in which the processing register can operate. The basic concepts of digital filter design and implementation involve the following three steps: 1. Establish the necessary input-output rela- tionship (Transfer Function) of a digital filter. H(Z) X(Z) and Y(Z) are , respectively , the Z-transforms of the input and out- put sequences . + c z l^ z . As an example , let H ( Z ) = ^ ~-τ- ' 1-C 4 Z "C 5 Z The C's- are the coefficients needed to give the desired input-output relationship for a second order (Biquadratic) filter. 2. Convert the input-output relationship to an 5 algorithm. The present, output of a digital filter is an algebraically weighted sum of past output values and the present and past input values. In the exampled above, Y(N) = C χ X(N) + C 2 X(N-1) + C 3 X(N-2) + C 4 (N-l) + C 5 Y(N-2) 3. Implement the algorithm in terms of digital ■ 10 hardware. Implementing the algorithm requires the follow¬ ing three basic components: i) Shift registers or delay elements (to store past output and past input values) . ii) Multipliers (to provide the necessary weight 15 ing factors to the sampled values) . iii) Adders (to add up the various quantities to give the present output values) . Any filter whose transfer function, H(z) as de¬ fined previously, has tζΞT 1 is called an infinite impulse 20 response (IIR) Digital Filter. ' A filter with N=0 is called a Finite Impulse Response (FIR) filter since the correspond ing impulse response is of finite duration. As will be explained the processing register (PR) of this invention is a solution to the problem of economic- 25 ally providing the hardware capable of being configured int the many necessary non-multiplicative components of differe digital signal processing systems. Its unique architecture allows it to integrate the necessary ancilliary hardware functions to allow and a suitable multiplier, to effi- 30 ciently implement many of the digital signal processing configurations. This versatility is embodied in the Pro¬ cessing Register's ability to provide a variety of differ¬ ent functions by simply programming it to perform the function desired and reconfiguring the interconnect. The PR has five basic modes and each of these modes ' will be described in detail. A PR may be programmed by any suitable source. If its programming code will be unchanged over time, the permanent programming code may be placed in Read Only Memory (ROM) . If changes are to be made in the code from time to time, .the present code may be placed in Random Access Memory (RAM) where some type of controller can update the RAM contents at the controller's discretion. Also, in the PR's most basic modes, the de- vice may be programmed by simply applying a logic level "1" to the control input, thereby allowing the device to assume a certain group of default internal control settings. In the detailed description to follow various examples of circuit operation will be given by referring to ' timing diagrams which show the digital signals applied and operated on by each of the components described. It is of course understood that such timing diagrams are given by way of example only and in order to gain a clearer unde standing of circuit operation. In a similar manner particu lar bit delays as well as word length in regard to the . number of bits contained in the control words or input digital words are given. It is of course understood that these are given as only by way of an example and that the bit length as well as the various delays can be modified accordingly. It will be understood that it is the archi¬ tecture of the processing register which is the main aspect of this invention. Detailed D ' escription of the Invention Ref rring to FIGURE 1 there is shown a block diagram of a processing register (PR) 10 according to this invention. In order to facilitate understanding of the following description, the register 10 is shown with designated inputs and outputs with the particu¬ lar input or output lead designated by the signal in¬ put or outpu . The processing register (PR) 10 as will be understood is provided in integrated circuit form and may employ CMOS or other suitable technology. In order to best understand the construction and operation of the PR 10 the mode operation capa¬ bility will be explained with reference to the block diagram of FIGURE 1 together with a series of timing . diagrams . The PR 10 is capable of operating in five ' basic modes, which are: 1. A shift register mode with multiple fixed delays (SR MODE) . 2. A shift register mode with multiple fixed delays and a time slot interchanger (TSI MODE) . 3. A shift register mode with an- alternat¬ ing word pair interchanger (AWPI MODE) . 4. A programmable delay shift register with 2 to 1099 bits of delay (PDSR MODE) . 5. A 14 point Discrete Fourier Transform processing mode in which two PR modules and a high speed multiplier module are combined to perform a con¬ tinuous complex 14 point Discrete Fourier Transform (DFT MODE). As will be explained in each of the above de¬ scribed modes of the PR 10 all data, computations, and O OMMFFII controls is synchronized with the clock and word sync (CK -S WS) shown as inputs to the PR 10 at the bottom. In the explanation of the logic operation and timing diagrams all changes of state occur on the rising edge of the clock and the active-low word sync defining the most significant bit (MSB) of each word; All operations are performed on words synchronized with word sync (WS) , and for present purposes 18 is the least number of bits upon which the PR 10 will perform an operation. Thus the various modules depicted can handle 18 bits for storage and computation. Referring to FIGURE 2 there is shown the rela¬ tionship, between the external signals supplied to the PR 10 such as the clock, word sync, control words (Cl " and CO) , input and output data, and the overflow input. FIGURE 2A shows the clock inout (CK) signal which is a repetitive pulse train generated by an astable multivibrator or digital clock circuit. There is shown in FIGURE 2A a presentation of .504 clock pulsesto define a complete data frame, which frame consists of 504 bits. In FIGURE 2B a word sync signal is depicted, the word sync (WS) signal provides a pulse with a rising edge during the 18, 36, 54 and 50 bit word. Techniques for generating the word sync signal from the clock signal (CK) are well known. As seen from FIGURE 2C each input data word as 0 to 27 consists of 18 bits with a least significant first bit (LSB) and a most significant last bit (MSB) as does ea output data word depicted in FIGURE 2D. FIGURE 2Ξ depicts the overflow signal which indicates an overflow condition by an active-low bit in the MS3 of the overflow input word (OF) . This condition causes the corresponding data to be cleared in the main and independent storage register, as " will be explained. In FIGURE 2F _ G , there are shown the formats for the control words as control word #0 (CO) and control word #1 (Cl) . Each control word consists of 18 bits from CB0-CB17. As seen from the timing diagrams of FIGURE 2 all signals are synchronized with the rising edge of the clock signal (CK) and are recognized as words with the MSB defined by the active-low bit --of the word sync (WS) depicted in FIGURE 2B. Referring back to FIGURE 1 there is shown a main storage register 11. The register 11 has a shift register input (SR) and an output bus 12 coupled to a computation register 13. The register 13 can direct delayed outputs fromregister 11 directly to the output leads Q3 (468 bit delay) , Q4 (504 bit delay) , Q5 (522 bit delay) and Q6 (540 bit delay) as'will be . explained during the shift register-mode (SR mode) indicated above. The main storage register 11 and the computation register 13 are capable of being controlled and directed by a control register 14. Register 14 has one output bus connected to register 11 and another connected to register 13. The control register 14 receives the input control word 0 (CO) which designates the type of control and hence the operation to- be performed by registers 11 and 13. An independent storage register 15 is also shown in the PR10. Register 15 as register 11 is a shift regis¬ ter having multiple taps. Register 15 receives an input signal designated as extender input (El) and has the over- flow input (OF) which is also applied to the main storage register 11. The outputs of the independent storage regis- ' ter 15 are Q8 (504 bit delay) and Q7 (468 bit delay). A.lso included within the PR 10 is a sum and difference register or adder/subtractor 17 having a differ- ence input (DF) and a SUM input (SM) with outputs designa- ted ' as Ql for providing the difference SM-DF and output Q0 for providing the SUM SM +DF. Each of the inputs to register 17 as DF & SM are 18 bit words as depicted in FIGURE 2C with the output as shown in FIGURE ' 2D. Located in the PR 10 is a 18 bit word delay regi ter 18 having an input designated as Word Delay Input (WD) and an output designated as Word Delay Output (Q2) . Also located on the PR 10 is a one of two serial multiplexer (MUX) 19 with two multiplex inputs (Ml & MO) and an output designated as 24ULTI LΞX Output (MX) . The multiplexer 19 is controlled to operate according to the . control word 1 input (Cl) of the format depicted in FIGURE 2G. As will be explained, to facilitate operation of the PR 10 in the ' above modes ; certain of the output and input leads are connected together according to the mode select Before proceeding with a detailed explanation of mode operation of the PR 10 a few comments will be made concerning the .structure and functions of the registers and modules shown in FIGURE 1. The main storage register 11 consists of 576 bit of " delay line. Essentially such registers are well known and can be fabricated by conventional MOS, CMOS or other technology. See for -example " a text entitled"MOS Integrate Circuits" edited by W. M. Pelid & L. Lau, (1972) by Van Nostrand Reinhold Company. The register 11 has multiple internal taps to enable designated bits as 514, 522, 504 and 468 to be directed as outputs. In the first four mode described above as SR, TSI, AWPI and PDSR the shift regis- ter input SR feeds data- directly into the storage register 11. Desired outputs are selected by the computation regis ter 13.. In the DFT mode all connections to the main stora register 11 are internal through the computation and contr registers 13 and 14 and in the mode the SR input is ignore - - The independent storage register 15 is a block of 504 bit ' s of serial delay with one tap at 468 bits of delay. Internal taps provide the proper data in the AWPI mode as will be explained. The sum and difference register 17 functions during all modes except the DFT mode and is shown as the ADD/SUB 17. This register takes two inputs and produces two outputs as described. Each computation in register 17 is done in two's complement binary arithmetic. Many : .. examples of adder and subtractor registers 17 are known in the art as well as techniques for implementing the same. See for example a text entitled "Arithmetic Operations in Digital Computers" by R. K. Richards (1955) D. Van Nostran Co., Inc., as well as many other texts and articles on such devices. The- inputs and outputs of the register 17 are shifted serially with the LSB first. There is a one-word (18 bit) delay ' in the register from input to output. The word sync (WS) defines the MSB of each input and output words (FIGURE 2) and no external indications of overflow are provided. The computation register 13 is a programmable selecting and computing register under control of the • control register 14 which receives program instructions from the input control word 0 (CO) . The register 13 is used in all modes of PR operation. In the DFT mode the circuitry of the ADD/SUB register 17 is also " used as will be explained. In the DFT mode the data input is the difference input (DF) which data is entered directly into the computation register 13 , The shift register (SR) , word delay (WD) and sum (SM) inputs are not used and are ignored during this mode. The computations and the data recirculations necessary for the DFT operation are also acco odated by • the computation register 13 in conjunction with the main storage register 11. As will be explained, the sum and difference register 17 is used in implementing these com¬ putations as well. The outputs Q0 through Q6 are each employed as DFT outputs when the PR 10 is operating in the DFT mode. The multiplexer register 19 (MUX) is a two line to one line multiplexercontrolled by the MSB of the control word 1 (Cl) . If the control bit of the control word which is the most significant bit (MSB) is low, -the MO input is selected during the next word. In similar manner if the control bit is high the Ml input is selected during the next. word. The multiplexer 19 will provide an 18 bit delay within the register except when operating in the PDSR mode. In this mode there is a programmable delay of 2 to 17 or 19 bits. Examples of multiplexers which are programmable are known in the art and many circuit imple¬ mentations can be employed to achieve multiplexer operatio The word delay register 18 is available for oper ation in all modes as above described except in the DFT mode. The word delay register 18 provides 18 bits of serial delay for each- input word. In the DFT mode the wor delay input (WD) is ignored. The control register 14. is a serial in, parallel out shift register with output latches or gates which operate to hold the parallel outputs valid for 18 clock cycles while another control word is shifted into th register. In the control register 14 one control word 0 (CO) is shifted into the control register during each 18 — block bits as synchronized by the word sync (WS) . The 18 bits are then shifted in parallel into the output latches which hold 'and store the bits for use during the next word The individual bits of the control word 0 (FIGURE 2F) are used during each word to control the operation of the main storage register 11, the computation register 13 and the -15- ' other circuitry necessary to define the mode of operation and ' to control the f nctions within each mode as will be explained. The overflow input (OF) may be in a low state during the most significant bit of a word and if the word sync (WS) input is low than .input ' data is zeroed in both the main register 11 and the independent storage register 15. As will be explained in all modes except the AWPI mode the data cleared in the presence of an overflow con- dition is the one word whose MS3 coincides with the over¬ flow. In the AWPI mode, the corresponding word pair is cleared. If an overflow was detected on the first compo¬ nent word than that word and the following word are clear An overflow on the second component word- clears that word and the preceding word. Thus the above description relat to the implementation, of the various modules depicted in FIGURE 1. It is understood that such modules can be imple mented by conventional digital circuit configurations whil the operation of each modules in the various modes as well ' as the timing of operation will give a clear understandin .of the exact nature and structure of the individual units. ' THE SHIFT REGISTER MODE ( ' SR MODE) In general, the type of non-multiplicative logic required for digital signal processing consists mainly of storage or delay elements. This is true whether the filte is of.the Finite Impulse Response (FIR) or the Infinite Im pulse Response (IIR) type. In addition to this, an additi and/or substraction capability is sometimes desirable. To this end, the Processing Register provides the following . functions: 1. A main serial shift register with multiple fixed taps. __OMPI -16- 2. An independent shift register with multiple fixed taps. 3. A sum and difference register. 4. A one of- two serial multiplexer. 5. A word delay register. A block diagram of the processing register in this mode is shown " in FIGURE 1. The position of the multiple fixed taps of the shift registers and the delays through the word delay, multiplexer, and the sum and difference register may be chosen to fulfill a host of systems requirements. An example of a typical filter arrangement could be for a Biquadratic filter. The ' filter transfer character • istic may be expressed as: ' (A, + jB,) + A~Z _1 + (A,-jB, ) Z ~2 H(Z-) = — - l-(A 4 +jB 4 ) Z _1 - ( 5 +-jB 5 ) Z~ 2 In this mode the shift registers 11 and 15 consti tute the major functions of the SR mode. The main register 1 operates with the SR input and outputs at Q3 (468 bit delay Q.4 (504 bit delay) , Q5 (540 bit delay) . The independent storage register 15 has the extender input (El) with a 408 bit delay at Q7 and 504 bit delay at.Q8. These two regis¬ ters 11 and 15 operate independently except for sharing co on overflow logic. Referring to FIGURE 3A there is shown a timing diagram depicting operation of the main shift register- 11. Shown in FIGURE 3A is 54 clock cycles which represent three input data. ords. The word sync or WS input is shown beneath the clock waveform. The SR input to the shift reg¬ ister 11 consists of three words each of 18 bits and desig¬ nated as 0-2. The overflow input OF is shown beneath the SR signal. If a logic 1 condition exists in the OF signal -gJREAT - during the most significant-bit MSB ofadata word, there.-is no effect on the word as stored in the ' shift register. In any event, if there is a logic 0 on the OF at the MS3 time data in that word is set to a all 0 condition. This is shown in FIGURE 3A for the input SR datay word.1 'during the 35th clock period where -the OF signal is at a logic 0. Therefore during this time the input SR data;- word 1 will be set_ to a all 0 condition as shown in FIGURE 3A. Referring to FIGURE 3B there is shown the clock waveform which occurs from the 468 clock pulse to the 521 clock pulse. The word sync signal is as shown in FIGURE 3A and occurs for -every 18 clock pulses1 ' Also shown is the SR input to the main shift register 11. The data during the clock period shown in FIGURE 3B corresponds to input SR data words 26 to 28. The overflow signal OF shows no over flow condition since the pulse as present at the.MSB -of eac data word is- . at logic 1. - The output during the SR mode at Q3 corresponds to data word 0-securing with an 468 bit delay, data word ^ with the same delay and data word 2. The output at the Q4 output / _whiqh_ .. is a 504 bit delay / showsdata word 0 now appearing between clock pulses 504 to 521. Shown i FIGURE 3B and associated with SR data word 1 is a triangle with the No. 1 inside. This indicates that the data in " word 1 was set to a logic 0 condition by the overflow pulse which occurred in clock period 35 as shown in " FIGURE 3A. Referring to FIGURE 3C there is shown-.the clock waveform depicting clock pulses 522 to 575. The words sync signal (WS) is at all zeroes during the MSB of each input data word which now are words 29 to 31." The OF sig¬ nal is at all ones during the MSB indicating no overflow. The outputs Q3, Q , Q5 and Q6 as shown in FIGURE 1 are indicated in FIGURE 3C -showing how the input SR words are inputed from the main storage register 11 each having the requisite delay of 468, 504 and 522. Referring now to FIGURE 4A there is shown - timing diagram ' sdepicting operation of the independent storage register-15 and the word delay associated ' with that register's operation. Again in FIGURE 4, the clock is shown as clock pulses 0-53 corresponding to the sequenc shown in FIGURE 3A. The word sync signal is of course the same. The input signal which is the extender input (ΞI) is shown as the input to the storage register 15 and again consists of input data words 0-2. The OF signal again corresponds to the OF signal shown in FIGURE 3A and upon receipt of a logic 0 during the 35th clock pulse the input ΞI data word 1 will also be changed to all zeroes. Also shown in FIGURE 4A is the WD input or the word delay input as applied to the word delay generator 18. Again each in¬ put word is designated as WD data word 0 to WD data word 2 in FIGURE ' 4A. The output of the word delay generator 18 a Q2 delays each input O data word by 18 bits as shown in FIGURE 4A. Referring to FIGURE 4B there is shown the timing diagram of the independent storage register 15 and the wor delay generator 18 during clock pulses 432 to 485. As one can see during this period the El data word 0 is outputed' at Q7 which corresponds to a 468 bit delay. ' . The output Q2 of the word delay register 18 is also shown wherein each word is delayed by 18 bits. Referring to FIGURE 4C there is shown the output of the storage register 15 and the word delay register 18 - during -the clock pulses 486 to 539. Hence as seen" in FIGURE 4C the storage register 15 now outputs ΞI data word 0 and El .data word 1 at Q8 which is a 504 bit delay. The output of Q7 at this time are El data words 1, 2 and 3 as shown in FIGURE 4C. Thus in conjunction with the timing d grams depicted in FIGURES 3 and 4 , one can immediately ascertain the operation of the main storage register 11 and the independent storage register 15 From the timing diagrams,'-.-one will immediately understand how the ' register are constructed in regard to the utilization of the clock, word sync and overflow, signals to cause operation as depict in the timing diagrams. Thus as shown in FIGURES 3 and 4. when an overflow condition is indicated by a'.-.logic 0. in th MSB -of OF the .corresponding data words, as- SR and ΞI are zeroed in both the main shift register 11 and the independ shift register 15. This delay aspect is extremely .useful digital processing and as one can see affords delay of an entire frame of " data as a 504 bit delay as well as word multiples of a frame such as a 468 bit delay which is the frame less 2 words, a 522 bit delay which is the frame ÷ 1 word and a 540 bit delay which is the frame + 2 words. Another function -available in the SR mode is the sum and difference register 17 operation. In the sum and difference register 17 inputs sum (SM) and difference (DF) are combined using two's complement arithmetic to give a sum output .Q0 (SM + DF) and a difference output Ql which • is (SM - DF) . The data is added or subtracted serially in 18 bit words. Any overflow generated in either operation is cleared without external indication. The input and out put data is synchronized by word sync (WS) and there is a 18 bit delay from the inputs to the outputs. In this mode the multiplexer 19 (MUX) may also receive the multiplexer inputs Ml and M0 and the multiplex can perform the fourth function of PR 10 in the SR mode. The output MX is controlled by the MSB of control word 1 (Cl) which control bit selects the inputs from either 2-10 or Ml. For example, if the control bit is low, M0 is sele OMPI ° _ ted during the next word. If the control bit is high Ml is selected. In the multiplexer there is a delay register • " • ' which provides an 18 bit delay from the inputs Ml and MO to the output MX. Referring to FIGURE 5 there is shown timing dia¬ gramsdepicting operation of the sum and difference register 17 and of the multiplexer 19. Again the clock signal is. • shown from bits 0 to 53 followed by theword sync signal (FIG. 5 The SM signal is the input signal to the adder/subtractor or the sum and difference register 17 and again consists of 18 bit data words designated as SM data word 0 to SM data word 2. The DF signal is the input to register 17 and con¬ sists of 18 bit data words designated as DF data word 0 to DF data word 2. The output signal at output Q0 is shown. Essentially, the first output occurs at the 18 clock pulse and consists of the sum of SM data word .0 and DF data word. 0. The outputQl consists of the difference of SM data word 0 and DF data word 0 also delayed by 18 bits. The sum and differences are provided by register 17 at outputs Q0 and Ql for each successive word. It is noted that the input CO to control register 14 is at a logic 1 which condition caus the processor to operate in the SR mode. This operation is shown in FIGURES 3 and 4 as well wherein the CO input to control register 14 is held at logic 1 during SR mode oper- ation. Also shown in FIGURE 5 is the input MO to the multiplexer 19 and the input Ml to multiplexer 19. Each input data word has a M0 and Ml data word also consisting of 18 bits. Shown in FIGURE 5Bis the control word input (Cl) to the multiplexer 19. A logic 0 on Cl at the 2-1SB time of an input data word multiplexes the data word at the M0 in¬ put during the next word time to the output MX as shown in FIGURE 5B". A logic 1 during the MSB time multiplexes the data word at the Ml input during the next word time to the output multiplex. Thus as shown in FIGURE 5, there is a logic 1 occurring during the eighteenth clock pulse. This logic 1 causes MO data word 0 to be pro- vided at the output of the multiplexer 19 with an 18 bit delay. Thus as shown in FIGURES 5A and 5B, the MO data word 1 appears at the output of the multiplexer (MX) during clock pulses 36 to 53. Thus, as can be seen dur¬ ing the SR mode jof the PR 10 , operation occurs as indi- cated in FIGURES 3 to 5 and is determined by the con¬ trol word 0 being at logic 1. The above described SR mode is a relatively conventional mode but has been described in detail in conjunction with the block diagram of FIGURE 1 to gain an understanding of operation. It can thus be seen that the control word 0 as applied to the control register 14 and as shown in the timing diagram of FIGURE 2 can program the control register 14 which in turn will control the various modules as registers 11, 13 and so on according to the operating require¬ ments of the particular mode the PR 10 is operating in. In a similar manner the control word 1 (Cl) as applied to the multiplexer 19 also serves to program the PR 10 as will be described subsequently. Referring to FIGURE 6 there is shown a complex Biquadratic filter section. The filter configuration as shown in FIGURE 6 is well-known and can be implemented by the above described processing register for an input sig¬ nal where both the data and coefficients are complex. As can be seen in regard to FIGURE 6 the delays as 80 and 81 may be supplied by the appropriate taps on the main storage register while the difference function indicated by module 82 is supplied by the adder and subtractor 17 of FIGURE 1. In a similar manner, the independent storage reg ister 15 can provide the delays depicted by modules 83 and .'84 or'may'be furnished by an independent processing reg¬ ister module as shown_ in FIGURE 1. The multipliers depic¬ ted as 90 and.91 are summing multipliers, many examples of - • which are known in the art. It is thus seen from FIGURE 6 that a complex Biquadratic digital filter can easily be im¬ plemented by combinations of the above described processing register operating In the shift register or SR mode. Referring to FIGURE 7, there is shown four pro-, cessing registers 70 to 73 arranged with two multipliers 74 and 75 to provide a biquadratic filter section. As seen from FIGRUΞ 7.,. the processing registers 70 and 71 have the SM and SR inputs connected together. In this manner ' the main storage register receives SR data which is also directed ' .to the SM input of the adder/subtractόr register 17. ' As can also be -seen-, • the Q8 and DF inputs are also tied together as are the Q4 and ΞI inputs. 'Thus the input signal to the independent storage register 15 is the Q4 signal from the main storage register 11. This signal " is delayed at Q8 by 504 bits and is the input to the -adder/ subtractor register 17 at DF. The input Q5 is applied -to the XO input of the multiplier 75 from PR71 and output Q5 is also applied to the XO output of multiplier 74 from PR 70. In a similar manner, the Q0 outputs -are applied to the XI input of the associated multiplier while, the Ql output • of PR 71 is applied to the S2 output of " multiplier 74 with the Ql output of PR70 applied to the X2 input of multiplier 75. • High speed multipliers such as 74 and 75 . are known in the art and operate to multiply input signals at inputs according to a program sequence. The output processing registers receive the product PS signals from the multipliers including the overflow signal OF which is - TjREXTj* OMPI applied via a gate 76 to the overflow input of the output processing registers 72 and 73. In the output registers Q4 is connected to El and SM is connected to SR with the outputs taken at QO. The implementation of a biquadratic filter section using the processors is extremely simple and many biquadratic implementations can be ' afforded using the processing reg¬ ister 10. The control word at the CO input is coupled to control modules 78 and 79 which provide the proper input control words to register 14 for Biquadratic operation. THE SHIFT REGI ' STER MODE WITH TIME SLOT INTERCHANGER ' ' (TSI MODE) In the DSP domain, there often arises the need ' fo reordering a stream of samples. This may come about due to the need to change channel assignments, to reorder data to facilitate or simplify the next state of processing (such as in some implementations of a Discrete Fourier Transform) , or for various other reasons. The need, therefore, is to be able to take a group of ' samples and continuously input, store reorder and output them. This reordering must be controlled, therefore, the reordering should be a pro¬ grammable function capable of being changed at a rate of once per sample." This provides the non-restrictive access to the data that is necessary for a completely random re- ordering of a sample stream. Once again the control of the ordering may be executed by any suitable medium, whether by ROM or RAM .or some other type of appropriate controller. The Processing Register in this application, operates in much the same way as in the shift register mode. This allows the parts of the Processing Register not used specifically for the TSI function to be shared with some other activity. The exception is one output that in the SR mode was a fixed tap. In the TSI mode, this tap, under programmable control, is attached to one of a number of in¬ ternal points along the main shift register. The time slot interchanger (TSI mode) mode provid a selectable serial delay from the shift register input SR to the output Q6. In this mode any delay can be chosen between 18 and 522 bits in incrementsof 36 bits. According ly the unit can provide a selectable delay output delayed by a factor of 18, 54, 90, 126.-and so on. In this mode the control bits CB4 to CB12 in control " wardI(CO).0 select internal gates which are in the computation register 13 to connect the output Q6 to any one of the fifteen points in the main shift register to thereby access a 18 to 522 delay. A 540 bit delay is also available at Q6 when bits CB4 to CB12 are set to a logic 1 as in the SR mode. This feature..is extrem useful and one can delay data entering the SR input by the above indicated delays and continuously or periodically change the delay by changing the control word 0 as applied to the control register. In the TSI mode the independent storage register 15, the word delay register 18, the adder/subtractor regis- ter 17 and the multiplexer 19 function exactly as described above in the SR mode. In this mode the main storage regis¬ ter taps at Q3 (468 bit delay) , Q4 (504 bit delay) and Q5 (522 bit delay) are still available as in the SR mode. The configuration of the -PR in the TSI mode is the same as in the SR mode and as shown in FIGURE 1. The following table gives the control.word inputs for the CO necessary for selection at the Q6 output of shif register 11 of each possible output delay point. In the table control bits in CO other than CB4 to C12 are set to a logic 1. X in the table-indicates a "DON'T" care value while all other bits in control word 0 are set to logic 1: TABLE 1. TSI CONTROL WORDS CONTROL WORD 0, BITS C4-C12 DELAY FROM SR TO Q6 C4 C5 C6 C7 C8 C9 CIO Cll C12 18 0 1 1 X X X X X X 54 0 1 0 X X X X 1 1 90 0 1 0 X X X X 0 1 126 0 1 0 X X X X 1 0 162 0 1 0 X X X X 0 0 198 1 0 0 X X 1 1 X X 234 1 0 0 X X 0 1 X X 270 1 0 0 X X 1 0 X X 306 1 0 0 X X 0 0 X X 342 0 0 0 1 1 X X X X 378 0 0 0 • 0 1 X X X X 414 0 0 0 1 0 X ' X X X 450 0 0 0 0 0 X X X X 486 1 0 1 X X X X X X 522 0 0 1 X X X X X X 540 ' 1 1 1 X X X X X ' X From the above indicated table one can under¬ stand the operation and selection of a delay as well as the necessary circuitry for implementing the delay. For example, the control register 14 may comprise a series of cascaded flip flops or multi-vibrators arranged as a shift register. Such circuitry arrangements are well- known in the art and many examples of registers exist as indicated in the above referenced text. The control register 14 is associated with a series of decoding gates to decode the bit values of the control word. Each gate is therefore able to decode the delay request according to bits C4 to C12 as shown in table- 1. This OMPI ,. IIPPOO therefore determineswhich stage or tap of the main storage is to be accessed and that tap is applied to output Q6 during the TSI mode. An overflow indication in the TSI mode is imple¬ mented exactly the same as in the SR mode which as explaine zeroes the corresponding data words in the main and indepen dent registers 11 and 15. The operation is shown in FIGURE 3 and 4 and occurs whenever OF is a logic 0 during the MSB of an input data word. SHIFT REGISTΞR WITH ALTΞRNATING WORD PAIR INTΞRCHANGΞR (AWP MODE) In the construction of complex digital filters (where complex is defined as samples and/or coefficients consisting of a real part and an imaginary -part, thus re¬ turning two words- to represent one sample) , it is often desirable to handle data as word pairs. The computation of a complex filter requires that these word pairs be used at one multiplier dat ' input pair, then switched and one sample complimented and again applied to the same input pai This allows the correct computation of alternately the real and then the imaginary part of the data sample (though not necessarily in that order) . A Processing Register programmed to execute in this mode provides the same storage and summation capabil¬ ities as in the shift. register mode with the exception that the one of two multiplex is not available. The dif¬ ference is that the outputs that must provide the switched and complimented data are changed from their fixed tap position and programmably directed to output the proper word of the sample pair with its correct sign. The Pro- cessing Register also has facilities to handle overflowed data on a word pair basis, setting both components of the word pair to zero if an overflow- occurs, regardless of which component caused it. A block diagram of the Proces¬ sing Register in this mode is shown in FIGURE &. An example of a typical filter arrangement using the Processing Register in this mode .could be Biquadratic filter. The filter transfer characteristic may be expresse as: (A-+jB,)+A-Z~ 1 +'(A,-jB,)z "2 H(Z) = 1-(A 4 +JB 4 )Z~ 1 -(A 5 +JB 5 )Z "2 As one can ascertain from the above during the.SR and TSI modes the configuration of the processing register is the same with the exception that the outputs of the registers vary according to the mode. Referring to FIGURE 8 there is shown a block diagram of the PR10 when operating in the AWPI mode. It • is understood that the structure of the PR 10 is the same as ' shown in FIGURE 1 but additional connections are shown which were not depicted in FIGURE 1 for the sake of clarity. It will be noted that in FIGURE 8 the input and output - signals are the same as well as each module and therefore identical reference numerals ' have been retained to designat the equivalent modules. In the AWPI mode the PR chip accepts a serial stream of data word pairs. For example, a word pair may consists of a real word followed by an imaginery word to form a complex sample. The formation of a complex sample or a complex number is extremely useful in digital process sing systems Essentially, by allowing the PR to perform functions on a real word and "an imaginery word, one can then employ the processing register as PR 10 and a multip¬ lier to ' implement complex digital filter arrangements. In this mode the main shift register 11 operates and function essentially in the same manner as above described for the SR and TSI modes. In this arrangement the input SR feeds serial data into the main shift register 11 with output Q6 allowing selectable delays based on the control bits indi¬ cated in Table 1 and according to the above description of the TSI mode. In this mode taps Q3 and Q4 as selected by the computation register 13 yield 468 and 504 bits of delay as in the SR and TSI modes. The independent storage register 15 with its input El has both taps Q7 and Q8 functioning as above described. As can be seen from FIGURE 8 there is still an 18 word bit delay from WD to Q2 via the word delay registe 18. In this mode Q0 which is the output from register 17 - is still available and.provides the same output from input SM and DF delayed by 18 bits as above described. However, in this mode the multiplexer 19 is dis¬ connected from the control word input and inputs MO, MI. This is accomplished by gates located in the control regis ter 14 which are activated as will be explained during the AWPI mode and operate to disable the above inputs. In thi mode the multiplexer, provides an output at MX which is the difference output SM - DF and is available in two differen forms which are based on the state of the control bit CB13 of control word 0. CB 13 in a low condition selects the complement of SM - DF delayed by 18 bits from inputs SF an DF. CB 13 in a high state selects the difference SM - DF delayed by 54 bits. Thus as shown in FIGURE 6 the output SM - DM from register 17 -is now directed to a complement circuit 20 and to a 36 bit delay register 21. Both circui are known in the art and are incorporated in the multiplex 19 or at' the output of the register 17. In this manner wh the AWPI mode is selected suitable σates implement the con nection shown in FIGURE 8. The output of Q5 is also selected based on the condition of control bit CB13. CB13 when indicating a logic 0 provides a 450 bit ' delay from input SR of the main register 11 to output Q5. If CB13 is at a logic 1, the complement of SR is selected and applied to Q5 after 468 bits of delay. In a similar manner Ql provides the same taps from the inde¬ pendent register 15 as selected by CB13. This is shown in FIGURE 6 in the AWP mode the independent register 15 is coupled to the computation register 13. If CB 13 is low this results in a 450 bit delay from El to Q5. If CB13 - is high then Q5 provides 468 bit delay complement. When an overflow condition is indicated by a logic 0 in the MSB of input OTT, the corresponding word pair is cleared in the main and independent storage registers 11 and 15. If an overflow is detected on the. first component of the word pair (CB13 = 0) then that word and the following word are cleared. An overflow of the second component word (CB13 = 1) clears the indicated word and the preceding word. In order to program the PR chip 10 for the AWP mode, control bit CB0 is set to logic 0 and control bits CB14 and CB17 are set to logic 1. This is accomplished by control word 0. CB13 then selects the functions as described above. For delays at Q6, CB4 to CB12 can be set as described above in the TSI mode while all other bits are set to logic 1. Referring to FIGURE 9A to 9H there is shown the timing diagrams for AWPI operation. In FIGURE 9A clock bits 0 to 53 are depicted. FIGURE PAIR 9A and 9B shows control word input indicating the operation of CB13 as modifying the El and SR inputs as described above. FIGURE PAIR 9C and 9D shows the clock operation from bits 54 to 107 again showing the operation of the control bits as explained above. FIGURE PAIR 9E and 9F shows bits 468 to 521 depicting the circuit operation as described OMPI /,. WIPO < -30- above. FIGURE PAIR 9G and 9H shows clock bits 522 to 575 again depicting the entire operation in the AWPI mode. It is again indicated that based on the timing diagrams of 9 to 9H the entire operation of the struc- ture in FIGURE 8 is readily understood since the opera¬ tion is dependent upon conventional digital circuitry operating in complete synchronism as controlled by the clock and word sync signals depicted and shown through¬ out the timing diagram format. Referring to FIGURE 10 there is shown a com¬ plex Biquadratic filter using the AWPI mode as described above. Numeral 100 and 101 referred to the PR 10 operating in this mode and having the structure shown in FIGURE 8. As can be seen the filter employs a con- ventional multiplier 102 and a control circuit 103 which operates to provide the processing registers 100 and 101 with the proper control words at the CO input. In the circuit shown in FIGURE 10 one may em¬ ploy an 18 bit word for each data word. This makes the sample 36 bits because each sample consists of two data words. The con iguration depicted in FIGURE 10 is ex¬ tremely simple to implement with the above described processing register. PROGRAMMABLE DELAY SHIFT ' REGISTER MODE (PDSR MODE) . As previously discussed, most digital signal processing elements are made up of multiplicative, storage and summation elements. Since sample accuracy (the number of bits used to represent a sample) and the number of channels time sharing the same digital filter are likely to vary from application to appli¬ cation, the requirements for the size of the storage elements will be dependent on the system that it is used in. Therefore, to satisfy the most general case of the filter storage requirements, it is desirable to be able to change the delay from the input to the output of the storage element device and preferably to be capable of changing it under programmable control. The Processing Register- -in this mode operates - in the same fashion as the Alternating Word Pair Mode with the exception that the delay of the one of two multiplex can be programmably varied from 2 bits of • delay to M+l bits of delay_ (where M is the wόrdlength) . -The Processing Register has the capability to combine its programmable one of N word TSI register (where N is the number of TSI accessible -taps on the • main shift register) with a programmable one of M bit ' 'variable delay multiplexor (where- M is the number of bits • in a word) to form a long programmable, variable length - storage register. These variable delays also can be com— bined with the fixed delays of the independent storage register, the word delay register and the a ' dder/subtractor to extend the length of the absolute delay. The PDSR mode allows the PR chip 10 to function as- a block of serial delay giving a delay of 2 to 1099 bits. Referring to FIGURE 11,there is shown a block diagram implementation for -this mode. • Again all referenc numerals have been retained to designate the correspondin registers. In the PDSR mode the main and independent sto registers 11 and 15, the word delay from WD to Q2 and the sum output of Q0 perform as in the AWPI mode as described ' above. - δRE TT" OMPI Output Q6 can be selected to yield delays of 540 bits or 18 to 522 bits in 36 bit increments. Thus in FIGURE 8 with input DF set to 0, 18 bits of delay is avail¬ able from SM to Q0. The combination of the 18 bit delays and the main and independent storage registers which are connected serially _ can., yield -any delay from 18 to 1080 bit in 18 bit increments. The 1 to 2 multiplexer 19 functions in the PDSR mode but has a selectable internal delay rather than the fixed 18 bit delay described in the other modes. In control word 0 (CB1, CB2, CB3, CB13, CB15 and CB16) control the selection of 2 to 19 bits of delay between the multiplexer inputs MO or Ml and the output MX. The control word Cl controls the selection or inputs of MO or Ml as described above. For a delay.line Cl is set to ' a logic 0 and MO- is used as the in put to the register 19. " Referring to Table 2, there is shown programmable delay control words which are necessary for each delay. I the PDSR mode CBO = 0, C14 = 0 and C17 = 1. The other bit ' specify-- ' delays-in:2--X-rand.- : i Q6. The bits C4 to C12 are the TSI control word to give a delay at Qβ and as specified in table l- all according to control word 0 (CO). TABLE 2. PROGRAMMABLE DELAY CONTROL WORDS BITS DELAY' FROM OMPI It is noted from viewing table 2 that with CB13 high, - the multiplexer functions in the normal manner (18 bit delay) regardless of the state of C31, CB2, C33, CB15 or CB16. This programmable delay in the multiplexer 19 can be serially connected to other delay blocks available in this mode to -yield any delay from 2 to 1099 bits in 1 bit increments. The remaining outputs from the main and indepen¬ dent registers are still available in the PDSR mode and function as in the AWPI mode. Thus the outputs Ql, Q3, Q4, Q5 and Q7 are available in the PDSR mode. It is also noted that CB13 controls outputs 1 and Q5 as well as the program mable delay in the multiplexer. In summary the following delay blocks are avail- able in the programmable delay shift register .mode ' . The main shift register 11 with its input SR has its output Q6 to provide a " delay of 18 to 522 bits or a delay of 540 bits in increments of 36 bits. The delay is controlled by bits CB4 to CB12 of control word 0. The independent storag register 15 has its input ΞI and outputs Q7 and Q8 to pro¬ vide a delay of 468 or 504 bits. The word delay register 18 has its input WD and output Q2 to provide a delay of 18 bits. The register 17 with input DF set to 0 provides a delay of 18 bits. The multiplexer 19 is programmable, as inputs MO and Ml with an output MX and provides a delay of 2 to 19 bits under control of bits CBl to 3 and 13 to 16 of control word 1. It will be explained how the control words dictate the programming requirements and operation of the registers in the programmable modes. As indicated the block diagram for the PDSR mode is shown in FIGURE 11. The PR10 is placed in the PDSR mode when bits CBO and CBl4 of the control word 0 (CO) are low and CBl7 ' is high, a timing diagram for the operation for th PDSR mode is shown in FIGURE 12. Referring to FIGURE 12, again the clock and the word sync inputs are as previously depicted. The input to the multiplexer is shown as M0 (to designate either Ml or MO) while the control word is shown as C0 to indicate that either the MO or Ml inputs can be selected according to the bits in control word 0. FIGURE 12 depicts the out¬ put MX of the multiplexer 19 for selectable delays of 2, 3, 17, 18 and 19 Hits. ' As is clear the control word 1 (Cl) selects the MO or Ml as the input to the programmable delay multiplexer which is register 19. Referring to FIGURE 13, there is shown a Finite Impulse Response filter (FIR) . In such a filter the transfer function of which is extremely well-known, both data and filter coefficient may be complex. As seen in FIGURE 13, each stage of delay is provided for the PDSR mode by accessing a delay stage of the register. The coefficients _. Q and a5 are then summed in a summer 110 to derive the filter output. For example, if an 18 bit word length is needed for each dat " sample and 14 data channels are to be multiplexed through the filter the delay re¬ quired of the processing register is 504 bits. The hard¬ ware configuration of the register is shown in FIGURE 14 which is the actual implementation of the FIR filter shown in FIGURE 13. Thus as one can.see from FIGURE 14, three processing registers 120 to 122 are used with two multi¬ pliers 123 and 124 in order to obtain a FIR response. DISCRETE FOURIER TRANSFORM PREPROCESSING MODE (DFT MODE) The general form of the discrete Fourier Trans- form is: M-l _z Yn =Σ X jmn ( 2 - < ) m=o me M Where M is the width of the transform, n is the sample number and Zm data and e^ are complex. The type of logic required to perform the non-multiplicative component of a discrete Fourier transform consists of data storage, trans- - fer and summation devices. To perform all of the non-mul¬ tiplicative or preprocessing steps, .a great deal of data movement and summation is necessary. As can be seen from the general equation, this characteristic comes about be¬ cause each output from a discrete Fourier transform calcu- lation requires the sum combination of every input term. This data movement and summation situation is especially acute in implementations which attempt to minimize the number of multiplications done by the discrete Fourier * transform. In this case, data to be multiplied by related coefficients are pre-processed to reduce the number of multiplications involved. For example, the equation Y = AxC + Bx-C may be rearranged to form the expression ■ Y = (A-B)xC. The pre-processing of A and B reduces the number of multiplications from two to one.. The Processing Register is capable of perform¬ ing these non-multiplicative operations. By sending a sequence of control words to the Processing Register, the set of input samples needed to generate the discrete Fourier transform output is loaded into the storage sec- tion and then manipulated to perform the correct summa¬ tions, data ' movements and outputs. The Processing Register divides this operation into two parts, the loading frame and the computation frame therefore taking two frames to complete its operation. During the loading frame, there is no data ready to be out¬ put so the outputs are placed in a high-impedance state. During the output frame, the outputs are enabled and data - TJREACT- OMPI is passed on to the multiplier. Therefore, two Processing Registers, can be arranged so that for each frame one Pro¬ cessing Register is in the loading frame and the other is in the computation frame.. Their outputs are tied together, as well as, to the inputs to the multiplier and since only one of the Processing Registers has its outputs enabled at any one time, and alternately one Processing Register then the other has its outputs enabled, combining two Processing Registers in this fashion will produce the -continuous pre- processing (non-multiplicative operations) for a discrete Fourier transform. Referring to FIGURE 15, there is shown the PR10 ' operating in the DFT mode. In this mode the processing register performs calculations and orderings needed for preprocessing a 14 point DISCRETE FOURIER TRANSFORM. In addition, the 2 to 1 multiplexer 19 and ' the independent storage register 15 continue to function as above described in the SR mode. In the DFT mode inputs SR, WD and SM are ignored. The data input is DF and the DFT outputs are Q0 to Q6. While one frame (504 bits) of information is being entered . (loading frame) , Q0 to Q6 assume a high impedance condition These outputs then become valid for the next 504 bits which is designated as an output frame. During the output frame input DF is ignored. The timing of loading and output process allows two PR modules to drive seven output lines in parallel from one input line. The control words for each PR are offset to allow one to load data while the other is computing data. This process alternates to allow the other to load data while the first PR is producing valid output data. Thus even though two frames are required to process , one frame of data, two PR modules can perform continuous processing with a 504 bit delay from an input frame to its correspond- ing output frame. When in the DFT mode the overflow line is set to a logic 1 and should be maintained at a logic 1. A logic 0 at the MSB of the overflow will upset the in¬ ternal computations in the PR chip. Referring to FIGURE 16, there is shown a block diagram using two processing registers 140 and 141 and a multiplier 142 to operate to solve a discrete fourier transform. The ability of the processing reg¬ ister to perform this operation resides in its unique - architecture. This architecture allows the movement of data and calculations with data in the main storage reg¬ ister and allows one to program on a word by word basis. It also allows the preprocessed data to be routed to different outputs of the computation register 13 again under control of the control register 14. It is this control of internal data and computations that allows the processing register to perform the types of prepro¬ cessing needed for the discrete fourier transform and also allows the integration of the other four modes into basically the same hardware. The main storage register, computation register and control register thus combine an efficient structure capable of satisfying the various needs of different digital signal processing configura¬ tions and can be arranged to perform these functions by applying the appropriate control word. This capability coupled with the additional multiplexer, adder/subtractor,. - OREAl/ OMPI 1- WIPO _ word delay and independent storage register provides an extremely useful and versitile tool for digital signal processing needs. As described above, _ the programming of the entire processing register is - a function of the control words 0 and 1. The control words with other requisite bits are shown in tables 1, 2. It is of course understood by one skilled in the art how the control words can be de¬ coded to provide the various operations described. There-- fore, based on the above description together with the tim- ing diagrams, the implementation of the processing register will be known to those skilled in the art. Essentially, the control word 0 (CO) consists of 18 bit words synchronized with word sync and entered serial into the PR chip. The timing relationship between CO and other signals on the chip are shown in the timing diagram of FIGURE -2. The functions controlled by each bit are interdependent and vary according to the mode of operation. Setting the control word and all bits thereof to a logic 1 places the PR processing chip in the shift register or SR mode. As indicated, bits CB4 to CB12 in control word 0 can be altered according to table 1 to change the mode of operation from the SR mode to the TSI mode. This allows fo selectable delays at the Q6 output of the main shift regis- ter 11. All other bits in CO remain at logic 1. For the AWPI mode the following control bits set¬ tings are used. CBO set- to logic 0, CB14 set to logic 1, CB17 set to logic 1. The bits CB4 to CB12 can again be set for a desired delay according to table 1. CB13 controls the AWPI functions as explained above. In the AWPI mode the logic state of bits CBl, CB2, CB3, CB15 and CB16 can be either - a 0 or a 1, as the logic does not care. The delay shift register mode (PDSR) is selected by the CO settings are as follows: -In this mode CBO and CB14 are set to a logic 0, CB17 is set to a logic 1. The bits CB4 to CB12 are again set for a desired Q6 delay according to table 1 and as in the AWPI mode. Bits CBl to CB3, CB13,.CB15 and CB16 are set for a desired 2 to 19 bit programmable delay according to Table 3. The DFT mode control words CO are predefined for a loading frame and a computation frame. In ' the DFT mode, an input control word will effect the PR chip functions on the next word of data as defined by the word sync signal. ' As explained above, the control word 1 (Cl) con- trols the input selection for the one of two multiplexer. Only the most significant bit of each 18 bit word is used for selection. All other bits are ignored. A 0 in the MS3 of Cl indicates that input MO will be selected during the next word while a 1 selects input Ml. As indicated all arithmetic operations are performed in two's complement arithmetic. This is so as all data computations and control in the processing register are synchronized with a common clock and word sync. Changes of state occur on the rising edge of the clock. The relationship between the clock, wor sync, control or s / input and output data, and the overflow signal is shown in FIGURE 2. Thus the stateof low word sync WS defines the most significant bit of each word and WS mus be at a logic 1 during all other bits in the word. The control words 0 and 1 are inputted to the processing regis¬ ter and are synchronized by the clock and word sync. Thus as seen from the timing diagram each control word effects the operation of the processing register during the follow¬ ing word as defined by the word sync. The overflow input is valid only when WS is low.- The->l ' ogic 0 during the MSB of OF defines the overflow condition. All other bits in each word of OF have no effect on the processing register operation. FIGURES 3A to 3C and 4A to 4C are the timing diagrams which show the relationships and effects of the overflow signal. To give one an example of the logic for-' mat as defined above without resorting to a complicated schematic diagram of each and every module the " timing dia¬ grams are deemed sufficient. It is the selection of the control words and the arrangement of the registers as well as the various delays selected at the output which enable this proces- sing register to operate in a digital processing system in a unique and efficient manner. Such operation affords the digital designer great versitility in implementing complicated digital systems which presently require an excessive amount of individual integrated circuits and additional hardware. For example, of such utility and use reference is now made to the following block diagrams which show the processing register depicted in FIGURE 1 for example, operating in conjunction with other modules to implement digital signal processing. The logic and structure necessary for complete operation of the word processor and the various modules contained therein can be implemented in a number of ways based on the above timing diagrams as well as, the above description. As one can ascertain, each bit of every word is available including each bit of every data wQrd and each bit of every control word. Thus one can isolate for example, CB13 of control word 0. or any bit. This can be implemented by the use of . a bit counter which receives the clock pulses and counts the same and hence maintains an accurate count of each bit in an 18 bit word. The bit counter can be synchronized or reset by a strobe derived from the word sync signal. In this manner any control bit can be gated out from any word. Thus, the control bit 13 can be isolated to cause the necessary control in the AWPI mode as above described. Thus based on the above description the logic implementation of the entir processing register can be implemented by digital logic cir cuitry of conventional desiαn. The interconnection of - the various registers and modules enables one to acco- modate each of the above described modes in a single unit which unit can be fabricated as a complete integrated cir¬ cuit chip as described above. The format depicted and described in the block diagrams as FIGURE 1 for example, enables one to minimize the number of input and output leads necessary for complete operation in any of the above described modes. This en¬ ables great flexibility as compared to prior art processing registers of various types. One skilled in the art will now recognize the tremendous versatility of the processing register %^hich because of its format will enable a designer to specify and construct extremely complicated digital filt with high order responses, as well as many other complicate digital processing systems and components of such systems d to the unique versatility of this register. ^^ ^ tt ^ E

Claims: WE CLAIM 1. A processing register apparatus for use in dig¬ ital ' signal processing applications, said reg¬ ister capable of operating in a -plurality of different modes in conjunction with a multiplier to perform digital signal processing blocks and/ or systems, the said processing register is to comprise-but 'not limited to: a) main shift register means having a plurality of stages for receiving and storing therein a given number of bits manifesting a plurality of digital data words each having a smaller number of bits of a given value, said register adapted to receive -at an input a ■ . digital data signal manifesting -said plurality of digital words, and to provide said words at output; b) control register means coupled to said main register means having a plurality of ' stages and adapted to receive a control word of said given valueA"bιts, with predetermined bits i.ndi.¬ cative of any one of given -number of modes of operation for said register and with predetermined selected ones of said bits indicative of control signals for selecting any one stage of said main shift register manifesting a given delay accord¬ ing to said selected stage; c) a storage register having a plurality of stages for receiving and storing therein a different number of given bits than said main register, manifesting a smaller plurality of digital data words each of the same number of i. bits of said given value and overflow means coupled to said main and storage registers to set said given value _OMPI_ " wϊ p δ " of bits indicative of any digital word stored to one binary logic value in either said main or second storage registers; mode selector means coupled to said control register and responsive to said bits to provide a plurality of control signals indicative of a separate mode of operation for said processing register. 2. The processing register according to Claim 1 further comprising: a multiplexer register having a first input for receiving digital words of said given bit value and a second input for receiving second " digital words of said given bit value said reg¬ ister having a number of stages at least equal to said ' given value of bits, logic means coupled to said multiplexer register and adapted to receive a control word ■ of said given bit value with the most signifi¬ cant bit of said control word selecting either said first or said second input word as an out¬ put at a given delay with respect to said selec¬ ted input. 3. The processing register according to Claim 2 further comprising: a sum and difference register having one input for receiving a digital word of said given number of bits indicative of a sum input and a second input for receiving a digital word of said given number of bits indicative of a difference input to provide at one output a first signal indicative of the sum of said words and a second output to provide a second signal indi¬ cative of the difference of said words. 4. The processing register according to Claim 3 wherein in a first mode (SR) as determined by said bits said main register provides _a first predetermined number of fixed delay outputs , with said storage register provid¬ ing a second predetermined number of delay out- puts and with said multiplexer register and said sum and difference registers operative to provid said multiplexed output and said sum and differen outputs with said first mode indicative of said first predetermined number of bits all being at the same logic value. 5. The processing register according to Claim 3 wher ' in a second mode (AWPI) indicative of said predetermined number of bits manifesting a particular code wherein only certain of said bits are at the same logic value ' said multiplexer register operation is inhibited, with one of said bits of said first predetermined number of bits operative via logic means to couple the differenc output of said sum and difference register to sai multiplexer to provide said difference output at said multiplexer output with said given delay and means responsive to said second mode being selec¬ ted and responsive to said logic state of said bitsto vary the delay at least one output of said main shift register. 6. • The processing register according to Claim 3 wherein in a third mode (PDSR) indicative of said predetermined number of bits manifesting a second code wherein only certain other bits are at the same logic value, said logic means asso- ciated with said multiplexer adapted to respond to said control word to decode said bits of said 5 control word to provide a plurality of selectable delays according to.said control word. 7. The processing register according to Claim 3 wherein in a fourth mode (DFT) indicative of 10 a predetermined number of bits manifesting a code wherein ' only certain other bits are at the same logic value, the input to said processing register is coupled to the difference input of said sum and difference register for a 15 first input frame indicative of a given number of digital/words., and hence at given number of bits, and for disabling said coupling during a second frame of the same number of bits indicative of an output frame, with said control word varying 20 logic states to order the input data as applied to said difference input during said fourth mode, and means for inhibiting said- overflow means during s id fourth mode. _25 8. The processing register according to Claim 3 wherein said sum and difference register performs sums and difference in two's complement binary arithmetic. 30 9 . The processing " register according to Claim 1 further including: a word delay register having an input for receiving digital words each of a given number of bits and an output for delaying each received 35 word by said given number of bits . 10. The processing register according to Claim 11 further including means responsive to said fourth mode for inhibiting said word delay register operation only during said fourth mode. 11. The processing register according to Claim 1 where¬ in said control register means is serial, in f parallel out shift register. 12. A processing register for use in digital processing systems such as digital filters, transmultiplexers and the like, said register capable of operating in any one of given-number of modes, comprising in combination: a) a main storage register having a. plurality of stages for receiving & storing therein a given number, of bits manifesting a plurality of digital data words each of a smaller number of bits of a given value, said register adapted to receive at an input a digital data signal man- "' ifestiπg'a plurality of digital words, ~" b) a computation register coupled to said storage register and adapted to select any one of said plurality of stages to provide at out¬ puts said digital words at predetermined delays according to said stage selected, c) a control register coupled to said storage register and said computation register and adapted to receive a first control word of said given value of bits, " with certain of said bits indicative of anyone of said given number of modes, and others of said bits indicative of a desired delay for selecting said stage of said main register, - _ - ~ z -4 B- d) an independent storage register having a plurality of stages less than said main regist and adapted to receive a separate digital input signal manifesting a plurality -of separate digit words each of said given value of bits, - e ) overflow means coupled between said mai and independent registers and responsive to an overflow signal to cause all bits of any one word stored in either register to.be altered to one logic state, f) a multiplexer register having a first and a second input each adapted to receive digital ■ words of said given bit value, g) logic means coupled to said multiplexer and adapted to receive a second control ' word of said given bit value, wherein one bit of said word is operative to select said-first or second input and to apply the same to an output of said multiplexer, h) an adder-subtractor register having a sum input and a difference input each .adapted to receive digital data words of said given bit value to provide at a first sum output the sum of said words and at a second difference output the difference of said words, -and^ ••. I) logic means responsive to other bits ' in sai first control word ' for decoding a given number o states each indicative ' of one of said operating modes for modifying operation of selected ones o said registers. according to said selected mode as manifested by said other bits in said first control word. 13. " The processing register combination according to Claim 12 wherein a first mode (SR) said main shift register provides a plurality of fixed delays as selected by said computation register, with said in- struction register providing a lesser plurality of fixed delays from input data to output. 14. The processing register combination according to Claim 12 wherein a second mode (TSI) said main shift register provides a selectable delay accord¬ ing to said other bits of said control word. 15. The processing register combination according to Claim 14 wherein a third mode (AWPI) said main shift register provides a selectable delay as in said second mode, with said multiplexer register inputs inhibited and the difference output of said sum and difference register coupled to said multi¬ plexer to provide at the output of said multiplexer a difference signal under control of one bit of said first control word at a selectable delay. 16. The processing register combination according to Claim 12 wherein a fourth mode (PDSR) the main and independent registers operate as in said third mode with said multiplexer register responsive to bits of said second control words as decoded by said logic means to provide a selectable delay between any one of said inputs and said output according to the status of the second control word. 17. The processing register combination according to Claim 12 wherein a fifth mode (DFT) the input OMPI to said main register is coupled.to the differen output of said sum and difference register for a first input frame of a given number of bits ani festing a given number of digital words and for disabling said coupling during a second frame of the same number of bits indicative of an output frame, with said first control word varying logi states to order input data as applied to the difference input of said sum and difference regi during .said fifth mode and means for inhibiting ^ said overflow means during said fifth mode. -18. . The processing register combination according to Claim 12 further including a word delay register having an input adapted to receive a stream of digital data words each consisting of said given bit value and for providing a delayed .data strea at an output with the delay being a one word.- del and therefore equal to the number of said bits o said given value. OMPI

Inventors: CHITSAZ SIRUS, KRISHER DALE L, CHITSAZ, SIRUS, KRISHER, DALE, L.
Applicants: ITT, INTERNATIONAL TELEPHONE AND TELEGRAPH CORPORATION
Application year: 1982
Main classification: G06F7
IPC codes: G06F17