WO2011007898A1 - Semiconductor device and data transfer method in semiconductor device - Google Patents

Semiconductor device and data transfer method in semiconductor device Download PDF

Info

Publication number
WO2011007898A1
WO2011007898A1 PCT/JP2010/062389 JP2010062389W WO2011007898A1 WO 2011007898 A1 WO2011007898 A1 WO 2011007898A1 JP 2010062389 W JP2010062389 W JP 2010062389W WO 2011007898 A1 WO2011007898 A1 WO 2011007898A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
logic
data
memory
semiconductor device
Prior art date
Application number
PCT/JP2010/062389
Other languages
French (fr)
Japanese (ja)
Inventor
斎藤英彰
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2011522885A priority Critical patent/JP5365693B2/en
Publication of WO2011007898A1 publication Critical patent/WO2011007898A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising

Definitions

  • the present invention relates to a semiconductor device and a data transfer method in the semiconductor device, and more particularly to a semiconductor device having a logic circuit region having a plurality of logic macros and a memory circuit region having a plurality of memory macros, and a data transfer method in the semiconductor device. .
  • SoC system on chip
  • CMOS Complementary Metal Oxide Semiconductor
  • FIG. 21 shows an example of the configuration of the logic macro and on-chip memory in the SoC chip.
  • an on-chip memory is arranged for each logic macro.
  • the logic macro 810A accesses the memory macro 810a
  • the logic macro 820B accesses the memory macro 820b
  • the logic macro 830C accesses the memory macro 830c
  • the logic macro 840D accesses the memory macro 840d.
  • the logic macro and the memory macro are connected via an input / output port (I / O port) 850 arranged in the logic macro and the memory macro, respectively, and access to the memory is performed. Further, since it is necessary to exchange data between the logic macros in order to operate in the entire system, the logic macros are also connected by wiring.
  • the total number of necessary connection wirings increases as the number of logic macros increases. For example, assuming that the memory bit width is 32 bits and the number of words is 1000 words, a total of 76 lines, 32 lines for read data, 32 lines for write data, 10 lines for addresses, and 2 lines for commands Connection wiring is required.
  • the region where the logic circuit is formed and the region where the memory circuit is formed are desirably arranged separately for the following reason. That is, since an analog circuit configuration is required for the memory, optimized transistors and memory elements are used separately from the logic circuit, and different steps are included in the manufacturing process. Further, the reason is that a different power supply voltage is used for optimizing each circuit performance, and that the memory circuit is less resistant to noise than a digital logic circuit.
  • the semiconductor chip on which the memory circuit is mounted and the semiconductor chip on which the logic circuit is mounted are arranged side by side, and are connected by wiring through the board substrate.
  • wiring between the logic macro and the memory macro intersects between the logic circuit area and the memory circuit area by the number of logic macros. Become. This complicates the wiring layout and increases the number of layout steps.
  • the wiring within the semiconductor chip is about a sub-micron size compared to several tens to several hundreds of microns, a size that is two orders of magnitude larger
  • the board wiring of the board must be used.
  • the pad shape of the semiconductor chip is as large as one hundred microns or more, the number of pads on the semiconductor chip for connecting the connection wiring between the semiconductor chips is limited to about several hundred. Therefore, in this case as well, the number of wires is insufficient to connect a large number of logic macros and corresponding memory macros. Therefore, even in this case, there is a problem that a plurality of data transferred from a plurality of logic macros interfere with each other on the wiring between the semiconductor chips.
  • the object of the present invention is to separate the logic circuit area and the memory circuit area in the semiconductor device such as the SoC chip, which is the problem described above, and the data transferred between the two areas interferes with each other on the wiring between the two areas.
  • a semiconductor device includes a logic circuit region including a plurality of logic macros, a first data transfer unit, and a first input / output unit, a plurality of memory macros, a second data transfer unit, and a second input / output unit.
  • a first data transfer unit connected to a plurality of logic macros, a second data transfer unit connected to a plurality of memory macros, and a first input / output unit
  • the second input / output units are connected to each other, and the first data transfer unit receives the first data group generated in each logic macro via the first input / output unit and the second input / output unit.
  • the data is transferred to the second data transfer unit in a different time zone for each data group, and the second data transfer unit is connected to each memory macro via the second input / output unit and the first input / output unit.
  • the accumulated second data group is transferred to the first data transfer unit in a different time zone for each second data group.
  • data generated in each of a plurality of logic macros constituting the semiconductor device is formed as a first data group for each logic macro, and the first data group is defined as the first data group.
  • the data is transferred to the memory macro constituting the semiconductor device corresponding to the logic macro, and the data stored in each of the plurality of memory macros constituting the semiconductor device is transferred to the second memory macro for each memory macro.
  • the data group is formed as a data group, and the second data group is transferred to a logic macro constituting a semiconductor device corresponding to the memory macro in a different time zone for each second data group.
  • the semiconductor device of the present invention it is possible to suppress interference between data when data is transferred between the logic circuit area and the memory circuit area constituting the semiconductor device.
  • FIG. 1 is a plan view showing the configuration of the semiconductor device according to the first embodiment of the present invention.
  • FIG. 2 is a circuit configuration diagram in the logic circuit region of the semiconductor device according to the first embodiment of the present invention.
  • FIG. 3 is a circuit configuration diagram in the memory circuit region of the semiconductor device according to the first embodiment of the present invention.
  • FIG. 4 is another circuit configuration diagram in the logic circuit region of the semiconductor device according to the first embodiment of the present invention.
  • FIG. 5 is a plan view showing a configuration of another semiconductor device according to the first embodiment of the present invention.
  • FIG. 6 is a circuit configuration diagram in the logic circuit region of another semiconductor device according to the first embodiment of the present invention.
  • FIG. 7 is a circuit configuration diagram in the memory circuit area of another semiconductor device according to the first embodiment of the present invention.
  • FIG. 1 is a plan view showing the configuration of the semiconductor device according to the first embodiment of the present invention.
  • FIG. 2 is a circuit configuration diagram in the logic circuit region of the semiconductor device according to the first embodiment
  • FIG. 8 is a plan view showing a configuration of a semiconductor device according to the second embodiment of the present invention.
  • FIG. 9 is a circuit configuration diagram in a logic circuit region of a semiconductor device for explaining a data transfer method in the semiconductor device according to the third embodiment of the present invention.
  • FIG. 10 is a circuit configuration diagram in the memory circuit region of the semiconductor device for explaining a data transfer method in the semiconductor device according to the third embodiment of the present invention.
  • FIG. 11 is a waveform diagram for explaining the data transfer method in the semiconductor device according to the third embodiment of the present invention.
  • FIG. 12 is a plan view showing a configuration of a semiconductor device for explaining a data transfer method in the semiconductor device according to the third embodiment of the present invention.
  • FIG. 13 is a plan view showing a configuration of a semiconductor device according to the fourth embodiment of the present invention.
  • FIG. 14 is a circuit configuration diagram of the sequence control unit in the logic circuit region of the semiconductor device according to the fourth embodiment of the present invention and a table showing its operation.
  • FIG. 15 is a circuit configuration diagram of the sequence control unit in the memory circuit region of the semiconductor device according to the fourth embodiment of the present invention and a table showing its operation.
  • FIG. 16 is a plan view showing a configuration of a semiconductor device according to the fifth embodiment of the present invention.
  • FIG. 17 is a circuit configuration diagram of the input / output control unit in the logic circuit region of the semiconductor device according to the fifth embodiment of the present invention and a table showing its operation.
  • FIG. 18 is a circuit diagram of the input / output control unit in the memory circuit region of the semiconductor device according to the fifth embodiment of the present invention and a table showing its operation.
  • 19A is a schematic perspective view for explaining a semiconductor device according to a sixth embodiment of the present invention
  • FIG. 19B is a plan view showing the configuration of a memory circuit board
  • FIG. 19C is a diagram of a logic circuit board. It is a top view which shows a structure.
  • FIG. 20 is a plan view showing another memory macro configuration of the semiconductor device of the present invention.
  • FIG. 21 is a plan view showing a configuration of a related SoC chip.
  • FIG. 1 is a plan view showing a configuration of a semiconductor device 100 according to the first embodiment of the present invention.
  • the semiconductor device 100 includes a logic circuit area 110 including a plurality of logic macros 111, a first data transfer unit 112, and a first input / output unit 113, a plurality of memory macros 121 corresponding to the logic macro 111, and a second
  • the memory circuit area 120 includes a data transfer unit 122 and a second input / output unit 123.
  • the first data transfer unit 112 is connected to a plurality of logic macros 111
  • the second data transfer unit 122 is connected to a plurality of memory macros 121.
  • the first input / output unit 113 and the second input / output unit 123 are connected to each other by an inter-region connection wiring 130.
  • the first data transfer unit 112 transmits the first data group generated in each logic macro 111 via the first input / output unit 113 and the second input / output unit 123 for different times for each first data group.
  • the data is transferred to the second data transfer unit 122.
  • the second data transfer unit 122 converts the second data group stored in each memory macro 121 to the second data group via the second input / output unit 123 and the first input / output unit 113.
  • the data is transferred to the first data transfer unit 112 at a different time zone every time.
  • the write data as the first data group is directed from the first input / output unit 113 in the logic circuit region 110 toward the second input / output unit 123 in the memory circuit region 120.
  • the writing data is transferred in a sequential manner at different times in different time zones. Therefore, a plurality of data can be prevented from interfering on the inter-region connection wiring 130 between the logic circuit region 110 and the memory circuit region 120.
  • the read data from the memory macro as the second data group is transferred in sequential order while shifting the time in different time zones for each read data. Therefore, even in this case, it is possible to prevent a plurality of data from interfering on the inter-region connection wiring 130.
  • the first data transfer unit 112 can include a first ring bus 114 to which each logic macro 111 and a first I / O port 115 as the first input / output unit 113 are connected.
  • the second data transfer unit 122 can include a second ring bus 124 to which each memory macro 121 and a second I / O port 125 as the second input / output unit 123 are connected.
  • the first ring bus 114 transfers the write data from each logic macro 111 to the first I / O port 115 in order.
  • Write data is transferred from the first I / O port 115 in the logic circuit area 110 to the second I / O port 125 in the memory circuit area 120 by the inter-area connection wiring 130.
  • write data is transferred in order from the second I / O port 125 to the corresponding memory macro 121 that is the destination of data by the second ring bus 124.
  • the second ring bus 124 transfers the read data to the second I / O port 125 in order in the memory circuit area 120.
  • the read data is transferred from the second I / O port 125 to the first I / O port 115 in the logic circuit area 110 by the inter-area connection wiring 130.
  • FIG. 2 is a circuit configuration diagram in the logic circuit region 110 of the semiconductor device 100 according to the present embodiment.
  • the input side of each logic macro 111 is directly connected to the first ring bus 114, and the output side of each logic macro 111 is connected to the first ring bus 114 via the multiplexer 116 and the register 117.
  • the multiplexer 116 receives data from the connected logic macro 111 and output data from the register 117 of the preceding logic circuit block, and selects one of them.
  • the data input from the logic macro to the multiplexer includes, for example, 32 bits of write data transmitted from each logic macro 111 to the memory macro 121, and 2 bits for the address of the destination memory macro 121 are added thereto.
  • the total data can be 34 bits wide.
  • FIG. 3 is a circuit configuration diagram in the memory circuit region 120 of the semiconductor device 100 according to the present embodiment.
  • the input side of each memory macro 121 is directly connected to the second ring bus 124, and the output side of each memory macro 121 is connected to the second ring bus 124 via the multiplexer 126 and the register 127.
  • Write data transmitted from the logic circuit area 110 is received by the second I / O port 125 and held in the register 127 to which the second I / O port 125 is connected.
  • the data is transferred to the register 127 adjacent to the forward transfer by the second ring bus 124.
  • the memory macro 121 connected to each register 127 looks at the address bit designating the memory macro that is the destination of the write data held in each register 127, and if it is addressed to itself, the write data is stored in the memory macro. take in.
  • the write data generated in each logic macro 111 is transferred sequentially through the register 117 connected to the first ring bus 114. Therefore, the order in which each write data is transferred on the inter-region connection wiring 130 is determined in advance.
  • the write data of each logic macro is transferred from the first I / O port 115 in the logic circuit area to the second I / O port 125 in the memory circuit area with a time shift, so that a plurality of data are stored in the area. Interference on the inter-connection wiring 130 can be suppressed.
  • the read data is transferred from the memory macro 121, the read data is transferred to the second I / O port 125 through the second ring bus 124 in the memory circuit area 120. Thereafter, the data is transferred to the first I / O port 115 in the logic circuit area 110, and in the logic circuit area 110, the data is transferred to the logic macro 111 that receives the read data through the first ring bus 114.
  • the read data of each memory macro is transferred from the second I / O port 125 in the memory circuit area to the first I / O port 115 in the logic circuit area at different times. Can be prevented from interfering on the inter-region connection wiring 130.
  • all the logic macros 111 in the logic circuit area 110 simultaneously transmit write data to the first ring bus 114, set the write data from each logic macro 111 in each register 117, and then the first The data is sequentially transferred by the ring bus 114. Therefore, each logical macro 111 does not transmit the next write data until all the write data is transferred from the first I / O port 115 to the memory circuit area 120.
  • the ring bus in each area is used to transfer two types of data: write data and read data.
  • the present invention is not limited to this, as shown in FIG.
  • a double ring bus structure including a data ring bus 114-1 and a read data ring bus 114-2 may be employed.
  • the first I / O port 115 as the first input / output unit 113 is connected to the first ring bus 114 which is the first data transfer unit 112, and the second input / output unit 123 is used as the second input / output unit 123.
  • the second I / O port 125 is connected to the second ring bus 124 which is the second data transfer unit 122.
  • the present invention is not limited to this, and as shown in FIG.
  • FIG. 5 shows an example of a circuit configuration diagram of the logic circuit region 110 in this case.
  • Write data from the logic macro 111 is transferred to the logic macro 111A connected to the first I / O port 115 through the first ring bus 114.
  • the data is transferred to the first I / O port 115 via the logic macro 111 A and transmitted to the memory circuit area 120.
  • FIG. 7 shows an example of a circuit configuration diagram of the memory circuit region 120.
  • the write data After the write data is received at the second I / O port 125 in the memory circuit area 120, it is transferred to the memory macro 121D connected to the second I / O port 125. Thereafter, data is transferred from the memory macro 121D to the second ring bus 124, and data is transferred in order by the second ring bus 124.
  • the memory macro 121 which is the address destination receives the write data from the second ring bus 124.
  • the write data generated in each logic macro 111 is transferred sequentially through the register 117 connected to the first ring bus 114. Therefore, the order in which each write data is transferred on the inter-region connection wiring 130 is determined in advance.
  • FIG. 8 is a plan view showing a configuration of a semiconductor device 200 according to the second embodiment of the present invention.
  • the semiconductor device 200 includes a transfer start signal wiring 240 that connects each logic macro 211 and the corresponding memory macro 221 for each pair. Other configurations are the same as those of the semiconductor device 100 according to the first embodiment.
  • a transfer start signal is transmitted from the logic macro 211 to the memory macro 221 using the transfer start signal wiring 240. Since the transfer start signal is used only for informing the start of data transfer between the logic macro 211 and the memory macro 221, a connection wiring having a 1-bit width is sufficient.
  • the memory macro that has received the transfer start signal transfers a clock cycle for transferring data from the logic macro as the transmission source to the first I / O port 215 and from the second I / O port 225 to its own memory macro. Count the number and receive data when the number of clock cycles is reached.
  • the number of clock cycles required for data transfer is determined by the number of registers that sequentially transmit the first ring bus 214 and the second ring bus 224. Accordingly, the number of clock cycles for data transfer is determined by the number of logic macros 211, the number of memory macros 221, and the arrangement positions of the first I / O port 215 and the second I / O port 225. Become. As described above, by setting the information of the number of clock cycles in the counter of each memory macro 221 in advance, the memory macro 211 selects data addressed to itself from the data flowing through the second ring bus 224. Can be captured.
  • the semiconductor device 100 for example, 2 bits are added as an address of a memory macro of a transmission destination to 32 bits of write data, for example, and transferred as a 34 bit signal from the logic macro to the memory macro.
  • the process of transferring the address information of the memory macro that is the destination, collating the address information, and discarding the data becomes unnecessary.
  • the effect that the control in the memory macro 221 becomes easy is obtained.
  • a transfer start signal is transmitted from the memory macro 221 to the logic macro 211 via the transfer start signal wiring 240.
  • the logic macro 211 can measure the number of clock cycles required for data transfer with a counter and select and fetch data addressed to itself from data flowing through the first ring bus 214.
  • a third embodiment of the present invention will be described.
  • data generated in each of a plurality of logic macros constituting the semiconductor device is formed as a first data group for each logic macro.
  • the data stored in each of the plurality of memory macros constituting the semiconductor device is formed as a second data group for each memory macro.
  • the first data group is transferred to a memory macro corresponding to the logic macro in a different time zone for each first data group, and the second data group is transferred to a different time zone for each second data group. And transfer to a logic macro corresponding to the memory macro.
  • the first data group is connected to the first data transfer unit connected to the logic macro, the first input / output unit connected to the first data transfer unit, and the first input / output unit.
  • the data is transferred to the corresponding memory macro via the second input / output unit.
  • the second data group is connected to a second data transfer unit connected to the memory macro, a second input / output unit connected to the second data transfer unit, and a second input / output unit. It is transferred to the corresponding logic macro via the first input / output unit.
  • the transfer rate between the first data transfer unit and the second data transfer unit, and the transfer rate between the first input / output unit and the second input / output unit are the logical macro and the first data transfer. Or more than twice the transfer rate between the data transfer unit or the memory macro and the second data transfer unit.
  • the same data transfer speed can be obtained as compared with the case where each logic macro and each memory macro are wired independently. Therefore, interference between data during data transfer can be suppressed without causing a decrease in data transfer speed. For example, when the number of logic macros is four, the data transfer speed of the first ring bus as the first data transfer unit and the data transfer speed between the logic circuit area and the memory circuit area are set to the logic macro.
  • FIG. 9 is a circuit configuration diagram in the logic circuit region 310 of the semiconductor device for explaining the data transfer method in the semiconductor device according to the present embodiment.
  • Each logic macro 311 is synchronized with the normal-speed clock CLK1, but the register 317 on the first ring bus 314 is synchronized with the quadruple-speed clock CLK2.
  • FIG. 10 is a circuit configuration diagram in the memory circuit region 320 of the semiconductor device for explaining the data transfer method in the semiconductor device according to the present embodiment.
  • the memory macro 321 is synchronized with the normal speed clock CLK1, but the register 327 on the second ring bus 324 is synchronized with the quadruple speed clock CLK2.
  • FIG. 11 is a waveform diagram when data is transferred from the logic macro 311 to the memory macro 321.
  • La to Ld represent each logic macro 311
  • Ma to Md represent each memory macro 321
  • LRa to LRd represent each register 317 in the logic circuit area 310
  • MRa to MRd represent each register 327 in the memory circuit area 320.
  • Write data a, b, c, d transmitted from the logic macros La, Lb, Lc, Ld in synchronization with CLK1 are taken into the registers LRa, LRb, LRc, LRd in synchronization with the quadruple speed clock CLK2, respectively. It is.
  • the write data a captured in the register LRa is transferred to the second I / O port 325 in the memory circuit area via the first I / O port 315 in the logic circuit area. Then, it is taken into the second ring bus 324 in the memory circuit area.
  • the write data a is transferred on the second ring bus 324 in synchronization with the quadruple speed clock CLK2, and is taken into the memory macro Ma in synchronization with the normal speed clock CLK1.
  • the write data b, c, d are transferred from the logic circuit area to the memory circuit area in different time zones.
  • each write data is transmitted from the logic macro in one cycle period of the normal-speed clock CLK1, transferred from the logic circuit area to the memory circuit area in two cycle periods, and transferred to the memory macro in three cycle periods. It is captured. Therefore, according to the present embodiment, it is possible to transfer write data with the same number of clock cycles as when each logical macro and each memory macro are wired independently. Further, as shown in FIG.
  • the present embodiment can be used even for a semiconductor device 300 including a plurality of ring buses.
  • the semiconductor device 300 includes, for example, two first ring buses and two second ring buses, and a part of the logic macro 311 is connected to one first ring bus 314-1 to connect the first I / O. Data is transferred to the O port 315, and the remaining logic macro 311 is connected to the other first ring bus 314-2 to transfer data to the first I / O port 315. At this time, if data is transferred from the first I / O port 315 to the second I / O port 325 at twice the normal speed, the same effect can be obtained.
  • the memory circuit region 320 may include one second ring bus 324-1 and the other second ring bus 324-2.
  • FIG. 13 is a plan view showing a configuration of a semiconductor device 400 according to the fourth embodiment of the present invention.
  • the semiconductor device 400 includes a first order control unit 440 and a second order control unit 450 that connect each logic macro 411 and each memory macro 421, respectively.
  • write data as the first data group is collected from the plurality of logic macros 411 to the first sequence control unit 440 through the respective connection wirings.
  • the write data for each logic macro is transferred from the first I / O port 415 in the logic circuit area 410 to the second I / O port 425 in the memory circuit area 420 via the inter-area connection wiring 430.
  • FIG. 14 shows an example of the circuit configuration of the first sequence control unit 440 in the logic circuit region 410.
  • the first order control unit 440 includes a selector circuit 441 and a counter circuit 442 that select input of write data from the plurality of logic macros 411 (FIG. 14A).
  • the input ports of the selector circuit 441 that inputs data from four logic macros La, Lb, Lc, and Ld are a, b, c, and d, respectively.
  • the 2-bit counter value output from the counter circuit 442 is used as a control signal for the selector circuit 441 to select one of the input ports a, b, c, and d (FIG. 14B).
  • the order of the logic macros that are sequentially selected by the selector circuit 441 as the counter value increases can be used as the order information.
  • Output data from the first sequence control unit 440 is transmitted to the memory circuit area 420 via the first I / O port 415.
  • a second sequence control unit 450 is arranged in the memory circuit region 420. The second sequence control unit 450 distributes the write data input to the second I / O port 425 to each destination memory macro 421 and transfers it.
  • the second sequence control unit 450 includes a selector circuit 451 and a counter circuit 452 that select an output destination of write data received from the second I / O port 425 (FIG. 15A).
  • the output ports of the selector circuit 451 that outputs data to the four memory macros Ma, Mb, Mc, and Md are a, b, c, and d.
  • the 2-bit counter value output from the counter circuit 452 is used as a control signal for the selector circuit 451, and any one of the output force ports a, b, c, and d is selected (FIG. 15B).
  • the output data to the four memory macros can be sequentially selected.
  • the first order controller 440 in the logic circuit area 410 and the second order controller 450 in the memory circuit area 420 have common order information, and the counter circuits 442 and 452 are synchronized with each other. Therefore, write data from the logic macros La, Lb, Lc, and Ld are sequentially transferred to the corresponding memory macros Ma, Mb, Mc, and Md, respectively. Even when the read data as the second data group is transferred from the memory macro 421 to the logic macro 411, the order control unit having the same circuit configuration is provided by reversing the data transfer direction. Can be used.
  • the write data as the first data group is transmitted from the first I / O port 415 in the logic circuit area 410 to the second in the memory circuit area 420.
  • the writing data is transferred in sequential order at different times for each write data. Therefore, interference of a plurality of data on the inter-region connection wiring 430 between the logic circuit region 410 and the memory circuit region 420 can be suppressed.
  • the semiconductor device 100 according to the first embodiment uses a ring bus, the order in which the write data generated in each logic macro 111 is transferred to the memory circuit area is fixed by the arrangement of the logic macros 111. It had been.
  • the semiconductor device 400 by changing the order information in the first order control unit 440 and the second order control unit 450, the order in which the write data is transferred to the memory circuit area is changed.
  • the effect that it can be changed is obtained. That is, it is possible to change the order of the logic macros that transmit the write data or the order of the memory macros that receive the write data.
  • a normal counter counts up in synchronization with a clock, it is selected in the order of a ⁇ b ⁇ c ⁇ d.
  • d ⁇ c ⁇ b By inverting the output signal of a 2-bit counter circuit, d ⁇ c ⁇ b ⁇
  • the order of transfer with a can be reversed.
  • the write data is transferred from the second order control unit 450 to each memory macro 421 in the memory circuit area 420 by using the common order information and the counter circuits 442 and 452 are transferred. Control was performed in synchronization with each other. However, the present invention is not limited to this, and control may be performed using addresses. That is, a destination address is assigned for each write data, and the data is sequentially transmitted from the logic circuit area 410.
  • the second order control unit 450 of the memory circuit area 420 may select the memory macro 421 corresponding to the destination based on this address, and output the write data to the selected memory macro.
  • the data transfer rate in the semiconductor device 400 according to the present embodiment is not particularly limited, but the transfer rate in the first order control unit 440 and the second order control unit 450, the first I / O port 415, and the first transfer rate are not limited.
  • the transfer rate between the I / O port 425 and the second macro is equal to or higher than twice the transfer rate between the logic macro 411 and the first sequence control unit 440 or between the memory macro 421 and the second sequence control unit 450. be able to.
  • the data output from the first sequence control unit 440 to the first I / O port 415 in the logic circuit area 410 is four times the transfer rate from the logic macro 411 to the first sequence control unit 440 and is the same.
  • Data is transferred from the first I / O port 415 to the second I / O port 425 at a speed.
  • the second sequence control unit 450 in the memory circuit area 420 is transferred to the memory macro 421, the original transfer speed may be restored.
  • each memory macro receives data in the same time as when each logic macro and memory macro are individually wired. It becomes possible.
  • FIG. 16 is a plan view showing a configuration of a semiconductor device 500 according to the fifth embodiment of the present invention.
  • a first input / output control unit 560 is connected to each of the logic macros 511, and each first input / output control unit 560 and a first I / O port 515 which is a first input / output unit.
  • the first shared bus 518 to which are respectively connected constitutes a first data transfer unit.
  • a second input / output control unit 570 is connected to each of the memory macros 521, and each second input / output control unit 570 and a second I / O port 525 that is a second input / output unit are connected to each of the memory macros 521.
  • the second shared bus 528 constitutes a second data transfer unit.
  • Each first input / output control unit 560 outputs a first data group to the first shared bus 518 according to the order information in which each logical macro 511 is ordered, and each second input / output control unit 570 follows the order information.
  • the first data group is sequentially received from the second shared bus 528.
  • FIG. 17 illustrates an example of a circuit configuration of the first input / output control unit 560 included in the logic macro (La).
  • the first input / output control unit 560 can be configured using, for example, a three-state buffer circuit 561, a counter circuit 562, and a comparator circuit 563 (FIG. 17A).
  • the counter circuit 562 outputs a 2-bit counter value to the comparator circuit 563 when the number of logic macros 511 is, for example, four. For example, when the counter value is “00”, the comparator circuit 563 outputs “1” to the 3-state buffer circuit 561. At this time, the 3-state buffer circuit 561 outputs a signal constituting the first data group from the logic macro La to the first shared bus 518, and the data is transferred from the first I / O port 515 to the memory circuit area. . When the counter value is other than “00”, the comparator circuit 563 outputs “0”, and at this time, the output of the three-state buffer circuit 561 becomes high impedance (FIG. 17B).
  • the comparator circuit 563 is set to output data when the counter value is “01”, “10”, “11”, for example.
  • a second input / output control unit 570 is arranged in each memory macro 521.
  • FIG. 18 illustrates an example of a circuit configuration of the second input / output control unit 570 included in the memory macro (Ma).
  • the second input / output control unit 570 can be configured using, for example, a three-state buffer circuit 571, a counter circuit 572, and a comparator circuit 573 (FIG. 18A).
  • the counter circuit 572 outputs a 2-bit counter value to the comparator circuit 573.
  • the comparator circuit 573 when the counter value is “00”, the comparator circuit 573 outputs “1” to the 3-state buffer circuit 571. At this time, the 3-state buffer circuit 571 outputs the signal from the second shared bus 528 to the memory macro Ma. When the counter value is other than “00”, the comparator circuit 573 outputs “0”, and at this time, the output of the 3-state buffer circuit 571 becomes high impedance (FIG. 18B). For memory macros (Mb, Mc, Md) other than Ma, the comparator circuit 573 is set to output data when the counter value is “01”, “10”, “11”, for example.
  • the first input / output control unit 560 in the logic circuit region 510 and the second input / output control unit 570 in the memory circuit region 520 have common order information, and the counter circuits 562 and 572 are synchronized with each other. . Therefore, write data from the logic macros La, Lb, Lc, and Ld are sequentially transferred to the corresponding memory macros Ma, Mb, Mc, and Md, respectively. Even when the read data as the second data group is transferred from the memory macro 521 to the logic macro 511, the input / output control having the same circuit configuration is realized by reversing the data transfer direction. Part can be used.
  • the write data as the first data group is transmitted from the first I / O port 515 in the logic circuit area 510 to the second in the memory circuit area 520.
  • the writing data is transferred in a sequential manner at different times in different time zones. Therefore, interference of a plurality of data on the inter-region connection wiring 530 between the logic circuit region 510 and the memory circuit region 520 can be suppressed.
  • the order information in the first input / output control unit 560 and the second input / output control unit 570 is changed to change the order in which the write data is transferred to the memory circuit area. The effect that it can be changed is obtained.
  • the data transfer speed in the semiconductor device 500 is not particularly limited, but the first input / output control unit 560 and the first shared bus 518, the second input / output control unit 570 and the second shared bus.
  • the transfer rate in each of 528 and the transfer rate between the first I / O port 515 and the second I / O port 525 are the same as the logic macro 511 and the first input / output control unit 560 or the memory macro 521.
  • the transfer rate with the second input / output control unit 570 can be twice or more.
  • the data output from the first input / output control unit 560 to the first shared bus 518 in the logic circuit area 510 is four times the transfer rate from the logic macro 511 to the first input / output control unit 560, and the same.
  • Data is transferred from the first I / O port 515 to the second I / O port 525 at a speed. Then, when data is taken into the memory macro 521 from the second input / output control unit 570 in the memory circuit area 520, the original speed may be restored.
  • each memory macro receives data in the same time as when each logic macro and memory macro are individually wired. It becomes possible.
  • FIG. 19 shows a semiconductor device 600 according to the sixth embodiment of the present invention.
  • 2A is a schematic perspective view for explaining the configuration of the semiconductor device 600
  • FIG. 1B is a plan view of a memory circuit substrate 602 constituting the semiconductor device 600
  • FIG. 2 is a plan view of a logic circuit board 601.
  • the semiconductor device 600 includes a logic circuit board 601 and a memory circuit board 602.
  • a logic circuit area 610 is formed on the logic circuit board 601 and a memory circuit area 620 is formed on the memory circuit board 602 (FIG. 19B). (C)).
  • a semiconductor device 600 is configured in a state where a logic circuit board 601 and a memory circuit board 602 are stacked.
  • the logic circuit board 601 and the memory circuit board 602 are connected so as to face each other by a flip chip mounting method using the micro bumps 630.
  • Pads are formed on the surface of each substrate with which the microbumps 630 come into contact.
  • the pads and the first I / O port 615 on the logic circuit board 601 and the second I / O port on the memory circuit board 602 are formed. 625 are connected by wiring.
  • the first data group generated by the logic macro 611 on the logic circuit board 601 is transferred to the second I / O port in a different time zone for each first data group via the first I / O port 615. It is controlled to be transferred to 625.
  • the second data group stored in the memory macro 621 on the memory circuit board 602 is transferred to the first I / O in a different time zone for each second data group via the second I / O port 625. It is controlled to be transferred to the O port 615.
  • the configurations in the first to fifth embodiments described above can be used.
  • each data is transferred between the logic circuit area 610 and the memory circuit area 620 while shifting the time in different time zones. Therefore, interference of a plurality of data between the areas between the logic circuit area 610 and the memory circuit area 620 can be suppressed. Furthermore, in the semiconductor device 600 according to the present embodiment, since the memory circuit area 620 is configured on the memory circuit board 602 different from the logic circuit board 601, a manufacturing process dedicated to the memory circuit is used to form the memory circuit area 620. can do. This makes it possible to optimize the performance of the transistor for the memory circuit. Further, the manufacturing cost can be reduced by omitting the manufacturing process necessary only for forming the logic circuit.
  • the micro bumps 630 are used to connect the logic circuit board 601 and the memory circuit board 602.
  • the present invention is not limited to this, and a non-contact connection mode such as inductor coupling or capacitive coupling is used. Also good.
  • the configuration of the memory macro in the first to sixth embodiments described above is not particularly limited, and may be a configuration having a plurality of sub memory macros, for example.
  • the memory macro 721 may be composed of a plurality of sub memory macros 722, and the individual sub memory macros 722 may be connected to each other via a connection network 723 in the memory macro.
  • the write data transferred from the second ring bus 724 is transferred to the write destination sub memory macro 722 via the connection network 723.
  • connection network 723 shows an example in which a two-dimensional mesh configuration is used as the connection network 723.
  • the configuration of the connection network 723 is not limited to this, and any of a bus configuration, a ring configuration, a tree configuration, or a crossbar switch configuration can be used. It may be used.
  • the present invention is not limited to the above-described embodiment, and various modifications are possible within the scope of the invention described in the claims, and it is also included within the scope of the present invention. Not too long. This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2009-168598 for which it applied on July 17, 2009, and takes in those the indications of all here.

