High performance single port RAM generator architecture

Abstract: A single-port RAM generator architecture, intended to generate different RAMs structures in a CAD enviroment, and being of the type comprising a Static RAM (2) matrix and a self timed architecture (3), comprises also a control logic (10), a dummy row (7) and a dummy column (9) having respectively equivalent load of a word line and of bit column of said matrix (2). The dummy column (9) is discharged at a faster rate than the corresponding bit column optimizing the timing and reducing power consumption. Different column multiplexer choise gives different RAMs for a selected RAM size, each having slightly different silicon area and timing performance.

Description: 1. Field of Invention This invention relates to a high performance single port RAM generator architecture intended to generate different RAMs structures in a CAD enviroment and being of the type comprising a Static RAM matrix and a self timed control logic. The field of application of the present invention pertains to the development of memory generators installed and running in Computer Aided Design environments. 2. Discussion of the Related Art As it is well known, the technical development in the microelectronics field has allowed the integration of millions of transistors on a single chip. The problem of how to design such complex integrated circuits, and how to test their operation capabilities, has drawn to a new design methodology and to new design instruments. From a full custom design approach, that was intended to optimize the silicon area to the detriment of the time spent on the circuit design, the modern approach is now based on the so-called structural design that uses predetermined circuit blocks, each block having known functions and characteristics if taken alone or in combination. In other words, a library containing hundreds of circuitry components is nowadays available for the circuit designer. Moreover, in order to develop even more the library efficiency, integrated circuits generators have been elaborated just to conform the library elements according to the user's necessity. Therefore, it's not even necessary to expand the library for including all the possible options of a certain circuit, but on the contrary it is sufficient keeping a base circuit and a suitable program capable to modify such a base circuit according to specific requirements. An example of this technique is given by memory boards built by a basic cell which is repeated for a predetermined number of times in order to obtain a memory structure suitable for a specific application. In such a manner, the number of words, the word size and the circuit layout may be designed choosing among a range of parameters. However, this prior art solution provides for a circuit generator library containing all possible basic circuits covering all possible user's requirements. Therefore, the complexity of the circuits library is the critical point of the generator. On the contrary, each basic circuit included in the circuit generator should be useful to tolerate any possible parameters modification introduced by the user offering substantially a self adapting disposition. A prior art solution is disclosed in the IBM TDB, vol. 31, No. 6 of November 1988, at pages 128-129: "CMOS High Performance sense scheme for growable macros" which relates to a scheme for timing a sense amplifier by the introdution of dummy bit line cells, dummy bit lines and dummy word lines. Claim 1 is delimited against this document. In a macros generator it's extremely important that the signals propagation along the dummy wordline and the dummy bit line, which are the lines allowing the synchronization, is reproduced in the same manner as in the matrix array. The dummy cells on the dummy bit line disclosed in the above document are too simple to be reliable in a macros generator which should be well adjustable for a large number of user's requirements. A memory structure concerning a static RAM matrix having a self timed architecture comprising a dummy row and a dummy column is disclosed in EP 0 422 939. This second document relates to a memory device which is the end product of a RAM generator. The dummy bit line cells of the memory device are identical in structure to the normal memory cells. The dummy cells therefor become large in size. A first object of the present invention is to provide a single-port RAM generator having such structural and functional features as to afford variations in the parameters introduced by the user, thereby to overcome the drawbacks of prior art solutions. A further object of the present invention is to provide a RAM generator containing all the elements to use the same basic generation cell with a self timing architecture to generate internal signals to perform RAM operation. Timing must change automatically if different RAM sizes are employed to achieve high speed, and low power consumption, even with smaller memory cells. SUMMARY OF THE INVENTION The technical problems of the prior art are overcome by a single-port RAM generator architecture disclosed in the annexed claim 1. The features and advantages of an architecture according to the present invention will become apparent from the following detailed description of an embodiment thereof, given by way of illustration and not of limitation with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS In the drawings: Figure 1 is a schematic view of a single-port RAM generator architecture embodying the present invention; Figure 2 is a schematic view of a basic SRAM cell included in the generator of figure 1; Figure 3 shows a schematic view of a particular of the RAM generator architecture of figure 1; Figures 4 to 6 are diagram views showing timing signals waveforms of the generator of the present invention; Figures 7 to 9 are diagram views showing timing signals waveforms of a slightly different RAM architecture generated by the device of the present invention. DETAILED DESCRIPTION Generally and schematically shown at 1 in figure 1 is the architecture of a single-port RAM generator embodying the present invention. The RAM generator 1 is intended to generate different RAMs structures depending on the user's specific requirements. The generator is preferably realized in HCMOS technology. Generator 1 operates in a CAD system environment, not shown being of a conventional type known as UNIGEN. A wide range of parameters are available to generate the RAM structure: i.e. from 8 to 8k words with a word size of 1 to 64 bits. Moreover, two modes of RAM can be generated as hereinafter described. Generator 1 comprises Static RAM matrix 2 and a self timed architecture 3. SRAM matrix 2 comprises a predetermined number of rows corresponding to the word lines and a predetermined number of columns corresponding to the bit lines. Each basic SRAM cell 13, shown in figure 2, comprises a couple of small inverters 4, 5 latches connected back to back with corresponding pass transistors M4, M5 connected to the bit line. Each inverter 4, 5 is connected between ground and a supply voltage Vd comprising a CMOS structure with a first N-channel MOS transistor connected to a second P-channel MOS transistor. In figure 2 is schematically shown the cell 13 structure with transistors M0 and M1 forming the first inverter 4 and transistors M2 and M3 forming the second inverter 5. More specifically, at least a total of six transistors is included in the basic RAM cell 13 with the inverter latches 4, 5 and two pass transistors M4, M5 connecting to the bit lines. Static power consumption is limited to only leakage current. Both pass transistors M4, M5 and the inverters 4, 5 are of a small size in order to achieve high density. A self timed architecture 3 in figure 1 comprises a control logic 10, with a duty cycle independent read cycle activated by the falling edge of a clock signal, a dummy row 7 and a dummy column 9. Dummy row 7 has the equivalent load of a word line. Therefore, dummy row 7 corresponds to a memory row. Dummy column 9 has the equivalent load of a bit line. Therefore, dummy column 9 corresponds to a memory column. Dummy row 7 gets selected along with a memory row, while dummy column 9 is selected along with the memory cells but is discharged at a faster rate than the memory column. Dummy column 9 comprises an input portion with an array 11 of discharge cells whose function will be described hereinafter. Both dummy row 7 and dummy column 9 give equivalent loading to the control circuitry in order to generate signals which are always optimum. Figure 3 shows the basic structure of dummy column 9 input portion 14. Such input portion 14 comprises some discharge cells 11 each including a couple of transistors T1, T2. Both transistors T1, T2 are N-channel MOS and are connected between dummy column 9 and the supply voltage Vd. Moreover, the size of transistors T1 and T2 is equivalent to the size of transistors M4 and M0 respectively. Each first transistor T1 has the drain D1 connected to the bit line and the source S1 coupled to the drain D2 of the second transistor T2. Each second transistor T2 has the sourse S2 connected to ground and to the gate G2 connected to the supply voltage Vd. All gate terminals G1 of the first transistors T1 are connected together and receive the same dummy row selection signal 20. This signal 20 is produced at the output of control logic 10. At least five discharge cells 11 are connected in parallel to dummy column 9. The remaining cells of dummy column 9 are similar in structure to discharge cells 11 with the only difference that the gate terminal G2 of each second transistor T2 is ground connected. Coming back to the generator main structure in figure 1, a read and write pass gates block 8 is connected to bit lines after the last row line of the memory matrix 2. A sense amplifier 15 is downstream connected to the pass gate block 8 and gives access to an output line U of latches and buffers. The output line U is tristated by an output enable pin OEN. A decoder D is provided to select the addresses of the memory matrix 2, as shown in figure 1. According to known technology, the size of decoder D is adapted to the RAM size. Sense amplifiers 15 are driven by dummy column 9 and control logic 10 through a driver block 19. The control logic 10 is also connected to dummy row 7, to feed the selection signal 20, and to the decoder D. Control logic inputs are: a clock signal CSN and a write enable signal WEN. The system clock CSN is a free running clock and is used to trigger the RAM access with its falling edge. Write enable signal WEN decides the cycle to be either write or read. The operation mode of the single-port SRAM generator of the present invention is hereinafter described with reference to an initial state in which a read cycle is ready to run. A read cycle starts with the falling edge of the clock signal CSN. Reading is duty cycle independent but writing takes place when write enable signal WEN is held low. Address is latched and the decoder D selects the memory cells of the matrix 2. Dummy column 9 is discharged at a faster rate, about five times, than normal bit lines. In other words, the dummy column gets discharged faster than the memory column. Dummy column 9 goes below half the supply voltage and activates the sense amplifier 15, that strongly increases the voltage difference between the bit lines. When the sense amplifiers are selected, the memory cells are unselected. At this point, memory columns have only 300 mV voltage difference, unlike in other conventional RAMs where voltage difference is higher. Data is therefore latched and becomes available at the output line U. More particularly, output columns are connected to the memory columns through high resistance making only output columns getting discharged to zero whereas the memory column gets discharged minimally to reduce power consumption. This also reduces precharging time. Self timed operation optimizes the timing and reduces the power consumption; in fact, a simple sense amplifier, triggered only for the required duration, consumes very little power and gives reasonably fast performance. Every cycle begins with a read cycle. Read operation starts in every cycle according to the waveform shown in Figure 4; however, the writing phase is enabled only when WEN (Write ENable) signal is held low, while clock CSN is still low. If write enable signal WEN goes low, read operation is terminated by turning off the sense amplifier 15, if it is on. The write operation is traditional and takes less time than the read operation. Input data is put on the bit lines to write into the memory cells 2. During write cycle, input data being written appear at the output bus. At the occurrence of WEN signal or clock CSN signal going high, the write operation is completed. Bit lines will be precharged and the RAM will be ready for a next cycle. In every cycle the addresses are latched at the falling edge of the clock (CSN) signal. The setup and hold times of address and data-in changes depending on the size and mux used for a given RAM. Similarly the access time, write recovery time depends on the size of the RAM. Data are available at the output line U after the lapse of the access time. The maximum advantage of the RAM generator of the present invention can be obtained when a wide range of parameter options are available. This allows the user to generate a RAM of optimum performance with minimum compromises. The user can generate the datasheet for different RAMs, and decide the configuration before the generation of a layout view. Different mux choices are available and this implies modification of aspect ratio. Two modes of RAMs can be generated depending on the output control to be CSN dependent. A) First Mode: This first mode generates a RAM with the output U enabled only by the output enable signal (OEN). If OEN is high, the output bus is tristated. The read operation starts in every cycle according to the waveforms showed in figure 2. Writing is enabled by signal WEN going to zero during a cycle. The write cycle waveforms are shown in figure 3. The write cycle closes when WEN or CSN signals goes high, whichever comes first. The user can connect the OEN pin to ground to obtain a direct output. If reading is already finished, then the write cycle can be called as a read-modify-write cycle (figure 4). B) Second Mode: A second operation mode enables the output U only when both clock signal (CSN) and output the enable signal (OEN) are held low. The read cycle signal waveforms concerning this second mode are shown in figure 5. When the RAM is generated in this second mode it will have output U controlled by the clock CSN and OEN signal inputs. Write cycle starts after CSN goes low followed by WEN going low. On the contrary, when any one of these two signals go high, the write cycle is closed. In other words, either CSN or WEN goes high first, it makes the write cycle end. The read cycle starts with the falling edge of the clock CSN and it is always independent from the duty cycle, as shown in figure 5. The read operation can be overridden by WEN signal to start write operation. The waveforms of the write cycle are showed in figure 6. It may happen that the user waits for the read operation to be completed before starting writing during the same clock cycle. In this case, it's possible to have a read-modify-write cycle by which output U can be tristated with the help of OEN signal when write operation starts. However, if both OEN and CSN signals are still low, write operation can overwrite the output data with the data being written. For this specific occurrence reference is made to the waveforms shown in figure 7. The user can generate the final layout once he is satisfied with the timing, size, aspect ratio and maximum power consumption of the RAM. Different column multiplexer choise gives different RAMs for a selected RAM size, each having slightly different silicon area and timing performance. Final layout and views are generated by a suitable program available in the CAD enviroment. Having thus described one particular embodiment of the invention, various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alteration, modifications, and improvements as are made obvious by this disclosure are intended to be part of this disclosure though not expressly stated herein, and are intended to be within the scope of the invention as defined by the appended claims. Accordingly, the foregoing description is by way of example only and is not intended as limiting.

