Bit finder circuit

Abstract: A circuit to find the first bit 0 or 1 in an m-bit input word from a start bit onwards, the positions of these bits being defined by an n-bit code. It includes a crosspoint matrix of m (4) rows and n (2) colums, each crosspoint including a change- over contact (ABC), with a make contact (AB) and a break contact (AC), and another make contact (AD). The rows of change-over contacts (ABC) are controlled by respective bits of the m-bit word and the break contacts (AC) of the change-over contacts (ABC) of each row are coupled to respective bits of the n-bit code identifying the bit of the m-bit word respectively controlling these break contacts. Furthermore, the make contacts (AB) of the change-over contacts (ABC) of a same column are connected in a closed loop, whilst the other make contacts (AD) of a same column are connected in a parallel to a same output terminal (IA, IB), the rows of these other make contacts being controlled by a single-row selection circuit (TR).

Description: The present invention relates to a bit finder circuit for finding the position of the first bit having a predetermined binary value in an m-bit input word from the position of a predetermined start bit onwards and in a predetermined direction, the positions of the bits in said m-bit word from said start bit onwards being defined by an n-bit code, said bit finder circuit including a crosspoint matrix of m rows and n columns. Such a bit finder circuit is generally known in the art and provides the position of the first bit 0 or 1 of the m-bit word considered from the leftmost bit onwards. This position is generally defined by an m-bit code so that a code translator is required to have this code translated in the n-bit code, e.g. with m = 2 n if the n-bit code is the binary code. On the other hand, the UK Patent Application GB-2 173 617-A, for instance, discloses an "Apparatus for locating and indicating the position of an end "1" bit of a number in a multi-bit number format". This known apparatus provides a binary coded number corresponding to the position of the last bit "1" of a word. This position again is determined with respect to the first (or last) bit of the word onwards. Moreover, a code translator is again required to have this code translated in a more general n-bit code. In certain cases it may be useful to find the position of the first bit having a predetermined binary value (0 or 1) in an m-bit input word from the position of a predetermined start bit onwards and in a predetermined direction, i.e. from the position of a bit which has just been processed onwards and not from the leftmost (or rightmost) bit onwards. An object of the present invention is to provide a bit finder circuit of the above type, but which directly provides the n-bit position code of the first bit 0/1 of the m-bit word considered from a selected bit position onwards. According to the invention this object is achieved due to the fact that each crosspoint of said matrix includes a first controlled switching means having three terminals and comprising a first passing means adapted to establish a contact between a common terminal and a first terminal of said three terminals and a second passing means adapted to establish a contact between said common terminal and a second terminal of said three terminals, said first passing means and said second passing means operating in a complementary mode, and includes a second controlled switching means, adapted to establish a contact between a third terminal and said common terminal, the rows of the first controlled switching means being controlled by respective bits of said m-bit word and the second passing means of the first controlled switching means of each row being coupled to respective bits of the n-bit code identifying the bit of the m-bit word controlling these second passing means, and in that the first passing means of the first controlled switching means of a same column are connected in series, whilst the second controlled switching means of a same column are connected in parallel to a same output terminal providing said position of said first bit having said predetermined binary value, the rows of said second controlled switching means being controlled by a single-row selection circuit. Under the control of for instance the bits 1 of the m-bit word only the first controlled switching means, which can be seen as change-over contact means, of the associated rows are operated so as to disconnect the n-bit identity codes of these rows and closing the first passing means thereof, whilst under the control of the single-row selection circuit the second controlled switching means of the selected row are operated so as to connect the crosspoint terminals thereof to the output terminals. As a result, chains of switching means are formed from the second passing means of the first row, following the selected single-row and controlled by a bit 0 of the m-bit word, to the output terminals via the closed first passing means, so that the n-bit identity code of the first bit 1 row following the selected single-row directly appears at these output terminals. The above mentioned and other objects and features of the invention will become more apparent and the invention itself will be best understood by referring to the following description of an embodiment taken in conjunction with the accompanying drawings wherein: Fig. 1 represents a bit finder circuit FC according to the invention; and Fig. 2 shows an electronic embodiment of a crosspoint I00A/S00A of Fig. 1 in the rest condition as well as a modification thereof in dashed lines. The bit finder circuit FC represented in Fig. 1 includes a 4-bit input word storage register IR with 4 outputs S00 to S11, a translator TR with 4 outputs P00 to P11, an identity output register OR with 2 inputs IA and IB, and a matrix M of 8 crosspoints. The input register IR is able to store a 4-bit input word, the bit positions of this word being defined by the 2-bit identity codes 00, 01, 10 and 11 respectively. The translator TR is adapted to translate any selected 2-bit identity bit position codes 00, 01, 10 or 11 applied at its input IN into a corresponding 4-bit decimal bit position code 0001, 0010, 0100 or 1000 respectively. The identity output register OR is able to store the 2-bit identity bit position code provided at the inputs IA and IB. The 8 crosspoints of the matrix M are arranged in 4 rows and 2 colums, each crosspoint including a change-over contact ABC, with a make contact AB and a break contact AC, and another make contact AD. All the contacts of a same crosspoint thus have a common terminal A. The 8 change-over contacts ABC are referenced to as I00A, I00B to I11A, I11B, whilst the 8 make contacts AD are indicated by S00A, S00B to S11A, S11B. These contacts are not all shown in their rest position. The rows of change-over contacts ABC, i.e. I00A, I00B to I11A, I11B, are controlled by respective bits of the 4-bit input word stored in the input register IR through the outputs S00 to S11 thereof. The break contacts AC of the change-over contacts ABC of each row are coupled to respective bits of the 2-bit position code identifying the position of the bit of the 4-bit word controlling these break contacts. For instance, the break contacts I00A and I00B are coupled to respective bits 0 and 0 of the 2-bit bit position code 00 identifying the position of the first bit of the 4-bit word controlling these break contacts via the output S00 of IR. The make contacts AB of each of the columns are connected in series in a closed loop, whilst the other make contacts AD of each column are connected to a same input terminal IA or IB of the output register OR. The rows of such other make contacts AD are controlled via respective ones of the outputs P00 to P11 of the translator TR, i.e. by the 4-bit decimal bit position code 0001 to 1000 which may be provided at these outputs. The above described bit finder circuit is adapted to find the first bit 0 of a 4-bit input word stored in IR, starting from a bit position selected by the translator TR, and to store the 2-bit position code of the thus found bit 0 in the output register OR. The bit finder circuit operates as follows when it is for instance assumed that the 4-bit input word stored in the register IR is 0110 and that the 2-bit code applied to the input IN of the translator is 01. Because the input word is 0110 the outputs S00 and S11 are de-activated (0), whereas the outputs S01 and S10 are activated (1). As a consequence only the change-over contacts I01A, I01B, I10A and I10B are brought in their work position shown, i.e. make contact AB closed. On the other hand, the 2-bit input code 01 applied to the translator TR is translated into the 4-bit position code 0100 as a result of which only the make contacts S01A and S01B are brought in their work position shown. Due to this, the identity bits 1,1 of the 2-bit position code 11 of the first bit 0 of the 4-bit input word 0110 following the selected row are applied to the inputs IA and IB. More particularly, the first bit 1 is applied to IA via the break contact AC of I11A, the make contacts AB of I10A and I01A and the make contact AD of S01A. The second bit 1 is applied to IB in a similar way. Thus the output register OR finally stores the 2-bit position code 11 of the first bit 0 found. Reference is now made to Fig. 2 which shows a practical embodiment of the crosspoint of Fig. 1 comprising the change-over contact I00A and the make contact S00A. The change-over contact I00A includes a make contact AB constituted by a pass-gate which is built up by means of NMOS transistor NM1 and PMOS transistor PM1 controlled by the outputs S00 and S00 (which is the complement of S00 and derived therefrom) respectively. The break contact AC of the contact I00A is constituted by NMOS transistor NM3 controlled by output S00 , the terminal C being connected to VSS equal to 0 Volt and representing a binary 0. The make contact S00A is constituted by another pass-gate built up by transistors NM2 and PM2 controlled by the outputs P00 and P00 (which is the complement of P00 and derived therefrom) respectively. In case the break contact AC of a crosspoint is connected to a bit 1 then NMOS transistor NM3 is substituted by PMOS transistor PM3 controlled by S00 and terminal C is connected to VDD equal to 5 Volts and representing a binary 1. Instead of rising the transistor switches of Fig. 2 for realizing a crosspoint of Fig. 1 it is also possible to use gates therefor. For instance one could use two AND gates (not shown) whose inputs are constituted by B, S00 and C, S00 respectively and the outputs of which are connected through an OR gate to one input of another AND gate. The other input of this other AND gate is constituted by P00 and its output constitutes the output D. The above bit finder circuit is for instance useful in a telecommunication switching system wherein a next free channel among a plurality of busy/free channels has to be found from a predetermined channel which is actually being processed onwards. From the above example it follows that when for instance the second channel of four such channels is being actually processed (and is therefore busy) the next free channel to be used is the fourth channel with identity 11. While the principles of the invention have been described above in connection with specific apparatus, it is to be clearly understood that this description is made only by way of example and not as a limitation on the scope of the invention.

