Method and apparatus for resetting a video SRAM
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates in general to graphics systems and in particular to a method and apparatus for resetting a video SRAM within a single DRAM-SRAM transfer cycle in a graphics system. 
     2. Description of Prior Art 
     A graphics system typically comprises a central processing unit (CPU), a memory and a video display (CRT). 
     In operation, data to be displayed on the CRT is transferred from the CPU to the memory and then onto the CRT. To maintain the display on the CRT, the data in the memory is repeatedly transferred to the CRT in what are called screen refresh cycles. New data or a change in the data to be displayed on the CRT is transferred to the memory in what are called update cycles. The refresh cycles always take priority over the update cycles. 
     In the initial development of graphics systems, the memory typically comprised a single dynamic random access memory (DRAM) which was used both for refreshing the screen and for receiving video updates. However, because of the priority given to the refresh function, the update of the DRAM was constrained to those periods of time when the CRT was in a blanking cycle, i.e. returning to its initial state after scanning a line or returning to its initial state at the end of a frame scan. As a result, the updating of the DRAM was typically limited to a period of approximately 13% of the DRAM operating time. 
     To isolate the refresh and updating functions of the then current video graphics systems and to thereby increase the time available for updating the DRAM and for freeing the DRAM for use in other data processing operations, an improvement in video graphic systems was made comprising the use of a static random access memory (SRAM) in combination with a DRAM. In the improved system there was provided a CPU, a DRAM input register, a DRAM, a DRAM output register, data transfer gates, an SRAM and an SRAM output register. 
     In operation, video data for updating the DRAM is transferred from the CPU to the DRAM input register and then to the DRAM. From the DRAM, the data may be transferred to the DRAM output register and back to the CPU for further processing or, via the transfer gates, in parallel to the SRAM. From the SRAM the data is transferred to the SRAM output register for use in refreshing the CRT. 
     In practice, the data for updating the DRAM is serially transferred from the CPU to the DRAM. For a DRAM comprising 256 rows, a complete data transfer requires 256 DRAM cycles. The data transfer from the DRAM to the SRAM being in parallel requires 1 DRAM cycle, for a total of 257 DRAM cycles. 
     An example of the above-described improved DRAM-SRAM graphics system is disclosed in U.S. patent application Ser. No. 564,969, filed Dec. 23, 1983, entitled Improved Semiconductor Device for Serial Scan Applications and assigned to the assignee of the present application. 
     In still another improvement in video graphics systems, an SRAM input register is provided for use between an external source of video data and an SRAM. 
     In operation, video data from the external source is transferred from the source to the SRAM input register. From the SRAM input register, the data is transferred serially into the SRAM. For an SRAM comprising 256 column cells, the serial transfer requires 256 SRAM cycles. 
     Data transfers using SRAM cycles are typically faster than data transfers using DRAM cycles. For example, in a typical serial SRAM data transfer, the data transfer is 4 times faster than a typical serial DRAM data transfer. Accordingly, a 256 step serial SRAM data transfer requires only 64 DRAM cycle times. 
     Another advantage of the latter system is that the provision of a separate SRAM input register coupled to an external source permits data transfers to the SRAM without going through the DRAM. 
     While providing a reduction in the time it takes for storing data in an SRAM from an external source, the above-described improvements in video graphic systems do not provide a method or an apparatus for resetting an SRAM and/or a DRAM in less than 25% of the time it takes to ordinarily load a DRAM in a conventional manner. 
     SUMMARY OF THE INVENTION 
     In view of the foregoing, objects of the present invention are a method and an apparatus for loading or resetting an SRAM within a single DRAM-SRAM transfer cycle. 
     In accordance with the above objects, there is provided in a video graphics system comprising a DRAM and an SRAM such as is disclosed in the aforementioned U.S. patent application Ser. No. 564,969, a plurality of circuits for generating reset control signals, an SRAM WRITE CONTROL CLOCK generator, a reset register, a multiplexer and pass gate control circuits for controlling data transfers to and from the SRAM. 
     Among the reset control signal generating circuits there is provided a plurality of circuits which are responsive to existing control signals for generating a plurality of control signals for controlling the SRAM WRITE CONTROL CLOCK generator, the reset register, the multiplexer and the pass gates used for controlling data transfers to and from the SRAM during an SRAM reset operation. 
     In the reset register there is provided a plurality of stages for temporarily storing data bits which define one of a plurality of video graphic backgrounds. For example, with 4 bits the SRAM can be set or reset to 16 different backgrounds. 
     In the multiplexer there is provided at least two inputs for selectively transferring data to the SRAM from a conventional SRAM input register or the SRAM RESET register. 
     In the pass gate control circuits there is provided a plurality of gates for selectively coupling and decoupling the SRAM to and from a conventional address decoder and latch circuit, to and from a DRAM and to and from conventional data lines. 
     In operation, the only time the DRAM and SRAM and associated control signals are not used for transferring data via their respective input and output registers is during a data transfer between the DRAM and the SRAM, i.e. from the DRAM to the SRAM or from the SRAM to the DRAM. Taking advantage of this fact, the method and apparatus of the present invention resets the SRAM during a conventional DRAM-to-SRAM transfer cycle. Of course, in an alternative embodiment of the present invention, the SRAM-to-DRAM transfer cycle could also be used by means of a suitable choice of control signals. 
     When a user wishes to reset the SRAM, i.e. provide a particular background on the screen of the CRT, e.g. white, black, red, blue, etc., the user transfers data bits defining the desired background to the DRAM input data buffer. This occurs at the beginning of a conventional DRAM-to-SRAM transfer cycle. After the desired reset bits are stored in the DRAM input data buffer, the user initiates the reset cycle by changing the state of at least one control signal, e.g. the static output enable/reset (SG/R) control signal, from its normal low condition during a normal DRAM-to-SRAM transfer cycle to a high condition. 
     The combination of the setting of the SG/R control signal to an abnormal high condition and other conventional DRAM-to-SRAM transfer control signals are then used to cause the RESET control signal generating circuits to generate a sequence of RESET control signals. As the RESET control signals are generated, they operate to cause, in sequence, the decoupling of the SRAM from the SRAM decoder and latch circuit and from the SRAM data lines, the transferring of the reset data from the DRAM input buffer to the RESET REGISTER, the transferring of data from the DRAM to the SRAM, the recoupling of the SRAM to the SRAM data lines, the transferring of the reset data from the RESET REGISTER to the SRAM via the SRAM data lines and, thereafter, returning the system to its pre-reset condition, all with a normal DRAM-to-SRAM transfer cycle. 
     The method and apparatus of the present invention provides several advantages. One of the advantages is that an SRAM can now be reset 64 times faster than heretofore possible. 
     Another advantage is that once the SRAM is reset using the method and apparatus of the present invention, existing conventional parallel transfer gates may be used for resetting the DRAM coupled thereto during conventional SRAM-to-DRAM transfer cycles. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     The above and other objects, features and advantages of the present invention will become apparent from the following detailed description of the accompanying drawing in which: 
     FIG. 1 is a block diagram of a graphics system incorporating the present invention; 
     FIG. 2 is a more detailed block diagram of a DRAM-SRAM and decoder circuit according to the present invention; and 
     FIG. 3 is a diagram of control signals generated according to the present invention. 
    
    
     DETAILED DESCRIPTION OF THE DRAWING 
     Referring to FIG. 1, there is provided in accordance with the present invention a graphics system designated generally as 1. In the system 1 there is provided an X address buffer 2. In the X address buffer 2 there is provided a first input for receiving a row address strobe control signal (RAS), a second input for receiving an address (A0-A7) and an output coupled to an X decoder 3. 
     Below the buffer 2 there is provided a Y address buffer 4. In the Y address buffer 4 there is provided a first input for receiving the address A0-A7 and a second input for receiving a column address strobe control signal (CAS) and an output coupled to a Y decoder 5. The X decoder 3 is coupled to the word lines of a dynamic random access memory (DRAM) 6. The Y decoder 5 is coupled to the bit lines of the DRAM 6. As will be further described below, while only one DRAM is shown, in a preferred embodiment of the system 1, four DRAM&#39;s are provided. 
     Below the Y address buffer 4 there is provided a φSENSE circuit 10. In the φSENSE circuit 10 there is provided an input for receiving the control signal RAS and an output for providing a control signal φSENSE on an output line 11. The control signal φSENSE is provided to the DRAM 6 on a line 12 for enabling the DRAM sense amplifiers in a conventional manner. 
     Below the φSENSE circuit 10 there is provided a φST circuit 15. The φST circuit is provided with a first input for receiving the control signal RAS, a second input for receiving a write enable signal (W) and a third input for receiving a transfer/output enable for DRAM control signal (XF/G) and an output for providing a control signal φST on an output line 16. 
     Coupled to the output lines 11 and 16 there is provided a φTRD circuit 17. The circuit 17 is provided for providing in response to the control signals φSENSE and φST, a control signal φTRD on an output line 18. Coupled to the output line 18 there is provided a transfer gate circuit designated generally as 20. As will be described further below, the transfer gate circuit 20 in the embodiment described herein comprises 256 transfer pass gates for each of the DRAM&#39;s in the system 1. 
     Below the φTRD circuit 17 and coupled to the output line 16 of the φST and the output of the Y address buffer 4, there is provided an address generator 21. In the address generator 21 there is provided an output for providing addresses to an SRAM decoder 22 on an address bus 23. 
     Above the decoder 22 there is provided a static random access memory (SRAM) 25. The SRAM 25 is coupled to a plurality of data lines DL and DL and to the transfer gates 20 by a plurality of bit lines 26. 
     While only one SRAM is shown, in a preferred embodiment of the present invention there is provided a separate SRAM for each DRAM. The data lines DL and DL are shown as comprising 4 pairs of data lines to show that the SRAM 25 actually comprises 4 SRAM&#39;s, one coupled to each pair of data lines DL and DL in a conventional manner. 
     The DRAM 6 is coupled to a DRAM input/output logic circuit 30 by means of a data bus 31. As in the case of the data lines DL and DL, the bus 31 is shown as comprising 4 pairs of data lines to show that the DRAM 6 actually comprises 4 DRAM&#39;s, one coupled to each pair of data lines in a conventional manner. 
     In the circuit 30 there is provided a first input for receiving the control signal W, a second W input for receiving the control signal CAS and a third input for receiving the control signal RAS. The circuit 30 is also coupled to a DRAM data input buffer 32 by means of a data bus 33 and a data output buffer 34 by means of a data bus 35. 
     In the input buffer 32 there is provided a first input for receiving the control signal W and a second input for receiving the control signal RAS. 
     In the data output buffer 34 there is provided a first input for receiving the control signal W, a second input for receiving the control signal CAS, and a third input for receiving the control SIGNAL XF/G. The input buffer 32 and the output buffer 34 are also coupled to a data input/output bus 36 for transferring 4 bits of data DQ 0-3  to and from the DRAM 6. 
     The data lines DL and DL are coupled to an SRAM output logic circuit 40. In the logic circuit 40 there is provided an input for receiving a control signal φSAE on a control signal line 41 and an output for providing data to an SRAM output buffer 42 on a data bus 43. 
     Located above the SRAM output logic circuit 40 there is provided an SRAM read control clock circuit 45. In the circuit 45 there is provided a first input for receiving the control signal W, a second input for receiving system clock pulses V CLK  and an output coupled to the control line 41 for providing thereon the control signal φSAE. 
     Also coupled to the data lines DL and DL there is provided an SRAM write interface circuit 50. In the write interface circuit 50 there is provided an input for receiving a control signal φSW on a control signal line 51 and a plurality of inputs coupled to a data input bus 52. 
     In the SRAM output buffer 42 there is provided an input for receiving a static output enable/reset control signal (SG/R) and an output coupled to an output data bus 55. 
     Below the SRAM output buffer 42 in FIG. 1 there is provided an SRAM input buffer 56. In the SRAM input buffer 56 there is provided an input coupled to a data input bus 57 and an output coupled to an output data bus 58. The data bus 58 is in turn coupled to an input of an SRAM input logic circuit 59. In the logic circuit 59 there is also provided an output coupled to a data bus 60. 
     In the lower portion of FIG. 1, there is shown a number of circuits enclosed within a broken line designated generally as 61. The circuits enclosed within the broken line 61 are used for resetting the SRAM 25 during a single DRAM-SRAM transfer cycle, as will be further described below. 
     Below the address generator 21 there is provided a φRESET circuit 70. In the φRESET circuit 70 there is provided a first input coupled to the control signal line 16 for receiving the control signal φST, a second input for receiving the control signal SG/R, a third input for receiving the control signal CAS and an output for providing a control signal φRESET on a control signal line 71. 
     Coupled to the control signal line 71 and the output line 18 from the φTRD circuit 17, there is provided a φRFS circuit 72. In the φRFS circuit 72 there is provided an output for providing a control signal φRFS on a control signal line 73. 
     Below the φRESET circuit 70 there is provided a φSISO circuit 74. In the φSISO circuit 74 there is provided an input coupled to the control signal line 16 from the φST circuit 15 and an output for providing a control signal φSISO on a control signal line 75. 
     Coupled to the control signal line 75 there is provided an input of a φDLI circuit 76. In the φDLI circuit 76 there is also provided an output for providing a control signal φDLI on a control signal line 77. 
     Below the φSISO circuit 74 there is provided a φRST circuit 80. In the φRST 80 there is provided a first input coupled to the control signal line 75, a second input coupled to the control signal line 73 and a third input coupled to the control signal line 77 for receiving the control signals φSISO, φRFS, and φDLI, respectively, and an output for providing a control signal φRST on a control signal line 81. 
     Below the SRAM write interface circuit 50 there is provided an SRAM write control clock circuit 82. In the circuit 82 there is provided a first input coupled to the control signal line 73 for receiving the control signal φRFS, a second input for receiving the control signal W, a third input for receiving the system clock pulses V CLK  and an output coupled to the output signal line 51 for providing the control signal φSW to the SRAM write interface circuit 50. 
     To the right of the clock circuit 82 there is provided a reset register 83. In the reset register 83 there is provided an input for receiving 4 bits of reset data DM 0-3  from the DRAM data input buffer 32 on a data bus 84, an input coupled to the control signal line 71 for receiving the control signal φRESET and an output for providing 4 bits of reset data φSD 0-3  on a data bus 85. 
     Coupled to the reset register 83 by means of the data bus 85 there is provided a multiplexer 86. In the multiplexer 86 there is provided one input coupled to the data bus 60, a second input coupled to the data bus 85, a third input coupled to the control signal line 71 for receiving the control signal φRESET and an output for providing data from the reset register 83 or the SRAM input logic circuit 59 on the data bus 52. 
     Referring to FIG. 2, the DRAM 6, SRAM 25, the decoder circuit 22 and the associated gating circuits will now be described in more detail. However, it should be kept in mind that in a preferred embodiment of the present invention, 4 sets of such circuits will be provided, with one such set of circuits coupled to each pair of data lines DL and DL. 
     In the DRAM 6 there is provided 256 pairs of bit lines designated 0-255 and 128 word lines designated 0-127. Each pair of the bit lines in the DRAM 6 is coupled to a pair of transfer pass gates 90, only one of which is shown for each bit line pair. The control electrodes of all of the transfer gates 90 are coupled in parallel to the control signal line 18 for receiving the control signal φTRD. 
     In the SRAM 25 there is provided 256 pairs of bit lines designated 0-255 and one word line designated 1. Each of the pairs of bit lines in the SRAM 25 is coupled to a corresponding pair of the pass gates 90 and to the data lines DL and DL by a pair of pass gates 91, only one of which is shown. 
     In the decoder 22 there is provided 256 outputs designated 0-255. Each of the outputs of the decoder is coupled to a corresponding one of the control electrodes of the pass gates 91 through a pass gate 92. The control electrodes of all of the pass gates 92 are coupled in parallel to the control signal line 75 for receiving the control signal φSISO. 
     Coupled to a node SY between the control electrode of each of the pass gates 91 and the pass gates 92, there is provided a complementary gating circuit comprising a pair of complementary gates 93 and 94. The control electrodes of all of the gates 93 are coupled in parallel to the control signal line 81 for receiving the control signal φRST. The control electrodes of all of the gates 94 are coupled in parallel to the control signal line 77 for receiving the control signal φDLI. 
     The simultaneous resetting of all of the SRAM cells to the same state in each of the 4 SRAM arrays in system 1 is provided preferably during an otherwise conventional DRAM-to-SRAM data transfer cycle by using and re-interpreting control signals used for the DRAM-to-SRAM transfer cycle. 
     As will be described in detail below, during a DRAM-to-SRAM transfer cycle, the state of the SRAM output buffer control signal SG/R is used to determine whether or not the SRAM is to be reset. If SG/R is high when CAS goes low, the SRAM is reset to a background state, otherwise it is not. The background state for each of the 4 SRAM arrays is defined by one of the four bits of reset data DQ 0-3  which are latched into the DRAM input buffer at the start of the DRAM-to-SRAM transfer cycle. 
     Referring to FIG. 3, in operation, when a user wants to reset the SRAM, i.e. provide a background on the video display, the user drives XF/G low and W high. Thereafter, the user drives RAS low. When RAS is driven low: 
     1. Reset data DQ 0-3  on the bus 36 is latched into the DRAM input buffer 32, and 
     2. φST is driven low defining the start of a DRAM-to-SRAM transfer cycle. 
     A predetermined time after RAS is driven low, φSENSE is driven high in a conventional manner for enabling the DRAM sense amplifiers for a DRAM-to-SRAM data transfer. 
     Meanwhile, when φST goes low and before φSENSE is driven high: 
     1. φSISO is driven low disabling the gates 92 and isolating the SRAM 25 from the SRAM decoder circuit 22; 
     2. φRST is driven high; and 
     3. A short time later, φDLI is driven high, disabling the pass gates 91 and isolating the SRAM from the data lines DL and DL. 
     After the SRAM is isolated from the SRAM decoder 22 and the data lines DL and DL the user drives SG/R high and CAS low, driving φRESET high. 
     Driving φRESET high latches the RESET data DM 0-3  from the DRAM input buffer 32 into the RESET register 83 and switches the multiplexer 86 to couple the bus 85 and the bus 52. 
     After the φRESET is driven high, φSENSE goes high, enabling the DRAM sense amplifiers and generating the pulse φTRD which enables the pass gates 90 between the DRAM 6 and the SRAM 25 to effect a transfer of data from the DRAM to the SRAM. 
     On the trailing edge of the pulse φTRD, φTRD and φRESET combine to drive φRFS high. Driving φRFS high starts a self-timed SRAM RESET function. 
     When φRFS goes high: 
     1. φDLI is driven low; 
     2.a short time later, φRST is driven low driving all of the nodes SY 0-255  high, coupling all SRAM cells in parallel to the SRAM data lines DL and DL; and 
     3. the pulse φSW is generated transferring the RESET data φSD 0-3  from the RESET register 83 through the SRAM write interface circuit 50 to the SRAM data lines DL and DL and thereby in parallel, into all of the SRAM cells. 
     After the pulse φSW goes low, φRFS is driven low ending the resetting of the SRAM 25. 
     φRFS going low drives φRST high. 
     After φRST is driven high, the user terminates the DRAM-to-SRAM transfer cycle by driving RAS high. 
     RAS going high drives φRESET low and φST high. 
     φST going high drives φSISO high, thereby recoupling the SRAM to the decoder circuit 22. 
     At the end of the DRAM-to-SRAM transfer cycle in which the SRAM is reset, the SRAM is used for refreshing the screen with the reset data, i.e. a uniform background, and/or to reset the DRAM by means of SRAM-to-DRAM transfer cycles in a conventional manner. 
     While a preferred embodiment of the present invention is described above, it is contemplated that various changes may be made thereto without departing from the spirit and scope of the present invention. For example, while the invention is described with reference to the use of an SRAM and a DRAM in a graphics system, it is to be understood that other types of memories may be used. Accordingly, the above description should be considered only as illustrative of the present invention and its scope should be determined by the claims hereinafter provided.