Abstract

In order to suppress the interference between data when the data are transferred between a logic circuit region and a memory circuit region of a semiconductor device such as an SoC chip, specifically disclosed is a semiconductor device comprising a logic circuit region provided with a plurality of logic macros, a first data transfer unit, and a first input/output unit, and a memory circuit region provided with a plurality of memory macros, a second data transfer unit, and a second input/output unit, wherein the first data transfer unit is connected to the plurality of logic macros, the second data transfer unit is connected to the plurality of memory macros, the first data transfer unit transfers first data groups generated in the respective logic macros to the second data transfer unit in different time zones for the respective first data groups via the first input/output unit and the second input/output unit, and the second data transfer unit transfers second data groups stored in the respective memory macros to the first data transfer unit in different time zones for the respective second data groups via the second input/output unit and the first input/output unit.

Description

半導体装置および半導体装置におけるデータ転送方法Semiconductor device and data transfer method in semiconductor device
 本発明は、半導体装置および半導体装置におけるデータ転送方法に関し、特に、複数の論理マクロを備えた論理回路領域と複数のメモリマクロを備えたメモリ回路領域を有する半導体装置および半導体装置におけるデータ転送方法に関する。 The present invention relates to a semiconductor device and a data transfer method in the semiconductor device, and more particularly to a semiconductor device having a logic circuit region having a plurality of logic macros and a memory circuit region having a plurality of memory macros, and a data transfer method in the semiconductor device. .
 携帯電話機などの情報端末機器は音声処理機能や画像処理機能など多機能化が進んでいることから、情報端末機器に使用される半導体チップには多数の論理マクロを搭載する必要がある。近年では、半導体プロセスの微細化に伴いチップ上に多くの論理マクロを集積することが可能になり、論理マクロの数は多いもので10を超えている。このように多機能を1つのチップ上に集積した半導体チップはシステム・オン・チップ(System on Chip、以下SoCという)と呼ばれ、その一例が特許文献1に記載されている。
 論理マクロの多くはCMOS(Complementary Metal Oxide Semiconductor)のロジック回路からなる。また、それぞれの論理マクロはプログラムやデータの一時記憶用のメモリが必要となる。そのためSRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)といったメモリが論理マクロの近くに配置されていることが望ましい。
 図21に、SoCチップ内の論理マクロとオンチップメモリの構成の一例を示す。図21に示す関連するSoCチップ800においては、論理マクロごとにオンチップメモリが配置されている。論理マクロ810Aはメモリマクロ810aにアクセスし、また、論理マクロ820Bはメモリマクロ820bに、論理マクロ830Cはメモリマクロ830cに、論理マクロ840Dはメモリマクロ840dに、それぞれアクセスする。論理マクロとメモリマクロとは、論理マクロおよびメモリマクロにそれぞれ配置された入出力ポート(I/Oポート)850を介して接続され、メモリへのアクセスが行われる。また、システム全体で動作するために論理マクロ同士でデータの授受を行う必要があることから、論理マクロ同士も配線接続されている。
 ここで、SoCチップ内の一つの論理マクロとそれに対応するメモリマクロとを接続する場合、論理マクロの数の増加に伴い、必要な接続配線の総数も増加する。例えば、メモリのビット幅が32ビット、ワード数が1000ワードであるとした場合、読み出しデータ用に32本、書き込みデータ用に32本、アドレス用に10本、コマンド用に2本の計76本の接続配線が必要である。SoCチップ内の論理マクロの数が10個である場合には、各論理マクロとそれに対応するメモリマクロを接続するために必要な接続配線の総数は760本となる。
