System for connecting peripheral devices and having a priority arbitration, particularly in a microcontroller chip emulator

Abstract: The invention relates to a peripheral devices connecting system with priority arbitration, comprising at least a connection matrix connected to a plurality of peripheral devices (P1,P2,...,Pn) capable of transmitting a signal to be arbitrated, in particular an interrupt enable signal. The system of this invention comprises first (DCA) and second (DCB) connection matrices which are connected to each other through a plurality of logic gates (PL1,PL2,...,PLn) having a progressive number of inputs, for parallel transmitting a plurality of signals to be arbitrated, in particular interrupt enable signals (IE01,IE02,...,IE0n) issued from the peripheral devices (P1,P2,...,Pn), the first (DCA) and second (DCB) matrices having respective inputs and outputs connected directly to the plurality of peripheral devices (P1,P2,...,Pn). The invention also relates to a special connection matrix for a microcontroller-emulating chip, which includes a peripheral devices connecting system with priority arbitration (1) according to the invention.

Description: Field of the invention This invention relates to a connection system with priority arbitration, for peripheral devices as known from EP-A-0 576 764. The invention specifically relates to a peripheral devices connecting system with priority arbitration, comprising at least a connection matrix connected to a plurality of peripheral devices capable of transmitting a signal to be arbitrated. The invention also relates to a special connection matrix for a microcontroller-emulating chip which includes at least a peripheral devices connecting system with priority arbitration as above. Finally, the invention relates to a method of connecting, with priority arbitration, signals to be arbitrated issuing from a plurality of peripheral devices. In particular, but not solely, the invention relates to a chip capable of emulating a microcontroller using libraries of macrocells really provided in the chip and connected via connection matrices, and the description that follows will make reference to this field of application only for convenience of illustration. Background Art As is well known, integrated circuits or microcontroller chips are realised in configurations customed to the final user's own requirements. Thus, the problem arises that the assembly process of the individual chip must be optimised to yield a finished product which best suits a specific application of interest to the final user, thereby doing away with rendundant subsystems. For this purpose, an individual chip is obtained from families of modular systems which can be likened to libraries of components comprising sets of macrocells adapted to perform certain basic functions. By assembling an appropriate and suitable number of macrocells picked up from the same family, a single on-chip integrated system can be provided. The final user is then able to use the chip for developing an application of interest, from both the hardware and software viewpoints. Unfortunately, the delivery time for a custom-finished chip to the final user is rather long (a few months). This has prompted a demand for an ability to emulate the chip, particularly the operation of the microcontroller therein, so that the final user can start developing his own application and carry on the development work in parallel with the physical making of the integrated device. Thus, it is a matter of providing a so-called emulation chip, that is a structure closely resembling the system which is to be integrated on the chip product for ultimate delivery to the final user. The emulation chip is, therefore, an integrated circuit which contains the core, all the peripheral devices, and all the gates available to a family of macrocells for microcontrollers. Each peripheral device can be activated or inactivated to make the microcontroller configuration of the emulation chip similar to that of the microcontroller of the final chip, provided by selecting certain gates and peripheral devices from all those available. Thus, it is a matter of providing an emulation chip with programmable physical and logical connections, specifically between functional modules and interfacing gates. For this purpose, programmable devices must be provided in the emulation chip which can establish all possible connections between chip components. In particular, a system for interconnecting the peripheral devices is required which can handle their interrupt requests simultaneously. A prior solution to this problem has been to use daisy chain connections which allow one signal to be shared with priority arbitration. In particular, the signal to be arbitrated is an interrupt signal. For this purpose, the CPU is connected to the peripheral devices directly by means of an interrupt line. The interrupt line carries an enable signal which is generated by the CPU to indicate that the CPU is ready for an interrupt to be delivered to a peripheral device. A connection matrix of the daisy chain type is a hardware device which can arbitrate the priority schedule for the various peripheral devices. However, this known solution cannot be applied to an emulation chip, wherein the priority schedule for the peripheral devices cannot be known in advance but is to be decided upon by the final user himself. The underlying technical problem of this invention is to provide a peripheral devices connecting device which has such structural and functional features as to allow the arbitration of signals, specifically interrupt signals from the peripheral devices to the CPU, to be programmed, and the limitations with which prior art devices are beset overcome. Another technical problem underlying this invention is to provide a connection device with priority arbitration for chip emulating circuits operating at a comparable speed to that of the chip being emulated. Summary of the invention The idea of solution behind this invention is one of providing a programmable connection device which can be integrated to an emulation chip and comprises, in particular, at least one connection matrix of the daisy chain type, and which can process in parallel signals to be arbitrated, in particular interrupt enable signals from the peripheral devices. Based on this idea of solution, the technical problem is solved by a connection device with priority arbitration as defined in the characterising portion of Claim 1. The problem is also solved by a special connection matrix for a microcontroller-emulating chip as defined in the characterising portion of Claim 5. Finally, the problem is solved by a connection method with priority arbitration of signals to be arbitrated, specifically interrupt enable signals from a plurality of peripheral device units, as defined in the characterising portion of Claim 8. The features and advantages of a device according to the invention will be apparent from the following description of an embodiment thereof, given by way of non-limitative example with reference to the accompanying drawings. Brief Description of Drawings In the drawings: Figure 1 shows schematically the application of a connection matrix according to the prior art to an emulation chip; Figure 2 shows schematically a connection device with priority arbitration according to the invention; Figure 3 shows a special connection matrix for an emulation chip comprising a connection device with priority arbitration according to the invention. Detailed Description The emulation chip is an integrated circuit which contains the core, all the peripheral devices, and all the gates that are available to a family of macrocells for microcontrollers. Depicted schematically in Figure 1 is the transmission of a signal to be arbitrated, in particular an interrupt enable signal INT, among a plurality of peripheral devices P1, P2,..., Pn. As said before in connection with the prior art, it is always necessary to establish a priority schedule for the requests of interrupts from the peripheral devices P1, P2,..., Pn, with the core having highest priority. An emulation chip should be capable of changing the priority schedule of the interrupt signals according to a configuration being emulated, the final configuration of the priority schedule for the peripheral devices connected to the chip being also demanded to the final user. There are two basic connections which can be established among the peripheral devices P1, P2,..., Pn, namely a series connection and a parallel connection. With the peripheral devices P1, P2,..., Pn, specifically their interrupt signals, connected in series, a single connection matrix DC can be used which is similar to the conventional connection matrices and comprises nxn cells, as shown in Figure 1. In this case, however, an interrupt enable signal for the CPU has to reach all the peripheral devices P1, P2,..., Pn and each time return to the connection matrix DC for being delivered to the next peripheral device. Due to the large size of the emulation chip, the delay introduced by the connection lines is quite substantial and will, therefore, affect the speed of the whole chip. Thus, it has been considered of using a pair of connection matrices of the daisy chain type, DCA and DCB, having nxn cells interconnected through a series of n logic gates PL1, PL2,..., PLn, in particular of the AND type with a progressive number of inputs, that is of "paralleling" the transmission of the interrupt enable signal of the peripheral devices. A connection system 1 with priority arbitration according to the invention is shown schematically in Figure 2. The connection system 1 comprises a first matrix DCA connected directly to the inputs of a plurality of peripheral devices P1, P2,..., Pn and, through a plurality of logic gates PL1, PL2,..., PLn, to a second matrix DCB, itself outputting directly to the peripheral devices P1, P2,..., Pn. In particular, each peripheral device P1, P2,..., Pn has an interrupt enable output terminal O1, O2,..., On whereon a first interrupt enable signal IE01, IE02,..., IE0n is presented, and an interrupt enable input terminal I1, I2,..., In whereon a second interrupt enable signal IE11, IE12,..., IE1n is presented. The interrupt enable output terminals O1, O2,...,On are connected to the first matrix DCA, and the interrupt enable input terminals I1, I2,..., In are connected to the second matrix DCB. The first DCA and second DCB matrices are in turn connected to each other through a plurality of logic gates PL1, PL2,..., PLn having a progressive number of inputs. The priority schedule for the peripheral devices is selected in the first matrix DCA. A progressive number has been shown in the figure for simplicity; in general, the priority schedule for the peripheral devices is set by the configuration of the connections of the first matrix DCA to the logic gates PL1, PL2,..., PLn. The first interrupt enable signal IE01, from the peripheral device P1 to the first matrix DCA, is input to the first logic gate PL1, and successively to the other logic gates PL2, PL3,..., PLn. The second interrupt enable signal IE02, from the peripheral device P2 to the first matrix DCA, is input to the second logic gate PL2, and successively to the other logic gates PL3, PL4,..., PLn, and so on. In this way, it is obtained of "paralleling" the interrupt enable signals of the peripheral devices. The priority arbitration principle of the connection system 1 according to the invention will now be explained. A generic peripheral device Pi (with 0<i<n) presents an interrupt enable signal IE0 which is always at a first logic value, e.g. of 1, and only goes to a second logic value, e.g. of 0, when the peripheral device Pi issues a request for interrupt. It will be appreciated by a skilled person in the art that the logic complemented values could be used instead, by substituting an appropriate configuration of OR gates for the AND gate configuration. Thus, upon a request for interrupt being issued from a peripheral device Pi, the situation will be as follows: IE0(1); IE0(2), IE0(i-1) = 1 IE0(i) = 0 IE0(i+1); IE0(I+2);... IE0(N) = 1. The interrupt enable signal IE0(i) disables all the logic gates associated with peripheral devices Pi+1, Pi+2,..., Pn having lower priorities; in this way, the delay in the propagation of the interrupt enable signal can be significantly reduced compared to the series connection previously described. Advantageously in this invention, two matrices DCA, DCB with n cells per side, plus a set of n logic gates PL1, PL2,..., PLn with a number of inputs varying between 1 and n, are employed. The matrices DCA, DCB employed are, therefore, of limited rank, and their limitations mainly concern their size and the signal propagation delay through them. The inconvenience of using several different pairs of connection matrices can be appreciated by considering that each of them would require one row decoding circuit, one column decoding circuit, and input and output circuits. In view of the size of the matrices required, these control circuits would occupy an area equal to or larger than the area of the memory cells comprising the emulation chip. In addition, providing matrices of such a small size is also inconvenient from the standpoint of address space. The matrices DCA and DCB of this invention, as well as the logic gates PL1, PL2,..., PLn connecting them, are included in a single special connection matrix 2 of the emulation chip, as shown schematically in Figure 3. In this way, the decode 3 and input/output 4 circuits are merged in a single circuit, but for a few minor functional modifications due to the addresses comprising a smaller number of bits. The necessary logic gates PL1, PL2,..., PLn for connecting the matrices DCA and DCB should have n inputs at the most for handling the priority schedule. These gates are formed of logic gates belonging to a reference library, wherein the logic gates with a large number of inputs are formed by assembling several logic gates together to produce a desired logic function. Thus, the area occupied by the logic gates PL1, PL2,...; PLn is set beforehand, since they all belong to a definite library and have a definite layout. As shown in Figure 3, the need to have several connection matrices, as well as decode and input/output circuits, integrated to the special connection matrix leaves a large number of memory cells unused due to the dimensional inconsistency of adjacent components. Advantageously in this invention, the logic gates PL1, PL2,...,PLn replace some memory cells within the special connection matrix, so that it now matters to know the number of cells that are to be removed in order to later decide upon the composition of the overall matrix. Accordingly, it will be convenient to not only set the area for the logic gates, but also how many memory cells are to be eliminated. There are, however, restrictions to the introduction of components into the matrix: 1) the distributed locations of the input and output terminals of the logic gates; 2) the presence of a large number of metallization lines, which form the bit lines and power supply lines for the memory cells of the special connection matrix 2; 3) the size of the connection matrices DCA, DCB. Thus, the final choice for the layout of the logic gates PL1, PL2,..., PLn should take these restrictions into account. Accurate simulations have been performed for the special connection matrix 2 in order to verify the signal transmission delay and the circuit operation. In fact, the matrices DCA and DCB require very fast propagation times because they have to handle the circuit priority schedule. As can be seen in Figures 1 and 2, an interrupt enable signal, e.g. IE0i, is transmitted along a first metal line section corresponding to the connection of the peripheral device Pi to the first matrix DCA. This signal IE0i is input to the first matrix DCA. Once out of the matrix DCA, it first goes through one of the n AND gates, in particular PLi, then the second matrix DCB and along a second metal line section corresponding to the connection to the next peripheral device Pi+1. In the worse case, by the time the outgoing signal from the topmost row in the first matrix is connected to the last logic gate, the delay in the signal propagation would be rather large. This situation can be improved by having a last inverter relocated after the second matrix DCB, so as to improve the driving capacity of the last stage. It should be noted, in fact, that the first outgoing lines from the first matrix DCA have a rather large load consisting of a certain number of logic gates and the long connection lines required to reach the gates. On the other hand, the last outgoing lines from the matrix are connected to few logic gates (in the extreme, the n-th line is connected to a single gate), and consequently, the connection lines are fairly short ones. Advantageously in this invention, the connection system 1 with priority arbitration implements a connection of the daisy chain type having a priority configuration which is software-programmable, and having a delay which can be compared with that of a conventional daisy chain type of connection having a preset priority configuration hardware-implemented. The invention has been described in relation to the enabling of an interrupt signal. It should be understood, however, that the connection system with priority arbitration according to the invention can be used to handle priority arbitrations of any type. Accordingly, this priority arbitration system, while generated by the specific requirements of an emulation chip, should not be understood as limited thereto, it being possible to apply it to any circuits involving priority arbitration.

