Memory address circuit having function of exchanging selected bits of address input

Abstract: A memory associated with an address circuit receiving an address signal to designate a location of the memory to be accessed. The address circuit includes an X-decoder and a Y-decoder associated to the memory, and a multiplexor receiving at least a portion of an address input and adapted to selectively distribute the above portion of the address input to the X-decoder and the Y-decoder. Specifically, the multiplexor receives at least one first bit of a portion of the address signal to be inputted to the X-decoder and at least one second bit of the remaining portion of the address signal to be inputted to the Y-decoder. In a first condition, the multiplexor operates to supply the first bit and the second bit of the address input to the X-decoder and the Y-decoder, respectively. In a second condition, the multiplexor operates to supply the first bit and the second bit of the address input to the Y-decoder and the X-decoder, respectively.

Description: Background of the Invention Field of the Invention The present invention relates to a memory incorporated in a microcomputer, and more particularly to an address circuit associated with a read only memory. Description of related art Heretofore, a microcomputer such as a one-chip microcomputer comprises a read only memory (ROM) storing a microprogram for controlling an operation of the microcomputer. As shown in Figure 1, a ROM 10 is associated with an address circuit which is composed of an X-decoder 12 and a Y-decoder 14. These decoders 12 and 14 are adapted to receive respective allocated portions of a given address signal through buses 16 and 18, respectively. The X-decoder 12 and the Y-decoder 14 cooperate to allow a data or microinstruction designated by the given address signal to be read out through an output 20. Further, if the capacity or size of the ROM is determined, the sum of the input numbers of the X-decoder 12 and the Y-decoder 14 is directly decided. Namely, if the number of inputs of the X-decoder is settled, the input number of the Y-decoder is accordingly determined. In addition, the numbers of the respective outputs of the X-and Y- decoders are also decided. These output numbers of the decoders and the output bit number of the ROM will determine the size of the ROM 10 in the X direction and in the Y direction. However, the conventional address circuits of the ROM have been adapted to distribute all bits of an input address signal to the X-decoder and the Y-decoder, so that the input address signal is full-decoded without exception. Therefore, even if the ROM includes addresses which are never accessed, the X-decoder and the Y-decoder had to comprise all circuits required for full-decoding the input address. This will result in wasteful increase of a LSI chip size. A memory according to the preamble of claims 1 is disclosed in EP-A-0 120 721. This memory comprises a first multiplexer for distributing X-address portions and a second multiplexer for distributing Y-address portions. It is an object of the invention to provide a memory which is associated with an address circuit and which makes it possible to save chip size. Another object of the invention is to provide a memory address circuit which includes a X-decoder and Y-decoder and which can save circuit elements of the X- or Y-decoder when a memory has an address that is never accessed. These objects are achieved by a memory as defined in claim 1; the dependent claims are related to further developments of the invention. With the arrangement according to the invention the multiplexer can mutually exchange a portion of the address to the X-decoder and a portion of the address to the Y-decoder. Therefore, the exchange of these address portions is to set that empty addresses being never accessed are collected to one or more output or decode lines of the X- or Y-decoder. As a result, for example, if one output line of the X- or Y-decoder is associated with only the empty addresses, a circuit associated to the output line of the decoder can be omitted. In other words, the number of circuit elements required for the X- or Y-decoder can be decreased, which will result in decrease of chip area necessary for the memory and in increase of an operation speed of the memory. These effects are very convenient to the microcomputer. The above and other objects, the features and advantages of the present invention will be apparent from the following description of preferred embodiments of the invention with reference to the accompanying drawings. Brief Description of the Drawings Figure 1 is a block diagram illustrating the conventional structure of a read only memory and an associated address circuit; Figure 2 Is a block diagram of a read only memory and an associated address circuit in accordance with the present invention; Figure 3 is a detailed circuit diagram of the address circuit and the multiplexer shown in Figure 2; and Figure 4 is a circuit diagram of a generator for a signal controlling the multiplexer shown in Figure 3. Description of the Preferred Embodiment Referring to Figure 2, there is shown a read only memory (ROM) 30 of the matrix structure. The ROM 30 is associated with an X-decoder 32 and a Y-decoder 34 which are adapted to receive respectively allocated bits of an address input. The X-decoder 32 operates to enable one of lines 36 connected to the ROM 30, and the Y-decoder 34 operates to enable one set of a plurality of sets of lines 38 connected to the ROM 30, so that a data or microinstruction designated by the address input is read out through an output 40. Further, there is provided a multiplexer 42 adapted to receive a portion of the address input and having a pair of outputs 44 and 46 connected to the X-decoder 32 and the Y-decoder 34, respectively. Specifically, the address input is divided into four portions 48, 50, 52 and 54. The first portion of the address input is directly inputted to the X-decoder 32. The second and third portions 50 and 52 are inputted to the multiplexer 42. The multiplexer 42 is controlled by a selection signal MIRXG to supply the second and third portions 50 and 52 to the X-decoder 32 and the Y-decoder 34, respectively, when it is in a first condition, and also to supply the second and third portions 50 and 52 to the Y-decoder 34 and the X-decoder 32, respectively, when it is in a second condition. Turning to Figure 3, there is shown a partial detailed circuit of a memory, an associated address circuit and a multiplexer in accordance with the present invention. As shown in Figure 3, a ROM 60 is of a matrix structure having a plurality of word lines 62 and a plurality of bit lines 64 orthogonal to the word lines 62. At each of intersections between the word lines 62 and the bit lines 64, there is located one MOS transistor 66 constituting one elementary memory. As seen from the drawing, the shown ROM 60 is of a word structure having each word consisting of 12 bits. Each four lines of the bit lines 64 are connected through transfer gates 68 provided in a Y-decoder 70 commonly to an input of one corresponding tristate output buffer 72 provided in an output circuit 74. These output buffers 72 are controlled by a ROM read signal MROMRD, and connected at their output terminal to corresponding lines of a bus 76. Each of the word lines 62 is selectively enabled by an associated X-decoder 78, which can be a well-known one. An address signal to be inputted to the ROM shown in Figure 3 is composed of 14 bits of MIR 0 to MIR 13. Two least significant bits MIR 0 and MIR 1 of the address signal are ordinarily supplied through a multiplexer 80 to a decoding section 82 of the Y-decoder 70. The decoding section 82 of the Y-decoder 70 includes a pair of inverters. 84 and four AND gates 86 connected as shown to decode a two-bit input so as to enable one selected transfer gate 68 of each set consisting of four transfer gates. The other bits of the address input excluding fifth and sixth less significant bits MIR 4 and MIR 5 are directly inputted to the X-decoder 78, and the fifth and sixth less significant bits MIR 4 and MIR 5 are inputted through the multiplexer 80 to the X-decoder 78. As shown in Figure 3, the multiplexer 80 includes four first transfer gates 88 connected between the address inputs MIR 0, MIR 1, MIR 4 and MIR 5 and the decoding section 82 of the Y-decoder 70 and the input of the X-decoder 78, respectively. The multiplexer 80 also includes four second transfer gates 90 connected between the address inputs MIR 0, MIR 1, MIR 4 and MIR 5 and the input of the X-decoder 78 and the decoding section 82 of the Y-decoder 70. The first transfer gates 88 are connected at their control terminals to an output of an inverter 92, and the second transfer gates 90 have their control terminals connected to an input of the inverter 92, which is connected to an output of another inverter 94 adapted to receive at its input the selection signal MIRXG. Therefore, if the signal MIRXG is at a high level, the transfer gates 88 are on and the transfer gates 90 are off, so that the address input MIR 0, MIR 1, MIR 4 and MIR 5 are supplied to the decoding section 82 of the Y-decoder 70 and the input of the X-decoder 78, respectively. But, if the signal MIRXG is at a low level, the transfer gates 88 are off and the transfer gates 90 are on, so that the address inputs MIR 0 and MIR 1 are supplied to the X-decoder 78 and the address inputs MIR 4 and the MIR 5 are supplied to the decoding section 82 of the Y-decoder 70. Turning to Figure 4, there is shown one example of a circuit for generating the selection signal MIRXG. The shown circuit includes three inverters 95, two OR gates 96 and two AND gates 97 connected as shown to receive a carry line of a ROM address generator (not shown), control signals 1 and 2, a timing signal and a reset signal. The selection signal MIRXG is brought into a high level "H", at the reset signal = "L" (low level), the control signal 1 = "L", the control signal 2 = "H", the timing signal = "L", and the carry line = "H". Next, operation will be explained with reference to Figure 2 and under the assumption that the first to fourth portions 48, 50, 52 and 54 of the address input are composed of 0 bit, 2 bits, 2 bits and 4 bits, respectively, and the lines 44 and 46 are two bits, respectively. Further, assume that the ROM 30 has a plurality of empty addresses which are never accessed. Therefore, by generating the selection signal MIRXG from the address signal so as to mutually exchange one or more input bits of the X-decoder and the corresponding number of input bits of the Y-decoder, one output of the X- or Y-decoder can be assigned to the empty area of address. Therefore, the number of the output lines of the X- or Y-decoder can be decreased. The above TABLE shows one example of an address mapping. In the example shown in the TABLE, the address space includes four empty addresses A, E, F and G and three use addresses B, C and D. Therefore, if the two least significant two bits "1" and "LSB" are mutually exchanged by the two bits "4" and "5", the addresses B, C and D are replaced by the addresses E, F and G, respectively. With this exchange of the address bits and the empty address A, a decode line for "100010" of the Y-decoder can be omitted. A decode line for the X-decoder can be also omitted in a similar manner. For example, review will be made on a ROM of 16 K words-12 bits as shown in Figure 3. In this case, the ROM consists of 196608 bits or transistors (2¹⁴ x 12). Assume that this ROM is modified to a memory structure of 428 x 48 bits (= 20554 bits). In this case, therefore, the X-decoder has the capacity of 428 x 12 bits (= 5136 bits). Ordinarily, each output buffer of the X-decoder includes two NAND gates and one inverter. Therefore, in the memory structure of 2¹⁴ x 12 bits, 2¹⁴ x 12 transistors are required as memory elements. 12 output buffers (72 transistors) are required, and 12 sense amplifiers are required. Further, 4 buffers (8 transistors) are required for the Y-decoder. Totally, 196700 transistors are required. On the other hand, in the memory structure of 428 x 48 bits, the memory itself contains 20544 transistors. But, 428 output buffers (2568 transistors) are required for the X-decoder. The 12 sense amplifiers and the four buffers for the Y-decoder are still required. Further, a MIRXG signal generator requires about 40 transistors. Therefore, the total number is 23172. Namely, the required number of elements is reduced to about 12 %. In addition, the required layout area is reduced to about 45 %. As seen from the above, the word number and the bit length of the memory structure can be changed without modifying the bit length of the address signal. In addition, the capacity of the memory can be easily reduced without changing the format of the address signal.