特開平10−134022号公報(段落「0028」~「0034」)
Since information terminal devices such as mobile phones are becoming increasingly multifunctional, such as voice processing functions and image processing functions, it is necessary to mount a large number of logic macros on semiconductor chips used in information terminal devices. In recent years, with the miniaturization of semiconductor processes, it has become possible to integrate many logic macros on a chip, and the number of logic macros is large, exceeding 10. Such a semiconductor chip in which multiple functions are integrated on one chip is called a system on chip (hereinafter referred to as SoC), and an example thereof is described in Patent Document 1.
Many of the logic macros are composed of CMOS (Complementary Metal Oxide Semiconductor) logic circuits. Each logic macro requires a memory for temporarily storing programs and data. Therefore, it is desirable that a memory such as an SRAM (Static Random Access Memory), a DRAM (Dynamic Random Access Memory), or an MRAM (Magnetic Resistive Random Access Memory) be arranged near the logic macro.
FIG. 21 shows an example of the configuration of the logic macro and on-chip memory in the SoC chip. In the related SoC chip 800 shown in FIG. 21, an on-chip memory is arranged for each logic macro. The logic macro 810A accesses the memory macro 810a, the logic macro 820B accesses the memory macro 820b, the logic macro 830C accesses the memory macro 830c, and the logic macro 840D accesses the memory macro 840d. The logic macro and the memory macro are connected via an input / output port (I / O port) 850 arranged in the logic macro and the memory macro, respectively, and access to the memory is performed. Further, since it is necessary to exchange data between the logic macros in order to operate in the entire system, the logic macros are also connected by wiring.
Here, when one logic macro in the SoC chip and a corresponding memory macro are connected, the total number of necessary connection wirings increases as the number of logic macros increases. For example, assuming that the memory bit width is 32 bits and the number of words is 1000 words, a total of 76 lines, 32 lines for read data, 32 lines for write data, 10 lines for addresses, and 2 lines for commands Connection wiring is required. When the number of logic macros in the SoC chip is 10, the total number of connection wirings required to connect each logic macro and the corresponding memory macro is 760.
Japanese Patent Laid-Open No. 10-134,022 (paragraphs “0028” to “0034”)
 論理回路が形成される領域とメモリ回路が形成される領域は、以下の理由から分離して配置することが望ましい。すなわち、メモリはアナログ的な回路構成が必要なことから論理回路とは別に最適化されたトランジスタや記憶素子が用いられ、また、製造プロセスにおいてそれぞれ異なる工程が含まれるからである。さらに、それぞれの回路性能を最適にするために異なる電源電圧を用いること、また、デジタルの論理回路に比べてメモリ回路はノイズ耐性が小さいこと、などの理由からである。
 論理回路領域とメモリ回路領域を分離して配置するためには、例えば、同一の半導体チップ上で論理回路領域とメモリ回路領域を分けて形成する方法、または論理回路とメモリ回路を分離し、別々の半導体チップ上にそれぞれ形成する方法などが考えられる。メモリ回路を別の半導体チップに形成する場合、具体的には、メモリ回路を搭載した半導体チップと論理回路を搭載した半導体チップを並べて配置し、ボード基板を介して配線接続することにより半導体チップ間での信号伝送を行う方法がある。また、メモリ回路を搭載した半導体チップと論理回路を搭載した半導体チップを縦積みにし、それぞれの半導体チップの表面同士が向かい合うようにフリップチップ積層して半導体チップ間をバンプ接続する方法もある。
 しかしながら、SoCチップ内で論理回路領域とメモリ回路領域を分離して形成した場合、論理マクロとメモリマクロ間の配線が、論理マクロの数だけ論理回路領域とメモリ回路領域の間で交差することになる。そのため、配線のレイアウトが複雑になりレイアウト工数が増加する。また、配線密度の増加を回避するために迂回した配線を多用することとなり、データ転送速度が低下することになる。したがって、各論理マクロとメモリマクロ間のデータ転送のための配線数を少なくすることが望ましい。しかし、配線数を少なくすると、多数の論理マクロとそのメモリマクロとの信号を個別に接続するには配線数が足りなくなる。そのため、複数の論理マクロから転送された複数のデータが領域間の配線上で干渉してしまうという問題があった。
 また、論理回路とメモリ回路を別々の半導体チップに搭載する場合は、半導体チップ内の配線であればサブ・ミクロン程度のサイズであるのに対し、数十~数百ミクロンと二桁程度大きいサイズのボード基板配線を使わざるを得なくなる。また半導体チップのパッド形状は一辺が百ミクロン以上と大きいため、半導体チップ間の接続配線をつなぐための半導体チップ上のパッド数が数百個程度に制限される。したがって、この場合も、多数の論理マクロとそれに対応するメモリマクロとをそれぞれ接続するためには配線数が不足する。そのため、この場合においても、複数の論理マクロから転送された複数のデータが半導体チップ間の配線上で干渉してしまうという問題があった。
 本発明の目的は、上述した課題である、SoCチップなどの半導体装置における論理回路領域とメモリ回路領域を分離すると、両領域間で相互に転送されるデータが両領域間の配線上で干渉する、という課題を解決する半導体装置および半導体装置におけるデータ転送方法を提供することにある。
The region where the logic circuit is formed and the region where the memory circuit is formed are desirably arranged separately for the following reason. That is, since an analog circuit configuration is required for the memory, optimized transistors and memory elements are used separately from the logic circuit, and different steps are included in the manufacturing process. Further, the reason is that a different power supply voltage is used for optimizing each circuit performance, and that the memory circuit is less resistant to noise than a digital logic circuit.
In order to arrange the logic circuit area and the memory circuit area separately, for example, a method in which the logic circuit area and the memory circuit area are separately formed on the same semiconductor chip, or the logic circuit and the memory circuit are separated and separated. A method of forming each on the semiconductor chip is conceivable. When the memory circuit is formed on another semiconductor chip, specifically, the semiconductor chip on which the memory circuit is mounted and the semiconductor chip on which the logic circuit is mounted are arranged side by side, and are connected by wiring through the board substrate. There is a method of performing signal transmission on the Internet. There is also a method of stacking semiconductor chips mounted with memory circuits and semiconductor chips mounted with logic circuits vertically, flip-chip stacking so that the surfaces of the respective semiconductor chips face each other, and bump-connecting the semiconductor chips.
However, when the logic circuit area and the memory circuit area are formed separately in the SoC chip, wiring between the logic macro and the memory macro intersects between the logic circuit area and the memory circuit area by the number of logic macros. Become. This complicates the wiring layout and increases the number of layout steps. In addition, in order to avoid an increase in the wiring density, the bypassed wiring is frequently used, and the data transfer speed is lowered. Therefore, it is desirable to reduce the number of wires for data transfer between each logic macro and the memory macro. However, if the number of wirings is reduced, the number of wirings is insufficient to individually connect a large number of logic macros and their memory macro signals. Therefore, there is a problem that a plurality of data transferred from a plurality of logic macros interfere with each other on the wiring between the areas.
In addition, when the logic circuit and memory circuit are mounted on separate semiconductor chips, the wiring within the semiconductor chip is about a sub-micron size compared to several tens to several hundreds of microns, a size that is two orders of magnitude larger The board wiring of the board must be used. Further, since the pad shape of the semiconductor chip is as large as one hundred microns or more, the number of pads on the semiconductor chip for connecting the connection wiring between the semiconductor chips is limited to about several hundred. Therefore, in this case as well, the number of wires is insufficient to connect a large number of logic macros and corresponding memory macros. Therefore, even in this case, there is a problem that a plurality of data transferred from a plurality of logic macros interfere with each other on the wiring between the semiconductor chips.
The object of the present invention is to separate the logic circuit area and the memory circuit area in the semiconductor device such as the SoC chip, which is the problem described above, and the data transferred between the two areas interferes with each other on the wiring between the two areas. To provide a semiconductor device and a data transfer method in the semiconductor device.
 本発明の半導体装置は、複数の論理マクロと第1のデータ転送部と第1の入出力部を備えた論理回路領域と、複数のメモリマクロと第2のデータ転送部と第2の入出力部を備えたメモリ回路領域を有し、第1のデータ転送部は、複数の論理マクロと接続され、第2のデータ転送部は、複数のメモリマクロと接続され、第1の入出力部と第2の入出力部は互いに接続され、第1のデータ転送部は、第1の入出力部および第2の入出力部を介して、個々の論理マクロで発生する第1のデータ群を第1のデータ群毎に異なる時間帯に第2のデータ転送部に転送し、第2のデータ転送部は、第2の入出力部および第1の入出力部を介して、個々のメモリマクロに蓄積された第2のデータ群を第2のデータ群毎に異なる時間帯に第1のデータ転送部に転送する。
 本発明の半導体装置におけるデータ転送方法は、半導体装置を構成する複数の論理マクロでそれぞれ発生するデータを、論理マクロ毎に第1のデータ群として形成し、第1のデータ群を、第1のデータ群毎に具なる時間帯に、論理マクロに対応した半導体装置を構成するメモリマクロに転送し、半導体装置を構成する複数のメモリマクロにそれぞれ蓄積されたデータを、メモリマクロ毎の第2のデータ群として形成し、第2のデータ群を、第2のデータ群毎に異なる時間帯に、メモリマクロに対応した半導体装置を構成する論理マクロに転送する。
A semiconductor device according to the present invention includes a logic circuit region including a plurality of logic macros, a first data transfer unit, and a first input / output unit, a plurality of memory macros, a second data transfer unit, and a second input / output unit. A first data transfer unit connected to a plurality of logic macros, a second data transfer unit connected to a plurality of memory macros, and a first input / output unit The second input / output units are connected to each other, and the first data transfer unit receives the first data group generated in each logic macro via the first input / output unit and the second input / output unit. The data is transferred to the second data transfer unit in a different time zone for each data group, and the second data transfer unit is connected to each memory macro via the second input / output unit and the first input / output unit. The accumulated second data group is transferred to the first data transfer unit in a different time zone for each second data group. To.
In the data transfer method in the semiconductor device of the present invention, data generated in each of a plurality of logic macros constituting the semiconductor device is formed as a first data group for each logic macro, and the first data group is defined as the first data group. In a time zone provided for each data group, the data is transferred to the memory macro constituting the semiconductor device corresponding to the logic macro, and the data stored in each of the plurality of memory macros constituting the semiconductor device is transferred to the second memory macro for each memory macro. The data group is formed as a data group, and the second data group is transferred to a logic macro constituting a semiconductor device corresponding to the memory macro in a different time zone for each second data group.
 本発明の半導体装置によれば、半導体装置を構成する論理回路領域とメモリ回路領域との間でデータを相互に転送するときのデータ間の干渉を抑制することができる。 According to the semiconductor device of the present invention, it is possible to suppress interference between data when data is transferred between the logic circuit area and the memory circuit area constituting the semiconductor device.
