WO2014163098A2 - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- WO2014163098A2 WO2014163098A2 PCT/JP2014/059702 JP2014059702W WO2014163098A2 WO 2014163098 A2 WO2014163098 A2 WO 2014163098A2 JP 2014059702 W JP2014059702 W JP 2014059702W WO 2014163098 A2 WO2014163098 A2 WO 2014163098A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- address
- memory cell
- signal
- cell unit
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/418—Address circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/419—Read-write [R-W] circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/18—Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to a semiconductor device, and more particularly to a system-on-chip device configured as a single chip or a reconfigurable semiconductor device.
- SoC System on Chip
- a memory is often mounted inside a chip, and the storage capacity of the mounted memory is increasing year by year.
- a power saving design called a voltage island may be performed in order to reduce power consumption.
- the circuit in the ASIC is divided into a plurality of modules, the power gate circuit is controlled, and the power source can be switched on and off independently for each divided module. Then, the leakage current of the module can be eliminated by turning off the power of the module that is not used.
- the power supply of most unnecessary circuits can be turned off, so that the leakage current of the ASIC can be minimized.
- the power consumption is suppressed by stopping the power supply to the unused module inside the SoC.
- SRAM Static Random Access Memory
- the CPU Central Processing Unit
- the voltage of the synchronous SRAM is increased and accessed.
- the voltage of the synchronous SRAM is lowered to a retention level that can hold the cache contents.
- a power gate circuit has been introduced to save power by turning off the power when there is no access. Normally, however, the power is turned on when there is access. Remains. In any case, the conventional technique requires complicated control from the CPU in order to reduce power consumption.
- a synchronous SRAM is used as the SRAM used for the cache memory.
- the address line and various control signals operate in synchronization with the clock signal, so that one of the word lines is selected according to the clock signal.
- an asynchronous SRAM that operates asynchronously with a clock signal consumes more power than a synchronous SRAM because the word line is active even when there is no clock.
- asynchronous SRAM is not employed.
- an embodiment of the present invention aims to suppress power consumption of a system-on-chip device by using a storage unit that activates a word line asynchronously with a clock synchronized with a processor.
- a processor that executes arithmetic processing in synchronization with a clock;
- a storage unit that operates asynchronously to the clock;
- An address transition detection unit for detecting a transition of an address output from the processor to the storage unit;
- the address transition detection unit activates a word line of the storage unit that operates asynchronously when the address transition is detected.
- the storage unit according to claim 1, wherein when the address transition is detected, the storage unit generates a clock according to the address, and the storage unit activates the word line in synchronization with the generated clock.
- the storage unit has a latch unit; 3.
- the system-on-chip device according to item 1 or 2, wherein when the address transition detection unit does not detect the address transition, the storage unit outputs data held in the latch unit to the processor. 4).
- the storage unit stores truth table data for outputting a logical operation of input values specified by a plurality of address lines to a data line, operates as a logic circuit, and / or uses a certain address line.
- the storage unit includes first and second memory cell units, The first memory cell unit is connected to a part of a plurality of address lines input to the storage unit, The system-on-chip device according to any one of items 1 to 5, wherein the second memory cell unit is connected to another part of the plurality of address lines input to the storage unit. 7).
- the first and second memory cell units output data in the first direction in response to an address input from the first direction, or address from a second direction opposite to the first direction. Item 7.
- the system-on-chip device which stores truth table data for outputting data in the second direction with respect to an input and operates as a connection circuit. 8).
- the first and second memory cell units store truth table data for outputting data in the second direction in response to an address input from the first direction, and operate as a connection circuit.
- Item 7. The system-on-chip device according to item 6. 9. 7. The system-on-chip device according to item 6, wherein a plurality of data lines output from the storage unit are divided and output to the other two storage units.
- the power consumption of the system-on-chip device can be suppressed by using a storage unit that is asynchronous with a clock in which the processor operates synchronously.
- FIG. 3 It is a figure which shows the structural example of SoC which concerns on 1st Embodiment. It is a circuit diagram which shows a cache memory. It is a circuit diagram of the address transition detection part which concerns on this embodiment. 4 is a timing chart of an address transition detection signal shown in FIG. 3.
- MRLD is an example of SoC used as a cache memory. It is a figure which shows the 1st example of the whole structure of the semiconductor device which concerns on this embodiment. It is a figure which shows an example of an MLUT array. It is a figure which shows an example of MLUT. It is a figure which shows an example of MLUT which operate
- a system-on-chip device will be described as a first embodiment of a semiconductor device with reference to the drawings, and a reconfigurable semiconductor device will be described as a second embodiment of the semiconductor device.
- FIG. 1 is a diagram illustrating a configuration example of the SoC according to the present embodiment.
- the SoC 10 as the system-on-chip device illustrated in FIG. 1 includes, for example, a processor 200 that is a CPU, an SRAM 300, and an address transition detection unit 100. Power is directly supplied to the processor 200 and the cache memory 300 from the power supply VDD of the entire SoC 10. Further, a system clock is supplied to the processor 200, and the processor 200 includes at least one processor core 210 that executes arithmetic processing for pipeline processing in synchronization with the clock, and an L1 cache 220 for each processor core. Including.
- the L1 cache 220 is a relatively small memory cache that is installed closest to the associated processor core and is configured to provide the associated processor core 210 with fast access to instructions and data.
- the processor has a plurality of pipelines (an instruction control pipeline, an arithmetic pipeline, a branch control pipeline, etc.) that realize the function.
- Each pipeline is divided into a plurality of stages.
- Each stage includes a circuit unit that realizes a predetermined process, and operates so as to end the predetermined process assigned to each stage within a period called a cycle time that is the reciprocal of the operating frequency.
- the output signal of the stage related to the previous process is used as the input signal of the stage related to the subsequent process, for example.
- the processor 200 may further include at least one L2 cache 250.
- L2 cache 250 is relatively larger than L1 cache 220 and is associated with one or more L1 caches and configured to supply data to the associated one or more L1 caches.
- the processor core 210 requests the L2 cache 250 for data not included in its associated L1 cache. Accordingly, data requested by the processor core 210 is retrieved from the L2 cache 250 and stored in the L1 cache associated with the processor core 210.
- L1 cache 210 and L2 cache 220 may be SRAM-based devices.
- the cache memory 300 is an L3 cache, but in the processor 200 without the L2 cache 250, the cache memory 300 corresponds to the L2 cache.
- the L3 cache 300 is relatively larger than the L1 cache 220 and the L2 cache 250. Although a single L3 cache 300 is shown in FIG. 1, multiple L3 caches 300 may be implemented.
- the L1 cache 210 may be associated with a plurality of L2 caches 250 and may be configured to exchange data with the associated L2 caches 250.
- One or more high level caches, eg, L4 caches may be included in the SoC 10. It is also possible to associate each high level cache with the next lower level one or more caches.
- the number of L3 caches 300 is one, but a plurality of L3 caches 300 may be provided.
- FIG. 2 is a circuit diagram showing the cache memory.
- the cache memory 300 is a memory that operates asynchronously with a clock, and is, for example, an SRAM.
- the cache memory 300 includes an address transition detection unit 100, a memory cell 302, a sense amplifier 303, a latch unit 304, a decoder 305, and a comparison circuit 306.
- the cache memory 300 has the address transition detection unit 100 in the previous stage of the decoder 305.
- the address transition detection unit 100 receives the address signal, the address transition detection unit 100 generates a clock (atd_clk).
- the decoder 305 is configured to operate in synchronization with the clock.
- the generated clock (atd_clk) is not generated, the cache memory 300 does not operate, and power can be reduced.
- data held in the latch unit 304 is output to the processor 200 in accordance with the clock from the processor 200.
- the address transition detection unit 100 When the address transition detection unit 100 detects an address transition, the address transition detection unit 100 outputs the signal level “Low” of the chip enable signal (atd_ce) and the clock (atd_clk) is input. Since the word line becomes active only during the period, the decoder 305 decodes the address (atd_ad) and activates the word line specified by the decoded signal. A memory cell connected to the activated word line changes the potential of a column line (not shown). The sense amplifier 303 holds a bit in the latch unit 304 by detecting a signal obtained by amplifying the change in potential of the column line.
- the comparison circuit 306 compares the tag output from the sense amplifier 303 with the tag of the physical address.
- cache hit the data held in the latch unit 305 is output to the processor 200 in accordance with the output of the decoder 305 synchronized with the clock (atd_clk).
- cache miss a cache miss signal is output to the processor 200.
- FIG. 2 shows one cache memory 300, but there may be a plurality of cache memories 300.
- the addresses supplied from the processor 200 are supplied to the plurality of cache memories 300, and the cache memory 300 that hits the cache outputs data specified by the addresses to the processor 200.
- FIG. 3 is a circuit diagram of the address transition detection unit according to the present embodiment.
- the address transition detection unit 100 shown in FIG. 2 includes negative logical sum (NOR) circuits 110A and 110B, a logical sum (OR) circuit 120, an exclusive logical sum (EOR) circuit 130, delay circuits 140A to 140C, flip-flops ( FF) 150, an inverter 160B, and a D latch 170.
- FIG. 4 is a timing chart of the address transition detection signal shown in FIG. The circuit operation for address transition detection will be described below with reference to FIGS.
- the signal S1 is an address input signal output from the processor.
- Signal S2 is the output of the D latch.
- the D latch 170 latches so as not to change for a certain period. This is to ignore subsequent address transitions due to noise or the like.
- the signal S3 is a delayed signal output from the D latch 170. As shown in FIG. 3, the delay signal is delayed by the delay circuit 140B in order to generate a clock at the rising edge and the falling edge to generate the clock width of the signal S4.
- the signal S4 generated as a clock signal detects a change and is output from the EOR 130.
- the EOR 130 since the input and output of the delay circuit 140B are input, if the signal levels of the two differ, the signal level “high” is output. Thereby, an address transition can be detected.
- the time T1 of S4 shown in FIG. 4 indicates the time from the detection of the change of the logical address to the FF fetch, and the time T2 indicates the time from the detection of the change of the logical address to the reading of the memory cell unit.
- OR circuit 120 other address transition signals are input together with the signal S4, and an OR operation value is output.
- the output of the OR circuit 120 is delayed by the delay circuit 140C, and the signal S5 is output.
- the signal S5 is a delay signal output from the delay circuit 140C and waits for an enable signal of the LAT 170 and inputs a clock.
- the signal S6 is a signal extension of the signal S5 and is a pulse generation of the enable signal.
- the NOR circuit 110A outputs a signal S7 that is a NOR operation value of the signals S5 and S6.
- the signal S7 becomes an enable signal for the D latch 170.
- the signal S8 is a signal obtained by inverting the signal S5 by the inverter 160A, and is used by the FF 150 as a clock for latching the address signal.
- the signal S9 is used to enable the storage unit 200 in the subsequent stage, the signal S10 is used as a clock (atd_clk) of the storage unit 200, and the signal S11 is used as an address of the storage unit 200.
- a signal S10 in FIG. 4 indicates the time from detection of a change in logical address to reading from the memory.
- the clock is generated with the address change and the memory is driven, so that the memory operates when necessary, and the memory is not driven when unnecessary.
- the power consumption can be reduced autonomously.
- MRLD Memory based Reconfigurable Logic Device
- MPLD Memory-Programmable Logic Device
- SRLD is a direct connection between MLUTs without intervening wiring elements, just like “MPLD (Memory-Programmable Logic Device)” (registered trademark), which realizes the circuit configuration with the memory cell unit developed by the applicant.
- MPLD Memory-Programmable Logic Device
- it is distinguished in that the function of the synchronous SRAM supplied as the memory IP is effectively used.
- an address transition detection unit is provided and the synchronous SRAM is also desynchronized. At the same time, asynchronization is performed, no input signal is input to a block that does not constitute logic, address transition does not occur, and power can be reduced. Since an input signal is input to the blocks constituting the logic, a clock is generated and a predetermined logical value can be output.
- FIG. 5 is an example of SoC in which MRLD is used as a cache memory. Although one MRLD is shown in FIG. 5, there may be a plurality of MRLDs as described in FIG.
- the MRLD 20 includes an MLUT array 60 in which a plurality of MLUTs 30 using a synchronous SRAM are arranged in an array, a row decoder 12 that specifies a memory read operation and a write operation of the MLUT 30, and a column decoder 14.
- the MLUT 30 is composed of a synchronous SRAM.
- the MLUT 30 performs a logical operation that operates as a logical element, a connection element, or a logical element and a connection element by storing data regarded as a truth table in the storage element of the memory.
- a logic address LA indicated by a solid line and a signal of the logic data LD are used.
- the logic address LA is used as an input signal for the logic circuit.
- the logic data LD is used as an output signal of the logic circuit.
- the logic address LA of the MLUT 30 is connected to the data line of the logic operation data LD of the adjacent MLUT.
- the logic realized by the logic operation of the MRLD 20 is realized by truth table data stored in the MLUT 30.
- Some MLUTs 30 operate as logic elements as combinational circuits such as AND circuits and adders.
- the other MLUTs operate as connection elements that connect the MLUTs 30 that realize the combinational circuit. Rewriting of truth table data for the MLUT 30 to realize a logical element and a connection element is performed by a write operation to the memory.
- the write operation of the MRLD 20 is performed by the write address AD and the write data WD, and the read operation is performed by the write address AD and the read data RD.
- the write address AD is an address for specifying a memory cell in the MLUT 30.
- the write address AD specifies m number of memory cells of 2 m with m signal lines.
- the row decoder 12 receives the MLUT address via the m signal lines, decodes the MLUT address, and selects and specifies the MLUT 30 that is the target of the memory operation.
- the memory operation address is used in both cases of the memory read operation and the write operation, and is decoded by the row decoder 12 and the column decoder 14 through m signal lines to select a target memory cell. .
- the logical operation address LA is decoded by a decoder in the MLUT.
- the row decoder 12 decodes x bits of m bits of the write address AD according to control signals such as a read enable signal re and a write enable signal we, and outputs a decoded address n to the MLUT 30.
- the decode address n is used as an address for specifying a memory cell in the MLUT 30.
- the column decoder 14 decodes y bits of the m bits of the write address AD, has the same function as the row decoder 12, outputs the decode address n to the MLUT 30, and writes the write data WD. And the read data RD are input.
- n ⁇ t bit data is input from the MLUT array 60 to the decoder 12.
- the row decoder outputs re and we for o rows. That is, the o line corresponds to the s line of the MLUT.
- a word line of a specific memory cell is selected by activating only one bit out of the o bits. Since t MLUTs output n-bit data, n ⁇ t-bit data is selected from the MLUT array 60, and the column decoder 14 is used to select one of them.
- FIG. 6B is a diagram illustrating an example of an MLUT array.
- the MLUT array 60 is configured by arranging MLUTs 30 in an array as shown in the figure.
- the memory used as the MLUT 30 has the same address line width and data line width.
- a pseudo bidirectional line is defined by pairing each bit of the address line and the data line. This pseudo bidirectional line is called “AD pair” in MRLD.
- AD pair This pseudo bidirectional line is called “AD pair” in MRLD.
- an MLUT having N AD pairs is realized.
- the operation as the logic of the MRLD is realized by regarding the data written in the memory constituting the MLUT 30 as a truth table.
- FIG. 7 is a diagram illustrating an example of an MLUT.
- the logic operation data lines D0 to D3 connect 24 memory elements 40 in series, respectively.
- the address decoder 9 is configured to select four storage elements connected to any of the 16 word lines based on signals input to the logic address input LA lines A0 to A3.
- These four storage elements are connected to logic operation data lines D0 to D3, respectively, and output data stored in the storage elements to logic operation data lines D0 to D3.
- the four storage elements 40A, 40B, 40C, and 40D can be selected.
- the storage element 40A is connected to the logic operation data line D0
- the storage element 40B is connected to the logic operation data line D1
- the storage element 40D is connected to the logic operation data line D2.
- 40D is connected to the logic operation data line D3.
- signals stored in the storage elements 40A to 40D are output to the logic operation data lines D0 to D3.
- the MLUTs 30A and 30B receive the logical address input LA from the logical address input LA lines A0 to A3, and values stored in the four storage elements 40 selected by the address decoder 9 based on the logical address input LA. Are output as logic operation data to the logic operation data lines D0 to D3, respectively.
- the logical address input LA line A2 of the MLUT 30A is connected to the logical operation data line D0 of the adjacent MLUT 30B, and the MLUT 30A receives the logical operation data output from the MLUT 30B as the logical address input LA. .
- the logic operation data line D2 of the MLUT 30A is connected to the logic address input LA line A0 of the MLUT 30B, and the logic operation data output from the MLUT 30A is received by the MLUT 30B as the logic address input LA.
- the logic operation data line D2 of the MLUT 30A is one of 16 storage elements connected to the logic operation data line D2 based on signals input to the logic address inputs LA lines A0 to A3 of the MLUT 30A. The signal stored in one is output to the logic address input LA line A0 of the MLUT 30B.
- the logic operation data line D0 of the MLUT 30B is one of 16 storage elements connected to the logic operation data line D0 based on signals input to the logic address input LA lines A0 to A3 of the MLUT 30B.
- the signal stored in one is output to the logic address input LA line A2 of the MLUT 30A.
- the MLUTs are connected to each other using a pair of address lines and data lines.
- a pair of address lines and data lines used for MLUT connection such as the logic address input LA line A2 of the MLUT 30A and the logic operation data line D2, is referred to as an “AD pair”.
- the MLUTs 30A and 30B have 4 AD pairs, but the number of AD pairs is not limited to 4 as will be described later.
- FIG. 8 is a diagram illustrating an example of an MLUT that operates as a logic circuit.
- the logical address input LA lines A0 and A1 are input to the two-input NOR circuit 701
- the logical address input LA lines A2 and A3 are input to the two-input NAND circuit 702.
- the output of the 2-input NOR circuit 701 and the output of the 2-input NAND circuit 702 are input to the 2-input NAND circuit 703, and the output of the 2-input NAND circuit 703 is output to the logic operation data line D0. To do.
- FIG. 9 is a diagram showing a truth table of the logic circuit shown in FIG. Since the logic circuit of FIG. 8 has four inputs, all the inputs A0 to A3 are used as inputs. On the other hand, since there is only one output, only the output D0 is used as an output. “*” Is written in the columns of outputs D1 to D3 of the truth table. This indicates that any value of “0” or “1” may be used. However, when the truth table data is actually written into the MLUT for reconstruction, it is necessary to write either “0” or “1” in these fields.
- FIG. 10 is a diagram illustrating an example of an MLUT that operates as a connection element.
- the MLUT as the connection element outputs the signal of the logic address input LA line A0 to the logic operation data line D1, and outputs the signal of the logic address input LA line A1 to the logic operation data line D2.
- the logic address input LA line A2 operates to output the signal to the logic operation data line D3.
- the MLUT as the connection element further operates to output the signal of the logic address input LA line A3 to the logic operation data line D0.
- FIG. 11 is a diagram showing a truth table of the connection elements shown in FIG.
- the connection element shown in FIG. 10 has 4 inputs and 4 outputs. Therefore, all inputs A0-A3 and all outputs D0-D3 are used.
- the MLUT outputs the signal of the input A0 to the output D1, outputs the signal of the input A1 to the output D2, outputs the signal of the input A2 to the output D3, and outputs the signal of the input A3. It operates as a connection element that outputs to the output D0.
- FIG. 12 is a diagram illustrating an example of a connection element realized by an MLUT having four AD pairs of AD pair 0, AD pair 1, AD pair 2, and AD pair 3.
- AD0 has a logic address input LA line A0 and a logic operation data line D0.
- AD1 has a logic address input LA line A1 and a logic operation data line D1.
- AD2 has a logic address input LA line A2 and a logic operation data line D2.
- AD3 has a logic address input LA line A3 and a logic operation data line D3.
- a two-dot chain line shows a signal flow in which a signal input to the logic address input LA line A0 of the AD pair 0 is output to the logic operation data line D1 of the AD pair 1.
- a broken line indicates a signal flow in which a signal input to the AD pair 1 logic address input LA line A1 is output to the AD operation 2 logic operation data line D2.
- a solid line indicates a flow of a signal in which a signal input to the logic address input LA line A2 of the AD pair 2 is output to the logic operation data line D3 of the AD pair 3.
- a one-dot chain line indicates a signal flow in which a signal input to the logic address input LA line A3 of the AD pair 3 is output to the logic operation data line D0 of the AD pair 0.
- the MLUT 30 has four AD pairs, but the number of AD pairs is not particularly limited to four.
- FIG. 13 is a diagram illustrating an example in which one MLUT operates as a logic element and a connection element.
- the logical address input LA lines A 0 and A 1 are input to the two-input NOR circuit 121, and the output of the two-input NOR circuit 121 and the logical address input LA line A 2 are connected to the two-input NAND circuit 122.
- a logic circuit is provided that inputs and outputs the output of the 2-input NAND circuit 122 to the logic operation data line D0.
- a connection element for outputting the signal of the logic address input LA line A3 to the logic operation data line D2 is formed.
- FIG. 14 shows a truth table of the logic elements and connection elements shown in FIG.
- the logic operation of FIG. 13 uses three inputs D0 to D3 and uses one output D0 as an output.
- the connection element in FIG. 14 is a connection element that outputs the signal of the input A3 to the output D2.
- FIG. 15 is a diagram illustrating an example of logical operations and connection elements realized by an MLUT having four AD pairs of AD0, AD1, AD2, and AD3. Similar to the MLUT shown in FIG. 12, AD0 has a logic address input LA line A0 and a logic operation data line D0. AD1 has a logic address input LA line A1 and a logic operation data line D1. AD2 has a logic address input LA line A2 and a logic operation data line D2. AD3 has a logic address input LA line A3 and a logic operation data line D3. As described above, the MLUT 30 realizes two operations, ie, a logic operation with three inputs and one output and a connection element with one input and one output, with one MLUT 30.
- AD0 has a logic address input LA line A0 and a logic operation data line D0.
- AD1 has a logic address input LA line A1 and a logic operation data line D1.
- AD2 has a logic address input LA line A2 and a logic operation data line D2.
- the logic operation is performed by using the logic address input LA line A0 of AD pair 0, the logic address input LA line A1 of AD pair 1 and the logic address input LA line A2 of AD pair 2 as inputs. use. Then, the address line of the logic operation data line D0 of AD pair 0 is used as an output. Further, the connection element outputs a signal input to the logic address input LA line A3 of the AD pair 3 to the logic operation data line D2 of the AD pair 2 as indicated by a broken line.
- FIG. 16 is a diagram schematically showing an MLUT configured by horizontally stacking MLUTs each including two memory cell units.
- the MLUT 30 shown in FIG. 16 has inputs of addresses A0L to A7L shown in FIG. 17 from the left direction and inputs of addresses A0R to A7R shown in FIG. 17 from the right direction. There are outputs of data D0L to D7L, and there are outputs of data D0R to D7R shown in FIG. 17 in the right direction.
- this plan is composed of 8K (256 words ⁇ 16 bits ⁇ 2 MLUTs) bits.
- FIG. 17 is a diagram illustrating an example of an MLUT using a large-capacity memory.
- FIG. 18 is a diagram illustrating a circuit example of the MLUT illustrated in FIG.
- the MLUT 30 illustrated in FIG. 18 includes memory cell units 31A and 31B.
- the memory cell unit is, for example, an SRAM.
- the memory cell unit 31A includes a plurality of memory cells that are specified by the first plurality of address lines from one side and output to the first plurality of data lines that is twice the number of the first plurality of address lines.
- the memory cell unit 31B has a plurality of memory cells that are specified by the second plurality of address lines from the other side and output to the second plurality of data lines that is twice the number of the second plurality of address lines.
- the MLUT 30 outputs a part of the first plurality of data lines and the second plurality of data lines to one side, and outputs the other part of the first plurality of data lines and the second plurality of data lines to the other side
- Each memory cell unit stores truth table data in a memory cell for each direction. Therefore, each of the memory cell units 31A and 31B stores right-to-left truth table data and left-to-right truth table data. That is, the MLUT stores two truth table data each defining a specific data output direction.
- the number of data in each memory cell unit is increased from the number of addresses, and the direction of data output from each memory cell unit is bidirectional, thereby reducing the number of required memory cells and bidirectional data output. Can be made possible.
- FIG. 19 shows a more detailed circuit example than the MLUT shown in FIG.
- the MLUT 30 shown in FIG. 19 includes memory cell units 31, 31B, address decoders 9A, 9B, address selectors 11A, 11B, I / O (input / output) buffers 12A, 12B, and data selectors 13A, 13B.
- the memory cell units 31 and 31B each have an address decoder, an address selector, an I / O buffer, and a data selector.
- Input addresses to the memory cell units 31A and 31B are addresses A0L to A7L and A8 to A15, and addresses A0R to A7R and A8 to A15, respectively. Therefore, the memory cell units 31A and 31B have a large capacity of 512K of 2 16 (65,536) words ⁇ 8 bits.
- the memory cell units 31A and 31B have inputs of addresses A0L to A7L and A8 to A15, and address addresses A0R to A7R and A8 to A15, respectively.
- FIG. 18 is a schematic diagram, and a decoder or the like that is a peripheral circuit of the memory cell unit is not shown, and the decoders 9A and 9B described in FIG. 19 are prepared for each memory cell unit. Arranged between the address selectors 11A and 11B and the memory cell units 31A and 31B. Therefore, the decoder may decode all addresses output from the address selectors 11A, 11B, 14A, and 14B.
- Address selectors 11A, 11B, 14A, 14B selection circuits for switching between an address line for logical operation and an address for writing. Required if the memory cell is a single port. When the memory cell is a dual port, the row selector is not necessary.
- the data selectors 13A and 13B are selection circuits that switch output data or write data WD.
- MRLD can use a conventional large-capacity memory device without going through semiconductor design prototyping and manufacturing for a dedicated small SRAM.
- a memory IP Intelligent Property
- the area of the address decoder and sense amplifier is large, and the composition ratio of the memory itself is 50% or less. . This also becomes an overhead of MRLD and is inefficient.
- the ratio of the address decoder and the sense amplifier decreases, and the memory usage efficiency increases. For this reason, the present proposal for a large-capacity memory is effective in the case of an MRLD chip.
- FIG. 20 is a conceptual diagram showing an example of connection between an external system and MRLD.
- the external system 120 is an information processing apparatus or a device realized by SoC.
- the external system 120 is connected to the MRLD 20 shown in FIG. 17 and receives a data output from the MRLD 20 and performs a logical operation for determining page switching. Through the connection, the page switching signal is sent to the addresses A8 to A15. Is output.
- SoC By mounting the SoC in the external system, a highly functional device can be realized together with the MRLD 20.
- MPLD has a memory cell unit unlike an FPGA having a dedicated switch circuit for each memory cell unit, and can be manufactured by a standard CMOS (Complementary Metal Oxide Semiconductor) logic process. Therefore, it is possible to reduce the price.
- CMOS Complementary Metal Oxide Semiconductor
- MPLD is not a synchronous type, its performance cannot be satisfied when used as a synchronous memory. Therefore, the applicant has proposed an MPLD that can be used as a synchronous memory in a standard manufacturing process of a memory cell unit in Japanese Patent Laid-Open No. 2013-219699.
- a pair of memories composed of a synchronous memory that is synchronized with a clock and an asynchronous memory that is asynchronous with the clock are operated as an MLUT capable of synchronous and asynchronous switching.
- a form that solves the above-described problems uses a synchronous SRAM to realize a semiconductor device that can be switched synchronously and asynchronously and can be reconfigured.
- a reconfigurable semiconductor device comprising: A plurality of logic units connected to each other by address lines or data lines; Each of the logic units is Multiple address lines, Multiple data lines, A clock signal line for receiving a system clock signal; First and second memory cell units operating in synchronization with a clock signal; A first address decoder that decodes an address signal and outputs the decoded signal to the first memory cell unit; A second address decoder for decoding an address signal and outputting the decoded signal to the second memory cell unit; An address transition detector that detects an address signal transition input from the plurality of address lines, generates an internal clock signal, and outputs the internal clock signal to the first memory cell unit; The reconfigurable semiconductor device, wherein the first memory cell unit operates in synchronization with the internal clock signal, and the second memory cell unit operates in synchronization with the system clock signal.
- a data line connected to the first memory cell unit and a data line connected to the second memory cell unit are connected to each other to output a logical sum; and 2.
- Third and fourth memory cell units operating in synchronization with a clock signal; A third address decoder for decoding an address signal and outputting the decoded signal to the third memory cell unit; A fourth address decoder for decoding an address signal and outputting the decoded signal to the fourth memory cell unit;
- the third memory cell unit operates in synchronization with the internal clock signal, the fourth memory cell unit operates in synchronization with the system clock signal, and
- the first and second address decoders decode addresses input from a part of the plurality of address lines; 12.
- the reconfigurable semiconductor device according to item 10 or 11, wherein the third and fourth address decoders are configured to decode an address input from another part of the plurality of address lines.
- a reconfigurable semiconductor device control method comprising: The semiconductor device includes: A plurality of logic units connected to each other by address lines or data lines; Each of the logic units is Multiple address lines, Multiple data lines, A clock signal line for receiving a system clock signal; A first address decoder; A second address decoder; A first memory cell unit having a plurality of memory cells and operating in synchronization with a clock signal; A second memory cell unit having a plurality of memory cells and operating in synchronization with a clock signal; An address transition detector that detects an address signal transition input from the plurality of address lines, generates an internal clock signal, and outputs the internal clock signal to the first memory cell unit; The first address decoder decodes the address signal and outputs the decode signal to the first memory cell unit; The first address decoder decodes the address signal and outputs the decode signal to the second memory cell unit; The first memory cell unit operates in synchronization with the internal clock signal, The method of controlling a reconfigurable semiconductor device, wherein the second memory cell unit operates in
- a data line connected to the first memory cell unit and a data line connected to the second memory cell unit are connected to each other to output a logical sum; and 7.
- Third and fourth memory cell units operating in synchronization with a clock signal; A third address decoder for decoding an address signal and outputting the decoded signal to the third memory cell unit; A fourth address decoder for decoding an address signal and outputting the decoded signal to the fourth memory cell unit;
- the third memory cell unit operates in synchronization with the internal clock signal, the fourth memory cell unit operates in synchronization with the system clock signal, and
- the first and second address decoders decode addresses input from a part of the plurality of address lines; 8.
- the semiconductor device includes: A plurality of logic units connected to each other by address lines or data lines; Each of the logic units is Multiple address lines, Multiple data lines, A clock signal line for receiving a system clock signal; A first address decoder; A second address decoder; A first memory cell unit having a plurality of memory cells and operating in synchronization with a clock signal; A second memory cell unit having a plurality of memory cells and operating in synchronization with a clock signal; An address transition detector that detects an address signal transition input from the plurality of address lines, generates an internal clock signal, and outputs the internal clock signal to the first memory cell unit; The first address decoder decodes the address signal and outputs the decode signal to the first memory cell unit; The first address decoder decodes the address signal and outputs the decode signal to the second memory cell unit; The first memory cell unit operates in synchronization with the internal clock signal, The second memory cell unit operates in synchronization with the system clock signal, The data line
- the reconfigurable semiconductor device includes an MLUT.
- the MLUT described here is a bidirectionally arranged MLUT, which is different from the MLUT described in FIGS. 16 and 17. Have the same functional configuration.
- the memory cell unit for synchronous operation and the memory cell unit for asynchronous operation are provided.
- the memory cell unit for synchronous operation or the memory cell unit for asynchronous operation constitutes a pair, but there is only one memory cell unit that operates as a logic element and / or a connection element. Since both data outputs are connected by a wired OR connection or an OR circuit, data “0” is stored in all the memory cell units that do not operate.
- FIG. 21 is a diagram illustrating a circuit example of an MLUT capable of synchronous and asynchronous switching.
- the MLUT 30 shown in FIG. 21 includes memory cell units 31A to 31D, address decoders 11A to 11D, I / O (input / output) buffers 13A to 13D, selection circuits 32A to 32D, a data selection circuit 33, an address transition detection unit 35, and A selection circuit 36 is included.
- the address transition detector 35 includes an ATD (Address Transition Detector) circuit, and detects the address transition by comparing the logical address transmitted together with the clock with the previously transmitted logical address.
- the address transition detection unit 35 is the same as that shown in FIG.
- the memory cell units 31A to 31D are synchronous SRAMs. Each of the memory cell units 31A to 31D stores truth table data for connection in the left direction and the right direction.
- the memory cell units 31B and 31D operate in synchronization with the system clock.
- the memory cell units 31A and 31C operate in synchronization with an ATD generation clock (also referred to as “internal clock signal”) generated by an address transition circuit 35 described later, they are asynchronous with respect to the clock (system clock).
- the ATD generation clock operates at a frequency higher than that of the system clock signal, the memory cell units 31A and 31C provide an asynchronous function by appearing to operate asynchronously from the outside of the MLUT 30.
- the memory cell units 31A and 31C have the same functions as the memory cell units 31A and 31B shown in FIGS. The same applies to the memory cell units 31B and 31D.
- the address decoders 11A and 11B both decode addresses A0 to A3 inputted from the left side, and output decode signals to the memory cell units 31A and 31B, respectively, to activate the word lines of the memory cell units 31A and 31B. To do.
- the address decoders 11C and 11D decode addresses A4 to A7 input from the right side, and output decode signals to the memory cell units 31C and 31D, respectively, to activate the word lines of the memory cell units 31C and 31D. .
- the address decoders 11A and 11C decode the SRAM address asynchronous signal (sram_address (sync)), and the address decoders 11A and 11C decode the SRAM address synchronization signal (sram_address (sync)) and are specified by the decode signal.
- the word line of the memory cell unit to be activated is activated.
- each memory cell unit is a 16 word ⁇ 8 bit memory block.
- Memory cell units 31A and 31B can use 16wordx8bitx2 in synchronous mode and 16wordx8bitx2 in asynchronous mode. Synchronous and asynchronous operations cannot be performed simultaneously. For example, when logical data is written to a synchronously operating memory cell unit, all "0" must be written to the asynchronously operating memory cell unit.
- the data output of the memory cell unit may be a wired OR as shown in the figure, or an OR logic circuit may be provided.
- the selection circuits 32A to 32D are circuits for selecting the operation of the memory cell units 31A and 31C for asynchronous operation or the memory cell units 31B and 31D for synchronous operation.
- the selection circuit 32A selects the ATDlad latch address (S11 shown in FIG. 3) generated by the address transition circuit 35 and selects the SRAM address asynchronous signal (sram_address ( async)). If asynchronous operation is not selected, the logical address is output as it is.
- the selection circuit 32B selects and outputs the ATD generation clock generated by the address transition circuit 35 when the asynchronous operation is selected by the selection signal (Select). If asynchronous operation is not selected, the clock is output as is.
- the selection circuit 32C selects and outputs the ATD generation chip select generated by the address transition circuit 35.
- the SRAM chip enable is output as it is.
- the selection circuit 32D outputs the logical address as it is when the synchronous operation is selected by the selection signal (Select).
- Truth table 1 is a truth table that forms an AND circuit using A0 and A1 and outputs it to D0.
- truth table 2 an AND circuit is configured using A0 and A4, and a truth table output to D0 is shown. Since the logic in the truth table 1 can be logically operated only by the memory cell unit 31A using A3-A0, if “0” is written in another memory cell unit, another memory cell unit is obtained by OR operation. The problem of forbidden logic does not occur.
- the I / O (input / output) buffers 13A to 13D read the data from the data line of the memory cell unit in synchronization with either the clock or the ATD generation clock, thereby enabling the FF function. providing.
- the I / O (input / output) buffers 13A to 13D include a sense amplifier that amplifies a voltage output from the bit line of the memory cell.
- the selection circuit 33 outputs the SRAM data output (odata) as either SRAM data output or logical data output according to the selection signal.
- FIG. 22 shows an example of the hardware configuration of the information processing apparatus.
- the information processing apparatus 210 includes a processor 211, an input unit 212, an output unit 213, a storage unit 214, and a drive device 215.
- the processor 211 executes the placement / wiring software input to the input unit 212, a circuit description language such as C language description or hardware description language (HDL) for designing an integrated circuit, and the software.
- the truth table data generated by the above is stored in the storage unit 214.
- the processor 211 executes placement / wiring software, performs the following placement / wiring processing on the circuit description stored in the storage unit 214, and outputs truth table data to the output unit 213. Output.
- a reconfigurable semiconductor device 20 (not shown in FIG.
- the drive device 215 is a device that reads and writes a storage medium 217 such as a DVD (Digital Versatile Disc) or a flash memory.
- the drive device 215 includes a motor that rotates the storage medium 217, a head that reads and writes data on the storage medium 217, and the like.
- the storage medium 217 can store a logical configuration program or truth table data.
- the drive device 215 reads the program from the set storage medium 217.
- the processor 211 stores the program or truth table data read by the drive device 215 in the storage unit 214.
- truth table data When the truth table data is read into the semiconductor device 20, functions as a logical element and / or a connection element are constructed by specific means in which the truth table data and hardware resources cooperate.
- the truth table data can also be said to be data having a structure indicating a logical structure called a truth table.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Logic Circuits (AREA)
- Static Random-Access Memory (AREA)
- Memory System (AREA)
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
Abstract
Description
1.クロックに同期して演算処理を実行するプロセッサと、
前記クロックに非同期で動作する記憶部と、
前記プロセッサから前記記憶部に出力されるアドレスの遷移を検出するアドレス遷移検出部を備え、
前記アドレス遷移検出部は、前記アドレスの遷移を検出する場合、前記非同期で動作する記憶部のワード線をアクティブにすることを特徴とするシステムオンチップデバイス。
2 前記記憶部は、前記アドレスの遷移を検出する場合、前記アドレスに従ってクロックを生成し、前記記憶部は、前記生成したクロックに同期して、前記ワード線をアクティブにする請求項1に記載のシステムオンチップデバイス。
3.前記記憶部は、ラッチ部を有し、
前記アドレス遷移検出部は、前記アドレスの遷移を検出しない場合、前記記憶部は、前記ラッチ部に保持するデータを、前記プロセッサに出力する項目1又は2に記載のシステムオンチップデバイス。
4.複数の前記記憶部を有し、当該記憶部の各々はアドレス遷移検出部を備える項目1~3の何れか1項に記載のシステム。
5.前記記憶部は、構成データに応じて論理回路を構成するプログラマブル論理デバイスであって、メモリ用アドレス線と、データ出力線と、を有する項目1~4の何れか1項に記載のシステムオンチップデバイス。
6.前記記憶部は、複数のアドレス線で特定された入力値の論理演算を、データ線に出力するための真理値表データを記憶して、論理回路として動作し、及び/又は、あるアドレス線で特定された入力値を、他の記憶部のアドレス線に接続するデータ線に出力するための真理値表データを記憶して、接続回路として動作するように構成され、
前記記憶部は、第1及び第2メモリセルユニットを有し、
前記第1メモリセルユニットは、前記記憶部に入力される複数のアドレス線の一部に接続し、
前記第2メモリセルユニットは、前記記憶部に入力される複数のアドレス線の他の一部に接続する、項目1~5の何れか1項に記載のシステムオンチップデバイス。
7.前記第1及び第2メモリセルユニットは、第1の方向からのアドレス入力に対して、前記第1の方向にデータ出力し、又は、前記第1の方向と反対の第2の方向からのアドレス入力に対して、前記第2の方向にデータ出力するための真理値表データを記憶して、接続回路として動作する、項目6に記載のシステムオンチップデバイス。
8.前記第1及び第2のメモリセルユニットは、前記第1の方向からのアドレス入力に対して、前記第2の方向にデータ出力するための真理値表データを記憶して、接続回路として動作する、項目6に記載のシステムオンチップデバイス。
9.前記記憶部から出力される複数のデータ線を、他の2つの前記記憶部に分けて出力する、項目6に記載のシステムオンチップデバイス。
[1]SoC
図1は、本実施形態に係るSoCの構成例を示す図である。図1に示すシステムオンチップデバイスとしてのSoC10は、例えば、CPUであるプロセッサ200と、SRAM300と、アドレス遷移検出部100とを備える。プロセッサ200と、キャッシュメモリ300とには、SoC10全体の電源VDDから直接電力が供給されている。また、プロセッサ200には、システムクロックが供給されており、プロセッサ200は、クロックに同期して、パイプライン処理に演算処理を実行する少なくとも1つのプロセッサコア210と、プロセッサコア毎にL1キャッシュ220を含む。L1キャッシュ220は、関連するプロセッサコアに最も近接して設置された比較的小さなメモリキャッシュであり、命令およびデータへの高速アクセスを関連のプロセッサコア210に与えるように構成される。
図2は、キャッシュメモリを示す回路図である。キャッシュメモリ300は、クロックに非同期で動作するメモリであり、例えば、SRAMである。キャッシュメモリ300は、アドレス遷移検出部100、メモリセル302、センスアンプ303、ラッチ部304、デコーダ305、及び比較回路306を有する。
図3は、本実施形態に係るアドレス遷移検出部の回路図である。図2に示されるアドレス遷移検出部100は、否定論理和(NOR)回路110A、110B、論理和(OR)回路120、排他的論理和(EOR)回路130、遅延回路140A~140C、フリップフロップ(FF)150、インバータ160B、及びDラッチ170を有する。
上記キャッシュメモリを、再構成可能デバイスとして利用する事は半導体資源を有効に使う良い例である。
図6Aに示す20は、MRLDの一例である。MRLD20は、同期SRAMを利用したMLUT30を複数個、アレイ状に配置したMLUTアレイ60、MLUT30のメモリ読出し動作、書込み動作を特定する行デコーダ12、及び、列デコーダ14を有する。
図6Bは、MLUTアレイの一例を示す図である。MLUTアレイ60は、図示されるように、MLUT30をアレイ状に配置したものである。MLUT30として用いるメモリはアドレス線の幅とデータ線の幅が等しい。図6Bの右上のようにアドレス線とデータ線の1ビットずつを対にして、擬似的な双方向線を定義する。この擬似的な双方向線をMRLDにおいては「AD対」と呼ぶ。アドレス線の幅とデータ線の幅がNビットのメモリを用いることで、AD対をN本もつMLUTが実現される。MRLDの論理としての動作は、MLUT30を構成するメモリに書き込まれたデータを真理値表とみなすことによって実現される。
A.論理要素
図7は、MLUTの一例を示す図である。図7では、説明を簡単にするために、アドレス切替回路10A、及び出力データ切替回路10Bの記載は、省略される。図7に示すMLUT30A、30Bは、4つの論理用アドレス入力LA線A0~A3と、4つの論理動作用データ線D0~D3と、4×16=64個の記憶素子40と、アドレスデコーダ9とをそれぞれ有する。論理動作用データ線D0~D3は、24個の記憶素子40をそれぞれ直列に接続する。アドレスデコーダ9は、論理用アドレス入力LA線A0~A3に入力される信号に基づき、16本のワード線のいずれかに接続される4つの記憶素子を選択するように構成される。この4つの記憶素子はそれぞれ、論理動作用データ線D0~D3に接続され、記憶素子に記憶されるデータを論理動作用データ線D0~D3に出力する。例えば、論理用アドレス入力LA線A0~A3に適当な信号が入力される場合は、4つの記憶素子40A、40B、40C、及び40Dを選択するように構成することができる。ここで、記憶素子40Aは、論理動作用データ線D0に接続され、記憶素子40Bは、論理動作用データ線D1に接続され、記憶素子40Dは、論理動作用データ線D2に接続され、記憶素子40Dは、論理動作用データ線D3に接続される。そして、論理動作用データ線D0~D3には、記憶素子40A~40Dに記憶される信号が出力される。このように、MLUT30A、30Bは、論理用アドレス入力LA線A0~A3から論理用アドレス入力LAを受け取り、その論理用アドレス入力LAによってアドレスデコーダ9が選択する4つの記憶素子40に記憶される値を、論理動作用データ線D0~D3に論理動作用データとしてそれぞれ出力する。なお、MLUT30Aの論理用アドレス入力LA線A2は、隣接するMLUT30Bの論理動作用データ線D0と接続しており、MLUT30Aは、MLUT30Bから出力される論理動作用データを、論理用アドレス入力LAとして受け取る。また、MLUT30Aの論理動作用データ線D2は、MLUT30Bの論理用アドレス入力LA線A0と接続しており、MLUT30Aが出力する論理動作用データは、MLUT30Bで論理用アドレス入力LAとして受け取られる。例えば、MLUT30Aの論理動作用データ線D2は、MLUT30Aの論理用アドレス入力LA線A0~A3に入力される信号に基づき、論理動作用データ線D2に接続される16個の記憶素子のいずれか1つに記憶される信号をMLUT30Bの論理用アドレス入力LA線A0に出力する。同様に、MLUT30Bの論理動作用データ線D0は、MLUT30Bの論理用アドレス入力LA線A0~A3に入力される信号に基づき、論理動作用データ線D0に接続される16個の記憶素子のいずれか1つに記憶される信号をMLUT30Aの論理用アドレス入力LA線A2に出力する。このように、MLUT同士の連結は、1対のアドレス線とデータ線とを用いる。以下、MLUT30Aの論理用アドレス入力LA線A2と、論理動作用データ線D2のように、MLUTの連結に使用されるアドレス線とデータ線の対を「AD対」という。
図10は、接続要素として動作するMLUTの一例を示す図である。図10では、接続要素としてのMLUTは、論理用アドレス入力LA線A0の信号を論理動作用データ線D1に出力し、論理用アドレス入力LA線A1の信号を論理動作用データ線D2に出力し、論理用アドレス入力LA線A2の信号を論理動作用データ線D3に出力するように動作する。接続要素としてのMLUTはさらに、論理用アドレス入力LA線A3の信号を論理動作用データ線D0に出力するように動作する。
図13は、1つのMLUTが、論理要素及び接続要素として動作する一例を示す図である。図13に示す例では、論理用アドレス入力LA線A0及びA1を2入力NOR回路121の入力とし、2入力NOR回路121の出力と、論理用アドレス入力LA線A2とを2入力NAND回路122の入力とし、2入力NAND回路122の出力を論理動作用データ線D0に出力する論理回路を構成する。また同時に、論理用アドレス入力LA線A3の信号を論理動作用データ線D2に出力する接続要素を構成する。
図16は、2メモリセルユニットからなるMLUTを横積みして構成されるMLUTを概略的に示す図である。図16に示すMLUT30は、左方向から図17に示すアドレスA0L~A7Lの入力があり、及び、右方向から図17に示すアドレスA0R~A7Rの入力があり、また、左方向へ図17に示すデータD0L~D7Lの出力があり、右方向へ図17に示すデータD0R~D7Rの出力がある。n値=8のMLUTは従来方式では1MビットとなりCLB相当が4Mビットと大規模化してしまう。それに対して本案では後述するように、8K(256ワード×16ビット×MLUT2個)ビットで構成される。
図18は、図17に示すMLUTの回路例を示す図である。図18に示すMLUT30は、メモリセルユニット31A、31Bを有する。メモリセルユニットは、例えば、SRAMである。図18に示されるように、メモリセルユニット31Aは、一辺からの第1複数アドレス線により特定されて、第1複数アドレス線の2倍の数の第1複数データ線に出力する複数のメモリセルを有し、メモリセルユニット31Bは、他辺からの第2複数アドレス線により特定されて、第2複数アドレス線の2倍の数の第2複数データ線に出力する複数のメモリセルを有し、MLUT30は、第1複数データ線及び第2複数データ線の一部を、一辺へ出力するとともに、第1複数データ線及び第2複数データ線の他の一部を、他辺へ出力する。
MPLDは、専用のスイッチ回路をメモリセルユニット毎に有するFPGAと異なりメモリセルユニットを有し、さらに、標準CMOS(Complementary Metal Oxide Semiconductor)ロジックプロセスで製造可能であるので、低価格化が可能である。しかし、MPLDは同期型ではないため、同期メモリとして使用した場合、その性能が満たせない。そこで、出願人は、メモリセルユニットの標準製造プロセスで、同期型メモリとして使用可能なMPLDを、特開2013-219699号公報において提案した。
互いにアドレス線又はデータ線で接続する複数の論理部を備え、
前記各論理部は、
複数のアドレス線と、
複数のデータ線と、
システムクロック信号を受け取るクロック信号線と、
クロック信号に同期して動作する第1及び第2のメモリセルユニットと、
アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力する第1アドレスデコーダと、
アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力する第2アドレスデコーダと、
前記複数のアドレス線から入力されるアドレス信号の遷移を検出すると、内部クロック信号を生成して、前記第1メモリセルユニットに前記内部クロック信号を出力する、アドレス遷移検出部と、を備え、
前記第1メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第2メモリセルユニットは、前記システムクロック信号に同期して動作する、ことを特徴とする再構成可能な半導体装置。
何れかのメモリセルユニットを使用しない場合、当該未使用のメモリセルユニットには、全て0が書き込まれるように構成される、項目1に記載の再構成可能な半導体装置。
アドレス信号をデコードして、前記第3メモリセルユニットにデコード信号を出力する第3アドレスデコーダと、
アドレス信号をデコードして、前記第4メモリセルユニットにデコード信号を出力する第4アドレスデコーダと、をさらに備え、
前記第3メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第4メモリセルユニットは、前記システムクロック信号に同期して動作し、且つ、
前記第1及び第2アドレスデコーダは、前記複数のアドレス線の一部から入力されるアドレスをデコードし、
前記第3及び第4アドレスデコーダは、前記複数のアドレス線の他の一部から入力されるアドレスをデコードするように構成される、項目10又は11に記載の再構成可能な半導体装置。
前記半導体装置は、
互いにアドレス線又はデータ線で接続する複数の論理部を備え、
前記各論理部は、
複数のアドレス線と、
複数のデータ線と、
システムクロック信号を受け取るクロック信号線と、
第1アドレスデコーダと、
第2アドレスデコーダと、
複数にメモリセルを有し、且つクロック信号に同期して動作する第1メモリセルユニットと、
複数のメモリセルを有し、且つクロック信号に同期して動作する第2メモリセルユニットと、
前記複数のアドレス線から入力されるアドレス信号の遷移を検出すると、内部クロック信号を生成して、前記第1メモリセルユニットに前記内部クロック信号を出力する、アドレス遷移検出部と、を備え、
前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力し、
前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力し、
前記第1メモリセルユニットは、前記内部クロック信号に同期して動作し、
前記第2メモリセルユニットは、前記システムクロック信号に同期して動作する、ことを特徴とする再構成可能な半導体装置の制御方法。
何れかのメモリセルユニットを使用しない場合、当該未使用のメモリセルユニットには、全て0が書き込まれるように構成される、項目6に記載の再構成可能な半導体装置の制御方法。
アドレス信号をデコードして、前記第3メモリセルユニットにデコード信号を出力する第3アドレスデコーダと、
アドレス信号をデコードして、前記第4メモリセルユニットにデコード信号を出力する第4アドレスデコーダと、をさらに備え、
前記第3メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第4メモリセルユニットは、前記システムクロック信号に同期して動作し、且つ、
前記第1及び第2アドレスデコーダは、前記複数のアドレス線の一部から入力されるアドレスをデコードし、
前記第3及び第4アドレスデコーダは、前記複数のアドレス線の他の一部から入力されるアドレスをデコードする、項目6又は7に記載の再構成可能な半導体装置の制御方法。
前記半導体装置は、
互いにアドレス線又はデータ線で接続する複数の論理部を備え、
前記各論理部は、
複数のアドレス線と、
複数のデータ線と、
システムクロック信号を受け取るクロック信号線と、
第1アドレスデコーダと、
第2アドレスデコーダと、
複数にメモリセルを有し、且つクロック信号に同期して動作する第1メモリセルユニットと、
複数のメモリセルを有し、且つクロック信号に同期して動作する第2メモリセルユニットと、
前記複数のアドレス線から入力されるアドレス信号の遷移を検出すると、内部クロック信号を生成して、前記第1メモリセルユニットに前記内部クロック信号を出力する、アドレス遷移検出部と、を備え、
前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力し、
前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力し、
前記第1メモリセルユニットは、前記内部クロック信号に同期して動作し、
前記第2メモリセルユニットは、前記システムクロック信号に同期して動作し、
前記第1メモリセルユニットに接続するデータ線と、前記第2メモリセルユニットに接続するデータ線は、互いに接続して、論理和を出力し、
前記第1及び第2メモリセルユニットは、各々が真理値表データから構成されるプログラムを記憶して、論理要素及び/又は接続要素として構成し、
前記第1又は第2メモリセルユニットに、
一辺で接続する前記アドレス線で特定されたメモリセルに記憶される値の論理演算を、前記一辺と反対側で接続するデータ線に出力して、論理回路として動作する処理、
何れかのメモリセルユニットを使用しない場合、当該未使用のメモリセルユニットには、全て0を出力させるように動作する処理、を実行させることを特徴とするプログラム。
第2の実施形態である再構成可能な半導体装置は、MLUTを含むが、ここで説明するMLUTは、双方向配置MLUTであり、図16及び図17で説明したMLUTと同じ機能構成を有する。しかし、上記の双方向配置MLUTと異なり、同期動作用のメモリセルユニットと、非同期動作用のメモリセルユニットを備える。同期動作用のメモリセルユニット又は非同期動作用のメモリセルユニットは、ペアを構成するが、論理要素及び/又は接続要素として動作するメモリセルユニットは、何れか1つである。両者のデータ出力を、ワイヤードオア接続、又は、OR回路で接続されるため、動作しないメモリセルユニットには、全て「0」のデータが格納される。
図21に示す信号線を、下記表1に説明する。
メモリセルユニット31A~31Dは、同期SRAMである。メモリセルユニット31A~31Dはそれぞれ、左方向および右方向へ接続するための真理値表データを記憶する。メモリセルユニット31B及び31Dは、システムクロックに同期して動作する。一方、メモリセルユニット31A及び31Cは、後述するアドレス遷移回路35が生成するATD生成クロック(「内部クロック信号」とも言う)に同期して動作するために、クロック(システムクロック)に対して、非同期で動作する。ATD生成クロックが、システムクロック信号より、高周波数で動作するために、メモリセルユニット31A、31Cは、MLUT30外部からは、非同期動作するようにみえることで、非同期の機能を提供する。
また、メモリ分割の特性として、禁止論理構成がある。表2に示す2つの真理値表を用いて、禁止論理の必要性を説明する。
I/O(入出力)バッファ13A~13Dは、クロックとATD生成クロックの何れかに同期して、メモリセルユニットのデータ線からデータを読み出すことで、FFの機能を提供している。なお、I/O(入出力)バッファ13A~13Dは、メモリセルのビット線から出力される電圧を増幅するセンスアンプを含んでいる。
第1及び第2実施形態を用いて説明した再構成可能な半導体装置に適用される真理値表データは、論理構成用のソフトウェアプログラムを実行する情報処理装置によって生成される。
30 MLUT
31 メモリセルユニット
11 アドレスデコーダ
35、100 アドレス遷移検出部
200 プロセッサ
Claims (20)
- クロックに同期して演算処理を実行するプロセッサと、
前記クロックに非同期で動作する記憶部と、
前記プロセッサから前記記憶部に出力されるアドレスの遷移を検出するアドレス遷移検出部を備え、
前記アドレス遷移検出部は、前記アドレスの遷移を検出する場合、前記非同期で動作する記憶部のワード線をアクティブにすることを特徴とするシステムオンチップデバイス。 - 前記記憶部は、前記アドレスの遷移を検出する場合、前記アドレスに従ってクロックを生成し、前記記憶部は、前記生成したクロックに同期して、前記ワード線をアクティブにする請求項1に記載のシステムオンチップデバイス。
- 前記記憶部は、ラッチ部を有し、
前記アドレス遷移検出部は、前記アドレスの遷移を検出しない場合、前記記憶部は、前記ラッチ部に保持するデータを、前記プロセッサに出力する請求項1又は2に記載のシステムオンチップデバイス。 - 複数の前記記憶部を有し、前記複数の記憶部の各々は、前記アドレス遷移検出部を備える請求項1~3の何れか1項に記載のシステムオンチップデバイス。
- 前記記憶部は、構成データに応じて論理回路を構成するプログラマブル論理デバイスであって、メモリ用アドレス線と、データ出力線と、を有する請求項1~4の何れか1項に記載のシステムオンチップデバイス。
- 前記記憶部は、複数のアドレス線で特定された入力値の論理演算を、データ線に出力するための真理値表データを記憶して、論理回路として動作し、及び/又は、あるアドレス線で特定された入力値を、他の記憶部のアドレス線に接続するデータ線に出力するための真理値表データを記憶して、接続回路として動作するように構成され、
前記記憶部は、第1及び第2メモリセルユニットを有し、
前記第1メモリセルユニットは、前記記憶部に入力される複数のアドレス線の一部に接続し、
前記第2メモリセルユニットは、前記記憶部に入力される複数のアドレス線の他の一部に接続する、請求項1~5の何れか1項に記載のシステムオンチップデバイス。 - 前記第1及び第2メモリセルユニットは、第1の方向からのアドレス入力に対して、前記第1の方向にデータ出力し、又は、前記第1の方向と反対の第2の方向からのアドレス入力に対して、前記第2の方向にデータ出力するための真理値表データを記憶して、接続回路として動作する、請求項6に記載のシステムオンチップデバイス。
- 前記第1及び第2のメモリセルユニットは、前記第1の方向からのアドレス入力に対して、前記第2の方向にデータ出力するための真理値表データを記憶して、接続回路として動作する、請求項6に記載のシステムオンチップデバイス。
- 前記記憶部から出力される複数のデータ線を、他の2つの前記記憶部に分けて出力する、請求項6に記載のシステムオンチップデバイス。
- 再構成可能な半導体装置であって、
互いにアドレス線又はデータ線で接続する複数の論理部を備え、
前記各論理部は、
複数のアドレス線と、
複数のデータ線と、
システムクロック信号を受け取るクロック信号線と、
クロック信号に同期して動作する第1及び第2のメモリセルユニットと、
アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力する第1アドレスデコーダと、
アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力する第2アドレスデコーダと、
前記複数のアドレス線から入力されるアドレス信号の遷移を検出すると、内部クロック信号を生成して、前記第1メモリセルユニットに前記内部クロック信号を出力する、アドレス遷移検出部と、を備え、
前記第1メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第2メモリセルユニットは、前記システムクロック信号に同期して動作する、ことを特徴とする再構成可能な半導体装置。 - 前記第1メモリセルユニットに接続するデータ線と、前記第2メモリセルユニットに接続するデータ線は、互いに接続して、論理和を出力し、及び、
何れかのメモリセルユニットを使用しない場合、当該未使用のメモリセルユニットには、全て0が書き込まれるように構成される、請求項10に記載の再構成可能な半導体装置。 - クロック信号に同期して動作する第3及び第4のメモリセルユニットと、
アドレス信号をデコードして、前記第3メモリセルユニットにデコード信号を出力する第3アドレスデコーダと、
アドレス信号をデコードして、前記第4メモリセルユニットにデコード信号を出力する第4アドレスデコーダと、をさらに備え、
前記第3メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第4メモリセルユニットは、前記システムクロック信号に同期して動作し、且つ、
前記第1及び第2アドレスデコーダは、前記複数のアドレス線の一部から入力されるアドレスをデコードし、
前記第3及び第4アドレスデコーダは、前記複数のアドレス線の他の一部から入力されるアドレスをデコードするように構成される、請求項10又は11に記載の再構成可能な半導体装置。 - 前記メモリセルユニットは、配線要素及び/又は論理要素を構成する真理値表データを格納して、マルチルックアップテーブルとして動作する、請求項10~12の何れか1項に記載の再構成可能な半導体装置。
- 前記第1及び第3メモリセルユニットをまたがる論理演算を、禁止論理として生成しないように構成される真理値表データを格納する請求項13に記載の再構成可能。
- 再構成可能な半導体装置の制御方法であって、
前記半導体装置は、
互いにアドレス線又はデータ線で接続する複数の論理部を備え、
前記各論理部は、
複数のアドレス線と、
複数のデータ線と、
システムクロック信号を受け取るクロック信号線と、
第1アドレスデコーダと、
第2アドレスデコーダと、
複数にメモリセルを有し、且つクロック信号に同期して動作する第1メモリセルユニットと、
複数のメモリセルを有し、且つクロック信号に同期して動作する第2メモリセルユニットと、
前記複数のアドレス線から入力されるアドレス信号の遷移を検出すると、内部クロック信号を生成して、前記第1メモリセルユニットに前記内部クロック信号を出力する、アドレス遷移検出部と、を備え、
前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力し、
前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力し、
前記第1メモリセルユニットは、前記内部クロック信号に同期して動作し、
前記第2メモリセルユニットは、前記システムクロック信号に同期して動作する、ことを特徴とする再構成可能な半導体装置の制御方法。 - 前記第1メモリセルユニットに接続するデータ線と、前記第2メモリセルユニットに接続するデータ線は、互いに接続して、論理和を出力し、及び、
何れかのメモリセルユニットを使用しない場合、当該未使用のメモリセルユニットには、全て0が書き込まれるように構成される、請求項15に記載の再構成可能な半導体装置の制御方法。 - クロック信号に同期して動作する第3及び第4のメモリセルユニットと、
アドレス信号をデコードして、前記第3メモリセルユニットにデコード信号を出力する第3アドレスデコーダと、
アドレス信号をデコードして、前記第4メモリセルユニットにデコード信号を出力する第4アドレスデコーダと、をさらに備え、
前記第3メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第4メモリセルユニットは、前記システムクロック信号に同期して動作し、且つ、
前記第1及び第2アドレスデコーダは、前記複数のアドレス線の一部から入力されるアドレスをデコードし、
前記第3及び第4アドレスデコーダは、前記複数のアドレス線の他の一部から入力されるアドレスをデコードする、請求項15又は16に記載の再構成可能な半導体装置の制御方法。 - 前記メモリセルユニットは、配線要素及び/又は論理要素を構成する真理値表データを格納して、マルチルックアップテーブルとして動作する、請求項15~17の何れか1項に記載の再構成可能な半導体装置。
- 再構成可能な半導体装置を制御するためのプログラムにおいて、
前記半導体装置は、
互いにアドレス線又はデータ線で接続する複数の論理部を備え、
前記各論理部は、
複数のアドレス線と、
複数のデータ線と、
システムクロック信号を受け取るクロック信号線と、
第1アドレスデコーダと、
第2アドレスデコーダと、
複数にメモリセルを有し、且つクロック信号に同期して動作する第1メモリセルユニットと、
複数のメモリセルを有し、且つクロック信号に同期して動作する第2メモリセルユニットと、
前記複数のアドレス線から入力されるアドレス信号の遷移を検出すると、内部クロック信号を生成して、前記第1メモリセルユニットに前記内部クロック信号を出力する、アドレス遷移検出部と、を備え、
前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力し、
前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力し、
前記第1メモリセルユニットは、前記内部クロック信号に同期して動作し、
前記第2メモリセルユニットは、前記システムクロック信号に同期して動作し、
前記第1メモリセルユニットに接続するデータ線と、前記第2メモリセルユニットに接続するデータ線は、互いに接続して、論理和を出力し、
前記第1及び第2メモリセルユニットは、各々が真理値表データから構成されるプログラムを記憶して、論理要素及び/又は接続要素として構成し、
前記第1又は第2メモリセルユニットに、
一辺で接続する前記アドレス線で特定されたメモリセルに記憶される値の論理演算を、前記一辺と反対側で接続するデータ線に出力して、論理回路として動作する処理、
何れかのメモリセルユニットを使用しない場合、当該未使用のメモリセルユニットには、全て0を出力させるように動作する処理、を実行させることを特徴とするプログラム。 - 請求項19に示すプログラムを格納する記憶媒体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480017645.4A CN105051823B (zh) | 2013-04-02 | 2014-04-02 | 半导体装置 |
TW103112409A TWI618060B (zh) | 2013-04-02 | 2014-04-02 | Semiconductor device |
US14/375,748 US9558810B2 (en) | 2013-04-02 | 2014-04-02 | Semiconductor device |
JP2015510110A JP6178410B2 (ja) | 2013-04-02 | 2014-04-02 | 半導体装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013076775 | 2013-04-02 | ||
JP2013-076775 | 2013-04-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2014163098A2 true WO2014163098A2 (ja) | 2014-10-09 |
WO2014163098A3 WO2014163098A3 (ja) | 2015-01-15 |
Family
ID=51659277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/059702 WO2014163098A2 (ja) | 2013-04-02 | 2014-04-02 | 半導体装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9558810B2 (ja) |
JP (2) | JP6178410B2 (ja) |
CN (2) | CN110069420A (ja) |
TW (1) | TWI618060B (ja) |
WO (1) | WO2014163098A2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016063667A1 (ja) * | 2014-10-22 | 2016-04-28 | 太陽誘電株式会社 | 再構成可能デバイス |
JP2017038247A (ja) * | 2015-08-11 | 2017-02-16 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
CN110875067A (zh) * | 2018-08-29 | 2020-03-10 | 三星电子株式会社 | 基于鳍式场效应晶体管的存储器中执行解码的方法和系统 |
WO2021064764A1 (ja) * | 2019-09-30 | 2021-04-08 | 太陽誘電株式会社 | 半導体装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016056536A1 (ja) * | 2014-10-08 | 2016-04-14 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
US10135447B2 (en) * | 2016-07-21 | 2018-11-20 | Andapt, Inc. | Compensation memory (CM) for power application |
CN108776644B (zh) * | 2018-05-04 | 2022-09-27 | 中国电子科技集团公司第三十六研究所 | 一种数据高速缓存系统、方法和航天用电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012027984A (ja) * | 2010-07-23 | 2012-02-09 | Lapis Semiconductor Co Ltd | 半導体メモリ |
JP2013025831A (ja) * | 2011-07-15 | 2013-02-04 | Taiyo Yuden Co Ltd | 半導体メモリ装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3119628B2 (ja) * | 1998-08-21 | 2000-12-25 | 甲府日本電気株式会社 | 消費電力低減回路 |
US6965960B2 (en) * | 2000-03-01 | 2005-11-15 | Realtek Semiconductor Corporation | xDSL symbol processor and method of operating same |
JP4381013B2 (ja) * | 2003-03-17 | 2009-12-09 | 富士通マイクロエレクトロニクス株式会社 | 半導体記憶装置 |
JP4158922B2 (ja) | 2004-12-20 | 2008-10-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マイクロコンピュータ |
JP4853650B2 (ja) * | 2007-01-25 | 2012-01-11 | ラピスセミコンダクタ株式会社 | 不揮発性半導体記憶装置及びそのアクセス評価方法。 |
JP2008251060A (ja) * | 2007-03-29 | 2008-10-16 | Mitsubishi Electric Corp | 半導体記憶装置 |
US8645286B2 (en) * | 2010-02-23 | 2014-02-04 | Prior Knowledge, Inc. | Configurable circuitry for solving stochastic problems |
CN104617944B (zh) * | 2010-06-24 | 2018-03-16 | 太阳诱电株式会社 | 半导体装置 |
JP5822772B2 (ja) | 2012-04-11 | 2015-11-24 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
-
2014
- 2014-04-02 US US14/375,748 patent/US9558810B2/en active Active
- 2014-04-02 TW TW103112409A patent/TWI618060B/zh not_active IP Right Cessation
- 2014-04-02 WO PCT/JP2014/059702 patent/WO2014163098A2/ja active Application Filing
- 2014-04-02 CN CN201910001589.XA patent/CN110069420A/zh not_active Withdrawn
- 2014-04-02 JP JP2015510110A patent/JP6178410B2/ja not_active Expired - Fee Related
- 2014-04-02 CN CN201480017645.4A patent/CN105051823B/zh not_active Expired - Fee Related
-
2017
- 2017-07-13 JP JP2017136724A patent/JP6325726B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012027984A (ja) * | 2010-07-23 | 2012-02-09 | Lapis Semiconductor Co Ltd | 半導体メモリ |
JP2013025831A (ja) * | 2011-07-15 | 2013-02-04 | Taiyo Yuden Co Ltd | 半導体メモリ装置 |
Non-Patent Citations (1)
Title |
---|
JOHN WUU ET AL.: 'The Asynchronous 24MB On-Chip Level-3 Cache for a Dual Core Itanium-Family Processor' 2005 IEEE INTERNATIONAL SOLID-STATE CIRCUITS CONFERENCE DIGEST OF TECHNICAL PAPERS 10 February 2005, page 488,489,618 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016063667A1 (ja) * | 2014-10-22 | 2016-04-28 | 太陽誘電株式会社 | 再構成可能デバイス |
JPWO2016063667A1 (ja) * | 2014-10-22 | 2017-06-08 | 太陽誘電株式会社 | 再構成可能デバイス |
CN107078740A (zh) * | 2014-10-22 | 2017-08-18 | 太阳诱电株式会社 | 可重构设备 |
US9923561B2 (en) | 2014-10-22 | 2018-03-20 | Taiyo Yuden Co., Ltd. | Reconfigurable device |
JP2017038247A (ja) * | 2015-08-11 | 2017-02-16 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
CN110875067A (zh) * | 2018-08-29 | 2020-03-10 | 三星电子株式会社 | 基于鳍式场效应晶体管的存储器中执行解码的方法和系统 |
WO2021064764A1 (ja) * | 2019-09-30 | 2021-04-08 | 太陽誘電株式会社 | 半導体装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2014163098A3 (ja) | 2015-01-15 |
TW201447888A (zh) | 2014-12-16 |
JP6178410B2 (ja) | 2017-08-09 |
US20160240243A1 (en) | 2016-08-18 |
JPWO2014163098A1 (ja) | 2017-02-16 |
US9558810B2 (en) | 2017-01-31 |
CN105051823B (zh) | 2019-01-25 |
CN110069420A (zh) | 2019-07-30 |
CN105051823A (zh) | 2015-11-11 |
JP2018014156A (ja) | 2018-01-25 |
TWI618060B (zh) | 2018-03-11 |
JP6325726B2 (ja) | 2018-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6325726B2 (ja) | 半導体装置 | |
US9495299B2 (en) | Data processing device utilizing way selection of set associative cache memory based on select data such as parity data | |
JP2006190402A (ja) | 半導体装置 | |
TWI647705B (zh) | 可再構成之半導體裝置及其控制方法、用以控制可再構成之半導體裝置之程式、記憶媒體 | |
US7778105B2 (en) | Memory with write port configured for double pump write | |
US8493811B2 (en) | Memory having asynchronous read with fast read output | |
JP2017038247A (ja) | 再構成可能な半導体装置 | |
US8000156B2 (en) | Memory device with propagation circuitry in each sub-array and method thereof | |
US20090235057A1 (en) | Cache memory control circuit and processor | |
JP2003242029A (ja) | 半導体集積回路 | |
JP6378775B2 (ja) | 再構成可能デバイス | |
WO2013011848A1 (ja) | 半導体メモリ装置 | |
US8570827B2 (en) | Physical organization of memory to reduce power consumption | |
US20140115358A1 (en) | Integrated circuit device and method for controlling an operating mode of an on-die memory | |
US7606991B2 (en) | Dynamic clock switch mechanism for memories to improve performance | |
US8848480B1 (en) | Synchronous multiple port memory with asynchronous ports | |
Dhakad et al. | Configurable Multi-Port Memory Architecture for High-Speed Data Communication | |
JP3559631B2 (ja) | 半導体メモリ及びデータ処理装置 | |
Farahani et al. | Column selection solutions for L1 data caches implemented using eight‐transistor cells | |
JPH07319768A (ja) | キャッシュメモリ装置 | |
JPH03163639A (ja) | 命令キャッシュメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201480017645.4 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14375748 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14778226 Country of ref document: EP Kind code of ref document: A2 |
|
ENP | Entry into the national phase |
Ref document number: 2015510110 Country of ref document: JP Kind code of ref document: A |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14778226 Country of ref document: EP Kind code of ref document: A2 |