Claims: A single-port RAM generator architecture for the generation of different RAM structures in a CAD environment, which comprises: a Static RAM (2) matrix, including a predetermined number of rows connected to a decoder, and corresponding to the wordlines, and a predetermined number of columns corresponding to the bit lines, and a self timed architecture (3) including a dummy row (7) and a dummy column (9), said dummy row (7) including a dummy word line having an equivalent load of a word line within the memory matrix (2), said dummy column (9) including a dummy bit line connected to dummy cells and having an equivalent load of a bit line of said matrix (2), a sense amplifier (15), characterised by a decoder (D) of the matrix adapted to the RAM size; a control logic (10), connected to the decoder (D), to the dummy row (7) and column (9) and to the sense amplifier (15) of the matrix (2) by a driver (19) block, to supply selection signals (20), said dummy column (9) including an input portion with an array (11) of discharge cells being discharged at a faster rate than the corresponding bit line, said sense amplifier being triggered only for a required duration, each discharge cell (11) including just one couple of transistors (T1, T2) connected in series between the dummy bit line (9) and ground and representing the load of the discharge path of a memory cell. RAM generator according to claim 1, characterized in that said transistors (T1, T2) are MOS type, with the first transistor (T1) having a drain (D1) connected to the dummy column (9) and a source (S1) coupled to a drain (D2) of the second transistor (T2), the second transistor (T2) having a source (S2) connected to ground and a gate (G2) connected to the supply voltage (Vd). RAM generator according to claim 1, characterized in that all gate terminals (G1) of first transistors (T1) are connected together and receive a same dummy row selection signal (20). RAM generator according to claim 1, characterized in that said matrix (2) comprises basic SRAM cells (13) including a couple of inverter (4, 5) latches connected back to back with corresponding pass transistors (M4, M5) connected to the bit line. RAM generator according to claim 1, characterized in that the self timed architecture (3) control logic (10) has a duty cycle independent read cycle activated by the falling edge of a clock signal. RAM generator according to claim 1, further comprising an output line (U) of latches and buffers being enabled by a falling edge of at least one of a clock (CSN) signal and an output enable (OEN) signal. A method of generating RAM structures in a CAD enviroment comprising the steps of: providing a single port RAM generator according to claim 1 which permits variations of the RAM structures; associating a self-timed control logic with the RAM generator to provide internal signals to the RAM generator to represent RAM operations; selecting one or two modes of operations in the RAM structures; and operating the CAD enviroment to generate and vary the RAM structures.

Inventors: BARONI ANDREA, CAPOCELLI PIERO, CARRO LUIGI, MASTRODOMENICO GIOVANNI, TAGLIERCIO MICHELE, VARAMBALLY RAJAMOHAN, BARONI, ANDREA, CAPOCELLI, PIERO, CARRO, LUIGI, TAGLIERCIO, MICHELE, VARAMBALLY, RAJAMOHAN, CAPOCELLI, PIERO C/O SGS-THOMSON, TAGLIERCIO, MICHELE C/O SGS-THOMSON
Applicants: ST MICROELECTRONICS SRL, STMICROELECTRONICS S.R.L.
Application year: 1992
Main classification: G11C7
IPC codes: G11C7, G06F17