図1は本発明の第1の実施形態に係る半導体装置の構成を示す平面図である。
図2は本発明の第1の実施形態に係る半導体装置の論理回路領域における回路構成図である。
図3は本発明の第1の実施形態に係る半導体装置のメモリ回路領域における回路構成図である。
図4は本発明の第1の実施形態に係る半導体装置の論理回路領域における別の回路構成図である。
図5は本発明の第1の実施形態に係る別の半導体装置の構成を示す平面図である。
図6は本発明の第1の実施形態に係る別の半導体装置の論理回路領域における回路構成図である。
図7は本発明の第1の実施形態に係る別の半導体装置のメモリ回路領域における回路構成図である。
図8は本発明の第2の実施形態に係る半導体装置の構成を示す平面図である。
図9は本発明の第3の実施形態に係る半導体装置におけるデータ転送方法を説明するための半導体装置の論理回路領域における回路構成図である。
図10は本発明の第3の実施形態に係る半導体装置におけるデータ転送方法を説明するための半導体装置のメモリ回路領域における回路構成図である。
図11は本発明の第3の実施形態に係る半導体装置におけるデータ転送方法を説明するための波形図である。
図12は本発明の第3の実施形態に係る半導体装置におけるデータ転送方法を説明するための半導体装置の構成を示す平面図である。
図13は本発明の第4の実施形態に係る半導体装置の構成を示す平面図である。
図14は本発明の第4の実施形態に係る半導体装置の論理回路領域における順序制御部の回路構成図とその動作を示す表図である。
図15は本発明の第4の実施形態に係る半導体装置のメモリ回路領域における順序制御部の回路構成図とその動作を示す表図である。
図16は本発明の第5の実施形態に係る半導体装置の構成を示す平面図である。
図17は本発明の第5の実施形態に係る半導体装置の論理回路領域における入出力制御部の回路構成図とその動作を示す表図である。
図18は本発明の第5の実施形態に係る半導体装置のメモリ回路領域における入出力制御部の回路構成図とその動作を示す表図である。
図19は本発明の第6の実施形態に係る半導体装置を説明するための、(a)模式的な斜視図、(b)メモリ回路基板の構成を示す平面図、(c)論理回路基板の構成を示す平面図、である。
図20は本発明の半導体装置の別のメモリマクロの構成を示す平面図である。
図21は関連するSoCチップの構成を示す平面図である。
FIG. 1 is a plan view showing the configuration of the semiconductor device according to the first embodiment of the present invention.
FIG. 2 is a circuit configuration diagram in the logic circuit region of the semiconductor device according to the first embodiment of the present invention.
FIG. 3 is a circuit configuration diagram in the memory circuit region of the semiconductor device according to the first embodiment of the present invention.
FIG. 4 is another circuit configuration diagram in the logic circuit region of the semiconductor device according to the first embodiment of the present invention.
FIG. 5 is a plan view showing a configuration of another semiconductor device according to the first embodiment of the present invention.
FIG. 6 is a circuit configuration diagram in the logic circuit region of another semiconductor device according to the first embodiment of the present invention.
FIG. 7 is a circuit configuration diagram in the memory circuit area of another semiconductor device according to the first embodiment of the present invention.
FIG. 8 is a plan view showing a configuration of a semiconductor device according to the second embodiment of the present invention.
FIG. 9 is a circuit configuration diagram in a logic circuit region of a semiconductor device for explaining a data transfer method in the semiconductor device according to the third embodiment of the present invention.
FIG. 10 is a circuit configuration diagram in the memory circuit region of the semiconductor device for explaining a data transfer method in the semiconductor device according to the third embodiment of the present invention.
FIG. 11 is a waveform diagram for explaining the data transfer method in the semiconductor device according to the third embodiment of the present invention.
FIG. 12 is a plan view showing a configuration of a semiconductor device for explaining a data transfer method in the semiconductor device according to the third embodiment of the present invention.
FIG. 13 is a plan view showing a configuration of a semiconductor device according to the fourth embodiment of the present invention.
FIG. 14 is a circuit configuration diagram of the sequence control unit in the logic circuit region of the semiconductor device according to the fourth embodiment of the present invention and a table showing its operation.
FIG. 15 is a circuit configuration diagram of the sequence control unit in the memory circuit region of the semiconductor device according to the fourth embodiment of the present invention and a table showing its operation.
FIG. 16 is a plan view showing a configuration of a semiconductor device according to the fifth embodiment of the present invention.
FIG. 17 is a circuit configuration diagram of the input / output control unit in the logic circuit region of the semiconductor device according to the fifth embodiment of the present invention and a table showing its operation.
FIG. 18 is a circuit diagram of the input / output control unit in the memory circuit region of the semiconductor device according to the fifth embodiment of the present invention and a table showing its operation.
19A is a schematic perspective view for explaining a semiconductor device according to a sixth embodiment of the present invention, FIG. 19B is a plan view showing the configuration of a memory circuit board, and FIG. 19C is a diagram of a logic circuit board. It is a top view which shows a structure.
FIG. 20 is a plan view showing another memory macro configuration of the semiconductor device of the present invention.
FIG. 21 is a plan view showing a configuration of a related SoC chip.
 以下に、図面を参照しながら、本発明の実施形態について説明する。
 〔第1の実施形態〕
 図1は、本発明の第1の実施形態に係る半導体装置100の構成を示す平面図である。半導体装置100は、複数の論理マクロ111と第1のデータ転送部112と第1の入出力部113を備えた論理回路領域110と、論理マクロ111と対応した複数のメモリマクロ121と第2のデータ転送部122と第2の入出力部123を備えたメモリ回路領域120を有する。第1のデータ転送部112は複数の論理マクロ111と接続され、第2のデータ転送部122は複数のメモリマクロ121と接続される。また、第1の入出力部113と第2の入出力部123は領域間接続配線130により互いに接続されている。
 第1のデータ転送部112は第1の入出力部113および第2の入出力部123を介して、個々の論理マクロ111で発生する第1のデータ群を第1のデータ群毎に異なる時間帯に第2のデータ転送部122に転送する。同様に、第2のデータ転送部122は第2の入出力部123および第1の入出力部113を介して、個々のメモリマクロ121に蓄積された第2のデータ群を第2のデータ群毎に異なる時間帯に第1のデータ転送部112に転送する。
 本実施形態による半導体装置100によれば、第1のデータ群としての書き込みデータは、論理回路領域110の第1の入出力部113からメモリ回路領域120の第2の入出力部123に向けて、書き込みデータ毎に異なる時間帯に時間をずらして順送りで転送される。そのため、論理回路領域110とメモリ回路領域120との間の領域間接続配線130上で複数のデータが干渉することを抑制することができる。同様に、第2のデータ群としてのメモリマクロからの読み出しデータは、読み出しデータ毎に異なる時間帯に時間をずらして順送りで転送される。そのため、この場合においても、領域間接続配線130上で複数のデータが干渉することを抑制することができる。
 ここで、第1のデータ転送部112は、各論理マクロ111と第1の入出力部113としての第1のI/Oポート115が接続される第1のリングバス114を備えることができる。また、第2のデータ転送部122は、各メモリマクロ121と第2の入出力部123としての第2のI/Oポート125が接続される第2のリングバス124を備えることができる。
 論理マクロ111からメモリマクロ121へ書き込みデータを転送する場合、第1のリングバス114は書き込みデータを各論理マクロ111から順送りで第1のI/Oポート115まで転送する。書き込みデータは領域間接続配線130により論理回路領域110の第1のI/Oポート115からメモリ回路領域120の第2のI/Oポート125まで転送される。メモリ回路領域120においては、第2のリングバス124によって、書き込みデータは第2のI/Oポート125からデータの送付先である対応するメモリマクロ121まで順送りで転送される。
 また、メモリマクロ121から論理マクロ111へ読み出しデータを転送する場合も同様に、メモリ回路領域120において第2のリングバス124は読み出しデータを順送りに第2のI/Oポート125まで転送する。読み出しデータは領域間接続配線130により、第2のI/Oポート125から論理回路領域110の第1のI/Oポート115まで転送される。論理回路領域110においては、第1のリングバス114によって、読み出しデータは第1のI/Oポート115から送り先である対応する論理マクロ111まで順送りで転送される。
 次に、本実施形態による半導体装置について、図2から図4を用いてさらに詳細に説明する。
 図2は、本実施形態に係る半導体装置100の論理回路領域110における回路構成図である。各論理マクロ111の入力側は第1のリングバス114に直接接続され、各論理マクロ111の出力側はマルチプレクサ116およびレジスタ117を介して第1のリングバス114に接続される。マルチプレクサ116には、接続されている論理マクロ111からのデータと前段の論理回路ブロックのレジスタ117からの出力データが入力され、いずれか一方が選択される。ここで、論理マクロからマルチプレクサに入力するデータは、例えば、各論理マクロ111からメモリマクロ121へ送信する書き込みデータを32ビットとすると、これに送り先のメモリマクロ121のアドレス用の2ビットを追加した合計34ビット幅のデータとすることができる。
 論理回路領域110からメモリ回路領域120へ各論理マクロ111の書き込みデータを送信する場合、最初のクロックのタイミングで各論理マクロ111に接続されたマルチプレクサ116が論理マクロ111からの書き込みデータを選択し、レジスタ117がそのデータを保持する。その後に、マルチプレクサ116が入力を切り替えて前段のレジスタ117からのデータを選択し、次のクロックのタイミングでそれぞれのレジスタ117に保持されたデータを第1のリングバス114に接続された隣接するレジスタ117に転送する。このようにデータはクロックに同期して第1のリングバス114上で順送りされ、第1のI/Oポート115へ送られる。第1のI/Oポート115からは、メモリ回路領域120に接続されている領域間接続配線130へデータが送信される。
 図3は、本実施形態に係る半導体装置100のメモリ回路領域120における回路構成図である。各メモリマクロ121の入力側は第2のリングバス124に直接接続され、各メモリマクロ121の出力側はマルチプレクサ126およびレジスタ127を介して第2のリングバス124に接続される。論理回路領域110から送信された書き込みデータは第2のI/Oポート125で受信され、第2のI/Oポート125が接続されたレジスタ127に保持される。そして第2のリングバス124によって順送りに隣接するレジスタ127に転送される。各レジスタ127と接続されたメモリマクロ121は、各レジスタ127に保持された書き込みデータの送り先のメモリマクロを指定するアドレスビットを見て、自分宛である場合は、その書き込みデータをメモリマクロ内に取り込む。
 このように本実施形態による半導体装置100では、それぞれの論理マクロ111で発生した書き込みデータは第1のリングバス114に接続されたレジスタ117を順送りに転送される。したがって、それぞれの書き込みデータが領域間接続配線130上を転送される順番はあらかじめ決められていることになる。その結果、論理回路領域の第1のI/Oポート115からメモリ回路領域の第2のI/Oポート125へ時間をずらして各論理マクロの書き込みデータが転送されるので、複数のデータが領域間接続配線130上で干渉することを抑制することができる。
 メモリマクロ121から読み出しデータを転送する場合には、メモリ回路領域120において読み出しデータは第2のリングバス124によって第2のI/Oポート125まで転送される。その後に論理回路領域110の第1のI/Oポート115に転送され、論理回路領域110では読み出しデータを受け取る論理マクロ111まで第1のリングバス114によって転送される。したがって、この場合においても、メモリ回路領域の第2のI/Oポート125から論理回路領域の第1のI/Oポート115へ時間をずらして各メモリマクロの読み出しデータが転送されるので、複数のデータが領域間接続配線130上で干渉することを抑制することができる。
 本実施形態では、論理回路領域110のすべての論理マクロ111が同時に第1のリングバス114に書き込みデータを送信し、各レジスタ117に各論理マクロ111からの書き込みデータをセットしてから、第1のリングバス114によってデータを順送りすることとした。そのため、すべての書き込みデータが第1のI/Oポート115からメモリ回路領域120に転送されるまでは、各論理マクロ111は次の書き込みデータを送信しない。したがって、あるクロック時間では書き込みデータを送信しない論理マクロが存在する場合、書き込みデータではない無効なデータが入力されたレジスタが存在し、無効なデータが転送されることになる。そこで、書き込みデータとともにそのデータが有効か無効かを識別する識別信号を一緒に送り、識別信号が無効を示している場合には、後段の論理マクロが新たな書き込みデータを送信し、第1のリングバス114によって新たな書き込みデータを転送することとしてもよい。これにより、領域間接続配線におけるデータ転送効率を高めることができる。
 また、本実施形態では、それぞれの領域のリングバスは、書き込みデータと読み出しデータの二種類のデータの転送を兼用して行うこととしたが、これに限らず、図4に示すように、書き込みデータ用リングバス114−1と読み出しデータ用リングバス114−2をそれぞれ備えた2重のリングバス構造としてもよい。
 本実施形態では、第1の入出力部113としての第1のI/Oポート115は第1のデータ転送部112である第1のリングバス114に接続され、第2の入出力部123としての第2のI/Oポート125は第2のデータ転送部122である第2のリングバス124に接続されることとした。しかし、これに限らず、図5に示すように、第1の入出力部113としての第1のI/Oポート115は論理マクロ111のいずれかと接続され、第2の入出力部123としての第2のI/Oポート125はメモリマクロ121のいずれかと接続されることとしてもよい。
 図6に、この場合の論理回路領域110の回路構成図の一例を示す。論理マクロ111からの書き込みデータは第1のI/Oポート115と接続する論理マクロ111Aまで第1のリングバス114によって転送される。この論理マクロ111Aを介して第1のI/Oポート115に転送され、メモリ回路領域120に送信される。図7にメモリ回路領域120の回路構成図の一例を示す。メモリ回路領域120の第2のI/Oポート125において書き込みデータを受信した後、第2のI/Oポート125と接続するメモリマクロ121Dに転送される。その後、このメモリマクロ121Dから第2のリングバス124にデータが転送され、第2のリングバス124によって順送りにデータが転送される。アドレス先となっているメモリマクロ121は第2のリングバス124からその書き込みデータを受信する。
 このように図5~図7に示した実施形態においても、それぞれの論理マクロ111で発生した書き込みデータは第1のリングバス114に接続されたレジスタ117を順送りに転送される。したがって、それぞれの書き込みデータが領域間接続配線130上を転送される順番はあらかじめ決められていることになる。その結果、論理回路領域の第1のI/Oポート115からメモリ回路領域の第2のI/Oポート125へ時間をずらして各論理マクロの書き込みデータが転送されるので、複数のデータが領域間接続配線130上で干渉することを抑制することができる。また、メモリマクロ121から読み出しデータを論理回路領域110の第1のI/Oポート115に転送する場合も、同様にデータの干渉を抑制することができる。
 〔第2の実施形態〕
 次に、本発明の第2の実施形態について説明する。図8は、本発明の第2の実施形態に係る半導体装置200の構成を示す平面図である。半導体装置200は、各論理マクロ211と対応するメモリマクロ221との間を、それぞれの対ごとに接続する転送開始信号配線240を有している。その他の構成は、第1の実施形態による半導体装置100と同様である。この転送開始信号配線240を用いて、論理マクロ211からメモリマクロ221へ転送開始信号が送信される。転送開始信号は論理マクロ211とメモリマクロ221間のデータ転送の開始を知らせるためだけに用いられるので、1ビット幅の接続配線で充分である。
 転送開始信号を受け取ったメモリマクロは、送信元である論理マクロから第1のI/Oポート215まで、及び第2のI/Oポート225から自身のメモリマクロまでデータを転送する際のクロックサイクル数をカウントし、そのクロックサイクル数に達した時にデータを受け取る。ここで、データ転送にかかるクロックサイクル数は、第1のリングバス214および第2のリングバス224を順送りするレジスタの数によって定まる。したがって、論理マクロ211の数、メモリマクロ221の数、及び第1のI/Oポート215と第2のI/Oポート225のそれぞれの配置位置により、データ転送にかかるクロックサイクル数が決まることになる。以上より、各メモリマクロ221のカウンタにこのクロックサイクル数の情報をあらかじめ設定しておくことにより、メモリマクロ211が第2のリングバス224を流れるデータの中から、自分宛のデータを選択して取り込むことができる。
 第1の実施形態による半導体装置100においては、例えば32ビットの書き込みデータに送付先のメモリマクロのアドレスとして例えば2ビットを加えて34ビットの信号として一緒に論理マクロからメモリマクロへ転送することとしている。それに対して、本実施形態の半導体装置200によれば、宛先となるメモリマクロのアドレス情報を転送し、アドレス情報を照合してデータの取捨を行うという処理が不要となるので、論理マクロ211およびメモリマクロ221における制御が容易になる、という効果が得られる。
 同様に、メモリマクロ221から転送される読み出しデータを論理マクロ211が受取る場合においても、転送開始信号配線240により転送開始信号がメモリマクロ221から論理マクロ211へ送信される。論理マクロ211はデータ転送にかかるクロックサイクル数をカウンタで計測し、第1のリングバス214を流れるデータの中から自分宛のデータを選択して取り込むことができる。
 〔第3の実施形態〕
 次に、本発明の第3の実施形態について説明する。本実施形態に係る半導体装置におけるデータ転送方法は、まず、半導体装置を構成する複数の論理マクロでそれぞれ発生するデータを、論理マクロ毎に第1のデータ群として形成する。また、半導体装置を構成する複数のメモリマクロにそれぞれ蓄積されたデータを、メモリマクロ毎の第2のデータ群として形成する。そして、第1のデータ群を、第1のデータ群毎に異なる時間帯に、論理マクロに対応したメモリマクロに転送し、第2のデータ群を、第2のデータ群毎に異なる時間帯に、メモリマクロに対応した論理マクロに転送する。
 そして、第1のデータ群は、論理マクロに接続された第1のデータ転送部と、第1のデータ転送部に接続された第1の入出力部、および第1の入出力部に接続された第2の入出力部を介して対応するメモリマクロに転送される。また、第2のデータ群は、メモリマクロに接続された第2のデータ転送部と、第2のデータ転送部に接続された第2の入出力部、および第2の入出力部に接続された第1の入出力部を介して対応する論理マクロに転送される。このとき、第1のデータ転送部と第2のデータ転送部における転送速度、および第1の入出力部と第2の入出力部との間の転送速度が、論理マクロと第1のデータ転送部またはメモリマクロと第2のデータ転送部との間の転送速度の2倍以上となっている。
 本実施形態に係る半導体装置におけるデータ転送方法によれば、各論理マクロと各メモリマクロとの間をそれぞれ独立に配線した場合と比べ、同等のデータ転送速度が得られる。したがって、データ転送速度の低下を招くことなく、データ転送時のデータ間の干渉を抑制することができる。例えば、論理マクロの数を4個とした場合、第1のデータ転送部としての第1のリングバスのデータ転送速度と、論理回路領域とメモリ回路領域との間のデータ転送速度を、論理マクロと第1のリングバスとの間の転送速度の4倍に設定する。それにより、4個の論理マクロからそれぞれ対応するメモリマクロへデータを送信する場合、各論理マクロとメモリマクロとの間を個別に配線した場合と同等時間後に、各メモリマクロがデータを受信することが可能となる。
 次に、本実施形態による半導体装置におけるデータ転送方法について、図9から図12を用いてさらに詳細に説明する。
 図9は、本実施形態に係る半導体装置におけるデータ転送方法を説明するための半導体装置の論理回路領域310における回路構成図である。各論理マクロ311は通常速度のクロックCLK1で同期しているが、第1のリングバス314上のレジスタ317は4倍速のクロックCLK2で同期している。
 また図10は、本実施形態に係る半導体装置におけるデータ転送方法を説明するための半導体装置のメモリ回路領域320における回路構成図である。メモリマクロ321は通常速度のクロックCLK1で同期しているが、第2のリングバス324上のレジスタ327は4倍速のクロックCLK2で同期している。
 図11は、論理マクロ311からメモリマクロ321へデータ転送した場合の波形図である。ここで、La~Ldは各論理マクロ311を、Ma~Mdは各メモリマクロ321を、LRa~LRdは論理回路領域310における各レジスタ317を、MRa~MRdはメモリ回路領域320における各レジスタ327を表す。論理マクロLa、Lb、Lc、LdからCLK1に同期して送信された書き込みデータa、b、c、dは、それぞれレジスタLRa、LRb、LRc、LRdに、4倍速のクロックCLK2に同期して取り込まれる。次のクロックサイクルで、レジスタLRaに取り込まれていた書き込みデータaは、論理回路領域の第1のI/Oポート315を経由してメモリ回路領域の第2のI/Oポート325にデータが転送され、メモリ回路領域の第2のリングバス324に取り込まれる。書き込みデータaは第2のリングバス324上を4倍速のクロックCLK2に同期して転送され、通常速度のクロックCLK1に同期してメモリマクロMaに取り込まれる。また書き込みデータb、c、dは、それぞれ異なる時間帯に論理回路領域からメモリ回路領域に転送される。図11からわかるように、各書き込みデータは、通常速度のクロックCLK1の1サイクル期間で論理マクロから送信され、2サイクル期間で論理回路領域からメモリ回路領域に転送され、3サイクル期間でメモリマクロに取り込まれる。したがって、本実施形態によれば、各論理マクロと各メモリマクロとの間をそれぞれ独立に配線した場合と同じクロックサイクル数で書き込みデータの転送を行うことができる。
 また、図12に示すように、リングバスをそれぞれ複数個備えた半導体装置300であっても本実施形態を用いることができる。半導体装置300は例えば、第1のリングバスおよび第2のリングバスをそれぞれ2個ずつ備え、論理マクロ311の一部を一方の第1のリングバス314−1に接続して第1のI/Oポート315までデータ転送し、残りの論理マクロ311を他方の第1のリングバス314−2に接続して第1のI/Oポート315までデータ転送する。このとき、第1のI/Oポート315から第2のI/Oポート325に向けては通常速度の2倍の速度でデータを転送することとすれば、同様の効果が得られる。メモリ回路領域320に例えば、一方の第2のリングバス324−1と他方の第2のリングバス324−2を備えることとしてもよい。
 〔第4の実施形態〕
 次に、本発明の第4の実施形態について説明する。図13は、本発明の第4の実施形態に係る半導体装置400の構成を示す平面図である。半導体装置400は、各論理マクロ411および各メモリマクロ421をそれぞれ接続する第1の順序制御部440および第2の順序制御部450を有する。論理回路領域410においては、第1のデータ群としての書き込みデータが、複数の論理マクロ411からそれぞれの接続配線によって第1の順序制御部440に集められる。そして論理マクロ毎の書き込みデータが、領域間接続配線430を介して論理回路領域410の第1のI/Oポート415からメモリ回路領域420の第2のI/Oポート425へ転送される。このとき第1の順序制御部440は、各論理マクロ411を順序付けた順序情報に従って各書き込みデータを順次転送する。
 図14に、論理回路領域410における第1の順序制御部440の回路構成の一例を示す。第1の順序制御部440は、複数の論理マクロ411からの書き込みデータの入力を選択するセレクタ回路441とカウンタ回路442を有する(図14(a))。ここで、例えば、4つの論理マクロLa、Lb、Lc、Ldからのデータを入力するセレクタ回路441の入力ポートをそれぞれa、b、c、dとする。このとき、カウンタ回路442が出力する2ビットのカウンタ値をセレクタ回路441の制御信号とし、入力ポートa、b、c、dのいずれかを選択する(図14(b))。ここで、カウンタ値の増加に伴ってセレクタ回路441が順次選択する論理マクロの順番を順序情報とすることができる。第1の順序制御部440からの出力データは第1のI/Oポート415を介してメモリ回路領域420へ送信される。
 一方、メモリ回路領域420には第2の順序制御部450が配置されている。この第2の順序制御部450は、第2のI/Oポート425へ入力された書き込みデータを送り先の各メモリマクロ421へ振り分けて転送する。図15に、メモリ回路領域420における第2の順序制御部450の回路構成の一例を示す。第2の順序制御部450は、第2のI/Oポート425から受取った書き込みデータの出力先を選択するセレクタ回路451とカウンタ回路452を有する(図15(a))。ここで、例えば、4つのメモリマクロMa、Mb、Mc、Mdへデータを出力するセレクタ回路451の出力ポートをa、b、c、dとする。このとき、カウンタ回路452が出力する2ビットのカウンタ値をセレクタ回路451の制御信号とし、出力力ポートa、b、c、dのいずれかを選択する(図15(b))。これにより、4つのメモリマクロへの出力データを順次選択することができる。
 ここで、論理回路領域410における第1の順序制御部440とメモリ回路領域420における第2の順序制御部450は共通の順序情報を有し、カウンタ回路442、452は互いに同期している。そのため、論理マクロLa、Lb、Lc、Ldからの書き込みデータがそれぞれ対応するメモリマクロMa、Mb、Mc、Mdに順次転送される。
 なお、第2のデータ群としての読み出しデータをメモリマクロ421から論理マクロ411へ転送する場合であっても、データの転送方向を逆向きにすることにより、同様の回路構成を備えた順序制御部を用いることができる。
 以上説明したように、本実施形態による半導体装置400によれば、第1のデータ群としての書き込みデータは、論理回路領域410の第1のI/Oポート415からメモリ回路領域420の第2のI/Oポート425に向けて、書き込みデータ毎に異なる時間帯に時間をずらして順送りで転送される。そのため、論理回路領域410とメモリ回路領域420との間の領域間接続配線430上で複数のデータが干渉することを抑制することができる。ここで、第1の実施形態による半導体装置100ではリングバスを用いることとしているので、各論理マクロ111でそれぞれ発生する書き込みデータをメモリ回路領域に転送する順番は、各論理マクロ111の配置により固定されていた。それに対して、本実施形態による半導体装置400によれば、第1の順序制御部440および第2の順序制御部450における順序情報を変更することにより、書き込みデータをメモリ回路領域に転送する順番を変更することができるという効果が得られる。すなわち、書き込みデータを送信する論理マクロの順番、または書き込みデータを受信するメモリマクロの順番を入れ替えることが可能になる。例えば、通常のカウンタはクロックに同期してカウントアップするため、a→b→c→dの順番に選択されるが、2ビットのカウンタ回路の出力信号を反転させることによって、d→c→b→aと転送する順番を逆にすることができる。また、カウンタ値の下位ビットだけを反転させることにより、b→a→d→cのように転送する順番を入れ替えることも可能となる。
 本実施形態においては、上述したように、メモリ回路領域420における第2の順序制御部450から各メモリマクロ421への書き込みデータの転送は、共通の順序情報を用いて、カウンタ回路442、452を互いに同期させて制御することとした。しかし、これに限らず、アドレスを用いて制御することとしてもよい。すなわち、書き込みデータ毎に送り先のアドレスを付与し、論理回路領域410から順次送信する。そしてメモリ回路領域420の第2の順序制御部450は、このアドレスに基づいて送り先に相当するメモリマクロ421を選択し、選択したメモリマクロに対して書き込みデータを出力することとしてもよい。
 また、本実施形態による半導体装置400におけるデータの転送速度は特に制限されないが、第1の順序制御部440および第2の順序制御部450における転送速度、および第1のI/Oポート415と第2のI/Oポート425との間の転送速度を、論理マクロ411と第1の順序制御部440またはメモリマクロ421と第2の順序制御部450との間の転送速度の2倍以上とすることができる。
 例えば、論理回路領域410の第1の順序制御部440から第1のI/Oポート415へのデータ出力は、論理マクロ411から第1の順序制御部440への転送速度の4倍とし、同じ速度で第1のI/Oポート415から第2のI/Oポート425へデータ転送を行う。そして、メモリ回路領域420の第2の順序制御部450からメモリマクロ421に転送するときに元の転送速度に戻すこととしてもよい。これにより、4個の論理マクロから対応するそれぞれのメモリマクロへ同時にデータ転送する場合、各論理マクロとメモリマクロとの間を個別に配線した場合と同様の時間で各メモリマクロがデータを受信することが可能になる。
 〔第5の実施形態〕
 次に、本発明の第5の実施形態について説明する。図16は、本発明の第5の実施形態に係る半導体装置500の構成を示す平面図である。半導体装置500においては、論理マクロ511にはそれぞれ第1の入出力制御部560が接続され、各第1の入出力制御部560および第1の入出力部である第1のI/Oポート515がそれぞれ接続された第1の共有バス518が第1のデータ転送部を構成している。一方、メモリマクロ521にはそれぞれ第2の入出力制御部570が接続され、各第2の入出力制御部570および第2の入出力部である第2のI/Oポート525がそれぞれ接続された第2の共有バス528が第2のデータ転送部を構成している。各第1の入出力制御部560は各論理マクロ511を順序付けた順序情報に従って第1のデータ群を前記第1の共有バス518に出力し、各第2の入出力制御部570は順序情報に従って第1のデータ群を第2の共有バス528から順次受信する。
 図17に、論理マクロ(La)が有する第1の入出力制御部560の回路構成の一例を示す。第1の入出力制御部560は、例えば、3ステートバッファ回路561、カウンタ回路562、およびコンパレータ回路563を用いて構成することができる(図17(a))。カウンタ回路562は論理マクロ511の個数を例えば4個とした場合、2ビットのカウンタ値をコンパレータ回路563に出力する。カウンタ値が例えば「00」の場合、コンパレータ回路563は3ステートバッファ回路561に「1」を出力する。このとき3ステートバッファ回路561は論理マクロLaから第1のデータ群を構成する信号を第1の共有バス518に出力し、第1のI/Oポート515からメモリ回路領域にデータが転送される。カウンタ値が「00」以外の場合は、コンパレータ回路563は「0」を出力し、このとき3ステートバッファ回路561の出力はハイインピーダンスになる(図17(b))。La以外の論理マクロ(Lb、Lc、Ld)については、カウンタ値が例えば「01」、「10」、「11」のときに、それぞれデータを出力するようにコンパレータ回路563を設定する。
 一方、メモリ回路領域520には図16に示すように、各メモリマクロ521に第2の入出力制御部570が配置されている。図18に、メモリマクロ(Ma)が有する第2の入出力制御部570の回路構成の一例を示す。第2の入出力制御部570は、例えば、3ステートバッファ回路571、カウンタ回路572、およびコンパレータ回路573を用いて構成することができる(図18(a))。カウンタ回路572は2ビットのカウンタ値をコンパレータ回路573に出力する。カウンタ値が例えば「00」場合、コンパレータ回路573は3ステートバッファ回路571に「1」を出力する。このとき3ステートバッファ回路571は第2の共有バス528からの信号をメモリマクロMaに出力する。カウンタ値が「00」以外の場合は、コンパレータ回路573は「0」を出力し、このとき3ステートバッファ回路571の出力はハイインピーダンスになる(図18(b))。Ma以外のメモリマクロ(Mb、Mc、Md)については、カウンタ値が例えば「01」、「10」、「11」のときに、それぞれデータを出力するようにコンパレータ回路573を設定する。
 ここで、論理回路領域510における第1の入出力制御部560とメモリ回路領域520における第2の入出力制御部570は共通の順序情報を有し、カウンタ回路562、572は互いに同期している。そのため、論理マクロLa、Lb、Lc、Ldからの書き込みデータがそれぞれ対応するメモリマクロMa、Mb、Mc、Mdに順次転送される。
 なお、第2のデータ群としての読み出しデータをメモリマクロ521から論理マクロ511へ転送する場合であっても、データの転送方向を逆向きにすることにより、同様の回路構成を備えた入出力制御部を用いることができる。
 以上説明したように、本実施形態による半導体装置500によれば、第1のデータ群としての書き込みデータは、論理回路領域510の第1のI/Oポート515からメモリ回路領域520の第2のI/Oポート525に向けて、書き込みデータ毎に異なる時間帯に時間をずらして順送りで転送される。そのため、論理回路領域510とメモリ回路領域520との間の領域間接続配線530上で複数のデータが干渉することを抑制することができる。さらに、本実施形態による半導体装置500によれば、第1の入出力制御部560、第2の入出力制御部570における順序情報を変更することにより、書き込みデータをメモリ回路領域に転送する順番を変更することができるという効果が得られる。すなわち、書き込みデータを送信する論理マクロの順番、または書き込みデータを受信するメモリマクロの順番を入れ替えることが可能になる。例えば、通常のカウンタはクロックに同期してカウントアップするため、a→b→c→dの順番に選択されるが、2ビットのカウンタ回路の出力信号を反転させることによって、d→c→b→aと転送する順番を逆にすることができる。また、カウンタ値の下位ビットだけを反転させることにより、b→a→d→cのように転送する順番を入れ替えることも可能となる。
 また、本実施形態による半導体装置500におけるデータの転送速度は特に制限されないが、第1の入出力制御部560と第1の共有バス518、第2の入出力制御部570と第2の共有バス528のそれぞれにおける転送速度、および第1のI/Oポート515と第2のI/Oポート525との間の転送速度を、論理マクロ511と第1の入出力制御部560またはメモリマクロ521と第2の入出力制御部570との間の転送速度の2倍以上とすることができる。
 例えば、論理回路領域510の第1の入出力制御部560から第1の共有バス518へのデータ出力は、論理マクロ511から第1の入出力制御部560への転送速度の4倍とし、同じ速度で第1のI/Oポート515から第2のI/Oポート525へデータ転送を行う。そして、メモリ回路領域520の第2の入出力制御部570からメモリマクロ521にデータを取り込むときに元の速度に戻すこととしてもよい。これにより、4個の論理マクロから対応するそれぞれのメモリマクロへ同時にデータ転送する場合、各論理マクロとメモリマクロとの間を個別に配線した場合と同様の時間で各メモリマクロがデータを受信することが可能になる。
 〔第6の実施形態〕
 次に、本発明の第6の実施形態について説明する。図19に、本発明の第6の実施形態に係る半導体装置600を示す。同図(a)は半導体装置600の構成を説明するための模式的な斜視図、(b)は半導体装置600を構成するメモリ回路基板602の平面図、(c)は半導体装置600を構成する論理回路基板601の平面図、である。半導体装置600は論理回路基板601とメモリ回路基板602を有し、論理回路基板601には論理回路領域610が、メモリ回路基板602にはメモリ回路領域620が形成されている(図19(b)、(c))。ここで論理回路領域610、メモリ回路領域620としては、上述した第1の実施形態から第5の実施形態において用いたものと同様のものを用いることができる。
 図19(a)に示すように、論理回路基板601とメモリ回路基板602とが積層した状態で半導体装置600を構成している。本実施形態では、マイクロバンプ630を用いたフリップチップ実装法により、論理回路基板601とメモリ回路基板602のそれぞれの表面が向かい合うように接続した。マイクロバンプ630が接触するそれぞれの基板表面にはパッドが形成されており、このパッドと論理回路基板601上の第1のI/Oポート615およびメモリ回路基板602上の第2のI/Oポート625がそれぞれ配線により接続されている。
 そして、論理回路基板601上の論理マクロ611で発生する第1のデータ群が、第1のI/Oポート615を介して第1のデータ群毎に異なる時間帯に第2のI/Oポート625に転送されるように制御される。同様に、メモリ回路基板602上のメモリマクロ621に蓄積された第2のデータ群が、第2のI/Oポート625を介して第2のデータ群毎に異なる時間帯に第1のI/Oポート615に転送されるように制御される。この制御を行うための論理回路領域610およびメモリ回路領域620の構成には、上述した第1の実施形態から第5の実施形態における構成を用いることができる。
 以上説明したように、本実施形態による半導体装置600においては、論理回路領域610とメモリ回路領域620との間で各データは異なる時間帯に時間をずらして転送される。そのため、論理回路領域610とメモリ回路領域620との間の領域間で複数のデータが干渉することを抑制することができる。さらに、本実施形態による半導体装置600では、メモリ回路領域620が論理回路基板601とは異なるメモリ回路基板602上に構成されているので、メモリ回路領域620の形成にメモリ回路専用の製造プロセスを利用することができる。これにより、メモリ回路向けにトランジスタの性能を最適化することが可能となる。また、論理回路の形成にのみ必要な製造工程を省略することにより、製造コストの低減を図ることができる。
 本実施形態では、論理回路基板601とメモリ回路基板602の接続には、マイクロバンプ630を用いることとしたが、これに限らず、インダクタ結合または容量結合などの非接触による接続形態を用いることとしてもよい。
 上述した第1の実施形態から第6の実施形態におけるメモリマクロの構成は、特に限定されることはなく、例えば、複数のサブメモリマクロを有する構成であってもよい。例えば、図20に示すように、メモリマクロ721は複数のサブメモリマクロ722から構成され、個々のサブメモリマクロ722は互いにメモリマクロ内の接続網723によって接続された構成であってもよい。第2のリングバス724から転送された書き込みデータは、接続網723によって書き込み先のサブメモリマクロ722へ転送される。図20には、接続網723として2次元メッシュ構成を用いた例を示したが、接続網723の構成はこれに限らず、バス構成、リング構成、ツリー構成、またはクロスバースイッチ構成のいずれを用いることとしてもよい。
 本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものであることはいうまでもない。
 この出願は、2009年7月17日に出願された日本出願特願2009−168598を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Embodiments of the present invention will be described below with reference to the drawings.
