Movatterモバイル変換


[0]ホーム

URL:


USRE40423E1 - Multiport RAM with programmable data port configuration - Google Patents

Multiport RAM with programmable data port configuration
Download PDF

Info

Publication number
USRE40423E1
USRE40423E1US09/858,635US85863501AUSRE40423EUS RE40423 E1USRE40423 E1US RE40423E1US 85863501 AUS85863501 AUS 85863501AUS RE40423 EUSRE40423 EUS RE40423E
Authority
US
United States
Prior art keywords
data port
input
circuit
multiplexer
ram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US09/858,635
Inventor
Scott S. Nance
Douglas P. Sheppard
Nicholas J. Sawyer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xilinx IncfiledCriticalXilinx Inc
Priority to US09/858,635priorityCriticalpatent/USRE40423E1/en
Application grantedgrantedCritical
Publication of USRE40423E1publicationCriticalpatent/USRE40423E1/en
Anticipated expirationlegal-statusCritical
Expired - Lifetimelegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

A RAM with programmable data port configuration provides for programmable configuration of RAM data ports, and in the case of a multiport RAM, for independent programmable configuration of each data port. A single programmable RAM cell can be utilized in a variety of data port configurations, thereby reducing the number of combinations necessary in a standard cell library or gate array in implement the every possible configuration. In one embodiment of the invention, a dual port RAM is provided with a decoder, an input multiplexer and an output multiplexer for each data port. The input multiplexer for each data port provides several different selectable mappings of a RAM input word of varying sizes to the input bit lines of the respective data port. Similarly, the output multiplexer for each data port provides several different selectable mappings of the RAM output bit lines to the RAM output word. The decoder receives configuration programming bits to determine the appropriate size of the RAM input and output word for the respective port, and based on column addressing bits, outputs a select signal to select the appropriate mapping from the input and output multiplexers. Decoding circuitry is used during RAM write operations to disable those input bits not addressed.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of digital electronics, and more particularly to random access memory (RAM) data ports.
2. Description of the Related Art
In the prior art, data input/output (I/O) functions for memory cells in integrated circuits (ICs) have been confined to fixed-width word-length operations. For example, applications involving the use of an eight-bit data word utilize a memory cell having an eight-bit data port, and applications involving a sixteen-bit data word utilize a different memory cell with a hardwired sixteen-bit data port. This specificity of memory cells based on word length prevents the widespread application and re-use of general memory configurations.
In the construction of electronic circuits, many skilled practitioners use what are referred to as “standard cells” to build their circuits. These standard cells are predesigned circuit building blocks resident in a library of such building blocks. Because the standard cells are individually designed and tested before they are added to the library, performance characteristics for the standard cells are predictable. Using predesigned standard cells can reduce the amount of time between conception of a circuit design and production of a working circuit prototype.
Similarly, many designers use programmable gate arrays (PGAs) to implement digital circuit designs. Gate arrays are integrated circuits with standard logic cells (e.g., NAND gates, NOR gates, registers, etc.) already resident in an integrated circuit. Typically, gate array ICs include thousands of these individual cells with mechanisms for interconnecting the cells. The designer merely identifies the interconnection of the resident logic cells to implement his circuit design. The mechanism for interconnecting the cells may be a one-time fuse mechanism, or a programmable mechanism allowing for reuse of the gate array IC in another design.
For instance, using a field-programmable gate array (FPGA), such as one from the XILINX product line, an erasable programmable ROM chip (EPROM) or electrically erasable programmable ROM chip (EEPROM) may be used to store the programmable configuration information for one or more PGAs. To implement a new logic design on the same PGAs, the designer erases the EPROM and loads in a new set of configuration information. During the startup cycle, the PGAs adopt the new configuration by interconnecting the logic cells based on the new configuration information. Using computer aided design (CAD) tools to generate the configuration information, a recursive design process can cycle from one working design implementation to a revised working design implementation in as little time as a single day.
One drawback of gate arrays is that the number of logic cells of any particular type (e.g., NAND gate, eight-bit shift register, etc.) is fixed. For larger sized cells such as RAM (random access memory) cells, this limitation is of greater concern, because of the relatively fewer number of such cells. It is therefore beneficial to make these larger sized cells as generic as possible to increase their utility for different design needs.
With respect to RAM cells, different applications entail different RAM configurations, e.g., eight-bit word access, sixteen-bit word access, serial (one-bit) access, etc. For this reason, many gate arrays and standard cell libraries include cells of each type to serve all applications. Unfortunately, the unused configurations in a gate array constitute wasted IC area that could be utilized for other needed logic cells.
In the prior art, dual port RAM circuits have been used to increase the utility of the RAM. Examples of dual port RAM for use in video systems are U.S. Pat. Nos. 4,633,441; 4,799,053; and 5,195,056 to Ishimoto, Van Aken et al., and Pinkham et al., respectively. A dual port RAM circuit has two data ports for accessing the contents of the RAM.
In a dual port RAM, the ports may have the same or different data widths. For instance, a dual port RAM may have a first port providing eight-bit access and a second port providing one-bit or serial access to the same memory. This configuration is useful for applications requiring both byte access and serial access, such as for parallel-to-serial and serial-to-parallel conversion. However, other applications may require different configurations. For example, in a video application, a designer may require a first port providing thirty-two-bit access to write pixel data and a second port providing eight-bit access for reading out eight-bit segments of pixel RGB data. In the prior art, the eight-bit/one-bit dual port RAM cell cannot be used in the thirty-two-bit/eight-bit configuration needed in the video application.
Dual port RAM cells provide an improvement in the manner in which memory is accessed. However, designers are limited to the fixed-width configuration available in the hardwired circuit, or else an application specific circuit must be designed to provide the needed configuration. Further, it is inefficient in the standard cell and gate array environments to provide for dual port RAM cells of each possible dual port combination.
SUMMARY OF THE INVENTION
The present invention is a RAM with programmable data port configuration. Whereas prior art RAM cells or arrays have hardwired data ports of fixed sizes, the invention provides for programmable configuration of RAM data ports, and in the case of a multiport RAM, for independent programmable configuration of each data port. A single programmable RAM cell can be utilized in a variety of data port configurations, reducing the number of combinations necessary in a standard cell library or gate array to implement every possible configuration.
In one embodiment of the invention, a dual port RAM is provided with a decoder, an input multiplexer and an output multiplexer for each data port. The input multiplexer for each data port provides several different selectable mappings of a RAM input word of varying sizes to the input bit lines of the respective data port. Similarly, the output multiplexer for each data port provides several different selectable mappings of the RAM output bit lines to the RAM output word. The decoder receives configuration programming bits to determine the appropriate size of the RAM input and output word for the respective port, and based on column addressing bits, outputs a select signal to select the appropriate mapping from the input and output multiplexers. Further decoding circuitry is used during RAM write operations to disable those input bits not addressed.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a dual port RAM with programmable data port configuration according to an embodiment of the invention.
FIG. 2 is a block diagram of a single programmable data port according to an embodiment of the invention.
FIG. 3 is a circuit diagram of a four-to-one multiplexer suitable for the embodiment of FIG.2.
FIG. 4 is logic diagram of a selection decoder suitable for the embodiment of FIG.2.
FIG. 5 is a diagram of an 8×4 RAM structure illustrating addressing for several configurations.
DETAILED DESCRIPTION OF THE INVENTION
A RAM with programmable data port configuration is described. In the following description, numerous specific details are set forth to provide a more thorough description of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without these specific details. In other instances, well known features have not been described in detail so as not to obscure the present invention.
In an embodiment of the invention, a RAM structure, or cell, is provided with one or more data ports having a programmably configurable data width. Whereas RAM structures of the prior art are limited to a hardwired data width, precluding the use of the same structure or design for applications of different data widths, the invention provides for a single RAM structure to be utilized in a plurality of programmable data width configurations. In a multiport embodiment of the invention, each data port is independently configurable providing for broad use of the RAM design in many different applications. Standard cell and gate array environments are able to provide a single programmable RAM cell design where, in the prior art, many fixed data width RAM cells were required.
FIG. 1 is a top level block diagram of a dual port RAM structure having programmably configurable data ports. InFIG. 1,dual port RAM100 comprises a first input/output (I/O) data port havinginput bus108,output bus109 andaddress bus106; and a second I/O data port havinginput bus117,output bus118 andaddress bus115. In some embodiments of the invention, however, one or more data ports may be read-only or write-only, comprising only an input multiplexer or an output multiplexer.
PortB input multiplexer101 is coupled toinput bus108 andexternal input bus103. PortB output multiplexer102 is coupled tooutput bus109 andexternal output bus105. In addition,input multiplexer101 andoutput multiplexer102 receiveselect signal120 fromdecoder119.Decoder119 receives loworder address bits104 andconfiguration bits107.
Port Ainput multiplexer110 is coupled toinput bus117 andexternal input bus112. Port Aoutput multiplexer111 is coupled tooutput bus118 andexternal output bus114. In addition,input multiplexer110 andoutput multiplexer111 receiveselect signal122 fromdecoder121.Decoder121 receives lowerorder address bits113 andconfiguration bits116.
Buses108,109,117 and118 have a fixed width according to the hardwired physical characteristics ofdual port RAM100.Address bus106 comprises address bit lines ADDB0, ADDB1, . . . ADDBj, which are sufficient to provide unique addresses for memory words indual port RAM100 of the width provided bybuses108 and109.Address bus115 contains address bit lines ADDA0, ADDA1, . . . ADDAk, which are sufficient to address memory words indual port RAM100 having a width corresponding tobuses117 and118.
External input bus103 contains data input lines DINB0, DINB1, . . . DINBm, to form a bus width of the same size asbus108 or smaller. Similarlyexternal input bus112 contains input lines DINA0, DINA1, . . . DINAn, to provide a bus having a width corresponding to the width ofbus117 or smaller.External output bus105 consists of bit lines DOUTB0, DOUTB1, . . . DOUTBm, to form a bus having a width having of the same size asbus109 or smaller. Similarly,external output bus114 consists of output bit lines DOUTA0, DOUTA1, . . . DOUTAn, to form a bus width of the same size asbus118 or smaller.
Typically, the configurable external bus width has a maximum value of the fixed internal bus width. Other possible programmable configurations are typically equal to the maximum bus width divided by a power of two. For example, if the internal fixed bus width is sixteen bits, common programmable external configurations are sixteen bits, eight bits, four bits, two bits and one bit. However, other configurations are also possible (e.g., twenty-four internal bits configured to twenty-four, eight, four or one external bits).
Configuration bits107 are provided on control lines for selecting between possible port configurations. For example, two configuration bits can be used to provide four different port configurations, such as for one bit, two bit, four bit and eight bit wide configurations. Three configuration bits are sufficient to support eight different configurations, etc. Similarly,configuration bits116 are provided on control lines for port A. Lowerorder address bits104 provide for selection of data bit subsets frombuses108 and109. Similarly, lowerorder address bits113 provide for selection of data bit subsets frombuses117 and118. The number of lower address bits is at least equal to log2of the internal fixed bus width divided by the minimum external bus width.
Multiplexers101,102,110 and111 provide for mapping of the bit lines between the external buses and the respective internal buses to implement the desired configurations.Decoders119 and122 independently select the appropriate mapping from their associated multiplexers based on the respective port configuration bits, and the lower order (or column) address bits when applicable.
The configuration bits may be stored in an external memory circuit such as an EPROM, or the configuration bits may be stored in a local register. Further, the configuration bits may be set once at startup, or they may be set and reset during circuit operation to provide the utility of the different configurations while the circuit is operating. The independent programmability of each port provides a versatility advantage over memory circuits of the prior art.
FIG. 5 illustrates an addressing scheme for an eight by four RAM cell. The RAM contains eight rows (0-7) of memory words having four memory bits, B0 through B3. Row address bits A1, A2and A3are used to specify one row from the eight possible rows within the RAM. A1is the most significant row address bit, and A3is the least significant row address bit. Column address bits CA0 and CA1 are used to specify particular columns of the RAM. CA0 is the most significant column address bit, and is used to separate the RAM into a least significant two-bit column comprising bits B0 and B1, and a most significant two-bit column comprising bits B2 and B3. CA1 is used to specify a single bit column within each two-bit column specified by CA0. Further column address bits are used to further subdivide larger RAM configurations.
TABLE 1
GENERAL MAPPING TABLE (×4, ×2, ×1)
MEM1MEM2CA0CA1D0D1D2D3
00XXB0B1B2B3
010XB0B1XX
011XB2B3XX
10XXXXXX
1100B0XXX
1101B1XXX
1110B2XXX
1111B3XXX
(X = Don't care conditions)
Table 1 is a mapping diagram for a four-bit internal RAM port with programmable configurations for four-bit wide access (×4), two-bit wide access (×2), and one-bit wide or serial access (×1). D0-D3 represent the bit lines of the external port (input and output) of the programmable RAM. B0-B3 represent the fixed internal bit lines (input and output) of the programmable RAM. MEM1 and MEM2 are the configuration bit values, and CA0 and CA1 are the low order (or column) address bit values for the configurations which require finer addressing.
Table 1 contains many “don't care” conditions that allow for variations in the implementation of the data port. In general, multiplexers are used to provide the selectable paths by which the internal and external bit lines are coupled. A decoder is used to control the multiplexers based on the inputs MEM1, MEM2, CA0 and CA1, such that the definitions of Table 1 are implemented.
TABLE 2
MAPPING TABLE FOR EMBODIMENT OFFIG. 2
MEM1MEM2CA0CA1D0D1D2D3
00XXB0B1B2B3S0
010XB0B1B2B3S0
011XB2B3B0B1S2
10XXXXXX
1100B0B1B2B3S0
1101B1B2B3B0S1
1110B2B3B0B1S2
1111B3B0B1B2S3
Table 2 is an embodiment of Table 1 wherein the “don't care” conditions have been filled in to provide for assignment of the general bit mappings of Table 1 to four particular bit mappings for one embodiment of the programmable four-bit data port. The four particular bit mappings are labelled as S0-S3, and correspond to particular select signals output from a decoder in the implementation shown in FIG.2.
FIG. 2 is a bit level block diagram of an embodiment for one port of a RAM device having programmable configuration capabilities as defined in Table 2. In the embodiment ofFIG. 2, the hardwired width ofRAM port200 is four bits wide. Address lines A1, A2, . . . An are provided to RAMport200 to address the four bit words from the RAM device. Multiplexers (MUXs)202,204,206 and208 are used to map the four bits of the output word comprising bits BO-0, BO-1, BO-2, and BO-3 to the external output word comprising bits DO-0, DO-1, DO-2 and DO-3.Multiplexers203,204,207 and209 are used to map the four bits of the external word comprising DI-0, DI-1, DI-2 and DI-3 to the RAM port input word comprising bits BI-0, BI-1, BI-2 and BI-3.
Each bit level multiplexer has four inputs, I0-I3, and one output,O. Select signal210 is provided to each multiplexer (202-209) to select from the four inputs (I0-I3) the appropriate signal to pass to the output (O). The composition ofselect signal210 is determined by what is appropriate to drive the selected implementation of multiplexers202-209. In this embodiment, the selection of MUX input I0 from each multiplexer corresponds to decode selection S0, the selection of all I1 inputs corresponds to selection S1, etc.Input multiplexers203,205,207, and209 provide the RAM port input signals BI-0, BI-1, BI-2 and BI-3, respectively.Output multiplexers202,204,206 and208 provide output signals DO-0, DO-1, DO-2 and DO-3, respectively.
RAM port output signal BO-0 is coupled to input I0 ofMUX202, input I3 ofMUX204, input I2 ofMUX206 and input I1 ofMUX208. RAM port output signal BO-1 is coupled to input I1 ofMUX202, input I0 ofMUX204, input I3 ofMUX206 and input I2 ofMUX208. RAM port output signal BO-2 is coupled to input I2 ofMUX202, input I1 ofMUX204, input I0 ofMUX206 and input I3 ofMUX208. RAM port output signal BO-3 is coupled to input I3 ofMUX202, input I2 ofMUX204, input I1 ofMUX206 and input I0 ofMUX208.
External input signal DI-0 is coupled to input I0 ofMUX203, input I1 ofMUX205, input I2 ofMUX207 and input I3 ofMUX209. External input signal DI-1 is coupled to input I3 ofMUX203, input I0 ofMUX205, input I1 ofMUX207 and input I2 ofMUX209. External input DI-2 is coupled to input I2 ofMUX203, input I3 ofMUX205, input I0 ofMUX207 and input I1 ofMUX209. External input DI-3 is coupled to input signal I1 ofMUX203, input I2 ofMUX205, input I3 ofMUX207 and input I0 ofMUX209.
Decoder201 receives configuration signals MEM1 and MEM2 to select from three possible configurations, i.e., one-bit, two-bit and four-bit wide operations. Lower order address bits CA0 and CA1 are provided todecoder201 for addressing within the four-bit word for the one-bit wide and two-bit wide configurations. Also, further decoding circuitry acts to disable unselected RAM port input lines during write operations. The enable/disable signals are represented inFIG. 2 byline211coupling decoder201 toRAM port200.
In general, the embodiment ofFIG. 2 operates by steering the data inputs and outputs of theRAM port200 to different external ports via the multiplexers, depending on the selected configuration of the RAM (MEM1 and MEM2) and the low order address bits (or column address bits) CA0 and CA1. TheRAM port200 is internally configured as four-bit wide data words, but by use of the steering circuitry, the RAM may be accessed as a two-bit wide word or as a single bit for serial purposes. The configuration of the RAM data port inFIG. 2 is controlled by configuration bits MEM1 and MEM2 as follows:
MEM1MEM2Configuration
11×1
00×4
01×2
10Unused

For other embodiments, the configuration (MEM1,MEM2)=(1,0) is used to specify a fourth configuration. More configuration bits may be used to increase the number of possible configurations further.
When the RAM configuration bits MEM1 and MEM2 are set to the four-bit wide (×4) configuration, the column address bits CA0 and CA1 are not used in the decoding process because all bits are selected.Decoder201 selects the I0 input of multiplexers202-209 viaselect signal210.Multiplexers202,204,206 and208 steer internal output port signals BO-0 through BO-3 to external output ports DO-0 through DO-3, respectively.Multiplexers203,205,207 and209 steer external input port signals DI-0 through DI-3 to internal input ports BI-0 through BI-3, respectively. Thus, when the four-bit wide configuration is selected, the multiplexers pass the RAM inputs and outputs directly through without remapping.
When the RAM configuration bits are set to the two-bit wide (×2) configuration, column address bit CA0 is used to select from the two two-bit words at each row address. Address bit CA1 is unused.Decoder201 selects mapping S0, or all I0 inputs, when CA0 is “0” to couple the two least significant bits (B0, B1) of the internal buses to the two least significant bits (D0, D1) of the external buses. Similarly,decoder201 selects mapping S2, or all I2 inputs, when CA0 is “1” to couple the two most significant bits (B2, B3) of the internal buses to the two least significant bits of the external bus (D0, D1). Only the two lease significant bits are used to access the RAM in the (×2) configuration of this implementation. Alternatively, two other bits of the external bus may be used to access the selected two bits from the internal bus.
When the RAM configuration bits are set to the one-bit wide (×1) or serial configuration, column address bits CA0 and CA1 are used to address the individual bits in the four-bit word selected by address A0-An. Only one bit line on the external buses is used to access data. In this embodiment, the access line is the least significant external bit line. When (CA0, CA1) is (0,0),decoder201 selects mapping S0, or all I0 inputs, to couple the least significant internal bit line (B0) to the least significant external bit line (D0). When (CA0,CA1) is (0,1),decoder201 selects mapping S1, or all I1 inputs, to couple the second least significant internal bit line (B1) to the least significant external bit line (D0). When (CA0,CA1) is (1,0),decoder201 selects mapping S2, or all I2 inputs, to couple the second most significant internal bit line (B2) to the least significant external bit line (D0). Finally, when (CA0,CA1) is (1,1),decoder201 selects mapping S3, or all I3 inputs, to couple the most significant internal bit line (B3) to the least significant external bit line (D0). Thus, each bit of the four-bit internal word is addressable.
The embodiment ofFIG. 2 is easily expanded for larger internal words and more possible configurations. It will also be obvious to one skilled in the art that multiplexer/decoder embodiments can be used to implement the mappings of Table 1. For example, at the cost of modifying the decoder, another embodiment may comprise a four to one multiplexer for coupling internal bit lines to external bit line D0, a two to one multiplexer for coupling only internal bit lines B1 and B3 to external bit line D1, and direct connections for coupling internal bit line B2 to external bit line D2 and internal bit line B3 to external bit line D3.
FIG. 3 is a circuit diagram of one embodiment of a four to one multiplexer suitable for use in the circuit of FIG.2. Input signals I0, I1, I2 and I3 are provided toinverters300,301,302 and303, respectively. I0′, the output ofinverter300, is provided to the transmission gate formed byNMOS transistor304 and parallel withPMOS transistor305. I1′, the output ofinverter301, is provided to the transmission gate formed byNMOS307 in parallel withPMOS transistor308. I2′, the output ofinverter302, is provided to the transmission gate formed byNMOS transistor310 and parallel withPMOS311. I3′, the output ofinverter303, is provided to the transmission gate formed byNMOS transistor313 in parallel withPMOS314. The output line of the transmission gates are joined at node316 (O′), which in turn is coupled to the input terminal ofinverter317. Theinverter317 provides signal318 (O).
Select signal S0 is provided to the gate ofNMOS transistor304, and throughinverter306 to the gate ofPMOS transistor305. Select signal S1 is provided to thegate NMOS transistor307 and throughinverter309 to the gate ofPMOS transistor308. Select signal S2 is provided to the gate ofNMOS transistor310 and throughinverter312 to the gate ofPMOS transistor311. Select signal S3 is provided to the gate ofNMOS transistor313 and throughinverter315 to the gate ofPMOS transistor314.
The transmission gates formed by the complimentary NMOS and PMOS transistors provide a closed circuit when the associated select signal is asserted. When the associated select signal is not asserted, the transmission gate provides an open circuit. By asserting only one select signal at any moment in time, multiplexing of the four input values to a single output value is achieved. Inverters300-303 and317 provide buffering for the transmission function, but are unnecessary when the transmission gates are formed from logic having built-in sourcing and sinking capabilities.
FIG. 4 is a logic level diagram of one embodiment of a decoder for the example of FIG.2. The decoding function provided is defined by Table 2, with select signals S0-S3 corresponding to bit mappings S0-S3. InFIG. 4, configuration signals MEM1 and MEM2 are coupled toinverters400 and401 respectively to provide signals MEM1′ and MEM2′. Similarly, lower order address bits CA0 and CA1 are provided toinverters402 and403, respectively, to provide signals CA0′ and CA1′.
NAND gates404 and405 and NORgate406 provide decoding of the input signals to generate select signal S3.NAND gate404 receives as input signals MEM2 and CA1.NAND gate405 receives as input signals MEM1 and CA0.Output signal416 fromNAND gate404 and output signal417 fromNAND gate405 are provided as input signals to NORgate406. The output signal of NORgate406 is select signal S3.
NAND gate407 and NORgates408 and409 provide decoding of the input signals to generate select signal S2. NAND gate receives as input signals MEM2 and CA1. NORgate408 receives as signals MEM1′ and CA0′.Output signal418 fromNAND gate407 and output signal419 from NORgate408 are provided as input signals to NORgate409. The output signal of NORgate409 is select signal S2.
NAND gates410 and411 and NORgate412 provide decoding of the input signals to generate select signal S1.NAND gate410 receives as input signals MEM2 and CA1′.NAND gate411 receives as input signals MEM1 and CA0.Output signal420 fromNAND gate410 and output signal421 fromNAND gate411 are provided as input signals to NORgate412. The output signal of NORgate412 is select signal S1.
NORgates413,414 and415 provide decoding of the input signals to generate select signal S0. NORgate413 receives as input signals MEM2′ and CA1′. NORgate414 receives as input signals MEM1′ and CA0′.Output signal422 from NORgate413 and output signal423 from NORgate414 are provided as input signals to NORgate415. The output signal of NORgate415 is select signal S0.
TABLE 3
WRITE ENABLE CONTROLS
BI-0/BI-1/BI-2/BI-3/
MEM1MEM2CA0CA1ENENENEN
00XX1111
010X1100
011X0011
10XX0000
11001000
11010100
11100010
11110001
(X = Don't care conditions)
For configurations in which a writing operation writes information to only a portion of the internal data word, the unselected portion of the internal data word is disabled to prevent the undesired writing over of underlying data. For this purpose, the RAM may be designed with individual “write enable” control of the internal bit lines or of the smallest selectable unit of the internal word. A decoding operation similar to that outlined inFIG. 4 is used to enable and disable the internal bit lines as necessary. Table 3 defines the enabling of bit lines BI-0 through BI-3 to correspond to the selection definitions of Table 1.
The contents of Table 3 can be reduced to the following Boolean equations:
BI-0/EN=(MEM1′ MEM2′)+(CA0′ MEM1′)+(MEM2 CA0′ CA1′)
BI-1/EN=(MEM1′ MEM2′)+(CA0′ MEM1′)+(MEM2 CA0′ CA1)
BI-2/EN=(MEM1′ MEM2′)+(CA0 MEM1′)+(MEM2 CA0 CA1′)
BI-3/EN=(MEM1′ MEM2′)+(CA0 MEM1′)+(MEM2 CA0 CA1)
Combinational logic for implementing the above decoding equations enables each bit line on the internal RAM input bus as appropriate based on the combination of signals MEM1, MEM2, CA0 and CA1. A similar derivation is performed to provide enabling/disabling write circuitry for other embodiments.
Thus, a multiport RAM with programmable data port configuration has been described.

Claims (18)

9. A multiport RAM with programmable data port configuration, comprising:
a first internal data port of fixed width M;
a second internal data port of fixed width N;
a first multiplexer circuit coupled to said first internal data port, said first multiplexer circuit having a selectable electronic mapping between said first internal data port and a first external data port of programmable width X where X is less than or equal to M, said first multiplexer circuit responsive to a first select signal;
a second multiplexer circuit coupled to said second internal data port, said second multiplexer circuit having a selectable electronic mapping between said second internal data port and a second external data port of programmable width Y where Y is less than or equal to N, said second multiplexer circuit responsive to a second select signal;
a first decoder having a first configuration input and a first address input, said first decoder generating said first select signal; and
a second decoder having a second configuration input and a second address input, said second decoder generating said second select signal.
US09/858,6351996-07-292001-05-15Multiport RAM with programmable data port configurationExpired - LifetimeUSRE40423E1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
US09/858,635USRE40423E1 (en)1996-07-292001-05-15Multiport RAM with programmable data port configuration

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US08/687,902US5715197A (en)1996-07-291996-07-29Multiport RAM with programmable data port configuration
US09/858,635USRE40423E1 (en)1996-07-292001-05-15Multiport RAM with programmable data port configuration

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US08/687,902ReissueUS5715197A (en)1996-07-291996-07-29Multiport RAM with programmable data port configuration

Publications (1)

Publication NumberPublication Date
USRE40423E1true USRE40423E1 (en)2008-07-08

Family

ID=24762331

Family Applications (2)

Application NumberTitlePriority DateFiling Date
US08/687,902CeasedUS5715197A (en)1996-07-291996-07-29Multiport RAM with programmable data port configuration
US09/858,635Expired - LifetimeUSRE40423E1 (en)1996-07-292001-05-15Multiport RAM with programmable data port configuration

Family Applications Before (1)

Application NumberTitlePriority DateFiling Date
US08/687,902CeasedUS5715197A (en)1996-07-291996-07-29Multiport RAM with programmable data port configuration

Country Status (2)

CountryLink
US (2)US5715197A (en)
WO (1)WO1998005035A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20060294293A1 (en)*2002-12-102006-12-28Altera CorporationVersatile RAM for a programmable logic device
US20100228908A1 (en)*2009-03-092010-09-09Cypress Semiconductor CorporationMulti-port memory devices and methods
US9489326B1 (en)2009-03-092016-11-08Cypress Semiconductor CorporationMulti-port integrated circuit devices and methods
US9509307B1 (en)*2014-09-222016-11-29Xilinx, Inc.Interconnect multiplexers and methods of reducing contention currents in an interconnect multiplexer

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5715197A (en)*1996-07-291998-02-03Xilinx, Inc.Multiport RAM with programmable data port configuration
US6011744A (en)*1997-07-162000-01-04Altera CorporationProgrammable logic device with multi-port memory
US6052327A (en)1997-10-142000-04-18Altera CorporationDual-port programmable logic device variable depth and width memory array
US6191998B1 (en)1997-10-162001-02-20Altera CorporationProgrammable logic device memory array circuit having combinable single-port memory arrays
US6288970B1 (en)1997-10-162001-09-11Altera CorporationProgrammable logic device memory array circuit having combinable single-port memory arrays
US6192431B1 (en)*1997-12-312001-02-20Intel CorporationMethod and apparatus for configuring the pinout of an integrated circuit
US6173425B1 (en)1998-04-152001-01-09Integrated Device Technology, Inc.Methods of testing integrated circuits to include data traversal path identification information and related status information in test data streams
US5982700A (en)*1998-05-211999-11-09Integrated Device Technology, Inc.Buffer memory arrays having nonlinear columns for providing parallel data access capability and methods of operating same
US5978307A (en)*1998-05-211999-11-02Integrated Device Technology, Inc.Integrated circuit memory devices having partitioned multi-port memory arrays therein for increasing data bandwidth and methods of operating same
US6216205B1 (en)1998-05-212001-04-10Integrated Device Technology, Inc.Methods of controlling memory buffers having tri-port cache arrays therein
US5999478A (en)*1998-05-211999-12-07Integrated Device Technology, Inc.Highly integrated tri-port memory buffers having fast fall-through capability and methods of operating same
US5991208A (en)*1998-05-221999-11-23International Business Machines CorporationWrite multiplexer apparatus and method for multiple write port programmable memory
US6467017B1 (en)1998-06-232002-10-15Altera CorporationProgrammable logic device having embedded dual-port random access memory configurable as single-port memory
US6578104B1 (en)*1999-06-302003-06-10Quick Logic CorporationRAM with configurable depth and width
US6694491B1 (en)2000-02-252004-02-17Lightspeed Semiconductor CorporationProgrammable logic array embedded in mask-programmed ASIC
US6769109B2 (en)*2000-02-252004-07-27Lightspeed Semiconductor CorporationProgrammable logic array embedded in mask-programmed ASIC
US6400635B1 (en)2000-03-152002-06-04Altera CorporationMemory circuitry for programmable logic integrated circuit devices
US7055125B2 (en)*2000-09-082006-05-30Lightspeed Semiconductor Corp.Depopulated programmable logic array
US6546461B1 (en)2000-11-222003-04-08Integrated Device Technology, Inc.Multi-port cache memory devices and FIFO memory devices having multi-port cache memory devices therein
US6950772B1 (en)*2000-12-192005-09-27Ati International SrlDynamic component to input signal mapping system
US7376767B1 (en)2002-01-042008-05-20Xilinx, Inc.Distributed buffering system having programmable interconnecting logic and applications thereof
US6765408B2 (en)*2002-02-112004-07-20Lattice Semiconductor CorporationDevice and method with generic logic blocks
US7068072B2 (en)2003-06-302006-06-27Xilinx, Inc.Integrated circuit with interface tile for coupling to a stacked-die second integrated circuit
US20050044460A1 (en)*2003-08-222005-02-24Hoglund Timothy E.Mapping test mux structure
KR100532471B1 (en)*2003-09-262005-12-01삼성전자주식회사IO bandwidth controllable memory device and the control method of IO bandwidth
US7042792B2 (en)*2004-01-142006-05-09Integrated Device Technology, Inc.Multi-port memory cells for use in FIFO applications that support data transfers between cache and supplemental memory arrays
US7151709B2 (en)*2004-08-162006-12-19Micron Technology, Inc.Memory device and method having programmable address configurations
US7350026B2 (en)*2004-12-032008-03-25ThalesMemory based cross compare for cross checked systems
US20080024165A1 (en)*2006-07-282008-01-31Raminda Udaya MaduraweConfigurable embedded multi-port memory
US8296578B1 (en)2009-08-032012-10-23Xilinx, Inc.Method and apparatus for communicating data between stacked integrated circuits
US9859896B1 (en)2015-09-112018-01-02Xilinx, Inc.Distributed multi-die routing in a multi-chip module
US11074970B2 (en)*2019-10-302021-07-27Micron Technology, Inc.Mux decoder with polarity transition capability

Citations (81)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US3473160A (en)1966-10-101969-10-14Stanford Research InstElectronically controlled microelectronic cellular logic array
US4394753A (en)1979-11-291983-07-19Siemens AktiengesellschaftIntegrated memory module having selectable operating functions
JPS58188392A (en)1982-04-271983-11-02Citizen Watch Co LtdNon-volatile memory circuit
JPS59180466A (en)1983-03-311984-10-13Toshiba CorpContact board
US4523276A (en)1979-10-051985-06-11Hitachi, Ltd.Input/output control device with memory device for storing variable-length data and method of controlling thereof
US4593373A (en)1982-08-091986-06-03Sharp Kabushiki KaishaMethod and apparatus for producing n-bit outputs from an m-bit microcomputer
US4609986A (en)1984-06-141986-09-02Altera CorporationProgrammable logic array device using EPROM technology
US4617479A (en)1984-05-031986-10-14Altera CorporationProgrammable logic array device using EPROM technology
US4633441A (en)1983-09-291986-12-30NecDual port memory circuit
US4642487A (en)1984-09-261987-02-10Xilinx, Inc.Special interconnect for configurable logic array
US4654781A (en)1981-10-021987-03-31Raytheon CompanyByte addressable memory for variable length instructions and data
US4677318A (en)1985-04-121987-06-30Altera CorporationProgrammable logic storage element for programmable logic devices
US4713792A (en)1985-06-061987-12-15Altera CorporationProgrammable macrocell using eprom or eeprom transistors for architecture control in programmable logic circuits
JPS63134685A (en)1986-11-071988-06-07インペリアル・ケミカル・インダストリーズ・ピーエルシーElectrolytic cell
US4751671A (en)1983-02-141988-06-14Prime Computer, Inc.Size configurable data storage system
US4758745A (en)1986-09-191988-07-19Actel CorporationUser programmable integrated circuit interconnect architecture and test method
US4774421A (en)1984-05-031988-09-27Altera CorporationProgrammable logic array device using EPROM technology
US4796232A (en)1987-10-201989-01-03Contel CorporationDual port memory controller
US4799053A (en)1986-04-281989-01-17Texas Instruments IncorporatedColor palette having multiplexed color look up table loading
US4807189A (en)1987-08-051989-02-21Texas Instruments IncorporatedRead/write memory having a multiple column select mode
EP0306726A2 (en)1987-09-081989-03-15Sharp Microeletronics Technology, Inc.Data buffer apparatus and method
US4871930A (en)1988-05-051989-10-03Altera CorporationProgrammable logic device with array blocks connected via programmable interconnect
US4899067A (en)1988-07-221990-02-06Altera CorporationProgrammable logic devices with spare circuits for use in replacing defective circuits
US4907203A (en)1987-11-191990-03-06Mitsubishi Denki Kabushiki KaishaSemiconductor memory device with changeable word organization modes including a test mode
US4912342A (en)1988-05-051990-03-27Altera CorporationProgrammable logic device with array blocks with programmable clocking
US4942541A (en)1988-01-221990-07-17Oms, Inc.Patchification system
US4947366A (en)1987-10-021990-08-07Advanced Micro Devices, Inc.Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities
JPH02199666A (en)1989-01-301990-08-08Canon IncInformation recording and reproducing device and recording medium
US4963770A (en)1987-11-201990-10-16Kawasaki Steel CorporationProgrammable logic device
US4975601A (en)1989-09-291990-12-04Sgs-Thomson Microelectronics, Inc.User-writable random access memory logic block for programmable logic devices
US4985867A (en)1988-09-141991-01-15Kawasaki Steel CorporationSemiconductor memory circuit
US4987319A (en)1988-09-081991-01-22Kawasaki Steel CorporationProgrammable input/output circuit and programmable logic device
US5003200A (en)1988-09-201991-03-26Kawasaki Steel CorporationProgrammable logic device having programmable wiring for connecting adjacent programmable logic elements through a single switch station
US5027326A (en)1988-11-101991-06-25Dallas Semiconductor CorporationSelf-timed sequential access multiport memory
US5029141A (en)1988-07-291991-07-02Mitsubishi Denki Kabushiki KaishaDynamic semiconductor memory with block decoding
JPH0474977A (en)1990-07-161992-03-10Nec CorpSemiconductor integrated circuit
US5115411A (en)1990-06-061992-05-19Ncr CorporationDual port memory system
US5117388A (en)1988-09-201992-05-26Fujitsu LimitedSerial input/output semiconductor memory
US5121006A (en)1991-04-221992-06-09Altera CorporationRegistered logic macrocell with product term allocation and adjacent product term stealing
US5128559A (en)1989-09-291992-07-07Sgs-Thomson Microelectronics, Inc.Logic block for programmable logic devices
US5142672A (en)1987-12-151992-08-25Advanced Micro Devices, Inc.Data transfer controller incorporating direct memory access channels and address mapped input/output windows
US5146428A (en)1989-02-071992-09-08Hitachi, Ltd.Single chip gate array
EP0509135A1 (en)1991-04-181992-10-21Aeg Transportation Systems, Inc.Propulsion control system central processing unit board
US5177706A (en)1990-03-131993-01-05Mitsubishi Denki Kabushiki KaishaSemiconductor memory device having a plurality of ports
US5195056A (en)1987-05-211993-03-16Texas Instruments, IncorporatedRead/write memory having an on-chip input data register, having pointer circuits between a serial data register and input/output buffer circuits
EP0156316B1 (en)1984-03-241993-05-12Kabushiki Kaisha ToshibaMemory device with data access control
US5220214A (en)1991-04-221993-06-15Altera CorporationRegistered logic macrocell with product term allocation and adjacent product term stealing
US5237701A (en)1989-03-311993-08-17Ampex Systems CorporationData unpacker using a pack ratio control signal for unpacked parallel fixed m-bit width into parallel variable n-bit width word
USRE34363E (en)1984-03-121993-08-31Xilinx, Inc.Configurable electrical circuit having configurable logic elements and configurable interconnects
US5258668A (en)1992-05-081993-11-02Altera CorporationProgrammable logic array integrated circuits with cascade connections between logic modules
US5260611A (en)1991-09-031993-11-09Altera CorporationProgrammable logic array having local and long distance conductors
US5260610A (en)1991-09-031993-11-09Altera CorporationProgrammable logic element interconnections for programmable logic array integrated circuits
US5274581A (en)1992-05-081993-12-28Altera CorporationLook up table implementation of fast carry for adders and counters
US5280456A (en)1991-09-201994-01-18Fujitsu LimitedSemiconductor memory device enabling change of output organization with high speed operation
US5333294A (en)1990-10-091994-07-26Compaq Computer CorporationConfigurable data width direct memory access device with a read address counter and a write address counter which increments the addresses based on the desired data transfer width
US5350954A (en)1993-03-291994-09-27Altera CorporationMacrocell with flexible product term allocation
US5371422A (en)1991-09-031994-12-06Altera CorporationProgrammable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements
US5396608A (en)1993-06-281995-03-07Analog Devices, Inc.Method and apparatus for accessing variable length words in a memory array
US5404474A (en)1992-01-101995-04-04Digital Equipment CorporationApparatus and method for addressing a variable sized block of memory
US5406525A (en)1994-06-061995-04-11Motorola, Inc.Configurable SRAM and method for providing the same
US5410546A (en)1993-11-011995-04-25Storage Technology CorporationApparatus and method for CRC computation over fixed length blocks containing variable length packets of data received out of order
US5426612A (en)1988-09-081995-06-20Hitachi, Ltd.First-in first-out semiconductor memory device
WO1995016993A1 (en)1993-12-131995-06-22Lattice Semiconductor CorporationApplication specific modules in a programmable logic device
US5434818A (en)1993-12-231995-07-18Unisys CorporationFour port RAM cell
US5504875A (en)1993-03-171996-04-02Intel CorporationNonvolatile memory with a programmable output of selectable width and a method for controlling the nonvolatile memory to switch between different output widths
US5506850A (en)1991-04-081996-04-09Osann, Jr.; RobertLogic analyzer for high channel count applications
US5541530A (en)1995-05-171996-07-30Altera CorporationProgrammable logic array integrated circuits with blocks of logic regions grouped into super-blocks
US5543732A (en)1995-05-171996-08-06Altera CorporationProgrammable logic array devices with interconnect lines of various lengths
US5550782A (en)1991-09-031996-08-27Altera CorporationProgrammable logic array integrated circuits
US5559450A (en)1995-07-271996-09-24Lucent Technologies Inc.Field programmable gate array with multi-port RAM
US5566123A (en)1995-02-101996-10-15Xilinx, Inc.Synchronous dual port ram
US5592106A (en)1995-05-171997-01-07Altera CorporationProgrammable logic array integrated circuits with interconnection conductors of overlapping extent
US5614840A (en)1995-05-171997-03-25Altera CorporationProgrammable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors
WO1997017705A1 (en)1995-11-081997-05-15Advanced Micro Devices, Inc.System for reconfiguring the width of an xyram
EP0780846A2 (en)1995-12-201997-06-25International Business Machines CorporationField programmable memory array
US5689195A (en)1995-05-171997-11-18Altera CorporationProgrammable logic array integrated circuit devices
US5689731A (en)1995-06-071997-11-18International Business Machines CorporationProgrammable serializer using multiplexer and programmable address counter for providing flexiblity in scanning sequences and width of data
US5715197A (en)*1996-07-291998-02-03Xilinx, Inc.Multiport RAM with programmable data port configuration
US5867422A (en)1995-08-081999-02-02University Of South FloridaComputer memory chip with field programmable memory cell arrays (fpmcas), and method of configuring
US5933023A (en)1996-09-031999-08-03Xilinx, Inc.FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines
US6563751B1 (en)*2000-12-292003-05-13Nortel Networks LimitedSystem and method for testing TDM sRAMs

Patent Citations (85)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US3473160A (en)1966-10-101969-10-14Stanford Research InstElectronically controlled microelectronic cellular logic array
US4523276A (en)1979-10-051985-06-11Hitachi, Ltd.Input/output control device with memory device for storing variable-length data and method of controlling thereof
US4394753A (en)1979-11-291983-07-19Siemens AktiengesellschaftIntegrated memory module having selectable operating functions
US4654781A (en)1981-10-021987-03-31Raytheon CompanyByte addressable memory for variable length instructions and data
JPS58188392A (en)1982-04-271983-11-02Citizen Watch Co LtdNon-volatile memory circuit
US4593373A (en)1982-08-091986-06-03Sharp Kabushiki KaishaMethod and apparatus for producing n-bit outputs from an m-bit microcomputer
US4751671A (en)1983-02-141988-06-14Prime Computer, Inc.Size configurable data storage system
JPS59180466A (en)1983-03-311984-10-13Toshiba CorpContact board
US4633441A (en)1983-09-291986-12-30NecDual port memory circuit
USRE34363E (en)1984-03-121993-08-31Xilinx, Inc.Configurable electrical circuit having configurable logic elements and configurable interconnects
EP0156316B1 (en)1984-03-241993-05-12Kabushiki Kaisha ToshibaMemory device with data access control
US4774421A (en)1984-05-031988-09-27Altera CorporationProgrammable logic array device using EPROM technology
US4617479B1 (en)1984-05-031993-09-21Altera Semiconductor Corp.Programmable logic array device using eprom technology
US4617479A (en)1984-05-031986-10-14Altera CorporationProgrammable logic array device using EPROM technology
US4609986A (en)1984-06-141986-09-02Altera CorporationProgrammable logic array device using EPROM technology
US4642487A (en)1984-09-261987-02-10Xilinx, Inc.Special interconnect for configurable logic array
US4677318A (en)1985-04-121987-06-30Altera CorporationProgrammable logic storage element for programmable logic devices
US4713792A (en)1985-06-061987-12-15Altera CorporationProgrammable macrocell using eprom or eeprom transistors for architecture control in programmable logic circuits
US4799053A (en)1986-04-281989-01-17Texas Instruments IncorporatedColor palette having multiplexed color look up table loading
US4758745A (en)1986-09-191988-07-19Actel CorporationUser programmable integrated circuit interconnect architecture and test method
US4758745B1 (en)1986-09-191994-11-15Actel CorpUser programmable integrated circuit interconnect architecture and test method
JPS63134685A (en)1986-11-071988-06-07インペリアル・ケミカル・インダストリーズ・ピーエルシーElectrolytic cell
US5195056A (en)1987-05-211993-03-16Texas Instruments, IncorporatedRead/write memory having an on-chip input data register, having pointer circuits between a serial data register and input/output buffer circuits
US4807189A (en)1987-08-051989-02-21Texas Instruments IncorporatedRead/write memory having a multiple column select mode
EP0306726A2 (en)1987-09-081989-03-15Sharp Microeletronics Technology, Inc.Data buffer apparatus and method
US4947366A (en)1987-10-021990-08-07Advanced Micro Devices, Inc.Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities
US4796232A (en)1987-10-201989-01-03Contel CorporationDual port memory controller
US4907203A (en)1987-11-191990-03-06Mitsubishi Denki Kabushiki KaishaSemiconductor memory device with changeable word organization modes including a test mode
US4963770A (en)1987-11-201990-10-16Kawasaki Steel CorporationProgrammable logic device
US5142672A (en)1987-12-151992-08-25Advanced Micro Devices, Inc.Data transfer controller incorporating direct memory access channels and address mapped input/output windows
US4942541A (en)1988-01-221990-07-17Oms, Inc.Patchification system
US4912342A (en)1988-05-051990-03-27Altera CorporationProgrammable logic device with array blocks with programmable clocking
US4871930A (en)1988-05-051989-10-03Altera CorporationProgrammable logic device with array blocks connected via programmable interconnect
US4899067A (en)1988-07-221990-02-06Altera CorporationProgrammable logic devices with spare circuits for use in replacing defective circuits
US5029141A (en)1988-07-291991-07-02Mitsubishi Denki Kabushiki KaishaDynamic semiconductor memory with block decoding
US5426612A (en)1988-09-081995-06-20Hitachi, Ltd.First-in first-out semiconductor memory device
US4987319A (en)1988-09-081991-01-22Kawasaki Steel CorporationProgrammable input/output circuit and programmable logic device
US4985867A (en)1988-09-141991-01-15Kawasaki Steel CorporationSemiconductor memory circuit
US5117388A (en)1988-09-201992-05-26Fujitsu LimitedSerial input/output semiconductor memory
US5003200A (en)1988-09-201991-03-26Kawasaki Steel CorporationProgrammable logic device having programmable wiring for connecting adjacent programmable logic elements through a single switch station
US5027326A (en)1988-11-101991-06-25Dallas Semiconductor CorporationSelf-timed sequential access multiport memory
JPH02199666A (en)1989-01-301990-08-08Canon IncInformation recording and reproducing device and recording medium
US5146428A (en)1989-02-071992-09-08Hitachi, Ltd.Single chip gate array
US5237701A (en)1989-03-311993-08-17Ampex Systems CorporationData unpacker using a pack ratio control signal for unpacked parallel fixed m-bit width into parallel variable n-bit width word
US5128559A (en)1989-09-291992-07-07Sgs-Thomson Microelectronics, Inc.Logic block for programmable logic devices
US4975601A (en)1989-09-291990-12-04Sgs-Thomson Microelectronics, Inc.User-writable random access memory logic block for programmable logic devices
US5177706A (en)1990-03-131993-01-05Mitsubishi Denki Kabushiki KaishaSemiconductor memory device having a plurality of ports
US5115411A (en)1990-06-061992-05-19Ncr CorporationDual port memory system
JPH0474977A (en)1990-07-161992-03-10Nec CorpSemiconductor integrated circuit
US5333294A (en)1990-10-091994-07-26Compaq Computer CorporationConfigurable data width direct memory access device with a read address counter and a write address counter which increments the addresses based on the desired data transfer width
US5506850A (en)1991-04-081996-04-09Osann, Jr.; RobertLogic analyzer for high channel count applications
EP0509135A1 (en)1991-04-181992-10-21Aeg Transportation Systems, Inc.Propulsion control system central processing unit board
US5121006A (en)1991-04-221992-06-09Altera CorporationRegistered logic macrocell with product term allocation and adjacent product term stealing
US5220214A (en)1991-04-221993-06-15Altera CorporationRegistered logic macrocell with product term allocation and adjacent product term stealing
US5260610A (en)1991-09-031993-11-09Altera CorporationProgrammable logic element interconnections for programmable logic array integrated circuits
US5371422A (en)1991-09-031994-12-06Altera CorporationProgrammable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements
US5550782A (en)1991-09-031996-08-27Altera CorporationProgrammable logic array integrated circuits
US5260611A (en)1991-09-031993-11-09Altera CorporationProgrammable logic array having local and long distance conductors
US5280456A (en)1991-09-201994-01-18Fujitsu LimitedSemiconductor memory device enabling change of output organization with high speed operation
US5404474A (en)1992-01-101995-04-04Digital Equipment CorporationApparatus and method for addressing a variable sized block of memory
US5274581A (en)1992-05-081993-12-28Altera CorporationLook up table implementation of fast carry for adders and counters
US5258668A (en)1992-05-081993-11-02Altera CorporationProgrammable logic array integrated circuits with cascade connections between logic modules
US5504875A (en)1993-03-171996-04-02Intel CorporationNonvolatile memory with a programmable output of selectable width and a method for controlling the nonvolatile memory to switch between different output widths
US5350954A (en)1993-03-291994-09-27Altera CorporationMacrocell with flexible product term allocation
US5396608A (en)1993-06-281995-03-07Analog Devices, Inc.Method and apparatus for accessing variable length words in a memory array
US5410546A (en)1993-11-011995-04-25Storage Technology CorporationApparatus and method for CRC computation over fixed length blocks containing variable length packets of data received out of order
WO1995016993A1 (en)1993-12-131995-06-22Lattice Semiconductor CorporationApplication specific modules in a programmable logic device
US5434818A (en)1993-12-231995-07-18Unisys CorporationFour port RAM cell
US5406525A (en)1994-06-061995-04-11Motorola, Inc.Configurable SRAM and method for providing the same
US5566123A (en)1995-02-101996-10-15Xilinx, Inc.Synchronous dual port ram
US5717901A (en)1995-05-171998-02-10Altera CorporationVariable depth and width memory device
US5543732A (en)1995-05-171996-08-06Altera CorporationProgrammable logic array devices with interconnect lines of various lengths
US5592106A (en)1995-05-171997-01-07Altera CorporationProgrammable logic array integrated circuits with interconnection conductors of overlapping extent
US5614840A (en)1995-05-171997-03-25Altera CorporationProgrammable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors
US5541530A (en)1995-05-171996-07-30Altera CorporationProgrammable logic array integrated circuits with blocks of logic regions grouped into super-blocks
US5689195A (en)1995-05-171997-11-18Altera CorporationProgrammable logic array integrated circuit devices
US5689731A (en)1995-06-071997-11-18International Business Machines CorporationProgrammable serializer using multiplexer and programmable address counter for providing flexiblity in scanning sequences and width of data
US5559450A (en)1995-07-271996-09-24Lucent Technologies Inc.Field programmable gate array with multi-port RAM
US5867422A (en)1995-08-081999-02-02University Of South FloridaComputer memory chip with field programmable memory cell arrays (fpmcas), and method of configuring
WO1997017705A1 (en)1995-11-081997-05-15Advanced Micro Devices, Inc.System for reconfiguring the width of an xyram
EP0780846A2 (en)1995-12-201997-06-25International Business Machines CorporationField programmable memory array
WO1998005035A1 (en)1996-07-291998-02-05Xilinx, Inc.A multiport ram with programmable data port configuration
US5715197A (en)*1996-07-291998-02-03Xilinx, Inc.Multiport RAM with programmable data port configuration
US5933023A (en)1996-09-031999-08-03Xilinx, Inc.FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines
US6563751B1 (en)*2000-12-292003-05-13Nortel Networks LimitedSystem and method for testing TDM sRAMs

Non-Patent Citations (60)

* Cited by examiner, † Cited by third party
Title
Alex, Yuen et al.; "A 32K ASIC Synchronous RAM Using a Two-Transistor Basic Cell"; Copyright 1989 IEEE; IEEE Journal of Solid-State Circuits; vol. 24, No. I; Feb. 1989; pp. 57-61.
Alexander S. Shubat et al.; "A Family of User-Programmable Peripherals with a Functional Unit Architecture"; Copyright 1992 IEEE; IEEE Journal of Solid-State Circuits; vol. 27, No. 4; Apr. 1992; pp. 515-529.
Bob Kertis et al.; "A 6.8ns 1Mb ECL I/O BICMOS Configurable SRAM"; Copyright 1990 IEEE; 1990 Symposium on VLSI Circuits; pp. 39-40.
Britton, Barry K., et al., "Optimized Reconfigurable Cell Array Architecture for High-Performance Field-Programmable Gate Arrays", 1993 Custom Integrated Circuits Conference, pp. 7.2.1-7.2.5available from IEEE.
Craig Lytle; "FLEX Programmable Logic: Largest Density PLD"; copyright 1993 IEEE; pp. 355-361.
Dave Bursky; "Gate Arrays Face Onslaught of Dense and Flexible FPGAs"; Electronic Design Report; Electronic Design; Jun. 26, 1995; pp. 85-88, 90, 94, and 96.
Dave Bursky; "RAM-Based Logic Arrays Up Density, Cut Delays"; Electronic Design; Oct. 1, 1992; pp. 45-46 and 48-49.
Dave Pryce; "Specialized Memories Ease Communications"; Dual-Port Static RAMs; Technology Update; EDN Apr. 13, 1989; pp. 83-89.
David Karchmer et al.; "Definition and Solution of the Memory Packing Problem for Field-Programmable Systems"; Copyright 1994 ACM; pp. 20-26.
David Karchmer; "A Field-Programmable System with Reconfigurable Memory"; Copyright by David Karchmer 1994; a Thesis; pp. 1-84.
David Marple et al.; "Programming Antifuses in Crosspoint's FPGA"; IEEE 1994 Custom Integrated Circuits Conference; Copyright 1994 IEEE; pp. 185-188.
El Gamel et al.; "An Architecture for Electrically Configurable Gate Arrays", IEEE Journal of Solid-State Circuits; vol. 24, No. 2, Apr. 1989; pp. 394-398.
El-Ayat et al.; "A CMOS Electrically Configurable Gate Array"; IEEE Journal of Solid-State Circuits; vol. 24, No. 3; Jun. 1989; pp. 752-762.
Fletcher, William I. et al.; "Simply Sequential Circuit Design"; Electronic Design; Jul. 8, 1971; pp. 70-72.
Hemel, Albert; "Making Small ROM's [sic]D Math Quickly, Cheaply and Easily"; Electronics; May 11, 1970; pp. 104-111.
Hemel, Albert; "Making Small ROM's [sic]D Math Quickly, Cheaply and Easily"; Electronics; May 11, 1970; pp. 104-111.
Hisayasu Satoh et al.; "A 209K-Transistor ECL Gate Array with RAM"; Copyright 1989 IEEE; IEEE Journal of Solid-State Circuits; vol. 24, No. 5; Oct. 1989; pp. 1275-1279.
Hisayasu Satoh et al.; "Session 13: Gate Arrays, THPM 13.5: A 209K-Transistor ECL Gate Array with RAM"; Copyright 1989 IEEE; 1989 IEEE International Solid-State Circuits Conference; ISSCC 89; Feb. 16, 1989; pp. 184-186.
Hsieh, Hung-Chung, et al., "Third Generation Architecture Boots Speed and Density of Field Programmable Gate Arrays", 1990 Custom Integrated Circuits Conference, pp. 31.2.1-31.2.7, available from Xilinx, Inc., 2100 Logic Drive, San Jose, CA 95124.
Hsing-San Lee et al.; "Session XIII: Static RAMs: THPM 13.4: An Experimental 1Mb CMOS SRAM with Configurable Organization Operation"; ISSCC'88; pp. 1-3.
Jarvis C. Tuo et al., "A Submicrometer CMOS Embedded SRAM Compiler"; Special Brief Papers; Copyright 1992 IEEE; IEEE Journal of Solid-State Circuits; vol. 27, No. 3; Mar. 1992; pp. 417-424.
Kambayashi, Yahiko; "Logic Design of Programmable Logic Arrays"; IEEE Tranactions on Computers; vol. C-28, No. 9, Sep. 1979; pp. 609-617.
Koji Nii et al.; "A Multi-Port RAM Generator with Novel Memory Cell for CMOS Se-Of-Gates"; IEEE 1994 Custom Integrated Circuits; Conference; Copyright 1994 IEEE; pp. 667-670.
Kvamme, Floyd; "Standard Read-Only Memories Simply Complex Logic Design"; Electronics; Jan. 5, 1970; pp. 88-95.
Levi R. Kimmel; "Dynamic Memory Output Reorganization"; IBM Technical Disclosure Bulletin; Dec. 1983; downloaded from https://www.delphion.com/tdbs/tdb?order=83A+62699; pp. 3244-3245.
M. Agarwala et al.; "An Architecture for a DSP Field-Programmable Gate Array"; Transactions Briefs; IEEE Transactions on Very Large Scale Integrated (VLSI) Systems; vol. 3, No. 1; Mar. 1995; Copyright 1995 IEEE; pp. 136-141.
Marple, David, et al., "An MPGA Compartible FPGA Architecture", IEEE Custom Integrated Circuits Conference, 1992, pp. 4.2.1-4.2.4, Available from IEEE, 3 Park Avenue, New York, NY 10016-5997.
Matsumoto, Rodney T., "Configurablle On-Chip RAM Incorporated Into high Speed Logic Array", 1985, pp. 240-243, Custom Integrated Circuits Conference, available from IEEE, 3 Park Avenue, New York, NY 10016-5997.
MicroDesign Resources, Inc.; "Cypress SPARC Chips Target Workstations"; Microprocessor Report; The Newsletter of Microprocessor-Based Design; vol. 2, No. 7; Copyright 1988 MicroDesign Resources Inc,; pp. 11-16.
Microprocessors and Microsystems; "MAP Family of Peripherals with User-Configurable Memory"; Application Note; vol. 13, No. 10; Dec. 1989; pp. 666-672.
Minnick, R. C.; "A Survey of Microcellular Research", Journal of the Association for Computing Machinery, vol. 14, No. 2, Apr. 1967, pp. 203-241.
Motorola: Semiconductor Technical Data: Product Review; MCM101524D: "1M x Bit Fast Static Random Access memory with ECL I/O"; Rev. 2, Sep. 1994; Copyright Motorola 1994; pp. 1-8.
Motorola: Semiconductor Technical Data: Product Review; MCM101524D: "1M × Bit Fast Static Random Access memory with ECL I/O"; Rev. 2, Sep. 1994; Copyright Motorola 1994; pp. 1-8.
Mukho-padhyay, A.; ed.; Recent Developments in Switching Theory, Academic Press, New York, 1971; Chapters VI "Universal Logic Modules" and IX "Programmable Cellular Logic", pp. 229-254 and 369-422.
Ngai, Tony, "An SRAM-Programmable Field-Configurable Memory", Thesis, 1994, pp. 1-82, available from ProQuest Co., 300 North Zeeb Raod, P.O. Box 1346, Ann Arbor, Michigan, 48106-1346.
Ngai, Tony, et al., "An SRAM-Programmable Field-Configurable Memory", 1995, pp. 499-502, Proceeding of the IEEE 1995 Custom Integrated Circuits Conference, available from Available from IEEE, 3 Park Avenue, New York, NY 10016-5997.
Nichols, John L.; "A Logical Next Step for Read-Only Memories"; Electronics; Jun. 12, 1967; pp. 111-113.
Nobuo Tamba et al.; "A 1.5-ns 256-kb BiCMOS SRAM with 60-ps 11-K Logic Gates"; Copyright 1994 IEEE; IEEE Journal of Solid-State Circuits; vol. 29, No. 11; Nov. 1994; pp. 1344-1352.
Norio Miyahara et al.; "A composite CMOS Gate Array with 4K RAM and 128K ROM"; Copyright 1986 IEEE; IEEE Journal of Solid-State Circuits; vol. SC-21, No. 2; Apr. 1986; pp. 228-233.
Ostapko Ling; "Utilizing Dynamic Chip Organization to Allow Both Strip and Rectangular Mapping to Memory"; IBM Technical Disclosure Bulletin: Dec. 1984; downloaded from https://www.delphion.com/cgi-bin/d2www.cmd/v4/tdb.d2w/tdb?order...; pp. 1-2.
Satoru Isomura et al.; "Session 2: High-Speed SRAMs"; WAM 2.1: A 36kb/2ns RAM with 1kG/100ps Logic Gate Array"; copyright 1989 IEEE International Solid-State Circuits Conference; ISSCC 89/Wednesday, Feb. 15, 1989; pp. 26-27 and 278.
Shinpei Kayano et al.; 25-ns 256K × 1/64 K + 4 CMOS SRAM's; Copyright 1986 IEEE; IEEE Journal of Solid-State Circuits; vol. SC-21, No. 5; Oct. 1986; pp. 686-691.
Shinpei Kayano et al.; 25-ns 256K x 1/64 K + 4 CMOS SRAM's; Copyright 1986 IEEE; IEEE Journal of Solid-State Circuits; vol. SC-21, No. 5; Oct. 1986; pp. 686-691.
Sholl, Howard A. et al.; "Design of Asynchronous Sequential Networks Using Read-Only Memories"; IEEE Tranactions on Computer; vol. C-24, No. 2; Feb. 1975; pp. 195-206.
Smith, Daniel E., "Intel's FLEXlogic FPGA Architecture", 1993, pp. 378-384, Available from IEEE, 3 Park Avenue, New York, NY 10016-5997.
Sua C. Wong et al.; "A 5000-Gate CMOS EPLD with Multiple Logic and Interconnect Arrays"; Copyright 1989 IEEE; IEEE 1989 Custom Integerated Circuits Conference; pp. 5.8.1-5.8.4.
Sy-Yen Kuo et al.; "Efficient Reconfiguration Algorithms for Degradable VLSI/WSI Arrays"; Copyright 1992 IEEE; IEEE Transactions on Computer-Aided Design; vol. 11, No. 10; Oct. 1992; pp. 1289-1300.
Takashi Nishimura et al.; "0.6m 12K-Gate ECL Gate Array with RAM and ROM"; Copyright 1989 IEEE; IEEE 1989 Custom Integrated Circuits Conference; pp. 15.6.1-15.6.4.
Thomas J. Tyson et al., "Using the 54/74LS610-13 Memory Mapping Units"; Application Note; Microprocessors and Microsystems; Copyright 1988; pp. 286-291.
Todd Williams et al.; "An Experimental 1-Mbit CMOS SRAM with Configurable Organization and Operation"; IEEE Journal of Solid-State Circuits; vol. 23, No. 5; Oct. 1988; pp. 1085-1094.
Tomobisa Wada et al.; "Variable Bit Organization as a New Test Function for Standard Memories"; Brief Papers; Copyright 1991 IEEE; IEEE Journal of Solid-State Circuits; vol. 26, No. 1; Jan. 1991; pp. 51-54.
Tsukasa Ooishi et al.; Paper Special Issue on LSI Memories; "A ST (Stretchable Memory Matrix) DRAM with Multi-Valued Addressing Scheme"; IEICE Trans. Electron; vol. E75-C, No. 1I; Nov. 1992; pp. 1323-1332.
VLSI Technology, Inc.; Preliminary VT16DP8; 1,024 × 16, 2,048 × 8 Dual-Port RAM; pp. 5-3 to 5-12.
VLSI Technology, Inc.; Preliminary VT16DP8; 1,024 x 16, 2,048 x 8 Dual-Port RAM; pp. 5-3 to 5-12.
Wahlstrom, S. E.; "Programmable Logic Arrays-Cheaper by the Millions"; Electronics, Dec. 11, 1967; pp. 90-95.
Weinberger, Arnold; "High-Speed Programmable Logic Array Adders"; IBM J. Res. Develop.; vol. 23, No. 2; Mar. 1979; pp. 163-178.
Wilton, Steven J. E., et al., "Architecture of Centralized Field Configurable Memory", Proceeding of the Third Internation ACM Symposium on Field-Programmable Gate Arrays, 1995, pp. 1-7, available from Dept. of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada M5S1A4.
Xilinx, Inc.; "The Programmable Logic Data Book"; 1996; available from Xilinx, Inc. 2100 Logic Drive, San Jose, CA 95124; pp. 4-5 to 4-20.
Xilinx, Inc.; "XC5000 Logic Cell Array Family Technical Data, Advance Information"; available from Xilinx, Inc. 2100 Logic Drive, San Jose, Ca 95124; Feb. 1995.
Yoshio Kohno et al.; "A 14-ns 1-Mbit CMOS SRAM with Variable Bit Organization"; copyright 1988 IEEE; IEEE Journal of Solid-State Circuits; vol. 23, No. 5; Oct. 1988; pp. 1060-1066.

Cited By (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20060294293A1 (en)*2002-12-102006-12-28Altera CorporationVersatile RAM for a programmable logic device
US7480763B2 (en)*2002-12-102009-01-20Altera CorporationVersatile RAM for a programmable logic device
US20100228908A1 (en)*2009-03-092010-09-09Cypress Semiconductor CorporationMulti-port memory devices and methods
US8595398B2 (en)2009-03-092013-11-26Cypress Semiconductor Corp.Multi-port memory devices and methods
US9489326B1 (en)2009-03-092016-11-08Cypress Semiconductor CorporationMulti-port integrated circuit devices and methods
US9509307B1 (en)*2014-09-222016-11-29Xilinx, Inc.Interconnect multiplexers and methods of reducing contention currents in an interconnect multiplexer

Also Published As

Publication numberPublication date
WO1998005035A1 (en)1998-02-05
US5715197A (en)1998-02-03

Similar Documents

PublicationPublication DateTitle
USRE40423E1 (en)Multiport RAM with programmable data port configuration
US6986004B1 (en)FIFO memory with programmable data port widths
US5802003A (en)System for implementing write, initialization, and reset in a memory array using a single cell write port
US5999441A (en)Random access memory having bit selectable mask for memory writes
JP2703397B2 (en) Logical array whose configuration can be changed
US5867422A (en)Computer memory chip with field programmable memory cell arrays (fpmcas), and method of configuring
US4683555A (en)Serial accessed semiconductor memory with reconfigureable shift registers
JP3210660B2 (en) Logic blocks for programmable logic devices
US5809281A (en)Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
US6633509B2 (en)Partial selection of passive element memory cell sub-arrays for write operations
US5256918A (en)Programmable logic circuit
US5909125A (en)FPGA using RAM control signal lines as routing or logic resources after configuration
US5854763A (en)Integrated circuit with non-binary decoding and data access
US6353332B1 (en)Methods for implementing CAM functions using dual-port RAM
KR20070116896A (en) Sammux Segmentation
EP0523759A2 (en)Serial accessed semiconductor memory
US6029236A (en)Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
US6356110B1 (en)Multifunction memory array in a programmable logic device
US6075721A (en)Random access memory having bit selectable mask for memory writes
US5179676A (en)Address selection circuit including address counters for performing address selection
US6115294A (en)Method and apparatus for multi-bit register cell
US4975882A (en)User programmable redundant memory
US7916572B1 (en)Memory with addressable subword support
US5166660A (en)Random access compare array
US10811087B2 (en)Memory circuit capable of implementing calculation operations

Legal Events

DateCodeTitleDescription
FPAYFee payment

Year of fee payment:12


[8]ページ先頭

©2009-2025 Movatter.jp