Claims: A peripheral devices connecting system with priority arbitration, comprising at least a connection matrix connected to a plurality of peripheral devices (P1,P2,...,Pn) capable of transmitting a signal to be arbitrated, in particular an interrupt enable signal, characterised in that it comprises first (DCA) and second (DCB) connection matrices which are connected to each other through a plurality of logic gates (PL1,PL2,...,PLn) having a progressive number of inputs, for parallel transmitting a plurality of signals to be arbitrated, in particular interrupt enable signals (IE01,IE02,...,IE0n) issued from the peripheral devices (P1,P2,...,Pn), said first (DCA) and second (DCB) matrices having respective inputs and outputs connected directly to the plurality of peripheral devices (P1,P2,...,Pn). A peripheral devices connecting system with priority arbitration according to Claim 1, characterised in that each peripheral device (P1,P2,...,Pn) has an enable output terminal (O1,O2,...,On) whereon a first signal to be arbitrated, in particular an interrupt enable signal (IE01,IE02,...,IE0n) is presented, and an enable input terminal (I1,I2,...,In) whereon a second signal to be arbitrated, in particular an interrupt enable signal (IE11,IE12,...,IE1n), is presented, the enable output terminals (O1,O2,...,On) being connected to the first matrix (DCA) and the enable input terminals (I1,I2,...,In) being connected to the second matrix (DCB). A peripheral devices connecting system with priority arbitration according to Claim 1, characterised in that the first matrix (DCA) stores a priority schedule for the peripheral devices (P1,P2,...,Pn) by configuring the connections to the logic gates (PL1,PL2,...,PLn). A peripheral devices connecting system with priority arbitration according to Claim 2, characterised in that a signal to be arbitrated, in particular an interrupt enable signal (IE0i) issued from a generic peripheral device (Pi) to the first matrix (DCA), is input to a corresponding logic gate (PL1i) and to the following logic gates (PLi+1,PL1+2,...,PLn). A special connection matrix, in particular for a microcontroller-emulating chip, characterised in that it includes a peripheral devices connecting system with priority arbitration (1) according to the preceding claims. A special connection matrix according to Claim 5, characterised in that the logic gates (PL1,PL2,...,PLn) included in the connecting system (1) are obtained from a reference library, the logic gates with a large number of inputs being formed by assembling several logic gates together to produce the desired logic function. A special connection matrix according to Claim 5, characterised in that the logic gates PL1,PL2,...,PLn) included in the connecting system (1) replace some memory cells within the special connection matrix (2). A method of connecting with priority arbitration a plurality of peripheral devices (P1,P2,...,Pn) having at least one enable output terminal (O1,O2,...,On) whereon a signal to be arbitrated, in particular an interrupt enable signal (IE01,IE02,...,IE0n), is presented, characterised in that a peripheral devices connecting system as defined in any of the preceding claims 1 to 4 is used, and in that a signal to be arbitrated, in particular an interrupt enable signal (IE0i) of a generic peripheral device (Pi) has a first logic value and goes to a second logic value only when said peripheral device (Pi) issues an enable request, in particular an interrupt request. A connection method with priority arbitration according to Claim 8, characterised in that a signal to be arbitrated, in particular an interrupt enable signal (IE0i), going to the second logic value disables the transmission of the signal to be arbitrated, in particular the interrupt enable signal (IE0i+1,IE0i+2,...,IE0n) from all the peripheral devices (Pi+1,Pi+2,...,Pn) having lower priority.

Inventors: LOSI MARCO, PELAGALLI SERGIO, LOSI, MARCO, PELAGALLI, SERGIO
Applicants: ST MICROELECTRONICS SRL, STMICROELECTRONICS S.R.L.
Application year: 1997
Main classification: H03K19
IPC codes: H03K19, G06F13