[First Embodiment]
FIG. 1 is a plan view showing a configuration of a semiconductor device 100 according to the first embodiment of the present invention. The semiconductor device 100 includes a logic circuit area 110 including a plurality of logic macros 111, a first data transfer unit 112, and a first input / output unit 113, a plurality of memory macros 121 corresponding to the logic macro 111, and a second The memory circuit area 120 includes a data transfer unit 122 and a second input / output unit 123. The first data transfer unit 112 is connected to a plurality of logic macros 111, and the second data transfer unit 122 is connected to a plurality of memory macros 121. The first input / output unit 113 and the second input / output unit 123 are connected to each other by an inter-region connection wiring 130.
The first data transfer unit 112 transmits the first data group generated in each logic macro 111 via the first input / output unit 113 and the second input / output unit 123 for different times for each first data group. The data is transferred to the second data transfer unit 122. Similarly, the second data transfer unit 122 converts the second data group stored in each memory macro 121 to the second data group via the second input / output unit 123 and the first input / output unit 113. The data is transferred to the first data transfer unit 112 at a different time zone every time.
According to the semiconductor device 100 according to the present embodiment, the write data as the first data group is directed from the first input / output unit 113 in the logic circuit region 110 toward the second input / output unit 123 in the memory circuit region 120. The writing data is transferred in a sequential manner at different times in different time zones. Therefore, a plurality of data can be prevented from interfering on the inter-region connection wiring 130 between the logic circuit region 110 and the memory circuit region 120. Similarly, the read data from the memory macro as the second data group is transferred in sequential order while shifting the time in different time zones for each read data. Therefore, even in this case, it is possible to prevent a plurality of data from interfering on the inter-region connection wiring 130.
Here, the first data transfer unit 112 can include a first ring bus 114 to which each logic macro 111 and a first I / O port 115 as the first input / output unit 113 are connected. Further, the second data transfer unit 122 can include a second ring bus 124 to which each memory macro 121 and a second I / O port 125 as the second input / output unit 123 are connected.
When transferring write data from the logic macro 111 to the memory macro 121, the first ring bus 114 transfers the write data from each logic macro 111 to the first I / O port 115 in order. Write data is transferred from the first I / O port 115 in the logic circuit area 110 to the second I / O port 125 in the memory circuit area 120 by the inter-area connection wiring 130. In the memory circuit area 120, write data is transferred in order from the second I / O port 125 to the corresponding memory macro 121 that is the destination of data by the second ring bus 124.
Similarly, when the read data is transferred from the memory macro 121 to the logic macro 111, the second ring bus 124 transfers the read data to the second I / O port 125 in order in the memory circuit area 120. The read data is transferred from the second I / O port 125 to the first I / O port 115 in the logic circuit area 110 by the inter-area connection wiring 130. In the logic circuit area 110, the read data is transferred in order from the first I / O port 115 to the corresponding logic macro 111 as the destination by the first ring bus 114.
Next, the semiconductor device according to the present embodiment will be described in more detail with reference to FIGS.
FIG. 2 is a circuit configuration diagram in the logic circuit region 110 of the semiconductor device 100 according to the present embodiment. The input side of each logic macro 111 is directly connected to the first ring bus 114, and the output side of each logic macro 111 is connected to the first ring bus 114 via the multiplexer 116 and the register 117. The multiplexer 116 receives data from the connected logic macro 111 and output data from the register 117 of the preceding logic circuit block, and selects one of them. Here, the data input from the logic macro to the multiplexer includes, for example, 32 bits of write data transmitted from each logic macro 111 to the memory macro 121, and 2 bits for the address of the destination memory macro 121 are added thereto. The total data can be 34 bits wide.
When transmitting write data of each logic macro 111 from the logic circuit area 110 to the memory circuit area 120, the multiplexer 116 connected to each logic macro 111 selects the write data from the logic macro 111 at the timing of the first clock, The register 117 holds the data. Thereafter, the multiplexer 116 switches the input to select the data from the register 117 in the previous stage, and the data held in each register 117 at the timing of the next clock is adjacent to the first ring bus 114. 117. In this way, the data is forwarded on the first ring bus 114 in synchronization with the clock and sent to the first I / O port 115. Data is transmitted from the first I / O port 115 to the inter-region connection wiring 130 connected to the memory circuit region 120.
FIG. 3 is a circuit configuration diagram in the memory circuit region 120 of the semiconductor device 100 according to the present embodiment. The input side of each memory macro 121 is directly connected to the second ring bus 124, and the output side of each memory macro 121 is connected to the second ring bus 124 via the multiplexer 126 and the register 127. Write data transmitted from the logic circuit area 110 is received by the second I / O port 125 and held in the register 127 to which the second I / O port 125 is connected. Then, the data is transferred to the register 127 adjacent to the forward transfer by the second ring bus 124. The memory macro 121 connected to each register 127 looks at the address bit designating the memory macro that is the destination of the write data held in each register 127, and if it is addressed to itself, the write data is stored in the memory macro. take in.
As described above, in the semiconductor device 100 according to the present embodiment, the write data generated in each logic macro 111 is transferred sequentially through the register 117 connected to the first ring bus 114. Therefore, the order in which each write data is transferred on the inter-region connection wiring 130 is determined in advance. As a result, the write data of each logic macro is transferred from the first I / O port 115 in the logic circuit area to the second I / O port 125 in the memory circuit area with a time shift, so that a plurality of data are stored in the area. Interference on the inter-connection wiring 130 can be suppressed.
When the read data is transferred from the memory macro 121, the read data is transferred to the second I / O port 125 through the second ring bus 124 in the memory circuit area 120. Thereafter, the data is transferred to the first I / O port 115 in the logic circuit area 110, and in the logic circuit area 110, the data is transferred to the logic macro 111 that receives the read data through the first ring bus 114. Accordingly, even in this case, the read data of each memory macro is transferred from the second I / O port 125 in the memory circuit area to the first I / O port 115 in the logic circuit area at different times. Can be prevented from interfering on the inter-region connection wiring 130.
In the present embodiment, all the logic macros 111 in the logic circuit area 110 simultaneously transmit write data to the first ring bus 114, set the write data from each logic macro 111 in each register 117, and then the first The data is sequentially transferred by the ring bus 114. Therefore, each logical macro 111 does not transmit the next write data until all the write data is transferred from the first I / O port 115 to the memory circuit area 120. Therefore, when there is a logic macro that does not transmit write data at a certain clock time, there is a register to which invalid data that is not write data is input, and invalid data is transferred. Therefore, together with the write data, an identification signal for identifying whether the data is valid or invalid is sent together. When the identification signal indicates invalidity, the subsequent logic macro transmits new write data, and the first data New write data may be transferred by the ring bus 114. Thereby, the data transfer efficiency in inter-region connection wiring can be improved.
In the present embodiment, the ring bus in each area is used to transfer two types of data: write data and read data. However, the present invention is not limited to this, as shown in FIG. A double ring bus structure including a data ring bus 114-1 and a read data ring bus 114-2 may be employed.
In the present embodiment, the first I / O port 115 as the first input / output unit 113 is connected to the first ring bus 114 which is the first data transfer unit 112, and the second input / output unit 123 is used as the second input / output unit 123. The second I / O port 125 is connected to the second ring bus 124 which is the second data transfer unit 122. However, the present invention is not limited to this, and as shown in FIG. 5, the first I / O port 115 as the first input / output unit 113 is connected to one of the logic macros 111, and The second I / O port 125 may be connected to any one of the memory macros 121.
FIG. 6 shows an example of a circuit configuration diagram of the logic circuit region 110 in this case. Write data from the logic macro 111 is transferred to the logic macro 111A connected to the first I / O port 115 through the first ring bus 114. The data is transferred to the first I / O port 115 via the logic macro 111 A and transmitted to the memory circuit area 120. FIG. 7 shows an example of a circuit configuration diagram of the memory circuit region 120. After the write data is received at the second I / O port 125 in the memory circuit area 120, it is transferred to the memory macro 121D connected to the second I / O port 125. Thereafter, data is transferred from the memory macro 121D to the second ring bus 124, and data is transferred in order by the second ring bus 124. The memory macro 121 which is the address destination receives the write data from the second ring bus 124.
As described above, also in the embodiments shown in FIGS. 5 to 7, the write data generated in each logic macro 111 is transferred sequentially through the register 117 connected to the first ring bus 114. Therefore, the order in which each write data is transferred on the inter-region connection wiring 130 is determined in advance. As a result, the write data of each logic macro is transferred from the first I / O port 115 in the logic circuit area to the second I / O port 125 in the memory circuit area with a time shift, so that a plurality of data are stored in the area. Interference on the inter-connection wiring 130 can be suppressed. Similarly, when data read from the memory macro 121 is transferred to the first I / O port 115 of the logic circuit area 110, data interference can be similarly suppressed.
[Second Embodiment]
Next, a second embodiment of the present invention will be described. FIG. 8 is a plan view showing a configuration of a semiconductor device 200 according to the second embodiment of the present invention. The semiconductor device 200 includes a transfer start signal wiring 240 that connects each logic macro 211 and the corresponding memory macro 221 for each pair. Other configurations are the same as those of the semiconductor device 100 according to the first embodiment. A transfer start signal is transmitted from the logic macro 211 to the memory macro 221 using the transfer start signal wiring 240. Since the transfer start signal is used only for informing the start of data transfer between the logic macro 211 and the memory macro 221, a connection wiring having a 1-bit width is sufficient.
The memory macro that has received the transfer start signal transfers a clock cycle for transferring data from the logic macro as the transmission source to the first I / O port 215 and from the second I / O port 225 to its own memory macro. Count the number and receive data when the number of clock cycles is reached. Here, the number of clock cycles required for data transfer is determined by the number of registers that sequentially transmit the first ring bus 214 and the second ring bus 224. Accordingly, the number of clock cycles for data transfer is determined by the number of logic macros 211, the number of memory macros 221, and the arrangement positions of the first I / O port 215 and the second I / O port 225. Become. As described above, by setting the information of the number of clock cycles in the counter of each memory macro 221 in advance, the memory macro 211 selects data addressed to itself from the data flowing through the second ring bus 224. Can be captured.
In the semiconductor device 100 according to the first embodiment, for example, 2 bits are added as an address of a memory macro of a transmission destination to 32 bits of write data, for example, and transferred as a 34 bit signal from the logic macro to the memory macro. Yes. On the other hand, according to the semiconductor device 200 of the present embodiment, the process of transferring the address information of the memory macro that is the destination, collating the address information, and discarding the data becomes unnecessary. The effect that the control in the memory macro 221 becomes easy is obtained.
Similarly, even when the logic macro 211 receives read data transferred from the memory macro 221, a transfer start signal is transmitted from the memory macro 221 to the logic macro 211 via the transfer start signal wiring 240. The logic macro 211 can measure the number of clock cycles required for data transfer with a counter and select and fetch data addressed to itself from data flowing through the first ring bus 214.
[Third Embodiment]
Next, a third embodiment of the present invention will be described. In the data transfer method in the semiconductor device according to the present embodiment, first, data generated in each of a plurality of logic macros constituting the semiconductor device is formed as a first data group for each logic macro. Further, the data stored in each of the plurality of memory macros constituting the semiconductor device is formed as a second data group for each memory macro. Then, the first data group is transferred to a memory macro corresponding to the logic macro in a different time zone for each first data group, and the second data group is transferred to a different time zone for each second data group. And transfer to a logic macro corresponding to the memory macro.
The first data group is connected to the first data transfer unit connected to the logic macro, the first input / output unit connected to the first data transfer unit, and the first input / output unit. The data is transferred to the corresponding memory macro via the second input / output unit. The second data group is connected to a second data transfer unit connected to the memory macro, a second input / output unit connected to the second data transfer unit, and a second input / output unit. It is transferred to the corresponding logic macro via the first input / output unit. At this time, the transfer rate between the first data transfer unit and the second data transfer unit, and the transfer rate between the first input / output unit and the second input / output unit are the logical macro and the first data transfer. Or more than twice the transfer rate between the data transfer unit or the memory macro and the second data transfer unit.
According to the data transfer method in the semiconductor device according to the present embodiment, the same data transfer speed can be obtained as compared with the case where each logic macro and each memory macro are wired independently. Therefore, interference between data during data transfer can be suppressed without causing a decrease in data transfer speed. For example, when the number of logic macros is four, the data transfer speed of the first ring bus as the first data transfer unit and the data transfer speed between the logic circuit area and the memory circuit area are set to the logic macro. And 4 times the transfer rate between the first ring bus and the first ring bus. As a result, when data is transmitted from the four logic macros to the corresponding memory macro, each memory macro receives the data after the same time as when each logic macro and the memory macro are individually wired. Is possible.
Next, the data transfer method in the semiconductor device according to the present embodiment will be described in more detail with reference to FIGS.
FIG. 9 is a circuit configuration diagram in the logic circuit region 310 of the semiconductor device for explaining the data transfer method in the semiconductor device according to the present embodiment. Each logic macro 311 is synchronized with the normal-speed clock CLK1, but the register 317 on the first ring bus 314 is synchronized with the quadruple-speed clock CLK2.
FIG. 10 is a circuit configuration diagram in the memory circuit region 320 of the semiconductor device for explaining the data transfer method in the semiconductor device according to the present embodiment. The memory macro 321 is synchronized with the normal speed clock CLK1, but the register 327 on the second ring bus 324 is synchronized with the quadruple speed clock CLK2.
FIG. 11 is a waveform diagram when data is transferred from the logic macro 311 to the memory macro 321. Here, La to Ld represent each logic macro 311, Ma to Md represent each memory macro 321, LRa to LRd represent each register 317 in the logic circuit area 310, and MRa to MRd represent each register 327 in the memory circuit area 320. To express. Write data a, b, c, d transmitted from the logic macros La, Lb, Lc, Ld in synchronization with CLK1 are taken into the registers LRa, LRb, LRc, LRd in synchronization with the quadruple speed clock CLK2, respectively. It is. In the next clock cycle, the write data a captured in the register LRa is transferred to the second I / O port 325 in the memory circuit area via the first I / O port 315 in the logic circuit area. Then, it is taken into the second ring bus 324 in the memory circuit area. The write data a is transferred on the second ring bus 324 in synchronization with the quadruple speed clock CLK2, and is taken into the memory macro Ma in synchronization with the normal speed clock CLK1. The write data b, c, d are transferred from the logic circuit area to the memory circuit area in different time zones. As can be seen from FIG. 11, each write data is transmitted from the logic macro in one cycle period of the normal-speed clock CLK1, transferred from the logic circuit area to the memory circuit area in two cycle periods, and transferred to the memory macro in three cycle periods. It is captured. Therefore, according to the present embodiment, it is possible to transfer write data with the same number of clock cycles as when each logical macro and each memory macro are wired independently.
Further, as shown in FIG. 12, the present embodiment can be used even for a semiconductor device 300 including a plurality of ring buses. The semiconductor device 300 includes, for example, two first ring buses and two second ring buses, and a part of the logic macro 311 is connected to one first ring bus 314-1 to connect the first I / O. Data is transferred to the O port 315, and the remaining logic macro 311 is connected to the other first ring bus 314-2 to transfer data to the first I / O port 315. At this time, if data is transferred from the first I / O port 315 to the second I / O port 325 at twice the normal speed, the same effect can be obtained. For example, the memory circuit region 320 may include one second ring bus 324-1 and the other second ring bus 324-2.
[Fourth Embodiment]
Next, a fourth embodiment of the present invention will be described. FIG. 13 is a plan view showing a configuration of a semiconductor device 400 according to the fourth embodiment of the present invention. The semiconductor device 400 includes a first order control unit 440 and a second order control unit 450 that connect each logic macro 411 and each memory macro 421, respectively. In the logic circuit area 410, write data as the first data group is collected from the plurality of logic macros 411 to the first sequence control unit 440 through the respective connection wirings. The write data for each logic macro is transferred from the first I / O port 415 in the logic circuit area 410 to the second I / O port 425 in the memory circuit area 420 via the inter-area connection wiring 430. At this time, the first order control unit 440 sequentially transfers the write data according to the order information in which the logical macros 411 are ordered.
FIG. 14 shows an example of the circuit configuration of the first sequence control unit 440 in the logic circuit region 410. The first order control unit 440 includes a selector circuit 441 and a counter circuit 442 that select input of write data from the plurality of logic macros 411 (FIG. 14A). Here, for example, the input ports of the selector circuit 441 that inputs data from four logic macros La, Lb, Lc, and Ld are a, b, c, and d, respectively. At this time, the 2-bit counter value output from the counter circuit 442 is used as a control signal for the selector circuit 441 to select one of the input ports a, b, c, and d (FIG. 14B). Here, the order of the logic macros that are sequentially selected by the selector circuit 441 as the counter value increases can be used as the order information. Output data from the first sequence control unit 440 is transmitted to the memory circuit area 420 via the first I / O port 415.
On the other hand, a second sequence control unit 450 is arranged in the memory circuit region 420. The second sequence control unit 450 distributes the write data input to the second I / O port 425 to each destination memory macro 421 and transfers it. FIG. 15 shows an example of a circuit configuration of the second order control unit 450 in the memory circuit region 420. The second sequence control unit 450 includes a selector circuit 451 and a counter circuit 452 that select an output destination of write data received from the second I / O port 425 (FIG. 15A). Here, for example, the output ports of the selector circuit 451 that outputs data to the four memory macros Ma, Mb, Mc, and Md are a, b, c, and d. At this time, the 2-bit counter value output from the counter circuit 452 is used as a control signal for the selector circuit 451, and any one of the output force ports a, b, c, and d is selected (FIG. 15B). Thereby, the output data to the four memory macros can be sequentially selected.
Here, the first order controller 440 in the logic circuit area 410 and the second order controller 450 in the memory circuit area 420 have common order information, and the counter circuits 442 and 452 are synchronized with each other. Therefore, write data from the logic macros La, Lb, Lc, and Ld are sequentially transferred to the corresponding memory macros Ma, Mb, Mc, and Md, respectively.
Even when the read data as the second data group is transferred from the memory macro 421 to the logic macro 411, the order control unit having the same circuit configuration is provided by reversing the data transfer direction. Can be used.
As described above, according to the semiconductor device 400 according to the present embodiment, the write data as the first data group is transmitted from the first I / O port 415 in the logic circuit area 410 to the second in the memory circuit area 420. To the I / O port 425, the writing data is transferred in sequential order at different times for each write data. Therefore, interference of a plurality of data on the inter-region connection wiring 430 between the logic circuit region 410 and the memory circuit region 420 can be suppressed. Here, since the semiconductor device 100 according to the first embodiment uses a ring bus, the order in which the write data generated in each logic macro 111 is transferred to the memory circuit area is fixed by the arrangement of the logic macros 111. It had been. On the other hand, according to the semiconductor device 400 according to the present embodiment, by changing the order information in the first order control unit 440 and the second order control unit 450, the order in which the write data is transferred to the memory circuit area is changed. The effect that it can be changed is obtained. That is, it is possible to change the order of the logic macros that transmit the write data or the order of the memory macros that receive the write data. For example, since a normal counter counts up in synchronization with a clock, it is selected in the order of a → b → c → d. However, by inverting the output signal of a 2-bit counter circuit, d → c → b → The order of transfer with a can be reversed. Further, by reversing only the lower bits of the counter value, it is possible to change the transfer order as b → a → d → c.
In the present embodiment, as described above, the write data is transferred from the second order control unit 450 to each memory macro 421 in the memory circuit area 420 by using the common order information and the counter circuits 442 and 452 are transferred. Control was performed in synchronization with each other. However, the present invention is not limited to this, and control may be performed using addresses. That is, a destination address is assigned for each write data, and the data is sequentially transmitted from the logic circuit area 410. Then, the second order control unit 450 of the memory circuit area 420 may select the memory macro 421 corresponding to the destination based on this address, and output the write data to the selected memory macro.
Further, the data transfer rate in the semiconductor device 400 according to the present embodiment is not particularly limited, but the transfer rate in the first order control unit 440 and the second order control unit 450, the first I / O port 415, and the first transfer rate are not limited. The transfer rate between the I / O port 425 and the second macro is equal to or higher than twice the transfer rate between the logic macro 411 and the first sequence control unit 440 or between the memory macro 421 and the second sequence control unit 450. be able to.
For example, the data output from the first sequence control unit 440 to the first I / O port 415 in the logic circuit area 410 is four times the transfer rate from the logic macro 411 to the first sequence control unit 440 and is the same. Data is transferred from the first I / O port 415 to the second I / O port 425 at a speed. Then, when the second sequence control unit 450 in the memory circuit area 420 is transferred to the memory macro 421, the original transfer speed may be restored. Thus, when data is simultaneously transferred from four logic macros to the corresponding memory macros, each memory macro receives data in the same time as when each logic macro and memory macro are individually wired. It becomes possible.
[Fifth Embodiment]
Next, a fifth embodiment of the present invention will be described. FIG. 16 is a plan view showing a configuration of a semiconductor device 500 according to the fifth embodiment of the present invention. In the semiconductor device 500, a first input / output control unit 560 is connected to each of the logic macros 511, and each first input / output control unit 560 and a first I / O port 515 which is a first input / output unit. The first shared bus 518 to which are respectively connected constitutes a first data transfer unit. On the other hand, a second input / output control unit 570 is connected to each of the memory macros 521, and each second input / output control unit 570 and a second I / O port 525 that is a second input / output unit are connected to each of the memory macros 521. The second shared bus 528 constitutes a second data transfer unit. Each first input / output control unit 560 outputs a first data group to the first shared bus 518 according to the order information in which each logical macro 511 is ordered, and each second input / output control unit 570 follows the order information. The first data group is sequentially received from the second shared bus 528.
FIG. 17 illustrates an example of a circuit configuration of the first input / output control unit 560 included in the logic macro (La). The first input / output control unit 560 can be configured using, for example, a three-state buffer circuit 561, a counter circuit 562, and a comparator circuit 563 (FIG. 17A). The counter circuit 562 outputs a 2-bit counter value to the comparator circuit 563 when the number of logic macros 511 is, for example, four. For example, when the counter value is “00”, the comparator circuit 563 outputs “1” to the 3-state buffer circuit 561. At this time, the 3-state buffer circuit 561 outputs a signal constituting the first data group from the logic macro La to the first shared bus 518, and the data is transferred from the first I / O port 515 to the memory circuit area. . When the counter value is other than “00”, the comparator circuit 563 outputs “0”, and at this time, the output of the three-state buffer circuit 561 becomes high impedance (FIG. 17B). For logic macros (Lb, Lc, Ld) other than La, the comparator circuit 563 is set to output data when the counter value is “01”, “10”, “11”, for example.
On the other hand, in the memory circuit area 520, as shown in FIG. 16, a second input / output control unit 570 is arranged in each memory macro 521. FIG. 18 illustrates an example of a circuit configuration of the second input / output control unit 570 included in the memory macro (Ma). The second input / output control unit 570 can be configured using, for example, a three-state buffer circuit 571, a counter circuit 572, and a comparator circuit 573 (FIG. 18A). The counter circuit 572 outputs a 2-bit counter value to the comparator circuit 573. For example, when the counter value is “00”, the comparator circuit 573 outputs “1” to the 3-state buffer circuit 571. At this time, the 3-state buffer circuit 571 outputs the signal from the second shared bus 528 to the memory macro Ma. When the counter value is other than “00”, the comparator circuit 573 outputs “0”, and at this time, the output of the 3-state buffer circuit 571 becomes high impedance (FIG. 18B). For memory macros (Mb, Mc, Md) other than Ma, the comparator circuit 573 is set to output data when the counter value is “01”, “10”, “11”, for example.
Here, the first input / output control unit 560 in the logic circuit region 510 and the second input / output control unit 570 in the memory circuit region 520 have common order information, and the counter circuits 562 and 572 are synchronized with each other. . Therefore, write data from the logic macros La, Lb, Lc, and Ld are sequentially transferred to the corresponding memory macros Ma, Mb, Mc, and Md, respectively.
Even when the read data as the second data group is transferred from the memory macro 521 to the logic macro 511, the input / output control having the same circuit configuration is realized by reversing the data transfer direction. Part can be used.
As described above, according to the semiconductor device 500 according to the present embodiment, the write data as the first data group is transmitted from the first I / O port 515 in the logic circuit area 510 to the second in the memory circuit area 520. To the I / O port 525, the writing data is transferred in a sequential manner at different times in different time zones. Therefore, interference of a plurality of data on the inter-region connection wiring 530 between the logic circuit region 510 and the memory circuit region 520 can be suppressed. Furthermore, according to the semiconductor device 500 according to the present embodiment, the order information in the first input / output control unit 560 and the second input / output control unit 570 is changed to change the order in which the write data is transferred to the memory circuit area. The effect that it can be changed is obtained. That is, it is possible to change the order of the logic macros that transmit the write data or the order of the memory macros that receive the write data. For example, since a normal counter counts up in synchronization with a clock, it is selected in the order of a → b → c → d. However, by inverting the output signal of a 2-bit counter circuit, d → c → b → The order of transfer with a can be reversed. Further, by reversing only the lower bits of the counter value, it is possible to change the transfer order as b → a → d → c.
In addition, the data transfer speed in the semiconductor device 500 according to the present embodiment is not particularly limited, but the first input / output control unit 560 and the first shared bus 518, the second input / output control unit 570 and the second shared bus. The transfer rate in each of 528 and the transfer rate between the first I / O port 515 and the second I / O port 525 are the same as the logic macro 511 and the first input / output control unit 560 or the memory macro 521. The transfer rate with the second input / output control unit 570 can be twice or more.
For example, the data output from the first input / output control unit 560 to the first shared bus 518 in the logic circuit area 510 is four times the transfer rate from the logic macro 511 to the first input / output control unit 560, and the same. Data is transferred from the first I / O port 515 to the second I / O port 525 at a speed. Then, when data is taken into the memory macro 521 from the second input / output control unit 570 in the memory circuit area 520, the original speed may be restored. Thus, when data is simultaneously transferred from four logic macros to the corresponding memory macros, each memory macro receives data in the same time as when each logic macro and memory macro are individually wired. It becomes possible.
[Sixth Embodiment]
Next, a sixth embodiment of the present invention will be described. FIG. 19 shows a semiconductor device 600 according to the sixth embodiment of the present invention. 2A is a schematic perspective view for explaining the configuration of the semiconductor device 600, FIG. 1B is a plan view of a memory circuit substrate 602 constituting the semiconductor device 600, and FIG. 2 is a plan view of a logic circuit board 601. FIG. The semiconductor device 600 includes a logic circuit board 601 and a memory circuit board 602. A logic circuit area 610 is formed on the logic circuit board 601 and a memory circuit area 620 is formed on the memory circuit board 602 (FIG. 19B). (C)). Here, as the logic circuit region 610 and the memory circuit region 620, the same ones as those used in the first to fifth embodiments described above can be used.
As shown in FIG. 19A, a semiconductor device 600 is configured in a state where a logic circuit board 601 and a memory circuit board 602 are stacked. In this embodiment, the logic circuit board 601 and the memory circuit board 602 are connected so as to face each other by a flip chip mounting method using the micro bumps 630. Pads are formed on the surface of each substrate with which the microbumps 630 come into contact. The pads and the first I / O port 615 on the logic circuit board 601 and the second I / O port on the memory circuit board 602 are formed. 625 are connected by wiring.
Then, the first data group generated by the logic macro 611 on the logic circuit board 601 is transferred to the second I / O port in a different time zone for each first data group via the first I / O port 615. It is controlled to be transferred to 625. Similarly, the second data group stored in the memory macro 621 on the memory circuit board 602 is transferred to the first I / O in a different time zone for each second data group via the second I / O port 625. It is controlled to be transferred to the O port 615. For the configurations of the logic circuit region 610 and the memory circuit region 620 for performing this control, the configurations in the first to fifth embodiments described above can be used.
As described above, in the semiconductor device 600 according to the present embodiment, each data is transferred between the logic circuit area 610 and the memory circuit area 620 while shifting the time in different time zones. Therefore, interference of a plurality of data between the areas between the logic circuit area 610 and the memory circuit area 620 can be suppressed. Furthermore, in the semiconductor device 600 according to the present embodiment, since the memory circuit area 620 is configured on the memory circuit board 602 different from the logic circuit board 601, a manufacturing process dedicated to the memory circuit is used to form the memory circuit area 620. can do. This makes it possible to optimize the performance of the transistor for the memory circuit. Further, the manufacturing cost can be reduced by omitting the manufacturing process necessary only for forming the logic circuit.
In this embodiment, the micro bumps 630 are used to connect the logic circuit board 601 and the memory circuit board 602. However, the present invention is not limited to this, and a non-contact connection mode such as inductor coupling or capacitive coupling is used. Also good.
The configuration of the memory macro in the first to sixth embodiments described above is not particularly limited, and may be a configuration having a plurality of sub memory macros, for example. For example, as shown in FIG. 20, the memory macro 721 may be composed of a plurality of sub memory macros 722, and the individual sub memory macros 722 may be connected to each other via a connection network 723 in the memory macro. The write data transferred from the second ring bus 724 is transferred to the write destination sub memory macro 722 via the connection network 723. FIG. 20 shows an example in which a two-dimensional mesh configuration is used as the connection network 723. However, the configuration of the connection network 723 is not limited to this, and any of a bus configuration, a ring configuration, a tree configuration, or a crossbar switch configuration can be used. It may be used.
The present invention is not limited to the above-described embodiment, and various modifications are possible within the scope of the invention described in the claims, and it is also included within the scope of the present invention. Not too long.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2009-168598 for which it applied on July 17, 2009, and takes in those the indications of all here.
 100、200、300、400、500、600  半導体装置
 110、210、310、410、510、610  論理回路領域
 111、211、311、411、511、611  論理マクロ
 112  第1のデータ転送部
 113  第1の入出力部
 114、214、314、314−1、314−2  第1のリングバス
 114−1  書き込みデータ用リングバス
 114−2  読み出しデータ用リングバス
 115、215、315、415、515、615  第1のI/Oポート
 116、126、316  マルチプレクサ
 117、127、317  レジスタ
 120、220、320、420、520、620  メモリ回路領域
 121、221、321、421、521、621、721  メモリマクロ
 122  第2のデータ転送部
 123  第2の入出力部
 124、224、324、324−1、324−2、724  第2のリングバス
 125、225、325、425、525、625  第2のI/Oポート
 130、230、330、430、530  領域間接続配線
 240  転送開始信号配線
 440  第1の順序制御部
 450  第2の順序制御部
 441、451  セレクタ回路
 442、452、562、572  カウンタ回路
 518  第1の共有バス
 528  第2の共有バス
 560  第1の入出力制御部
 561、571  3ステートバッファ回路
 563、573  コンパレータ回路
 570  第2の入出力制御部
 601  論理回路基板
 602  メモリ回路基板
 630  マイクロバンプ
 722  サブメモリマクロ
 723  接続網
 800  関連するSoCチップ
 810A、820B、830C、840D  論理マクロ
 810a、820b、830c、840d  メモリマクロ
 850  入出力ポート(I/Oポート)