Claims: Bit finder circuit for finding the position of the first bit having a predetermined binary value (0 or 1) in an m-bit input word from the position of a predetermined start bit onwards and in a predetermined direction, the positions of the bits in said m-bit word from said start bit onwards being defined by an n-bit code, said bit finder circuit including a crosspoint matrix of m (4) rows and n (2) columns, characterized in that each crosspoint of said matrix includes a first controlled switching means (I00A to I11A, I00B to I11B) having three terminals (ABC) and comprising a first passing means (AB) adapted to establish a contact between a common terminal (A) and a first terminal (B) of said three terminals (ABC) and a second passing means (AC) adapted to establish a contact between said common terminal (A) and a second terminal (C) of said three terminals (ABC), said first passing means (AB) and said second passing means (AC) operating in a complementary mode, and includes a second controlled switching means (S00A to S11A, S00B to S11B), adapted to establish a contact between a third terminal (D) and said common terminal (A), the rows of the first controlled switching means being controlled by respective bits of said m-bit word and the second passing means (AC) of the first controlled switching means of each row being coupled to respective bits of the n-bit code identifying the bit of the m-bit word controlling these second passing means, and in that the first passing means (AB) of the first controlled switching means of a same column are connected in series, whilst the second controlled switching means of a same column are connected in parallel to a same output terminal (IA, IB) providing said position of said first bit having said predetermined binary value, the rows of said second controlled switching means being controlled by a single-row selection circuit (TR). Bit finder circuit (FC) according to claim 1,characterized in that the series connected first passing means (AB) of the first controlled switching means (I00A to I11A, I00B to I11B) of a same column are connected in a closed loop. Bit finder circuit (FC) according to claim 1,characterized in that said single-row selection circuit (TR) includes a translator for translating an n-bit position code into an m-bit position code including m bits of which m-1 bits have a same binary value and the remaining bit has the complementary binary value, and in that the m bits of said m-bit position code control respective ones of said rows of said second controlled switching means (S00A to S11A, S00B to S11B).

Inventors: ADRIAENSEN KAREL, CLOETENS LEON, GONZE DIDIER, ADRIAENSEN, KAREL, CLOETENS, LEON, GONZE, DIDIER
Applicants: ALSTHOM CGE ALCATEL, ALCATEL ALSTHOM COMPAGNIE GENERALE D'ELECTRICITE
Application year: 1990
Main classification: G06F7
IPC codes: G06F7, G06F13, H04Q3