Claims: A memory associated with an address circuit receiving an address signal to designate a location of the memory (30) to be accessed, the address circuit including a X-decoder (32) and a Y-decoder (34) associated to the memory, and a multiplexer (42) receiving at least a portion of (50, 52) an address input (48, 50, 52, 54) and adapted to selectively distribute the above portion of the address input to the X-decoder (32) and the Y-decoder (34), wherein the multiplexer receives at least one first bit of a portion of the address signal to be inputted to the X-decoder (32) and at least one second bit of the remaining portion of the address signal to be inputted to the Y-decoder (34), the multiplexer (42) operating to supply in a first condition the first bit and the second bit of the address input to the X-decoder and the Y-decoder, respectively, characterized in that said multiplexer operates in a second condition to supply the first bit and the second bit of the address input to the Y-decoder and the X-decoder, respectively. A memory claimed in claim 1, characterized in that the multiplexer (42) receives a plurality of first bits contained in a portion of the address signal to be inputted to the X-decoder (32) and the corresponding number of second bits contained in the remaining portion of the address signal to be inputted to the Y-decoder (34), the multiplexer operating to supply in a first condition the first bits and the second bits of the address input to the X-decoder and the Y-decoder, respectively, and in a second condition the first bits and the second bits of the address input to the Y-decoder and the X-decoder, respectively. A memory claimed in claim 1 wherein the memory (30) includes a read only memory.

Inventors: SAITOU MIKIO, TANINAKA HIROYUKI, SAITOU, MIKIO, TANINAKA, HIROYUKI
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1987
Main classification: G11C8
IPC codes: G06F15, G11C8, G11C11, G11C17