100, 200, 300, 400, 500, 600 Semiconductor device 110, 210, 310, 410, 510, 610 Logic circuit area 111, 211, 311, 411, 511, 611 Logic macro 112 First data transfer unit 113 First 114, 214, 314, 314-1, 314-2 First ring bus 114-1 Write data ring bus 114-2 Read data ring bus 115, 215, 315, 415, 515, 615 1 I / O port 116, 126, 316 Multiplexer 117, 127, 317 Register 120, 220, 320, 420, 520, 620 Memory circuit area 121, 221, 321, 421, 521, 621, 721 Memory macro 122 Second Data transfer unit 123 No. Input / output unit 124, 224, 324, 324-1, 324-2, 724 Second ring bus 125, 225, 325, 425, 525, 625 Second I / O port 130, 230, 330, 430, 530 Inter-region connection wiring 240 Transfer start signal wiring 440 First sequence control unit 450 Second sequence control unit 441, 451 Selector circuit 442, 452, 562, 572 Counter circuit 518 First shared bus 528 Second shared bus 560 First input / output control unit 561, 571 Three- state buffer circuit 563, 573 Comparator circuit 570 Second input / output control unit 601 Logic circuit board 602 Memory circuit board 630 Micro bump 722 Sub memory macro 723 Connection network 800 Related SoC Chip 810A, 820B, 8 0C, 840D logic macro 810a, 820b, 830c, 840d memory macro 850 output ports (I / O ports)

Claims (10)

  1. 複数の論理マクロと第1のデータ転送部と第1の入出力部を備えた論理回路領域と、複数のメモリマクロと第2のデータ転送部と第2の入出力部を備えたメモリ回路領域を有し、
     前記第1のデータ転送部は、前記複数の論理マクロと接続され、前記第2のデータ転送部は、前記複数のメモリマクロと接続され、前記第1の入出力部と前記第2の入出力部は互いに接続され、
     前記第1のデータ転送部は、前記第1の入出力部および前記第2の入出力部を介して、前記個々の論理マクロで発生する第1のデータ群を前記第1のデータ群毎に異なる時間帯に前記第2のデータ転送部に転送し、
     前記第2のデータ転送部は、前記第2の入出力部および前記第1の入出力部を介して、前記個々のメモリマクロに蓄積された第2のデータ群を前記第2のデータ群毎に異なる時間帯に前記第1のデータ転送部に転送する
    半導体装置。
    A logic circuit region including a plurality of logic macros, a first data transfer unit, and a first input / output unit, and a memory circuit region including a plurality of memory macros, a second data transfer unit, and a second input / output unit Have
    The first data transfer unit is connected to the plurality of logic macros, and the second data transfer unit is connected to the plurality of memory macros, and the first input / output unit and the second input / output unit Parts are connected to each other,
    The first data transfer unit sends a first data group generated in the individual logic macro to the first data group via the first input / output unit and the second input / output unit. Transfer to the second data transfer unit at different times,
    The second data transfer unit transfers the second data group stored in the individual memory macros to the second data group via the second input / output unit and the first input / output unit. A semiconductor device that transfers data to the first data transfer unit at different times.
  2. 請求項1に記載の半導体装置において、
     前記第1のデータ転送部は、前記各論理マクロが接続された第1のリングバスを有し、
     前記第2のデータ転送部は、前記各メモリマクロが接続された第2のリングバスを有する半導体装置。
    The semiconductor device according to claim 1,
    The first data transfer unit has a first ring bus to which the logic macros are connected,
    The second data transfer unit is a semiconductor device having a second ring bus to which the memory macros are connected.
  3. 請求項2に記載の半導体装置において、
     前記第1の入出力部は前記第1のリングバスと接続され、
     前記第2の入出力部は前記第2のリングバスと接続され、
     前記第1のリングバスは、前記第1のデータ群を前記各論理マクロから前記第1の入出力部に順次転送し、
     前記第2のリングバスは、前記第2のデータ群を前記各メモリマクロから前記第2の入出力部に順次転送する半導体装置。
    The semiconductor device according to claim 2,
    The first input / output unit is connected to the first ring bus;
    The second input / output unit is connected to the second ring bus;
    The first ring bus sequentially transfers the first data group from the logic macros to the first input / output unit,
    The second ring bus is a semiconductor device that sequentially transfers the second data group from the memory macros to the second input / output unit.
  4. 請求項2に記載の半導体装置において、
     前記第1の入出力部は前記論理マクロのいずれかと接続され、
     前記第2の入出力部は前記メモリマクロのいずれかと接続され、
     前記第1のリングバスは、前記第1のデータ群を前記各論理マクロから前記第1の入出力部に順次転送し、
     前記第2のリングバスは、前記第2のデータ群を前記各メモリマクロから前記第2の入出力部に順次転送する半導体装置。
    The semiconductor device according to claim 2,
    The first input / output unit is connected to one of the logic macros;
    The second input / output unit is connected to one of the memory macros;
    The first ring bus sequentially transfers the first data group from the logic macros to the first input / output unit,
    The second ring bus is a semiconductor device that sequentially transfers the second data group from the memory macros to the second input / output unit.
  5. 請求項1に記載の半導体装置において、
     前記第1のデータ転送部は、前記各論理マクロおよび前記第1の入出力部が接続された第1の順序制御部を有し、
     前記第2のデータ転送部は、前記各メモリマクロおよび前記第2の入出力部が接続された第2の順序制御部を有し、
     前記第1の順序制御部は、前記個々の論理マクロで発生する第1のデータ群を前記各論理マクロからそれぞれ受信し、前記各論理マクロを順序付けた順序情報に従って前記各第1のデータ群を前記第1の入出力部を介して前記第2の入出力部に順次転送し、
     前記第2の順序制御部は、前記第2の入出力部から前記第1のデータ群を順次受信し、前記順序情報に従って前記各第1のデータ群を前記各論理マクロに対応する前記各メモリマクロに順次転送する半導体装置。
    The semiconductor device according to claim 1,
    The first data transfer unit includes a first sequence control unit to which the logic macros and the first input / output unit are connected.
    The second data transfer unit includes a second sequence control unit to which the memory macros and the second input / output unit are connected.
    The first order control unit receives a first data group generated in each individual logic macro from each of the logic macros, and sets the first data group according to order information in which the logic macros are ordered. Sequentially transferring to the second input / output unit via the first input / output unit;
    The second sequence control unit sequentially receives the first data group from the second input / output unit, and each of the memories corresponding to each logic macro according to the sequence information. A semiconductor device that sequentially transfers to a macro.
  6. 請求項1に記載の半導体装置において、
     前記論理マクロに接続された第1の入出力制御部と、前記メモリマクロに接続された第2の入出力制御部を備え、
     前記第1のデータ転送部は、前記各第1の入出力制御部および前記第1の入出力部が接続された第1の共有バスを有し、
     前記第2のデータ転送部は、前記各第2の入出力制御部および前記第2の入出力部が接続された第2の共有バスを有し、
     前記各第1の入出力制御部は、前記各論理マクロを順序付けた順序情報に従って、前記第1のデータ群を前記第1の共有バスに出力し、
     前記各第2の入出力制御部は、前記順序情報に従って前記第1のデータ群を前記第2の共有バスから順次受信する半導体装置。
    The semiconductor device according to claim 1,
    A first input / output control unit connected to the logic macro; and a second input / output control unit connected to the memory macro;
    The first data transfer unit includes a first shared bus to which the first input / output control unit and the first input / output unit are connected.
    The second data transfer unit has a second shared bus to which the second input / output control unit and the second input / output unit are connected,
    Each of the first input / output control units outputs the first data group to the first shared bus according to order information in which the logic macros are ordered.
    Each of the second input / output control units sequentially receives the first data group from the second shared bus according to the order information.
  7. 請求項1から6のいずれか一項に記載の半導体装置において、
     前記論理回路領域と前記メモリ回路領域が同一の基板上に配置されている半導体装置。
    The semiconductor device according to any one of claims 1 to 6,
    A semiconductor device in which the logic circuit area and the memory circuit area are arranged on the same substrate.
  8. 請求項1から6のいずれか一項に記載の半導体装置において、
     前記論理回路領域と前記メモリ回路領域がそれぞれ異なる基板上に配置されている半導体装置。
    The semiconductor device according to any one of claims 1 to 6,
    A semiconductor device in which the logic circuit area and the memory circuit area are arranged on different substrates.
  9. 半導体装置を構成する複数の論理マクロでそれぞれ発生するデータを、前記論理マクロ毎に第1のデータ群として形成し、
     前記第1のデータ群を、前記第1のデータ群毎に異なる時間帯に、前記論理マクロに対応した前記半導体装置を構成するメモリマクロに転送し、
     前記半導体装置を構成する複数のメモリマクロにそれぞれ蓄積されたデータを、前記メモリマクロ毎の第2のデータ群として形成し、
     前記第2のデータ群を、前記第2のデータ群毎に異なる時間帯に、前記メモリマクロに対応した前記半導体装置を構成する論理マクロに転送する
    半導体装置におけるデータ転送方法。
    Data generated in each of a plurality of logic macros constituting the semiconductor device is formed as a first data group for each logic macro,
    Transferring the first data group to a memory macro constituting the semiconductor device corresponding to the logic macro in a different time zone for each first data group;
    Forming each data stored in a plurality of memory macros constituting the semiconductor device as a second data group for each memory macro;
    A data transfer method in a semiconductor device, wherein the second data group is transferred to a logic macro constituting the semiconductor device corresponding to the memory macro in a different time zone for each second data group.
  10. 請求項9に記載した半導体装置におけるデータ転送方法において、
     前記第1のデータ群は、前記論理マクロに接続された第1のデータ転送部と、前記第1のデータ転送部に接続された第1の入出力部、および前記第1の入出力部に接続された第2の入出力部を介して対応するメモリマクロに転送され、
     前記第2のデータ群は、前記メモリマクロに接続された第2のデータ転送部と、前記第2のデータ転送部に接続された第2の入出力部、および前記第2の入出力部に接続された第1の入出力部を介して対応する論理マクロに転送され、
     前記第1のデータ転送部と前記第2のデータ転送部における転送速度、および前記第1の入出力部と前記第2の入出力部との間の転送速度が、前記論理マクロと前記第1のデータ転送部または前記メモリマクロと第2のデータ転送部との間の転送速度の2倍以上である半導体装置におけるデータ転送方法。
    In the data transfer method in the semiconductor device according to claim 9,
    The first data group includes a first data transfer unit connected to the logic macro, a first input / output unit connected to the first data transfer unit, and the first input / output unit. Transferred to the corresponding memory macro via the connected second input / output unit,
    The second data group includes a second data transfer unit connected to the memory macro, a second input / output unit connected to the second data transfer unit, and the second input / output unit. Transferred to the corresponding logic macro via the connected first input / output unit,
    The transfer rate in the first data transfer unit and the second data transfer unit, and the transfer rate between the first input / output unit and the second input / output unit are determined by the logic macro and the first data transfer unit. A data transfer method in a semiconductor device that is at least twice the transfer rate between the data transfer unit or the memory macro and the second data transfer unit.
PCT/JP2010/062389 2009-07-17 2010-07-15 Semiconductor device and data transfer method in semiconductor device WO2011007898A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011522885A JP5365693B2 (en) 2009-07-17 2010-07-15 Semiconductor device and data transfer method in semiconductor device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009168598 2009-07-17
JP2009-168598 2009-07-17

Publications (1)

Publication Number Publication Date
WO2011007898A1 true WO2011007898A1 (en) 2011-01-20

Family

ID=43449507

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/062389 WO2011007898A1 (en) 2009-07-17 2010-07-15 Semiconductor device and data transfer method in semiconductor device

Country Status (2)

Country Link
JP (1) JP5365693B2 (en)
WO (1) WO2011007898A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000188335A (en) * 1998-12-22 2000-07-04 Fujitsu Ltd Electronic circuit system and signal transmitting method
JP2004086797A (en) * 2002-08-29 2004-03-18 New Japan Radio Co Ltd Processor system equipped with common memory
JP2008047079A (en) * 2005-09-07 2008-02-28 Sony Corp Integrated device
JP2008140220A (en) * 2006-12-04 2008-06-19 Nec Corp Semiconductor device
JP2009032857A (en) * 2007-07-26 2009-02-12 Hitachi Ltd Semiconductor integrated circuit, and semiconductor device
WO2010032861A1 (en) * 2008-09-16 2010-03-25 日本電気株式会社 Semiconductor programmable device and control method therefor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658509B1 (en) * 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000188335A (en) * 1998-12-22 2000-07-04 Fujitsu Ltd Electronic circuit system and signal transmitting method
JP2004086797A (en) * 2002-08-29 2004-03-18 New Japan Radio Co Ltd Processor system equipped with common memory
JP2008047079A (en) * 2005-09-07 2008-02-28 Sony Corp Integrated device
JP2008140220A (en) * 2006-12-04 2008-06-19 Nec Corp Semiconductor device
JP2009032857A (en) * 2007-07-26 2009-02-12 Hitachi Ltd Semiconductor integrated circuit, and semiconductor device
WO2010032861A1 (en) * 2008-09-16 2010-03-25 日本電気株式会社 Semiconductor programmable device and control method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SAITO HIDEAKI ET AL.: "A Chip-Stacked Memory for On-Chip SRAM-Rich SoCs and Processors", DIGEST OF TECHNICAL PAPERS, 2009 IEEE INTERNATIONAL SOLID-STATE CIRCUITS CONFERENCE, 12 February 2009 (2009-02-12), pages 60 - 61,61A *

Also Published As

Publication number Publication date
JPWO2011007898A1 (en) 2012-12-27
JP5365693B2 (en) 2013-12-11

Similar Documents

Publication Publication Date Title
US7259702B2 (en) Memory device
US11670589B2 (en) Fabric die to fabric die interconnect for modularized integrated circuit devices
US20130194881A1 (en) Area-efficient multi-modal signaling interface
US7761668B2 (en) Processor architecture having multi-ported memory
KR101495635B1 (en) Stacked memory device, memory system having the same, and method of controlling the stacked memory device
JP2013077358A (en) Semiconductor device
US20220206701A1 (en) Memory system including a memory controller
CN102262604A (en) Concurrent access method, system and interface device
CN107209735B (en) Configurable die, package on package device and method
US20120250445A1 (en) Semiconductor apparatus
JP5365693B2 (en) Semiconductor device and data transfer method in semiconductor device
JP2009164263A (en) Wiring module and semiconductor integrated circuit
JP4951304B2 (en) Semiconductor device
US8237470B2 (en) Universal IO unit, associated apparatus and method
US8760943B2 (en) Semiconductor apparatus
CN101174253A (en) Method and apparatus for communicating data over multiple pins of a multi-mode bus
JP2013131619A (en) Semiconductor integrated circuit and design method thereof
US8289789B2 (en) Semiconductor device and semiconductor module
US20150060855A1 (en) Semiconductor device
JP2015219939A (en) Semiconductor device
US20080282001A1 (en) Peak power reduction using fixed bit inversion
KR101047053B1 (en) Semiconductor integrated circuit
JP2006049586A (en) Semiconductor device
CN101441613A (en) Double-CPU on-chip system and start-up method thereof
JP2011023897A (en) Semiconductor integrated device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10799954

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011522885

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10799954

Country of ref document: EP

Kind code of ref document: A1