WO2010032866A1 - Semiconductor programmable device and signal transferring method in semiconductor programmable device - Google Patents

Semiconductor programmable device and signal transferring method in semiconductor programmable device Download PDF

Info

Publication number
WO2010032866A1
WO2010032866A1 PCT/JP2009/066581 JP2009066581W WO2010032866A1 WO 2010032866 A1 WO2010032866 A1 WO 2010032866A1 JP 2009066581 W JP2009066581 W JP 2009066581W WO 2010032866 A1 WO2010032866 A1 WO 2010032866A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch fabric
data signal
wiring
programmable device
circuit block
Prior art date
Application number
PCT/JP2009/066581
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 JP2010529833A priority Critical patent/JP5365639B2/en
Publication of WO2010032866A1 publication Critical patent/WO2010032866A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources

Definitions

  • the present invention relates to a semiconductor programmable device and a signal transfer method capable of changing a circuit configuration.
  • TAT refers to the time from receipt of an order to completion of delivery.
  • Semiconductor programmable devices range from FPGAs (Field Programmable Gate Array) that reconfigure by combining circuits at the gate level to those that reconfigure by combining circuit blocks (for example, processors and memories) that are larger circuit units. There is something.
  • Non-Patent Document 1 discloses a technique of arranging circuit blocks in a two-dimensional array on a chip and connecting the circuit blocks by mesh wiring.
  • FIG. 13 is a block diagram showing an example of a related semiconductor programmable device in which circuit blocks are arranged in a two-dimensional array and the circuit blocks are connected by mesh wiring.
  • circuit blocks 111 are arranged in a two-dimensional array.
  • the circuit block 111 includes a processor, a memory, a custom hardware circuit, and the like. Further, as shown in FIG. 13, each of the circuit blocks 111 arranged in a two-dimensional array is connected to the switch fabric 113.
  • the switch fabric 113 inputs and outputs signals between itself and the circuit block 111 that is directly connected. Further, it transfers a signal output from the switch fabric 113 adjacent to itself. Further, as shown in FIG. 13, in order to transfer the signal output from the circuit block 111 to the outside of the other circuit block 111 or the semiconductor programmable device, the switch fabrics 113 are connected to each other by a mesh-like column wiring 115 and row wiring 117. It is connected. That is, the switch fabric 113 is connected to the other switch fabric 113 adjacent in the vertical direction in the figure by the column wiring 115 and is connected to the other switch fabric 113 adjacent in the horizontal direction in the figure by the row wiring 117.
  • FIG. 14 is a block diagram showing a configuration of the switch fabric 113 of the related semiconductor programmable device shown in FIG.
  • the switch fabric 113 shown in FIG. 13 includes five selectors 113-1 and a selection logic circuit 113-2 connected to each selector 113-1. This is because the switch fabric 113 has inputs and outputs in five directions as described above.
  • the selector 113-1 selects and outputs one of the signals input from four directions other than the direction in which the selector 113-1 outputs.
  • the selection logic circuit 113-2 determines which direction the signal is selected from.
  • the selection logic circuit 113-2 includes, for example, a decoding circuit for decoding the addressed data transfer direction. “Proceedings of the IEEE Computer Society Annual Symposium on VLSI”, 2002, p. 40, Proceedings of the IE Computer Society Annual Symposium on VLSI (Proceedings of the IEEE Computer Society Annual VLSI). 105-112
  • Non-Patent Document 1 If a semiconductor programmable device as disclosed in Non-Patent Document 1 is used, the circuit configuration can be changed even after the manufacture of the semiconductor integrated circuit device by switching the connection between the circuit blocks. The cost can be reduced and the TAT can be shortened.
  • the semiconductor programmable device as disclosed in Non-Patent Document 1 is compared with a normal semiconductor integrated circuit device in which the circuit configuration cannot be changed, and wiring for connecting circuit blocks as shown in FIG. The difference is that it has a switch fabric for switching connections. In a semiconductor programmable device as disclosed in Non-Patent Document 1, these wirings and switch fabric occupy a large area on the chip. As a result, depending on the area occupied by the circuit block, a necessary and sufficient number of wires and switch fabrics cannot be accommodated on the chip.
  • An object of the present invention is to provide a semiconductor programmable device and a signal transfer method that solve the above-described problem that it is difficult to obtain a low-cost and high-performance semiconductor programmable device.
  • a semiconductor programmable device of the present invention includes a plurality of row wirings and a plurality of column wirings arranged on a chip, and a plurality of switch fabrics provided at intersections of the row wirings and the column wirings and transferring input data signals.
  • a plurality of circuit blocks that are directly connected to each of the plurality of switch fabrics and that input and output data signals through the plurality of switch fabrics, and either the row wiring or the column wiring constitutes a data signal Only one of the first data signal group and the second data signal group is transferred, and the other of the column wiring and the row wiring is the first data signal group. And the second data signal group are transferred.
  • a signal transfer method in a semiconductor programmable device includes a plurality of row wirings and a plurality of column wirings arranged on a chip, and a plurality of signal lines for transferring input data signals provided at intersections of the row wirings and the column wirings
  • a signal transfer method in a semiconductor programmable device having a switch fabric and a plurality of circuit blocks that are directly connected to each of the plurality of switch fabrics and that input / output data signals via the plurality of switch fabrics Alternatively, either one of the column wirings transfers only one data signal group of the first data signal group and the second data signal group constituting the data signal, and the column wiring and the row wiring. The other transfers both the first data signal group and the second data signal group.
  • a low-cost and high-performance semiconductor programmable device can be obtained.
  • FIG. 1A is a block diagram showing a configuration of a semiconductor programmable device according to the first embodiment of the present invention.
  • FIG. 1B is a block diagram showing a configuration of a semiconductor integrated circuit device including a semiconductor programmable device according to the second embodiment of the present invention.
  • FIG. 2 is a block diagram showing a configuration of a memory macro of a semiconductor programmable device according to the second embodiment of the present invention.
  • FIG. 3 is a block diagram showing the configuration of the memory input / output unit of the semiconductor programmable device according to the second embodiment of the present invention.
  • FIG. 4 is a block diagram showing the configuration of the upper bit switch fabric according to the second embodiment of the present invention.
  • FIG. 5 is a block diagram showing the configuration of the upper bit switch section in the upper bit switch fabric according to the second embodiment of the present invention.
  • FIG. 6 is a block diagram showing the configuration of the lower bit switch section in the upper bit switch fabric according to the second embodiment of the present invention.
  • FIG. 7 is a block diagram showing the configuration of the lower bit switch fabric according to the second embodiment of the present invention.
  • FIG. 8 is a block diagram showing a configuration of a lower bit switch section in the lower bit switch fabric according to the second embodiment of the present invention.
  • FIG. 9 is a block diagram showing the configuration of the upper bit switch section in the lower bit switch fabric according to the second embodiment of the present invention.
  • FIG. 10 is a block diagram showing a configuration of another switch fabric according to the second exemplary embodiment of the present invention.
  • FIG. 11 is a block diagram showing a configuration of a semiconductor integrated circuit device according to the third embodiment including the semiconductor programmable device of the present invention.
  • FIG. 12 is a block diagram showing a configuration of a semiconductor integrated circuit device according to the fourth embodiment including the semiconductor programmable device of the present invention.
  • FIG. 13 is a block diagram showing an example of a related semiconductor programmable device.
  • FIG. 14 is a block diagram showing a configuration of a switch fabric of a related semiconductor programmable device.
  • FIG. 1A is a block diagram showing a configuration of a semiconductor programmable device according to the first embodiment of the present invention.
  • the semiconductor programmable device 10 includes a plurality of row wirings and a plurality of column wirings arranged on a chip, and a plurality of switch fabrics that transfer input data signals at intersections of the row wirings and the column wirings.
  • a circuit block is directly connected to each switch fabric, and each circuit block inputs and outputs data signals via the switch fabric.
  • either the row wiring or the column wiring is configured to transfer only one data signal group of the first data signal group and the second data signal group constituting the data signal. ing.
  • the other of the column wiring and the row wiring is configured to transfer both the first data signal group and the second data signal group.
  • the memory macro 11 is used as the circuit block, the upper bits of the data signal are used as the first data signal group, and the lower bits of the data signal are used as the second data signal group.
  • the column wiring is composed of the upper bit column wiring 15 for transferring only the upper bit and the lower bit column wiring 16 for transferring only the lower bit, and the row wiring 17 Is configured to transfer both upper and lower bits.
  • the upper bit switch fabric 13 is arranged on the upper bit column wiring 15 and the lower bit switch fabric 14 is arranged on the lower bit column wiring 16.
  • the data signal read from the memory macro 11 is divided into upper bits and lower bits by the upper bit switch fabric 13 and the lower bit switch fabric 14.
  • the upper bits are transferred by the upper bit column wiring 15 and the row wiring 17, and the lower bits are transferred by the lower bit column wiring 16 and the row wiring 17, respectively. Therefore, according to the present embodiment, the number of bits of the column wiring can be halved, and the configuration of the upper bit switch fabric 13 and the lower bit switch fabric 14 can be simplified. As a result, the area overhead caused by the switch fabric and the column wiring can be reduced, and a high-performance semiconductor programmable device can be obtained at low cost. [Second Embodiment] FIG.
  • FIG. 1B is a block diagram showing a configuration of a semiconductor integrated circuit device including the semiconductor programmable device according to the first embodiment of the present invention.
  • the semiconductor integrated circuit device shown in FIG. 1B includes a semiconductor programmable device 10 and a logic device 20.
  • the semiconductor programmable device 10 includes a memory macro 11, which is a circuit block, a memory input / output unit 12, a switch fabric 13 for upper bits, and a switch fabric 14 for lower bits.
  • 16 memory macros 11 are arranged in a 4 ⁇ 4 two-dimensional array. Each of the memory macros 11 is directly connected to the upper bit switch fabric 13 or the lower bit switch fabric 14. Further, in the semiconductor programmable device 10 shown in FIG.
  • the memory macro 11 includes, for example, a 1 k word SRAM (Static Random Access Memory) macro, and writes a write data signal output from the logic device 20 to a memory cell or outputs a read data signal to the logic device 20.
  • SRAM Static Random Access Memory
  • FIG. 2 is a block diagram showing a configuration of the memory macro 11 of the semiconductor programmable device 10 shown in FIG. 1B.
  • the memory macro 11 shown in FIG. 1B includes a control unit 11a, a memory cell array 11g, an address decoder 11b, a word line driver 11c, a sense amplifier 11d, a write buffer 11e, and a read buffer 11f.
  • the address decoder 11b controls access to the corresponding memory cell in the write and read operations of the memory cell in the memory cell array 11g.
  • the word line driver 11c controls the word line connected to each of the memory cells in the memory cell array 11g, and the sense amplifier 11d amplifies the signal. The operation of the control unit 11a will be described later.
  • FIG. 3 is a block diagram showing a configuration of the memory input / output unit 12 of the semiconductor programmable device 10 shown in FIG. 1B.
  • the memory input / output unit 12 receives a 16-bit read data signal from the memory macro 11 via the upper bit switch fabric 13 and the lower bit switch fabric 14 and outputs the data to the logic device 20. Is done. Further, a 16-bit write data signal, a 14-bit address signal, and a 2-bit command signal from the logic device 20 are input and output to the switch fabrics 13 and 14.
  • the logic device 20 instructing to read data outputs a command signal and an address signal to the memory input / output unit 12 as shown in FIG.
  • the command signal and the address signal are input to all the memory macros 11 in the semiconductor programmable device 10 (see FIG. 1B) via the memory input / output unit 12.
  • the command signal indicates a data read instruction.
  • the control unit 11a (see FIG.
  • the control unit 11a When the memory macro address of the address signal matches its own address stored in advance by the control unit 11a, the control unit 11a reads data from the memory cell indicated by the word address in the memory cell array 11g. This is because the command signal indicates a data read instruction here. Then, the control unit 11a outputs the read data as a read data signal from the read buffer 11f.
  • the read data signal output from the memory macro 11 is transferred by the upper bit switch fabric 13 and the lower bit switch fabric 14 and output to the logic device 20 via the memory input / output unit 12.
  • the signal transfer method by the upper bit switch fabric 13 and the lower bit switch fabric 14 will be described later.
  • the above is an example of signal input / output between the logic device 20 and the semiconductor programmable device 10.
  • the write data signal input to the memory macro 11 and the read data signal output from the memory macro 11 are collectively referred to as “input / output data signal of the memory macro 11”.
  • the upper bit switch fabric 13 is provided at the intersection of the upper bit column wiring 15 and the row wiring 17.
  • the upper bit switch fabric 13 controls the transfer direction of a plurality of signals input from the adjacent upper bit switch fabric 13, the adjacent lower bit switch fabric 14, and the directly connected memory macro 11.
  • the lower bit switch fabric 14 is provided at the intersection of the lower bit column wiring 16 and the row wiring 17.
  • the lower bit switch fabric 14 controls the transfer direction of a plurality of signals input from the adjacent upper bit switch fabric 13, the adjacent lower bit switch fabric 14, and the directly connected memory macro 11.
  • FIG. 4 is a block diagram showing a configuration of the upper bit switch fabric 13 shown in FIG. 1B.
  • the upper bit switch fabric 13 includes an upper bit switch unit 13a that is a first upper bit switch unit and a lower bit switch unit 13b that is a first lower bit switch unit. I have.
  • the upper bits of the input / output data signal of the memory macro 11 are input to the upper bit switch unit 13 a.
  • the lower bit switch unit 13b are input to the upper bit switch fabric 13b.
  • the upper bit switch fabric 13 when a 16-bit read data signal from the memory macro 11 is input as shown in FIG. 4, the upper 8 bits of the input read data signal are converted into the upper bit switch unit. 13a.
  • the lower 8 bits of the input read data signal are input to the lower bit switch unit 13b. Further, as shown in FIG.
  • FIG. 5 is a block diagram showing a configuration of the upper bit switch section 13a in the upper bit switch fabric 13 shown in FIG.
  • the upper bits of the input / output data signal of the memory macro 11 input to the upper bit switch fabric 13 are input to the upper bit switch unit 13a.
  • the upper bit switch unit 13a shown in FIG. 4 includes a selector 13a-1 and a selection logic circuit 13a-2 connected to the selector 13a-1.
  • the selector 13a-1 is provided in each signal input / output direction, and a selection logic circuit 13a-2 is connected to each selector 13a-1.
  • the upper bit switch unit 13a has inputs and outputs in a total of five directions. As shown in FIG.
  • the upper bit switch unit 13a is connected with the upper bit switch fabric 13 and the upper bit column wiring 15 in the vertical direction in the figure. This is because, in the left-right direction in the figure, it is connected to the adjacent lower bit switch fabric 14 by the row wiring 17. Therefore, the upper bit switch unit 13a includes five selectors 13a-1 and selection logic circuits 13a-2, which are the same as the number of signals in the input / output direction.
  • the selector 13a-1 outputs one signal selected by the selection logic circuit 13a-2 among the signals input from four directions other than the direction in which the signal is output.
  • the selection logic circuit 13a-2 determines one signal to be output from signals input to the selector 13a-1 from four directions by a certain logic.
  • the selection logic circuit 13a-2 selects one read data signal to be output.
  • An example of logic to be determined will be described.
  • the selection logic circuit 13a-2 stores the address on the chip of the upper bit switch fabric 13 to which the selection logic circuit 13a-2 belongs.
  • the left-right address in FIG. 1B of the upper bit switch fabric 13 is represented as SX
  • the up-down address in FIG. 1B is represented as SY.
  • the selection logic circuit 13a-2 also recognizes the address on the chip of the memory macro 11 that outputs the read data signal.
  • the upper bit switch fabric 13 receives an address signal output from the logic device 20 when instructing the output of the read data signal, and the memory macro that causes the address signal to read data.
  • a macro address indicating an address on 11 chips is included.
  • the horizontal address in FIG. 1B of the memory macro 11 that outputs the read data signal is represented as MX
  • the vertical address in FIG. 1B is represented as MY.
  • MX SX
  • MY SY.
  • M represents a memory macro
  • S an upper bit switch fabric
  • X represents a left-right direction in FIG.
  • the selection logic circuit 13a-2 compares SX and SY indicating the address of the upper bit switch fabric 13 to which the selection logic circuit 13a-2 belongs with MX and MY indicating the address of the memory macro 11 that outputs the read data signal. Of the read data signals input from the four directions, one read data signal to be output is determined. Actually, when a read data signal is input from four directions, the selection logic circuit 13a-2 constructs a logic so as to perform selection as shown in the following (1) to (8).
  • FIG. 6 is a block diagram showing a configuration of the lower bit switch unit 13b in the upper bit switch fabric 13 shown in FIG.
  • the lower bit switch unit 13b As described above, the lower bits of the input / output data signal of the memory macro 11 input to the upper bit switch fabric 13 are input.
  • the lower-bit switch unit 13b shown in FIG. 4 includes a selector 13b-1 and a selection logic circuit 13b-2 connected to the selector 13b-1.
  • the selector 13b-1 is provided for each signal input / output direction, and a selection logic circuit 13b-2 is connected to each selector 13b-1.
  • the lower bit switch unit 13b has inputs and outputs in a total of three directions. As shown in FIG.
  • the lower bit switch unit 13 b is connected to the lower bit switch fabric 14 adjacent in the left and right directions in the figure by the row wiring 17. Because. Therefore, the lower-bit switch unit 13b includes the same three selectors 13b-1 and selection logic circuits 13b-2 as the number of signals in the input / output direction.
  • the selector 13b-1 outputs one signal selected by the selection logic circuit 13b-2 among the signals input from two directions other than the direction in which the signal is output.
  • the selection logic circuit 13b-2 determines one signal to be output from signals input to the selector 13b-1 from two directions by a certain logic.
  • the selection logic circuit 13b-2 selects one read data signal to be output.
  • An example of logic to be determined will be described.
  • the upper bit switch fabric 13 to which the selection logic circuit 13b-2 belongs is described.
  • the address in the left-right direction in FIG. 1B is represented as SX
  • the address in the vertical direction in FIG. 1B is represented as SY.
  • the horizontal address in FIG. 1B of the memory macro 11 that outputs the read data signal is represented as MX
  • the selection logic circuit 13b-2 compares SX and SY indicating the address of the upper bit switch fabric 13 to which the selection logic circuit 13b-2 belongs with MX and MY indicating the address of the memory macro 11 that outputs the read data signal.
  • One read data signal to be output is selected from read data signals input from two directions. Specifically, when read data signals are input from two directions, a logic is constructed in the selection logic circuit 13b-2 so as to perform selection as shown in the following (1) to (6). (1) If SX ⁇ MX-1, the input from the lower bit switch fabric 14 on the right side of the figure is selected.
  • FIG. 7 is a block diagram showing the configuration of the lower-bit switch fabric 14 shown in FIG. 1B.
  • the lower bit switch fabric 14 includes an upper bit switch unit 14a that is a second upper bit switch unit and a lower bit switch unit 14b that is a second lower bit switch unit. I have.
  • an upper bit of the input / output data signal of the memory macro 11 is input to the upper bit switch unit 14a.
  • the lower bit switch section 14b For example, in the lower bit switch fabric 14, when a 16-bit read data signal is input from the memory macro 11 as shown in FIG. 7, the upper 8 bits of the input read data signal are used as the upper bit switch unit. The lower 8 bits are input to the lower bit switch unit 14b. Further, as shown in FIG. 7, the 8-bit signal output from the upper bit switch unit 14a and the 8-bit signal output from the lower bit switch unit 14b are merged to generate a memory macro as a write data signal. 11 is output.
  • the upper bit switch unit 14 a controls the output destination of the upper bits of the input / output data signal of the memory macro 11 input to the lower bit switch fabric 14 by the selection logic circuit.
  • the lower bit switch unit 14b controls the output destination of the lower bits of the input / output data signal of the memory macro 11 input to the lower bit switch fabric 14 by the selection logic circuit.
  • a selection logic circuit for controlling the output destination of the upper bit or the lower bit will be described later.
  • FIG. 8 is a block diagram showing a configuration of the lower-bit switch unit 14b in the lower-bit switch fabric 14 shown in FIG. As described above, the lower bit of the input / output data signal of the memory macro 11 input to the lower bit switch fabric 14 is input to the lower bit switch unit 14b. As shown in FIG.
  • the lower-bit switch unit 14b shown in FIG. 7 includes a selector 14b-1 and a selection logic circuit 14b-2 connected to the selector 14b-1.
  • the selector 14b-1 is provided for each signal input / output direction, and a selection logic circuit 14b-2 is connected to each selector 14b-1.
  • the lower-bit switch unit 14b has inputs and outputs in a total of five directions.
  • the lower bit switch section 14b is connected with the lower bit switch fabric 14 and the lower bit column wiring 16 in the vertical direction in the figure. . Further, the lower bit switch section 14b is connected to the adjacent upper bit switch fabric 13 by the row wiring 17 in the left-right direction in the figure.
  • the lower-bit switch unit 14b includes five selectors 14b-1 and selection logic circuits 14b-2, which are the same as the number of signals in the input / output direction.
  • the selector 14b-1 outputs one signal selected by the selection logic circuit 14b-2 among the signals input from four directions other than the direction in which the selector 14b outputs a signal.
  • the selection logic circuit 14b-2 determines one signal to be output among signals input to the selector 14b-1 from four directions by a certain logic. When the lower bits of the read data signal output from any memory macro 11 are input to the lower bit switch unit 14b from four directions, the selection logic circuit 14b-2 selects one read data signal to be output. An example of logic to be determined will be described.
  • the selection logic circuit 14b-2 stores the address on the chip of the lower-bit switch fabric 14 to which the selection logic circuit 14b-2 belongs.
  • the address in the left-right direction in FIG. 1B of the switch fabric 14 for lower bits is represented as SX
  • the address in the up-down direction in the figure is represented as SY.
  • the selection logic circuit 14b-2 also recognizes the address on the chip of the memory macro 11 that outputs the read data signal. This is because the lower bit switch fabric 14 is supplied with the address signal output from the logic device 20 when instructing the output of the read data signal, and the address macro reads the data from the memory macro. This is because a macro address indicating an address on 11 chips is included.
  • MX SX
  • MY SY
  • X is a subscript representing the left-right direction in FIG. 1B
  • Y is a subscript representing the vertical direction in FIG. 1B.
  • the addresses MX, SX, MY, and SY in FIG. 1B are integers.
  • the selection logic circuit 14b-2 compares SX and SY indicating the address of the lower-bit switch fabric 14 to which the selection logic circuit 14b-2 belongs and MX and MY indicating the address of the memory macro 11 that outputs the read data signal. Based on the comparison result, one read data signal to be output is selected from the read data signals input from the four directions. Actually, when read data signals are input from four directions, a logic is constructed in the selection logic circuit 14b-2 so as to perform selection as shown in the following (1) to (8). (1) If SX ⁇ MX-1, the input from the upper bit switch fabric 13 on the right side of the figure is selected.
  • FIG. 9 is a block diagram showing a configuration of the upper bit switch section 14a in the lower bit switch fabric 14 shown in FIG. In the upper bit switch section 14a, the upper bits of the input / output data signal of the memory macro 11 input to the lower bit switch fabric 14 are input as described above.
  • the upper bit switch unit 14a shown in FIG. 7 includes a selector 14a-1 and a selection logic circuit 14a-2 connected to the selector 14a-1.
  • the selector 14a-1 is provided in each signal input / output direction, and a selection logic circuit 14a-2 is connected to each selector 14a-1.
  • the upper bit switch unit 14a has inputs and outputs in a total of three directions.
  • the upper bit switch unit 14a is connected to the upper bit switch fabric 13 adjacent in the left and right direction in the figure by the row wiring 17. Because. Therefore, the upper bit switch unit 14a includes the same three selectors 14a-1 and selection logic circuits 14a-2 as the number of signals in the input / output direction.
  • the selector 14a-1 outputs one signal selected by the selection logic circuit 14a-2 among the signals input from two directions other than the direction in which the signal is output.
  • the selection logic circuit 14a-2 determines one signal to be output from signals input to the selector 14a-1 from two directions by a certain logic.
  • the selection logic circuit 14a-2 selects one read data signal to be output.
  • An example of logic to be determined will be described. In the description, the same notation as described in the case of determining one signal output from the selection logic circuit 14b-1 of the lower-bit switch unit 14b is used. That is, the left-right address in FIG. 1B of the lower-bit switch fabric 14 to which the selection logic circuit 14a-2 belongs is represented as SX, and the up-down address in FIG. 18 is represented as SY.
  • the horizontal address in FIG. 1B of the memory macro 11 that outputs the read data signal is represented as MX
  • the vertical address in FIG. 1B is represented as MY.
  • the selection logic circuit 14a-2 compares SX and SY indicating the address of the lower bit switch fabric 14 to which it belongs and MX and MY indicating the address of the memory macro 11 that outputs the read data signal. From this comparison result, one read data signal to be output is selected from the read data signals input from two directions. Specifically, when read data signals are input from two directions, a logic is constructed in the selection logic circuit 14a-2 so as to perform selection as shown in the following (1) to (6). (1) If SX ⁇ MX-1, the input from the upper bit switch fabric 13 on the right side of the figure is selected.
  • the lower bit switch fabric 14 transfers both the upper bit and the lower bit of the input / output data signal of the memory macro 11 in the horizontal direction in FIG. 1B.
  • the lower bit switch fabric 14 transfers only the lower bits of the input / output data signal of the memory macro 11.
  • the circuit for controlling the transfer direction of the address signal and the circuit for controlling the output direction of the command signal also operate in the same manner as the above-described switch unit. That is, the circuit for controlling the transfer direction of the address signal and the circuit for controlling the output direction of the command signal transfer only the upper bit or the lower bit of the signal in the vertical direction of FIG. 1B.
  • the address signal and the command signal may be output from the logic device 20 to the memory macro 11 of the semiconductor programmable device 10, and output from the memory macro 11 is not necessary. Therefore, in the upper bit switch fabric 13 and the lower bit switch fabric 14, the circuit that controls the transfer direction of the address signal and the circuit that controls the transfer direction of the command signal can only output the signal to the memory macro 11. Just do it.
  • the memory macro 11 is an SRAM memory macro having 1 k words and 16 bits. However, the memory macro 11 may have an arbitrary word and bit configuration. In the present embodiment described above, the memory in the memory macro 11 is an SRAM. However, this may be a DRAM (Dynamic Random Access Memory).
  • DRAM Since DRAM has a small circuit area, a larger capacity memory can be mounted. Moreover, it is good also as non-volatile memories, such as flash memory, MRAM (Magnetorescent Random Access Memory), and ReRAM (Resistance Random Access Memory). By using the non-volatile memory, it is possible to stop the power supply of the memory area that is not used temporarily and enter the power saving mode.
  • non-volatile memories such as flash memory, MRAM (Magnetorescent Random Access Memory), and ReRAM (Resistance Random Access Memory).
  • the row wiring 17 is either the upper bit row wiring or the lower bit row wiring.
  • the switch fabric on the upper bit row wiring includes a third upper bit switch unit and a third lower bit switch unit.
  • the third upper bit switch unit transfers upper bits to the switch fabric adjacent on the column wiring, the switch fabric adjacent on the upper bit row wiring, and the directly connected circuit block.
  • the third lower bit switch unit transfers the lower bits to the switch fabric adjacent on the column wiring and the directly connected circuit block.
  • the switch fabric on the lower bit row wiring includes a fourth upper bit switch unit and a fourth lower bit switch unit.
  • the fourth lower bit switch unit transfers the lower bits to the switch fabric adjacent on the column wiring, the switch fabric adjacent on the lower bit row wiring, and the directly connected circuit block.
  • the fourth upper bit switch unit transfers the upper bits to the switch fabric adjacent on the column wiring and the directly connected circuit block.
  • the input / output data signal has been described as being divided into half of the upper bits and the lower bits.
  • the signal division ratio is not limited to half, and other ratios are possible. You may divide by.
  • the case where the switch fabric is fixed to the upper bit or the lower bit as in the upper bit switch fabric 13 and the lower bit switch fabric 14 has been described.
  • the switch fabric is used for the upper bit.
  • the switch fabric 33 shown in FIG. 10 is a block diagram illustrating a configuration of a switch fabric that is an example of another switch fabric according to the present embodiment and is not fixed for upper bits or lower bits.
  • the switch fabric 33 shown in FIG. 10 includes a switch unit 33a for no column wiring that receives only signals from the row wiring, a switch unit 33b for column wiring that receives signals from the row wiring and the column wiring, and a selector 33c. And.
  • the switch fabric 33 shown in FIG. 10 includes the selector 33c, so that the upper bit wiring and the lower bit wiring can be switched in the switch fabric 33. Therefore, it is possible to transfer in the vertical direction in the figure while switching between the upper bit and the lower bit. That is, the switch fabric 33 can operate as both a high-order bit switch fabric and a low-order bit switch fabric.
  • the upper bits of the input / output data signal of the memory macro 11 are transferred by the upper bit column wiring 15 and the lower bits are transferred by the lower bit column wiring 16.
  • the number of bits transferred by each wiring is reduced, and the area of the wiring can be reduced.
  • a necessary and sufficient number of wires can be secured on the chip, so that it is not necessary to add a separate wiring layer, and an increase in manufacturing cost due to the addition of the wiring layer can be avoided.
  • the upper bit or lower bit is not transferred in the column direction in the upper bit switch fabric 13 and the lower bit switch fabric 14, the number of selectors for outputting a signal in the column direction can be reduced.
  • FIG. 11 is a block diagram showing a configuration of a semiconductor integrated circuit device according to the second embodiment including the semiconductor programmable device of the present invention.
  • the semiconductor programmable device 50 and the logic device 60 are stacked.
  • the semiconductor programmable device 10 and the logic device 20 are integrated on the same chip.
  • the semiconductor programmable device 50 and the logic device 60 are integrated on different chips, and these chips are stacked.
  • the memory input / output unit 52 can be arranged for each memory macro 51. In this case, the transfer of input / output data signals between the semiconductor programmable device 50 and the logic device 60 is performed via the memory input / output unit 52 and the logic input / output unit 62 provided for each memory macro 51.
  • the memory input / output unit 52 is not shared between the plurality of memory macros 51, the memory input / output unit 52 is not shared between the semiconductor programmable device 50 and the logic device 60 as compared with the semiconductor integrated circuit device described in the first embodiment. It is possible to increase the transfer amount of the input / output data signal.
  • a third embodiment of the present invention will be described.
  • the semiconductor programmable device of the present invention is configured by a memory macro has been described.
  • the semiconductor programmable device of the present invention is configured by a processor will be described. That is, in this embodiment, the processor is a circuit block.
  • FIG. 12 is a block diagram showing a configuration of a semiconductor integrated circuit device according to the third embodiment including the semiconductor programmable device 80 of the present invention.
  • the semiconductor integrated circuit device shown in FIG. 12 differs from the semiconductor integrated circuit device shown in FIG. 1B in that the memory macro 11 of the semiconductor programmable device 10 shown in FIG.
  • a memory device 90 including a memory macro 91 is arranged around the semiconductor programmable device 80 and connected to each other via a processor input / output unit 82.
  • the processor 81 is, for example, a 16-bit RISC (Reduced Instruction Set Computer) processor.
  • the upper bits of the input / output data signal of the processor 81 are transferred by the upper bit column wiring 85 as described in the first embodiment.
  • the lower bits are transferred by the lower bit column wiring 86.
  • a semiconductor programmable device includes a plurality of switch fabrics that are provided at intersections of a plurality of row wirings and a plurality of column wirings laid on a chip and transfer input data signals.
  • a semiconductor programmable device directly connected to each of the plurality of switch fabrics and having a plurality of circuit blocks for inputting / outputting data signals via the plurality of switch fabrics, wherein the column wiring is input / output by the circuit blocks
  • the upper bit column wiring for transferring the upper bits or the lower bit column wiring for transferring the lower bits of the data signal divided into the upper bits and the lower bits.
  • the switch fabric on the wiring is the adjacent switch fabric on the row wiring, and the column arrangement for the upper bits.
  • a signal transfer method in a semiconductor programmable device is a plurality of methods for transferring input data signals provided at intersections of a plurality of row wirings and a plurality of column wirings laid on a chip.
  • the data signal input / output in the circuit block is divided into upper bits and lower bits, the upper bit column wiring for transferring the upper bits, or the lower bit column wiring for transferring the lower bits. Either, and the switch fabric on the column wiring for the upper bits is adjacent on the row wiring.
  • Switch fabric, switch fabric adjacent on upper bit column wiring, and processing for transferring upper bit to directly connected circuit block, and switch fabric on upper bit column wiring are adjacent on row wiring , And a process of transferring lower bits to a directly connected circuit block, and a switch fabric on the lower bit column wiring is adjacent on the row wiring, a switch fabric adjacent on the lower bit column wiring, and A process of transferring lower bits to a directly connected circuit block, and a process of transferring upper bits to a switch fabric adjacent on the row wiring and a directly connected circuit block by the switch fabric on the column wiring for the lower bits.
  • the present invention can be applied to a semiconductor programmable device in which a plurality of circuit blocks including processors and memories are integrated.

Abstract

A semiconductor programmable device with low cost and high performance is obtained.  Thus, the semiconductor programmable device is provided with a plurality of row wiring and a plurality of column wiring which are arranged on a chip, switch fabrics provided at the intersection points between the row wiring and the column wiring so as to transfer data signals, and a circuit block connected to each of the switch fabrics, wherein one of the row wiring or the column wiring is configured so as to transfer either a first data signal group or a second data signal group which constitutes the data signals, and the other one of the column wiring or the row wiring is configured so as to transfer both of the first data signal group and the second data signal group.

Description

半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法Semiconductor programmable device and signal transfer method in semiconductor programmable device
 本発明は、回路の構成を変更できる半導体プログラマブルデバイス及び信号転送方法に関する。 The present invention relates to a semiconductor programmable device and a signal transfer method capable of changing a circuit configuration.
 近年、半導体集積回路装置の低コスト化や短TAT(Turn Around Time)化のため、半導体集積回路装置の製作後に回路の構成を変更できる半導体プログラマブルデバイスの開発が盛んになってきている。ここで、TATとは、受注から納品が完了するまでの時間のことをいう。
 半導体プログラマブルデバイスには、ゲートレベルで回路を組み合わせて再構成するFPGA(Field Programmable Gate Array)から、より大きい回路単位である回路ブロック(例えば、プロセッサやメモリ)を組み合わせて再構成するものまで様々なものがある。
 回路ブロックを組み合わせて再構成する半導体プログラマブルデバイスとしては、チップ上で2次元アレイ状に回路ブロックを配列し、メッシュ状の配線によって回路ブロック間を接続する技術が例えば、非特許文献1に開示されている。
 図13は、2次元アレイ状に回路ブロックを配列してメッシュ状の配線によって回路ブロック間を接続した関連する半導体プログラマブルデバイスの一例を示すブロック図である。
 図13に示す関連する半導体プログラマブルデバイスは、回路ブロック111が2次元アレイ状に配列されている。なお、回路ブロック111としては、プロセッサやメモリ、カスタムハードウエア回路等がある。
 また、図13に示すように2次元アレイ状に配列された回路ブロック111のそれぞれは、スイッチファブリック113と接続されている。なお、スイッチファブリック113は、自身と直接接続された回路ブロック111との間で信号の入出力を行う。また、自身に隣接するスイッチファブリック113から出力された信号を転送する。
 また、図13に示すように回路ブロック111から出力された信号を他の回路ブロック111や半導体プログラマブルデバイスの外部へ転送するために、スイッチファブリック113同士はメッシュ状の列配線115及び行配線117によって接続されている。
 つまり、スイッチファブリック113は、図中上下方向で隣接する他のスイッチファブリック113と列配線115で接続され、図中左右方向で隣接する他のスイッチファブリック113と行配線117で接続されている。また、回路ブロック111とも接続されており、スイッチファブリック113には全部で5つの方向の入力及び出力がある。
 図14は、図13に示した関連する半導体プログラマブルデバイスのスイッチファブリック113の構成を示すブロック図である。
 図13に示したスイッチファブリック113は図14に示すように、5つのセレクタ113−1と、それぞれのセレクタ113−1に接続された選択論理回路113−2とを備えている。これは、上述したようにスイッチファブリック113には5つの方向に入力及び出力があるからである。
 セレクタ113−1は、自身が出力する方向以外の4つの方向から入力された信号のうちいずれか1つを選択して出力する。どの方向からの信号を選択するかは、選択論理回路113−2で決定される。なお、選択論理回路113−2は例えば、データを転送する方向をアドレス化したものをデコードするためのデコード回路からなる。
「プロシーディングス オブ アイ・イー・イー・イー コンピュータ ソサイエティ アニュアル シンポジウム オン VLSI(Proceedings of the IEEE Computer Society Annual Symposium on VLSI)」、2002年、p.105−112
2. Description of the Related Art In recent years, semiconductor programmable devices capable of changing the configuration of a circuit after the manufacture of the semiconductor integrated circuit device have been actively developed in order to reduce the cost of the semiconductor integrated circuit device and reduce the turnaround time (TAT). Here, TAT refers to the time from receipt of an order to completion of delivery.
Semiconductor programmable devices range from FPGAs (Field Programmable Gate Array) that reconfigure by combining circuits at the gate level to those that reconfigure by combining circuit blocks (for example, processors and memories) that are larger circuit units. There is something.
As a semiconductor programmable device that reconfigures by combining circuit blocks, for example, Non-Patent Document 1 discloses a technique of arranging circuit blocks in a two-dimensional array on a chip and connecting the circuit blocks by mesh wiring. ing.
FIG. 13 is a block diagram showing an example of a related semiconductor programmable device in which circuit blocks are arranged in a two-dimensional array and the circuit blocks are connected by mesh wiring.
In the related semiconductor programmable device shown in FIG. 13, circuit blocks 111 are arranged in a two-dimensional array. The circuit block 111 includes a processor, a memory, a custom hardware circuit, and the like.
Further, as shown in FIG. 13, each of the circuit blocks 111 arranged in a two-dimensional array is connected to the switch fabric 113. The switch fabric 113 inputs and outputs signals between itself and the circuit block 111 that is directly connected. Further, it transfers a signal output from the switch fabric 113 adjacent to itself.
Further, as shown in FIG. 13, in order to transfer the signal output from the circuit block 111 to the outside of the other circuit block 111 or the semiconductor programmable device, the switch fabrics 113 are connected to each other by a mesh-like column wiring 115 and row wiring 117. It is connected.
That is, the switch fabric 113 is connected to the other switch fabric 113 adjacent in the vertical direction in the figure by the column wiring 115 and is connected to the other switch fabric 113 adjacent in the horizontal direction in the figure by the row wiring 117. It is also connected to the circuit block 111, and the switch fabric 113 has inputs and outputs in a total of five directions.
FIG. 14 is a block diagram showing a configuration of the switch fabric 113 of the related semiconductor programmable device shown in FIG.
As shown in FIG. 14, the switch fabric 113 shown in FIG. 13 includes five selectors 113-1 and a selection logic circuit 113-2 connected to each selector 113-1. This is because the switch fabric 113 has inputs and outputs in five directions as described above.
The selector 113-1 selects and outputs one of the signals input from four directions other than the direction in which the selector 113-1 outputs. The selection logic circuit 113-2 determines which direction the signal is selected from. Note that the selection logic circuit 113-2 includes, for example, a decoding circuit for decoding the addressed data transfer direction.
"Proceedings of the IEEE Computer Society Annual Symposium on VLSI", 2002, p. 40, Proceedings of the IE Computer Society Annual Symposium on VLSI (Proceedings of the IEEE Computer Society Annual VLSI). 105-112
 非特許文献1に開示されたような半導体プログラマブルデバイスを利用すれば、回路ブロック間の接続を切り替えることにより、半導体集積回路装置の製作後でも回路の構成を変更することができ、半導体集積回路装置の低コスト化や短TAT化を実現することができる。
 非特許文献1に開示されたような半導体プログラマブルデバイスは、回路の構成の変更ができない通常の半導体集積回路装置と比べ、図13に示したように回路ブロック間を接続するための配線と、その接続を切り替えるためのスイッチファブリックとを有している点が異なる。非特許文献1に開示されたような半導体プログラマブルデバイスでは、これらの配線とスイッチファブリックとがチップ上で大きな面積を占めている。
 その結果、回路ブロックが占める面積によっては、必要十分な数の配線やスイッチファブリックをチップ上に収めることができなくなるという問題点がある。
 実際に、半導体プログラマブルデバイスの1つであるFPGAでは、チップの面積の半分が配線とスイッチファブリックとで占められている。同様に、2次元アレイ状にプロセッサが配列された半導体プログラマブルデバイスでも、チップ面積の1/4程度が配線とスイッチファブリックとで占められている。
 また、限られたチップの面積で必要十分な配線数を確保するために配線層を追加することも考えられるが、追加された配線層を製造するためのマスクコストが増加するという問題点がある。
 本発明の目的は、上述した課題である、低コストで高性能の半導体プログラマブルデバイスを得るのが困難であるという問題を解決する半導体プログラマブルデバイス及び信号転送方法を提供することにある。
If a semiconductor programmable device as disclosed in Non-Patent Document 1 is used, the circuit configuration can be changed even after the manufacture of the semiconductor integrated circuit device by switching the connection between the circuit blocks. The cost can be reduced and the TAT can be shortened.
The semiconductor programmable device as disclosed in Non-Patent Document 1 is compared with a normal semiconductor integrated circuit device in which the circuit configuration cannot be changed, and wiring for connecting circuit blocks as shown in FIG. The difference is that it has a switch fabric for switching connections. In a semiconductor programmable device as disclosed in Non-Patent Document 1, these wirings and switch fabric occupy a large area on the chip.
As a result, depending on the area occupied by the circuit block, a necessary and sufficient number of wires and switch fabrics cannot be accommodated on the chip.
In fact, in an FPGA, which is one of semiconductor programmable devices, half of the chip area is occupied by wiring and switch fabric. Similarly, in a semiconductor programmable device in which processors are arranged in a two-dimensional array, about ¼ of the chip area is occupied by wiring and switch fabric.
In addition, although it is conceivable to add a wiring layer in order to secure a necessary and sufficient number of wires with a limited chip area, there is a problem that the mask cost for manufacturing the added wiring layer increases. .
An object of the present invention is to provide a semiconductor programmable device and a signal transfer method that solve the above-described problem that it is difficult to obtain a low-cost and high-performance semiconductor programmable device.
 本発明の半導体プログラマブルデバイスは、チップ上に配置された複数の行配線と複数の列配線と、行配線と列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有し、行配線または列配線のいずれか一方は、データ信号を構成する第1のデータ信号群と第2のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成され、列配線と行配線のうちの他方は、第1のデータ信号群と第2のデータ信号群の両者を転送するように構成されている。
 本発明の半導体プログラマブルデバイスにおける信号転送方法は、チップ上に配置された複数の行配線と複数の列配線と、行配線と列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスにおける信号転送方法であって、行配線または列配線のいずれか一方は、データ信号を構成する第1のデータ信号群と第2のデータ信号群のうちのいずれか一方のデータ信号群のみを転送し、列配線と行配線のうちの他方は、第1のデータ信号群と第2のデータ信号群の両者を転送する。
A semiconductor programmable device of the present invention includes a plurality of row wirings and a plurality of column wirings arranged on a chip, and a plurality of switch fabrics provided at intersections of the row wirings and the column wirings and transferring input data signals. A plurality of circuit blocks that are directly connected to each of the plurality of switch fabrics and that input and output data signals through the plurality of switch fabrics, and either the row wiring or the column wiring constitutes a data signal Only one of the first data signal group and the second data signal group is transferred, and the other of the column wiring and the row wiring is the first data signal group. And the second data signal group are transferred.
A signal transfer method in a semiconductor programmable device according to the present invention includes a plurality of row wirings and a plurality of column wirings arranged on a chip, and a plurality of signal lines for transferring input data signals provided at intersections of the row wirings and the column wirings A signal transfer method in a semiconductor programmable device having a switch fabric and a plurality of circuit blocks that are directly connected to each of the plurality of switch fabrics and that input / output data signals via the plurality of switch fabrics, Alternatively, either one of the column wirings transfers only one data signal group of the first data signal group and the second data signal group constituting the data signal, and the column wiring and the row wiring. The other transfers both the first data signal group and the second data signal group.
 本発明によれば、低コストで高性能な半導体プログラマブルデバイスを得ることができる。 According to the present invention, a low-cost and high-performance semiconductor programmable device can be obtained.
図1Aは本発明の第1の実施形態に係る半導体プログラマブルデバイスの構成を示すブロック図である。
図1Bは本発明の第2の実施形態に係る半導体プログラマブルデバイスを備えた半導体集積回路装置の構成を示すブロック図である。
図2は本発明の第2の実施形態に係る半導体プログラマブルデバイスのメモリマクロの構成を示すブロック図である。
図3は本発明の第2の実施形態に係る半導体プログラマブルデバイスのメモリ入出力部の構成を示すブロック図である。
図4は本発明の第2の実施形態に係る上位ビット用スイッチファブリックの構成を示すブロック図である。
図5は本発明の第2の実施形態に係る上位ビット用スイッチファブリックにおける上位ビット用スイッチ部の構成を示すブロック図である。
図6は本発明の第2の実施形態に係る上位ビット用スイッチファブリックにおける下位ビット用スイッチ部の構成を示すブロック図である。
図7は本発明の第2の実施形態に係る下位ビット用スイッチファブリックの構成を示すブロック図である。
図8は本発明の第2の実施形態に係る下位ビット用スイッチファブリックにおける下位ビット用スイッチ部の構成を示すブロック図である。
図9は本発明の第2の実施形態に係る下位ビット用スイッチファブリックにおける上位ビット用スイッチ部の構成を示すブロック図である。
図10は本発明の第2の実施形態に係る別のスイッチファブリックの構成を示すブロック図である。
図11は本発明の半導体プログラマブルデバイスを備えた第3の実施形態に係る半導体集積回路装置の構成を示すブロック図である。
図12は本発明の半導体プログラマブルデバイスを備えた第4の実施形態に係る半導体集積回路装置の構成を示すブロック図である。
図13は関連する半導体プログラマブルデバイスの一例を示すブロック図である。
図14は関連する半導体プログラマブルデバイスのスイッチファブリックの構成を示すブロック図である。
FIG. 1A is a block diagram showing a configuration of a semiconductor programmable device according to the first embodiment of the present invention.
FIG. 1B is a block diagram showing a configuration of a semiconductor integrated circuit device including a semiconductor programmable device according to the second embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a memory macro of a semiconductor programmable device according to the second embodiment of the present invention.
FIG. 3 is a block diagram showing the configuration of the memory input / output unit of the semiconductor programmable device according to the second embodiment of the present invention.
FIG. 4 is a block diagram showing the configuration of the upper bit switch fabric according to the second embodiment of the present invention.
FIG. 5 is a block diagram showing the configuration of the upper bit switch section in the upper bit switch fabric according to the second embodiment of the present invention.
FIG. 6 is a block diagram showing the configuration of the lower bit switch section in the upper bit switch fabric according to the second embodiment of the present invention.
FIG. 7 is a block diagram showing the configuration of the lower bit switch fabric according to the second embodiment of the present invention.
FIG. 8 is a block diagram showing a configuration of a lower bit switch section in the lower bit switch fabric according to the second embodiment of the present invention.
FIG. 9 is a block diagram showing the configuration of the upper bit switch section in the lower bit switch fabric according to the second embodiment of the present invention.
FIG. 10 is a block diagram showing a configuration of another switch fabric according to the second exemplary embodiment of the present invention.
FIG. 11 is a block diagram showing a configuration of a semiconductor integrated circuit device according to the third embodiment including the semiconductor programmable device of the present invention.
FIG. 12 is a block diagram showing a configuration of a semiconductor integrated circuit device according to the fourth embodiment including the semiconductor programmable device of the present invention.
FIG. 13 is a block diagram showing an example of a related semiconductor programmable device.
FIG. 14 is a block diagram showing a configuration of a switch fabric of a related semiconductor programmable device.
 10、50、80  半導体プログラマブルデバイス
 11、51  メモリマクロ
 11a  制御部
 11b  アドレスデコーダ
 11c  ワード線ドライバ
 11d  センスアンプ
 11e  ライトバッファ
 11f  リードバッファ
 11g  メモリセルアレイ
 12、52、82、112  メモリ入出力部
 13、53、83  上位ビット用スイッチファブリック
 13a、14a  上位ビット用スイッチ部
 13b、14b  下位ビット用スイッチ部
 13a−1、13b−1、14a−1、14b−1、33c、113−1  セレクタ
 13a−2、13b−2、14a−2、14b−2、113−2  選択論理回路
 14、54、84  下位ビット用スイッチファブリック
 15、55、85  上位ビット用列配線
 16、56、86  下位ビット用列配線
 17、57、87、117  行配線
 20、60、90  ロジックデバイス
 21、61、91  ロジックマクロ
 33、113  スイッチファブリック
 33a  列配線無し用スイッチ部
 33b  列配線有り用スイッチ部
 62  ロジック入出力部
 81  プロセッサ
 111  回路ブロック
 115  列配線
10, 50, 80 Semiconductor programmable device 11, 51 Memory macro 11a Control unit 11b Address decoder 11c Word line driver 11d Sense amplifier 11e Write buffer 11f Read buffer 11g Memory cell array 12, 52, 82, 112 Memory input / output unit 13, 53, 83 Upper bit switch fabric 13a, 14a Upper bit switch section 13b, 14b Lower bit switch section 13a-1, 13b-1, 14a-1, 14b-1, 33c, 113-1 selector 13a-2, 13b- 2, 14a-2, 14b-2, 113-2 Select logic circuit 14, 54, 84 Lower bit switch fabric 15, 55, 85 Upper bit column wiring 16, 56, 86 Lower bit column wiring 17, 57 87, 117 Row wiring 20, 60, 90 Logic device 21, 61, 91 Logic macro 33, 113 Switch fabric 33a Switch unit without column wiring 33b Switch unit with column wiring 62 Logic input / output unit 81 Processor 111 Circuit block 115 columns wiring
 以下に、本発明の実施の形態について図面を参照して説明する。
 [第1の実施形態]
 図1Aは、本発明の第1の実施形態に係る半導体プログラマブルデバイスの構成を示すブロック図である。半導体プログラマブルデバイス10は、チップ上に配置された複数の行配線と複数の列配線と、行配線と列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックを有する。各スイッチファブリックにはそれぞれ回路ブロックが直接接続されており、各回路ブロックはスイッチファブリックを介してデータ信号の入出力を行う。
 ここで、行配線または列配線のいずれか一方は、データ信号を構成する第1のデータ信号群と第2のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成されている。また、列配線と行配線のうちの他方は、第1のデータ信号群と第2のデータ信号群の両者を転送するように構成されている。
 本実施形態では、回路ブロックとしてメモリマクロ11を用い、第1のデータ信号群としてデータ信号の上位ビットを、第2のデータ信号群としてデータ信号の下位ビットを用いた。また本実施形態では、図1Aに示すように、列配線が上位ビットのみを転送する上位ビット用列配線15と、下位ビットのみを転送する下位ビット用列配線16とから構成され、行配線17は上位ビットと下位ビットの両者を転送するように構成した。このとき、上位ビット用列配線15上には上位ビット用スイッチファブリック13が、下位ビット用列配線16上には下位ビット用スイッチファブリック14が配置される。
 本実施形態による半導体プログラマブルデバイス10においては、メモリマクロ11から読み出されたデータ信号は、上位ビット用スイッチファブリック13および下位ビット用スイッチファブリック14で上位ビットと下位ビットに分割される。そして、上位ビットは上位ビット用列配線15と行配線17により、下位ビットは下位ビット用列配線16と行配線17によりそれぞれ転送される。
 したがって、本実施形態によれば、列配線のビット数を半減することができ、また、上位ビット用スイッチファブリック13および下位ビット用スイッチファブリック14の構成を簡略化できる。その結果、スイッチファブリックと列配線によって生じる面積オーバーヘッドを削減でき、低コストで高性能な半導体プログラマブルデバイスを得ることができる。
 [第2の実施形態]
 図1Bは、本発明の第1の実施形態に係る半導体プログラマブルデバイスを備えた半導体集積回路装置の構成を示すブロック図である。図1Bに示す半導体集積回路装置は、半導体プログラマブルデバイス10と、ロジックデバイス20とを備えている。
 半導体プログラマブルデバイス10は、回路ブロックであるメモリマクロ11と、メモリ入出力部12と、上位ビット用スイッチファブリック13と、下位ビット用スイッチファブリック14とを備えている。
 図1Bに示す半導体プログラマブルデバイス10には、16個のメモリマクロ11が4×4の2次元アレイ状に配列されている。また、メモリマクロ11のそれぞれは、上位ビット用スイッチファブリック13または下位ビット用スイッチファブリック14と直接接続されている。
 また、図1Bに示す半導体プログラマブルデバイス10には、行方向と列方向とに複数の配線が敷設されている。具体的には、図中上下方向に上位ビット用列配線15と下位ビット用列配線16とが交互に敷設されており、図中左右方向に行配線17が敷設されている。
 上位ビット用列配線15は、本実施形態の半導体集積回路装置内を転送される信号の上位のビットを転送するための配線であり、下位ビット用列配線16は、本実施形態の半導体集積回路装置内を転送される信号の下位のビットを転送するための配線である。
 メモリマクロ11は例えば、1kワードのSRAM(Static Random Access Memory)マクロからなり、ロジックデバイス20から出力された書き込みデータ信号をメモリセルに書き込んだり、ロジックデバイス20への読み出しデータ信号を出力したりする。
 図2は、図1Bに示した半導体プログラマブルデバイス10のメモリマクロ11の構成を示すブロック図である。
 図1Bに示したメモリマクロ11は図2に示すように、制御部11aと、メモリセルアレイ11gと、アドレスデコーダ11bと、ワード線ドライバ11cと、センスアンプ11dと、ライトバッファ11eと、リードバッファ11fとを備えている。ここで、アドレスデコーダ11bはメモリセルアレイ11g内のメモリセルの書き込み及び読み込み動作において該当するメモリセルへのアクセスを制御する。ワード線ドライバ11cは、メモリセルアレイ11g内のメモリセルのそれぞれと接続されているワード線を制御し、センスアンプ11dは信号の増幅を行う。なお、制御部11aの動作については後述する。
 図1Bに示したメモリ入出力部12は、メモリマクロ11とロジックデバイス20との間の信号の入出力を仲介する。図3は、図1Bに示した半導体プログラマブルデバイス10のメモリ入出力部12の構成を示すブロック図である。
 図3に示すようにメモリ入出力部12には、メモリマクロ11から上位ビット用スイッチファブリック13及び下位ビット用スイッチファブリック14を経由してきた16ビットの読み出しデータ信号が入力され、ロジックデバイス20へ出力される。また、ロジックデバイス20からの16ビットの書き込みデータ信号、14ビットのアドレス信号及び2ビットのコマンド信号が入力され、スイッチファブリック13、14へ出力される。
 ここで、ロジックデバイス20と半導体プログラマブルデバイス10との間の信号の入出力の一例として、ロジックデバイス20から半導体プログラマブルデバイス10へデータ信号の読み出しを指示する場合について図1Bから図3を参照しながら説明する。
 データの読み出しを指示するロジックデバイス20は、図3に示すようにメモリ入出力部12へコマンド信号及びアドレス信号を出力する。このコマンド信号及びアドレス信号は、メモリ入出力部12を介して半導体プログラマブルデバイス10(図1B参照)内の全てのメモリマクロ11へ入力される。なお、ここではコマンド信号は、データの読み出し指示を示している。
 コマンド信号及びアドレス信号が入力されたメモリマクロ11の制御部11a(図2参照)は、予め記憶している自身のアドレスと、アドレス信号が示すデータの読み出しの対象となるメモリマクロ11のアドレスとを比較する。なお、ここでは、アドレス信号は、メモリマクロ11を指定するための4ビットのメモリマクロアドレスと、メモリマクロ11内のワードアドレスを指定するための10ビットのワードアドレスとの合計14ビットで構成されている。
 アドレス信号のメモリマクロアドレスと、制御部11aが予め記憶している自身のアドレスとが一致した場合、制御部11aは、メモリセルアレイ11gの中のワードアドレスが示すメモリセルからデータを読み出す。これは、ここではコマンド信号がデータの読み出し指示を示しているからである。そして、制御部11aは、読み出したデータを読み出しデータ信号としてリードバッファ11fから出力する。
 メモリマクロ11から出力された読み出しデータ信号は、上位ビット用スイッチファブリック13及び下位ビット用スイッチファブリック14によって転送され、メモリ入出力部12を介してロジックデバイス20に出力される。なお、上位ビット用スイッチファブリック13及び下位ビット用スイッチファブリック14による信号の転送方法については後述する。
 以上がロジックデバイス20と半導体プログラマブルデバイス10との間の信号の入出力の一例である。なお、以降、メモリマクロ11へ入力される書き込みデータ信号と、メモリマクロ11から出力される読み込みデータ信号とを総称して「メモリマクロ11の入出力データ信号」という。
 上位ビット用スイッチファブリック13は、上位ビット用列配線15と行配線17との交点に設けられている。この上位ビット用スイッチファブリック13は、隣接する上位ビット用スイッチファブリック13、隣接する下位ビット用スイッチファブリック14及び直接接続されたメモリマクロ11から入力された複数の信号の転送方向を制御する。
 下位ビット用スイッチファブリック14は、下位ビット用列配線16と行配線17との交点に設けられている。この下位ビット用スイッチファブリック14は、隣接する上位ビット用スイッチファブリック13、隣接する下位ビット用スイッチファブリック14及び直接接続されたメモリマクロ11から入力された複数の信号の転送方向を制御する。
 図4は、図1Bに示した上位ビット用スイッチファブリック13の構成を示すブロック図である。図4に示すように上位ビット用スイッチファブリック13は、第1の上位ビット用スイッチ部である上位ビット用スイッチ部13aと、第1の下位ビット用スイッチ部である下位ビット用スイッチ部13bとを備えている。
 上位ビット用スイッチファブリック13では、メモリマクロ11の入出力データ信号が入力されると、入力されたメモリマクロ11の入出力データ信号のうち上位のビットが上位ビット用スイッチ部13aへ入力され、下位のビットが下位ビット用スイッチ部13bへ入力される。
 例えば、上位ビット用スイッチファブリック13では、図4に示すようにメモリマクロ11からの16ビットの読み出しデータ信号が入力されると、入力された読み出しデータ信号の上位の8ビットが上位ビット用スイッチ部13aに入力される。一方、入力された読み出しデータ信号の下位の8ビットは下位ビット用スイッチ部13bに入力される。また、図4に示すように、上位ビット用スイッチ部13aから出力された8ビットの信号と、下位ビット用スイッチ部13bから出力された8ビットの信号とが合流し、書き込みデータ信号としてメモリマクロ11へ入力される。
 上位ビット用スイッチ部13aは、上位ビット用スイッチファブリック13へ入力されたメモリマクロ11の入出力データ信号の上位ビットの出力先を選択論理回路によって制御する。
 下位ビット用スイッチ部13bは、上位ビット用スイッチファブリック13へ入力されたメモリマクロ11の入出力データ信号の下位ビットの出力先を選択論理回路によって制御する。なお、上位ビットまたは下位ビットの出力先を制御する選択論理回路については後述する。
 図5は、図4に示した上位ビット用スイッチファブリック13における上位ビット用スイッチ部13aの構成を示すブロック図である。上位ビット用スイッチ部13aには、上述したように上位ビット用スイッチファブリック13へ入力されたメモリマクロ11の入出力データ信号のうち上位ビットが入力される。
 図4に示した上位ビット用スイッチ部13aは図5に示すように、セレクタ13a−1と、セレクタ13a−1と接続された選択論理回路13a−2とを備えている。なお、セレクタ13a−1は、信号の入出力方向毎に設けられており、それぞれのセレクタ13a−1に選択論理回路13a−2が接続されている。
 図5に示すように上位ビット用スイッチ部13aでは、全部で5つの方向の入力及び出力がある。これは、図4に示したように上位ビット用スイッチ部13aは、メモリマクロ11との接続以外に、図中上下方向では、隣接する上位ビット用スイッチファブリック13と上位ビット用列配線15で接続されており、図中左右方向では、隣接する下位ビット用スイッチファブリック14と行配線17で接続されているためである。そのため、上位ビット用スイッチ部13aは、信号の入出力方向の数と同じ5つのセレクタ13a−1及び選択論理回路13a−2を備えている。
 セレクタ13a−1は、自身が信号を出力する方向以外の4つの方向から入力された信号のうち、選択論理回路13a−2によって選択された1つの信号を出力する。
 選択論理回路13a−2は、4つの方向からセレクタ13a−1へ入力された信号のうち出力する1つの信号を一定のロジックによって決定する。
 ここで、任意のメモリマクロ11から出力された読み出しデータ信号の上位ビットが4つの方向から上位ビット用スイッチ部13aへ入力された場合、出力する1つの読み出しデータ信号を選択論理回路13a−2が決定するロジックの一例を説明する。
 選択論理回路13a−2は、自身が属している上位ビット用スイッチファブリック13のチップ上での番地を記憶している。ここでは、上位ビット用スイッチファブリック13の図1B中の左右方向の番地をSXと表し、図1B中の上下方向の番地をSYと表すこととする。
 また、選択論理回路13a−2は、読み出しデータ信号を出力するメモリマクロ11のチップ上での番地も認識している。これは、上位ビット用スイッチファブリック13には、読み出しデータ信号の出力を指示する際にロジックデバイス20から出力されたアドレス信号が入力されており、そのアドレス信号にはデータの読み出しを行わせるメモリマクロ11のチップ上での番地を示すマクロアドレスが含まれているからである。
 ここでは、読み出しデータ信号を出力するメモリマクロ11の図1B中の左右方向の番地をMXと表し、図1B中の上下方向の番地をMYと表すこととする。なお、自身が属している上位ビット用スイッチファブリック13が読み出しデータ信号を出力するメモリマクロ11と直接接続されている場合、MX=SXかつMY=SYとなる。ここで、Mはメモリマクロを、Sは上位ビット用スイッチファブリックを表し、また、Xは図1B中の左右方向を、Yは図1B中の上下方向をそれぞれ表す添え字である。また、図1B中の番地であるMX、SX、MY、SYはそれぞれ整数である。
 選択論理回路13a−2は、自身が属している上位ビット用スイッチファブリック13の番地を表すSX、SYと、読み出しデータ信号を出力するメモリマクロ11の番地を表すMX、MYとを比較することにより、4つの方向から入力された読み出しデータ信号のうち出力する1つの読み出しデータ信号を決定する。
 実際には、4つの方向から読み出しデータ信号が入力されると、選択論理回路13a−2は以下の(1)~(8)に示すような選択を行うようにロジックを構築する。
 (1)SX<MX−1ならば、図中右側の下位ビット用スイッチファブリック14からの入力を選択
 (2)SX>MXならば、図中左側の下位ビット用スイッチファブリック14からの入力を選択
 (3)SX=MXかつSY<MYならば、図中上側の上位ビット用スイッチファブリック13からの入力を選択
 (4)SX=MXかつSY>MYならば、図中下側の上位ビット用スイッチファブリック13からの入力を選択
 (5)SX=MXかつSY=MYならば、メモリマクロ11からの入力を選択
 (6)SX=MX−1かつSY<MYならば、図中上側の上位ビット用スイッチファブリック13からの入力を選択
 (7)SX=MX−1かつSY>MYならば、図中下側の上位ビット用スイッチファブリック13からの入力を選択
 (8)SX=MX−1かつSY=MYならば、図中右側の下位ビット用スイッチファブリック14からの入力を選択
 以上が、4つの方向から入力された読み出しデータ信号のうち、出力する1つの読み出しデータ信号を選択するロジックの一例である。これに限らず、マトリックス内の上下方向のデータ転送を行う列配線が所定間隔おきに配置されたマトリックス内において、データ信号をマトリックス内で転送するロジックであれば、本実施形態において用いることができる。
 図6は、図4に示した上位ビット用スイッチファブリック13における下位ビット用スイッチ部13bの構成を示すブロック図である。下位ビット用スイッチ部13bでは、上述したように上位ビット用スイッチファブリック13へ入力されたメモリマクロ11の入出力データ信号のうち下位ビットが入力される。
 図4に示した下位ビット用スイッチ部13bは図6に示すように、セレクタ13b−1と、セレクタ13b−1と接続された選択論理回路13b−2とを備えている。なお、セレクタ13b−1は、信号の入出力方向毎に設けられており、それぞれのセレクタ13b−1に選択論理回路13b−2が接続されている。
 図6に示すように下位ビット用スイッチ部13bでは、全部で3つの方向の入力及び出力がある。これは、図4に示したように下位ビット用スイッチ部13bは、メモリマクロ11との接続以外に、図中左右の方向で隣接する下位ビット用スイッチファブリック14と行配線17で接続されているためである。そのため、下位ビット用スイッチ部13bは、信号の入出力方向の数と同じ3つのセレクタ13b−1及び選択論理回路13b−2を備えている。
 セレクタ13b−1は、自身が信号を出力する方向以外の2つの方向から入力された信号のうち、選択論理回路13b−2によって選択された1つの信号を出力する。
 選択論理回路13b−2は、2つの方向からセレクタ13b−1へ入力された信号のうち出力する1つの信号を一定のロジックによって決定する。
 ここで、任意のメモリマクロ11から出力された読み出しデータ信号の下位ビットが2つの方向から下位ビット用スイッチ部13bに入力された場合、出力する1つの読み出しデータ信号を選択論理回路13b−2が決定するロジックの一例を説明する。
 なお、上位ビット用スイッチ部13aの選択論理回路13a−1が出力する1つの信号を決定する場合について説明したのと同様に、選択論理回路13b−2が属している上位ビット用スイッチファブリック13の図1B中の左右方向の番地をSXと表し、図1B中の上下方向の番地をSYと表すこととする。また、読み出しデータ信号を出力するメモリマクロ11の図1B中の左右方向の番地をMXと表し、図1B中の上下方向の番地をMYと表すこととする。
 選択論理回路13b−2は、自身が属している上位ビット用スイッチファブリック13の番地を表すSX、SYと、読み出しデータ信号を出力するメモリマクロ11の番地を表すMX、MYとを比較することにより、2つの方向から入力された読み出しデータ信号のうち出力する1つの読み出しデータ信号を選択する。
 具体的には、2つの方向から読み出しデータ信号が入力されると、以下の(1)~(6)に示すような選択を行うように選択論理回路13b−2内にロジックを構築する。
 (1)SX<MX−1ならば、図中右側の下位ビット用スイッチファブリック14からの入力を選択
 (2)SX>MXならば、図中左側の下位ビット用スイッチファブリック14からの入力を選択
 (3)SX=MXかつSY<MYならば、図中左側の下位ビット用スイッチファブリック14からの入力を選択
 (4)SX=MXかつSY>MYならば、図中左側の下位ビット用スイッチファブリック14からの入力を選択
 (5)SX=MYかつSY=MYならば、メモリマクロ11からの入力を選択
 (6)SX=MX−1ならば、図中右側の下位ビット用スイッチファブリック14からの入力を選択
 以上が、2つの方向から入力された読み出しデータ信号のうち、出力する1つの読み出しデータ信号を選択するロジックの一例である。
 上述したように、上位ビット用スイッチファブリック13は、図1Bにおいて図中左右方向には、メモリマクロ11の入出力データ信号のうち上位ビット用と下位ビット用との両方の転送を行うが、図中上下方向には、メモリマクロ11の入出力データ信号のうち上位ビットだけの転送を行う。
 図7は、図1Bに示した下位ビット用スイッチファブリック14の構成を示すブロック図である。図7に示すように下位ビット用スイッチファブリック14は、第2の上位ビット用スイッチ部である上位ビット用スイッチ部14aと、第2の下位ビット用スイッチ部である下位ビット用スイッチ部14bとを備えている。
 下位ビット用スイッチファブリック14では、メモリマクロ11の入出力データ信号が入力されると、入力されたメモリマクロ11の入出力データ信号のうち上位のビットが上位ビット用スイッチ部14aへ入力され、下位のビットが下位ビット用スイッチ部14bへ入力される。
 例えば、下位ビット用スイッチファブリック14では、図7に示すようにメモリマクロ11からの16ビットの読み出しデータ信号が入力されると、入力された読み出しデータ信号の上位の8ビットが上位ビット用スイッチ部14aに入力され、下位の8ビットが下位ビット用スイッチ部14bに入力される。また、図7に示すように、上位ビット用スイッチ部14aから出力された8ビットの信号と、下位ビット用スイッチ部14bから出力された8ビットの信号とが合流し、書き込みデータ信号としてメモリマクロ11へ出力される。
 上位ビット用スイッチ部14aは、下位ビット用スイッチファブリック14へ入力されたメモリマクロ11の入出力データ信号の上位ビットの出力先を選択論理回路によって制御する。
 下位ビット用スイッチ部14bは、下位ビット用スイッチファブリック14へ入力されたメモリマクロ11の入出力データ信号の下位ビットの出力先を選択論理回路によって制御する。なお、上位ビットまたは下位ビットの出力先を制御する選択論理回路については後述する。
 図8は、図7に示した下位ビット用スイッチファブリック14における下位ビット用スイッチ部14bの構成を示すブロック図である。下位ビット用スイッチ部14bには、上述したように下位ビット用スイッチファブリック14へ入力されたメモリマクロ11の入出力データ信号のうち下位ビットが入力される。
 図7に示した下位ビット用スイッチ部14bは図8に示すように、セレクタ14b−1と、セレクタ14b−1と接続された選択論理回路14b−2とを備えている。なお、セレクタ14b−1は、信号の入出力方向毎に設けられており、それぞれのセレクタ14b−1に選択論理回路14b−2が接続されている。
 図8に示すように下位ビット用スイッチ部14bでは、全部で5つの方向の入力及び出力がある。図7に示すように、下位ビット用スイッチ部14bは、メモリマクロ11との接続以外に、図中上下方向では、隣接する下位ビット用スイッチファブリック14と下位ビット用列配線16で接続されている。さらに下位ビット用スイッチ部14bは、図中左右方向では、隣接する上位ビット用スイッチファブリック13と行配線17で接続されている。そのため、下位ビット用スイッチ部14bは、信号の入出力方向の数と同じ5つのセレクタ14b−1及び選択論理回路14b−2を備えている。
 セレクタ14b−1は、自身が信号を出力する方向以外の4つの方向から入力された信号のうち、選択論理回路14b−2によって選択された1つの信号を出力する。
 選択論理回路14b−2は、4つの方向からセレクタ14b−1へ入力された信号のうち出力する1つの信号を一定のロジックによって決定する。
 ここで、任意のメモリマクロ11から出力された読み出しデータ信号の下位ビットが4つの方向から下位ビット用スイッチ部14bへ入力された場合、出力する1つの読み出しデータ信号を選択論理回路14b−2が決定するロジックの一例を説明する。
 選択論理回路14b−2は、自身が属している下位ビット用スイッチファブリック14のチップ上での番地を記憶している。ここでは、下位ビット用スイッチファブリック14の図1B中の左右方向の番地をSXと表し、図中上下方向の番地をSYと表すこととする。
 また、選択論理回路14b−2は、読み出しデータ信号を出力するメモリマクロ11のチップ上での番地も認識している。これは、下位ビット用スイッチファブリック14には、読み出しデータ信号の出力を指示する際にロジックデバイス20から出力されたアドレス信号が入力されており、そのアドレス信号にはデータの読み出しを行わせるメモリマクロ11のチップ上での番地を示すマクロアドレスが含まれているからである。
 ここでは、読み出しデータ信号を出力するメモリマクロ11の図1B中の左右方向の番地をMXと表し、図1B中の上下方向の番地をMYと表すこととする。なお、自身が属している下位ビット用スイッチファブリック14が読み出しデータ信号を出力するメモリマクロ11と直接接続されている場合、MX=SXかつMY=SYとなる。ここで、Xは図1B中の左右方向を、Yは図1B中の上下方向をそれぞれ表す添え字である。また、図1B中の番地であるMX、SX、MY、SYはそれぞれ整数である。
 選択論理回路14b−2は、自身が属している下位ビット用スイッチファブリック14の番地を表すSX、SYと、読み出しデータ信号を出力するメモリマクロ11の番地を表すMX、MYとを比較する。その比較結果により、4つの方向から入力された読み出しデータ信号のうち出力する1つの読み出しデータ信号を選択する。
 実際には、4つの方向から読み出しデータ信号が入力されると、以下の(1)~(8)に示すような選択を行うように選択論理回路14b−2内にロジックを構築する。
 (1)SX<MX−1ならば、図中右側の上位ビット用スイッチファブリック13からの入力を選択
 (2)SX>MXならば、図中左側の上位ビット用スイッチファブリック13からの入力を選択
 (3)SX=MXかつSY<MYならば、図中上側の下位ビット用スイッチファブリック14からの入力を選択
 (4)SX=MXかつSY>MYならば、図中下側の下位ビット用スイッチファブリック14からの入力を選択
 (5)SX=MXかつSY=MYならば、メモリマクロ11からの入力を選択
 (6)SX=MX−1かつSY<MYならば、図中上側の下位ビット用スイッチファブリック14からの入力を選択
 (7)SX=MX−1かつSY>MYならば、図中下側の下位ビット用スイッチファブリック14からの入力を選択
 (8)SX=MX−1かつSY=MYならば、図中右側の上位ビット用スイッチファブリック13からの入力を選択
 以上が、4つの方向から入力された読み出しデータ信号のうち、出力する1つの読み出しデータ信号を選択するロジックの一例である。
 図9は、図7に示した下位ビット用スイッチファブリック14における上位ビット用スイッチ部14aの構成を示すブロック図である。上位ビット用スイッチ部14aでは、上述したように下位ビット用スイッチファブリック14へ入力されたメモリマクロ11の入出力データ信号のうち上位ビットが入力される。
 図7に示した上位ビット用スイッチ部14aは図9に示すように、セレクタ14a−1と、セレクタ14a−1と接続された選択論理回路14a−2とを備えている。なお、セレクタ14a−1は、信号の入出力方向毎に設けられており、それぞれのセレクタ14a−1に選択論理回路14a−2が接続されている。
 図9に示すように上位ビット用スイッチ部14aでは、全部で3つの方向の入力及び出力がある。これは、図7に示したように上位ビット用スイッチ部14aは、メモリマクロ11との接続以外に、図中左右の方向で隣接する上位ビット用スイッチファブリック13と行配線17で接続されているためである。そのため、上位ビット用スイッチ部14aは、信号の入出力方向の数と同じ3つのセレクタ14a−1及び選択論理回路14a−2を備えている。
 セレクタ14a−1は、自身が信号を出力する方向以外の2つの方向から入力された信号のうち、選択論理回路14a−2によって選択された1つの信号を出力する。
 選択論理回路14a−2は、2つの方向からセレクタ14a−1へ入力された信号のうち出力する1つの信号を一定のロジックによって決定する。
 ここで、任意のメモリマクロ11から出力された読み出しデータ信号の上位ビットが2つの方向から上位ビット用スイッチ部14aに入力された場合、出力する1つの読み出しデータ信号を選択論理回路14a−2が決定するロジックの一例を説明する。説明に際して、下位ビット用スイッチ部14bの選択論理回路14b−1が出力する1つの信号を決定する場合について説明したのと同様の表記を用いる。すなわち、選択論理回路14a−2が属している下位ビット用スイッチファブリック14の図1B中の左右方向の番地をSXと表し、図18中の上下方向の番地をSYと表すこととする。
 また、読み出しデータ信号を出力するメモリマクロ11の図1B中の左右方向の番地をMXと表し、図1B中の上下方向の番地をMYと表すこととする。
 選択論理回路14a−2は、自身が属している下位ビット用スイッチファブリック14の番地を表すSX、SYと、読み出しデータ信号を出力するメモリマクロ11の番地を表すMX、MYとを比較する。この比較結果より、2つの方向から入力された読み出しデータ信号のうち出力する1つの読み出しデータ信号を選択する。
 具体的には、2つの方向から読み出しデータ信号が入力されると、以下の(1)~(6)に示すような選択を行うように選択論理回路14a−2内にロジックを構築する。
 (1)SX<MX−1ならば、図中右側の上位ビット用スイッチファブリック13からの入力を選択
 (2)SX>MXならば、図中左側の上位ビット用スイッチファブリック13からの入力を選択
 (3)SX=MXかつSY<MYならば、図中左側の上位ビット用スイッチファブリック13からの入力を選択
 (4)SX=MXかつSY>MYならば、図中左側の上位ビット用スイッチファブリック13からの入力を選択
 (5)SX=MYかつSY=MYならば、メモリマクロ11からの入力を選択
 (6)SX=MX−1ならば、図中右側の上位ビット用スイッチファブリック13からの入力を選択
 以上が、2つの方向から入力された読み出しデータ信号のうち、出力する1つの読み出しデータ信号を選択するロジックの一例である。
 上述したように、下位ビット用スイッチファブリック14は、図1Bにおいて左右方向には、メモリマクロ11の入出力データ信号のうち上位ビット用と下位ビット用との両方の転送を行う。一方、図1B中の上下方向には下位ビット用スイッチファブリック14は、メモリマクロ11の入出力データ信号のうち下位ビットだけの転送を行う。
 なお、上位ビット用スイッチファブリック13及び下位ビット用スイッチファブリック14において、アドレス信号の転送方向を制御する回路と、コマンド信号の出力方向を制御する回路も上述のスイッチ部と同様の動作をする。すなわち、アドレス信号の転送方向を制御する回路と、コマンド信号の出力方向を制御する回路は、図1Bの上下方向では信号の上位ビットまたは下位ビットのみ転送する。ここで、アドレス信号とコマンド信号とは、ロジックデバイス20から半導体プログラマブルデバイス10のメモリマクロ11へ出力されればよく、メモリマクロ11からの出力は必要ない。従って、上位ビット用スイッチファブリック13及び下位ビット用スイッチファブリック14において、アドレス信号の転送方向を制御する回路と、コマンド信号の転送方向を制御する回路は、メモリマクロ11への信号の出力だけを行えればよい。
 また、上述した本実施形態では、メモリマクロ11を1kワード16ビットのSRAMメモリマクロとしたが、メモリマクロ11は任意のワード、ビット構成のものでも良い。
 また、上述した本実施形態では、メモリマクロ11内のメモリをSRAMとしたが、これをDRAM(Dynamic Random Access Memory)としても良い。DRAMは回路の面積が小さいために、より大容量のメモリを搭載できる。また、フラッシュメモリやMRAM(Magnetoresistive Random Access Memory)やReRAM(Resistance Random Access Memory)といった不揮発メモリとしても良い。不揮発メモリを使うことで、一時的に使われないメモリ領域の電源を止めて、省電力モードとすることが可能である。
 また、上述した本実施形態では、メモリマクロ11を4×4の2次元アレイとした場合について説明したが、この2次元アレイのサイズは、4×4の2次元アレイに限定されない。
 また、上述した本実施の形態では、図1Bにおいて図中の上下方向の列配線を上位ビット用列配線15または下位ビット用列配線16としたが、これを図中の左右方向の行配線17を上位ビット用の配線と下位ビット用の配線とに分けても同様の効果が得られる。
 この場合、行配線17が上位ビット用行配線、または下位ビット用行配線のいずれかとなる。そして、上位ビット用行配線上のスイッチファブリックは、第3の上位ビット用スイッチ部と、第3の下位ビット用スイッチ部とを備える。
 第3の上位ビット用スイッチ部は、列配線上で隣接するスイッチファブリック、上位ビット用行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する。
 第3の下位ビット用スイッチ部は、列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する。
 また、下位ビット用行配線上のスイッチファブリックは、第4の上位ビット用スイッチ部と、第4の下位ビット用スイッチ部とを備える。
 第4の下位ビット用スイッチ部は、列配線上で隣接するスイッチファブリック、下位ビット用行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する。
 第4の上位ビット用スイッチ部は、列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する。
 また、上述した本実施形態では、入出力データ信号を上位ビットと下位ビットとの半分に分割するものとして説明したが、信号の分割の比率は半分ずつに限定されるものではなく、他の比率で分割しても良い。
 また、上述した本実施形態では、上位ビット用スイッチファブリック13及び下位ビット用スイッチファブリック14のようにスイッチファブリックを上位ビット用または下位ビット用に固定した場合について説明したが、スイッチファブリックを上位ビット用または下位ビット用に固定しないことも可能である。
 図10は、本実施形態の別のスイッチファブリックの一例である、上位ビット用または下位ビット用に固定されないスイッチファブリックの構成を示すブロック図である。
 図10に示すスイッチファブリック33は、行配線からの信号のみ入力される列配線無し用スイッチ部33aと、行配線及び列配線からの信号が入力される列配線有り用スイッチ部33bと、セレクタ33cとを備えている。
 図10に示すスイッチファブリック33は、セレクタ33cを備えることにより、スイッチファブリック33内において上位ビット用の配線と下位ビット用の配線とを入れ替えることができる。そのため、上位ビットと下位ビットとを切り替えながら図中の上下方向に転送することが可能となる。つまり、スイッチファブリック33は、上位ビット用のスイッチファブリックとしても、下位ビット用のスイッチファブリックとしても動作することができる。
 このように本実施形態においては、メモリマクロ11の入出力データ信号のうち上位ビットを上位ビット用列配線15で転送し、下位ビットを下位ビット用列配線16で転送している。これにより、それぞれの配線で転送されるビット数が削減され、配線の面積を小さくすることができる。これにより、チップ上に必要十分な配線数を確保することができるため、別途、配線層を追加する必要がなく、配線層の追加による製造コストの増加を回避することができる。
 また、上位ビット用スイッチファブリック13及び下位ビット用スイッチファブリック14において上位ビットまたは下位ビットを列方向に転送しないため、列方向に信号を出力するためのセレクタの数を削減することができる。これにより、上位ビット用スイッチファブリック13及び下位ビット用スイッチファブリック14の面積を小さくすることができる。
 [第2の実施形態]
 次に、本発明の第2の実施形態について説明する。第1の実施形態では、本発明の半導体プログラマブルデバイスとロジックデバイスとが同一のチップ上に集積されている半導体集積回路装置について説明した。本実施形態では、本発明の半導体プログラマブルデバイスとロジックデバイスとをそれぞれ別のチップ上に集積し、それらのチップを積層することにより半導体集積回路装置を構成した。
 図11は、本発明の半導体プログラマブルデバイスを備えた第2の実施形態に係る半導体集積回路装置の構成を示すブロック図である。本実施形態の半導体集積回路装置では、半導体プログラマブルデバイス50とロジックデバイス60とが積層されている。
 第1の実施形態で説明した半導体集積回路装置は、図1Bに示すように、半導体プログラマブルデバイス10とロジックデバイス20とが同一のチップ上に集積されていたため、メモリ入出力部12がメモリマクロ11の周囲に配列されていた。
 それに対して本実施形態では、図11に示すように、半導体プログラマブルデバイス50とロジックデバイス60とを別のチップ上に集積し、それらのチップを積層することとしているので、半導体プログラマブルデバイス50の内部にメモリ入出力部52をメモリマクロ51毎に配置することができる。
 この場合、半導体プログラマブルデバイス50とロジックデバイス60との間の入出力データ信号の転送は、メモリマクロ51毎に設けられたメモリ入出力部52とロジック入出力部62とを介して行われる。つまり、メモリ入出力部52が複数のメモリマクロ51の間で共有されることはないため、第1の実施形態で説明した半導体集積回路装置に比べ、半導体プログラマブルデバイス50とロジックデバイス60との間の入出力データ信号の転送量を大きくすることが可能となる。
 [第3の実施形態]
 次に、本発明の第3の実施形態について説明する。第1の実施形態及び第2の実施形態では、本発明の半導体プログラマブルデバイスがメモリマクロで構成される場合について説明した。第3の実施形態では、本発明の半導体プログラマブルデバイスがプロセッサで構成される場合について説明する。つまり、本実施形態においてはプロセッサが回路ブロックとなる。
 図12は、本発明の半導体プログラマブルデバイス80を備えた第3の実施形態に係る半導体集積回路装置の構成を示すブロック図である。図12に示す半導体集積回路装置は、図1Bに示した半導体集積回路装置と比べると、図1Bに示した半導体プログラマブルデバイス10のメモリマクロ11がプロセッサ81となっている点が異なっている。そして、半導体プログラマブルデバイス80の周囲にメモリマクロ91からなるメモリデバイス90が配置され、プロセッサ入出力部82を介して互いに接続されている。なお、プロセッサ81は例えば、16ビットのRISC(Reduced Instruction Set Computer)プロセッサである。
 本実施形態のように回路ブロックがメモリからプロセッサに代わっても、第1の実施形態で説明したのと同様に、プロセッサ81の入出力データ信号のうち上位ビットを上位ビット用列配線85で転送し、下位ビットを下位ビット用列配線86で転送している。これにより、それぞれの配線で転送されるビット数が削減され、配線の面積を小さくすることができる。これにより、チップ上に必要十分な配線数を確保することができるため、別途、配線層を追加する必要がなく、配線層の追加による製造コストの増加を回避することができる。
 また、上位ビット用スイッチファブリック83及び下位ビット用スイッチファブリック84において上位ビットまたは下位ビットを列方向に転送しないため、列方向に信号を出力するためのセレクタの数を削減することができる。これにより、上位ビット用スイッチファブリック83及び下位ビット用スイッチファブリック84の面積を小さくすることができる。
 [第4の実施形態]
 本発明の第4の実施形態に係る半導体プログラマブルデバイスは、チップ上に敷設された複数の行配線と複数の列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスであって、列配線は、回路ブロックで入出力されるデータ信号を上位ビットと下位ビットとに分割したうちの上位ビットを転送するための上位ビット用列配線、または下位ビットを転送するための下位ビット用列配線のいずれかとなり、上位ビット用列配線上のスイッチファブリックは、行配線上で隣接するスイッチファブリック、上位ビット用列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する第1の上位ビット用スイッチ部と、行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する第1の下位ビット用スイッチ部とを有し、下位ビット用列配線上のスイッチファブリックは、行配線上で隣接するスイッチファブリック、下位ビット用列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する第2の下位ビット用スイッチ部と、行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する第2の上位ビット用スイッチ部とを有する。
 [第5の実施形態]
 本発明の第5の実施形態に係る半導体プログラマブルデバイスにおける信号転送方法は、チップ上に敷設された複数の行配線と複数の列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスにおける信号転送方法であって、列配線は、回路ブロックで入出力されるデータ信号を上位ビットと下位ビットとに分割したうちの上位ビットを転送するための上位ビット用列配線、または下位ビットを転送するための下位ビット用列配線のいずれかとなり、上位ビット用列配線上のスイッチファブリックが、行配線上で隣接するスイッチファブリック、上位ビット用列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する処理と、上位ビット用列配線上のスイッチファブリックが、行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する処理と、下位ビット用列配線上のスイッチファブリックが、行配線上で隣接するスイッチファブリック、下位ビット用列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する処理と、下位ビット用列配線上のスイッチファブリックが、行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する処理とを有する。
 本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものであることはいうまでもない。
 この出願は、2008年9月16日に出願された日本出願特願2008−236782を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Embodiments of the present invention will be described below with reference to the drawings.
[First Embodiment]
FIG. 1A is a block diagram showing a configuration of a semiconductor programmable device according to the first embodiment of the present invention. The semiconductor programmable device 10 includes a plurality of row wirings and a plurality of column wirings arranged on a chip, and a plurality of switch fabrics that transfer input data signals at intersections of the row wirings and the column wirings. A circuit block is directly connected to each switch fabric, and each circuit block inputs and outputs data signals via the switch fabric.
Here, either the row wiring or the column wiring is configured to transfer only one data signal group of the first data signal group and the second data signal group constituting the data signal. ing. The other of the column wiring and the row wiring is configured to transfer both the first data signal group and the second data signal group.
In the present embodiment, the memory macro 11 is used as the circuit block, the upper bits of the data signal are used as the first data signal group, and the lower bits of the data signal are used as the second data signal group. Further, in the present embodiment, as shown in FIG. 1A, the column wiring is composed of the upper bit column wiring 15 for transferring only the upper bit and the lower bit column wiring 16 for transferring only the lower bit, and the row wiring 17 Is configured to transfer both upper and lower bits. At this time, the upper bit switch fabric 13 is arranged on the upper bit column wiring 15 and the lower bit switch fabric 14 is arranged on the lower bit column wiring 16.
In the semiconductor programmable device 10 according to the present embodiment, the data signal read from the memory macro 11 is divided into upper bits and lower bits by the upper bit switch fabric 13 and the lower bit switch fabric 14. The upper bits are transferred by the upper bit column wiring 15 and the row wiring 17, and the lower bits are transferred by the lower bit column wiring 16 and the row wiring 17, respectively.
Therefore, according to the present embodiment, the number of bits of the column wiring can be halved, and the configuration of the upper bit switch fabric 13 and the lower bit switch fabric 14 can be simplified. As a result, the area overhead caused by the switch fabric and the column wiring can be reduced, and a high-performance semiconductor programmable device can be obtained at low cost.
[Second Embodiment]
FIG. 1B is a block diagram showing a configuration of a semiconductor integrated circuit device including the semiconductor programmable device according to the first embodiment of the present invention. The semiconductor integrated circuit device shown in FIG. 1B includes a semiconductor programmable device 10 and a logic device 20.
The semiconductor programmable device 10 includes a memory macro 11, which is a circuit block, a memory input / output unit 12, a switch fabric 13 for upper bits, and a switch fabric 14 for lower bits.
In the semiconductor programmable device 10 shown in FIG. 1B, 16 memory macros 11 are arranged in a 4 × 4 two-dimensional array. Each of the memory macros 11 is directly connected to the upper bit switch fabric 13 or the lower bit switch fabric 14.
Further, in the semiconductor programmable device 10 shown in FIG. 1B, a plurality of wirings are laid in the row direction and the column direction. Specifically, upper bit column wirings 15 and lower bit column wirings 16 are alternately laid in the vertical direction in the figure, and row wirings 17 are laid in the horizontal direction in the figure.
The upper bit column wiring 15 is a wiring for transferring higher bits of a signal transferred in the semiconductor integrated circuit device of the present embodiment, and the lower bit column wiring 16 is a semiconductor integrated circuit of the present embodiment. It is a wiring for transferring lower bits of a signal transferred in the apparatus.
The memory macro 11 includes, for example, a 1 k word SRAM (Static Random Access Memory) macro, and writes a write data signal output from the logic device 20 to a memory cell or outputs a read data signal to the logic device 20. .
FIG. 2 is a block diagram showing a configuration of the memory macro 11 of the semiconductor programmable device 10 shown in FIG. 1B.
As shown in FIG. 2, the memory macro 11 shown in FIG. 1B includes a control unit 11a, a memory cell array 11g, an address decoder 11b, a word line driver 11c, a sense amplifier 11d, a write buffer 11e, and a read buffer 11f. And. Here, the address decoder 11b controls access to the corresponding memory cell in the write and read operations of the memory cell in the memory cell array 11g. The word line driver 11c controls the word line connected to each of the memory cells in the memory cell array 11g, and the sense amplifier 11d amplifies the signal. The operation of the control unit 11a will be described later.
The memory input / output unit 12 illustrated in FIG. 1B mediates signal input / output between the memory macro 11 and the logic device 20. FIG. 3 is a block diagram showing a configuration of the memory input / output unit 12 of the semiconductor programmable device 10 shown in FIG. 1B.
As shown in FIG. 3, the memory input / output unit 12 receives a 16-bit read data signal from the memory macro 11 via the upper bit switch fabric 13 and the lower bit switch fabric 14 and outputs the data to the logic device 20. Is done. Further, a 16-bit write data signal, a 14-bit address signal, and a 2-bit command signal from the logic device 20 are input and output to the switch fabrics 13 and 14.
Here, as an example of signal input / output between the logic device 20 and the semiconductor programmable device 10, a case of instructing reading of a data signal from the logic device 20 to the semiconductor programmable device 10 is described with reference to FIGS. 1B to 3. explain.
The logic device 20 instructing to read data outputs a command signal and an address signal to the memory input / output unit 12 as shown in FIG. The command signal and the address signal are input to all the memory macros 11 in the semiconductor programmable device 10 (see FIG. 1B) via the memory input / output unit 12. Here, the command signal indicates a data read instruction.
The control unit 11a (see FIG. 2) of the memory macro 11 to which the command signal and the address signal are input, stores its own address stored in advance, and the address of the memory macro 11 to be read from the data indicated by the address signal. Compare Here, the address signal is composed of a total of 14 bits including a 4-bit memory macro address for designating the memory macro 11 and a 10-bit word address for designating the word address in the memory macro 11. ing.
When the memory macro address of the address signal matches its own address stored in advance by the control unit 11a, the control unit 11a reads data from the memory cell indicated by the word address in the memory cell array 11g. This is because the command signal indicates a data read instruction here. Then, the control unit 11a outputs the read data as a read data signal from the read buffer 11f.
The read data signal output from the memory macro 11 is transferred by the upper bit switch fabric 13 and the lower bit switch fabric 14 and output to the logic device 20 via the memory input / output unit 12. The signal transfer method by the upper bit switch fabric 13 and the lower bit switch fabric 14 will be described later.
The above is an example of signal input / output between the logic device 20 and the semiconductor programmable device 10. Hereinafter, the write data signal input to the memory macro 11 and the read data signal output from the memory macro 11 are collectively referred to as “input / output data signal of the memory macro 11”.
The upper bit switch fabric 13 is provided at the intersection of the upper bit column wiring 15 and the row wiring 17. The upper bit switch fabric 13 controls the transfer direction of a plurality of signals input from the adjacent upper bit switch fabric 13, the adjacent lower bit switch fabric 14, and the directly connected memory macro 11.
The lower bit switch fabric 14 is provided at the intersection of the lower bit column wiring 16 and the row wiring 17. The lower bit switch fabric 14 controls the transfer direction of a plurality of signals input from the adjacent upper bit switch fabric 13, the adjacent lower bit switch fabric 14, and the directly connected memory macro 11.
FIG. 4 is a block diagram showing a configuration of the upper bit switch fabric 13 shown in FIG. 1B. As shown in FIG. 4, the upper bit switch fabric 13 includes an upper bit switch unit 13a that is a first upper bit switch unit and a lower bit switch unit 13b that is a first lower bit switch unit. I have.
In the upper bit switch fabric 13, when the input / output data signal of the memory macro 11 is input, the upper bits of the input / output data signal of the memory macro 11 are input to the upper bit switch unit 13 a. Are input to the lower bit switch unit 13b.
For example, in the upper bit switch fabric 13, when a 16-bit read data signal from the memory macro 11 is input as shown in FIG. 4, the upper 8 bits of the input read data signal are converted into the upper bit switch unit. 13a. On the other hand, the lower 8 bits of the input read data signal are input to the lower bit switch unit 13b. Further, as shown in FIG. 4, the 8-bit signal output from the upper bit switch unit 13a and the 8-bit signal output from the lower bit switch unit 13b are merged, and the memory macro is used as a write data signal. 11 is input.
The upper bit switch unit 13a controls the output destination of the upper bits of the input / output data signal of the memory macro 11 input to the upper bit switch fabric 13 by the selection logic circuit.
The lower bit switch unit 13b controls the output destination of the lower bits of the input / output data signal of the memory macro 11 input to the upper bit switch fabric 13 by the selection logic circuit. A selection logic circuit for controlling the output destination of the upper bit or the lower bit will be described later.
FIG. 5 is a block diagram showing a configuration of the upper bit switch section 13a in the upper bit switch fabric 13 shown in FIG. As described above, the upper bits of the input / output data signal of the memory macro 11 input to the upper bit switch fabric 13 are input to the upper bit switch unit 13a.
As shown in FIG. 5, the upper bit switch unit 13a shown in FIG. 4 includes a selector 13a-1 and a selection logic circuit 13a-2 connected to the selector 13a-1. The selector 13a-1 is provided in each signal input / output direction, and a selection logic circuit 13a-2 is connected to each selector 13a-1.
As shown in FIG. 5, the upper bit switch unit 13a has inputs and outputs in a total of five directions. As shown in FIG. 4, in addition to the connection with the memory macro 11, the upper bit switch unit 13a is connected with the upper bit switch fabric 13 and the upper bit column wiring 15 in the vertical direction in the figure. This is because, in the left-right direction in the figure, it is connected to the adjacent lower bit switch fabric 14 by the row wiring 17. Therefore, the upper bit switch unit 13a includes five selectors 13a-1 and selection logic circuits 13a-2, which are the same as the number of signals in the input / output direction.
The selector 13a-1 outputs one signal selected by the selection logic circuit 13a-2 among the signals input from four directions other than the direction in which the signal is output.
The selection logic circuit 13a-2 determines one signal to be output from signals input to the selector 13a-1 from four directions by a certain logic.
Here, when the upper bits of the read data signal output from any memory macro 11 are input to the upper bit switch unit 13a from four directions, the selection logic circuit 13a-2 selects one read data signal to be output. An example of logic to be determined will be described.
The selection logic circuit 13a-2 stores the address on the chip of the upper bit switch fabric 13 to which the selection logic circuit 13a-2 belongs. Here, the left-right address in FIG. 1B of the upper bit switch fabric 13 is represented as SX, and the up-down address in FIG. 1B is represented as SY.
The selection logic circuit 13a-2 also recognizes the address on the chip of the memory macro 11 that outputs the read data signal. This is because the upper bit switch fabric 13 receives an address signal output from the logic device 20 when instructing the output of the read data signal, and the memory macro that causes the address signal to read data. This is because a macro address indicating an address on 11 chips is included.
Here, the horizontal address in FIG. 1B of the memory macro 11 that outputs the read data signal is represented as MX, and the vertical address in FIG. 1B is represented as MY. Note that when the upper bit switch fabric 13 to which it belongs is directly connected to the memory macro 11 that outputs the read data signal, MX = SX and MY = SY. Here, M represents a memory macro, S represents an upper bit switch fabric, X represents a left-right direction in FIG. 1B, and Y is a subscript representing a vertical direction in FIG. 1B. Further, the addresses MX, SX, MY, and SY in FIG. 1B are integers.
The selection logic circuit 13a-2 compares SX and SY indicating the address of the upper bit switch fabric 13 to which the selection logic circuit 13a-2 belongs with MX and MY indicating the address of the memory macro 11 that outputs the read data signal. Of the read data signals input from the four directions, one read data signal to be output is determined.
Actually, when a read data signal is input from four directions, the selection logic circuit 13a-2 constructs a logic so as to perform selection as shown in the following (1) to (8).
(1) If SX <MX-1, the input from the lower bit switch fabric 14 on the right side of the figure is selected.
(2) If SX> MX, select input from switch fabric 14 for lower bits on the left side of the figure
(3) If SX = MX and SY <MY, the input from the upper bit switch fabric 13 is selected.
(4) If SX = MX and SY> MY, the input from the lower bit switch fabric 13 in the figure is selected.
(5) If SX = MX and SY = MY, select input from memory macro 11
(6) If SX = MX-1 and SY <MY, the input from the upper bit switch fabric 13 is selected.
(7) If SX = MX-1 and SY> MY, select the input from the upper bit switch fabric 13 in the lower part of the figure.
(8) If SX = MX-1 and SY = MY, select input from switch fabric 14 for lower bits on the right side of the figure
The above is an example of logic for selecting one read data signal to be output from read data signals input from four directions. The present invention is not limited to this, and any logic can be used in the present embodiment as long as it is a logic that transfers data signals within a matrix in a matrix in which column wirings for transferring data in the vertical direction in the matrix are arranged at predetermined intervals. .
FIG. 6 is a block diagram showing a configuration of the lower bit switch unit 13b in the upper bit switch fabric 13 shown in FIG. In the lower bit switch unit 13b, as described above, the lower bits of the input / output data signal of the memory macro 11 input to the upper bit switch fabric 13 are input.
As shown in FIG. 6, the lower-bit switch unit 13b shown in FIG. 4 includes a selector 13b-1 and a selection logic circuit 13b-2 connected to the selector 13b-1. The selector 13b-1 is provided for each signal input / output direction, and a selection logic circuit 13b-2 is connected to each selector 13b-1.
As shown in FIG. 6, the lower bit switch unit 13b has inputs and outputs in a total of three directions. As shown in FIG. 4, in addition to the connection with the memory macro 11, the lower bit switch unit 13 b is connected to the lower bit switch fabric 14 adjacent in the left and right directions in the figure by the row wiring 17. Because. Therefore, the lower-bit switch unit 13b includes the same three selectors 13b-1 and selection logic circuits 13b-2 as the number of signals in the input / output direction.
The selector 13b-1 outputs one signal selected by the selection logic circuit 13b-2 among the signals input from two directions other than the direction in which the signal is output.
The selection logic circuit 13b-2 determines one signal to be output from signals input to the selector 13b-1 from two directions by a certain logic.
Here, when the lower bit of the read data signal output from the arbitrary memory macro 11 is input to the lower bit switch unit 13b from two directions, the selection logic circuit 13b-2 selects one read data signal to be output. An example of logic to be determined will be described.
In the same manner as described in the case of determining one signal output from the selection logic circuit 13a-1 of the upper bit switch unit 13a, the upper bit switch fabric 13 to which the selection logic circuit 13b-2 belongs is described. The address in the left-right direction in FIG. 1B is represented as SX, and the address in the vertical direction in FIG. 1B is represented as SY. In addition, the horizontal address in FIG. 1B of the memory macro 11 that outputs the read data signal is represented as MX, and the vertical address in FIG. 1B is represented as MY.
The selection logic circuit 13b-2 compares SX and SY indicating the address of the upper bit switch fabric 13 to which the selection logic circuit 13b-2 belongs with MX and MY indicating the address of the memory macro 11 that outputs the read data signal. One read data signal to be output is selected from read data signals input from two directions.
Specifically, when read data signals are input from two directions, a logic is constructed in the selection logic circuit 13b-2 so as to perform selection as shown in the following (1) to (6).
(1) If SX <MX-1, the input from the lower bit switch fabric 14 on the right side of the figure is selected.
(2) If SX> MX, select input from switch fabric 14 for lower bits on the left side of the figure
(3) If SX = MX and SY <MY, select the input from the lower bit switch fabric 14 on the left side of the figure.
(4) If SX = MX and SY> MY, select the input from the lower bit switch fabric 14 on the left side of the figure.
(5) If SX = MY and SY = MY, select input from memory macro 11
(6) If SX = MX-1, select input from lower bit switch fabric 14 on the right side of the figure
The above is an example of logic for selecting one read data signal to be output from read data signals input from two directions.
As described above, the upper bit switch fabric 13 transfers both the upper bit and the lower bit of the input / output data signal of the memory macro 11 in the horizontal direction in FIG. 1B. Only the upper bits of the input / output data signal of the memory macro 11 are transferred in the middle and up and down directions.
FIG. 7 is a block diagram showing the configuration of the lower-bit switch fabric 14 shown in FIG. 1B. As shown in FIG. 7, the lower bit switch fabric 14 includes an upper bit switch unit 14a that is a second upper bit switch unit and a lower bit switch unit 14b that is a second lower bit switch unit. I have.
In the lower bit switch fabric 14, when an input / output data signal of the memory macro 11 is input, an upper bit of the input / output data signal of the memory macro 11 is input to the upper bit switch unit 14a. Are input to the lower bit switch section 14b.
For example, in the lower bit switch fabric 14, when a 16-bit read data signal is input from the memory macro 11 as shown in FIG. 7, the upper 8 bits of the input read data signal are used as the upper bit switch unit. The lower 8 bits are input to the lower bit switch unit 14b. Further, as shown in FIG. 7, the 8-bit signal output from the upper bit switch unit 14a and the 8-bit signal output from the lower bit switch unit 14b are merged to generate a memory macro as a write data signal. 11 is output.
The upper bit switch unit 14 a controls the output destination of the upper bits of the input / output data signal of the memory macro 11 input to the lower bit switch fabric 14 by the selection logic circuit.
The lower bit switch unit 14b controls the output destination of the lower bits of the input / output data signal of the memory macro 11 input to the lower bit switch fabric 14 by the selection logic circuit. A selection logic circuit for controlling the output destination of the upper bit or the lower bit will be described later.
FIG. 8 is a block diagram showing a configuration of the lower-bit switch unit 14b in the lower-bit switch fabric 14 shown in FIG. As described above, the lower bit of the input / output data signal of the memory macro 11 input to the lower bit switch fabric 14 is input to the lower bit switch unit 14b.
As shown in FIG. 8, the lower-bit switch unit 14b shown in FIG. 7 includes a selector 14b-1 and a selection logic circuit 14b-2 connected to the selector 14b-1. The selector 14b-1 is provided for each signal input / output direction, and a selection logic circuit 14b-2 is connected to each selector 14b-1.
As shown in FIG. 8, the lower-bit switch unit 14b has inputs and outputs in a total of five directions. As shown in FIG. 7, in addition to the connection with the memory macro 11, the lower bit switch section 14b is connected with the lower bit switch fabric 14 and the lower bit column wiring 16 in the vertical direction in the figure. . Further, the lower bit switch section 14b is connected to the adjacent upper bit switch fabric 13 by the row wiring 17 in the left-right direction in the figure. Therefore, the lower-bit switch unit 14b includes five selectors 14b-1 and selection logic circuits 14b-2, which are the same as the number of signals in the input / output direction.
The selector 14b-1 outputs one signal selected by the selection logic circuit 14b-2 among the signals input from four directions other than the direction in which the selector 14b outputs a signal.
The selection logic circuit 14b-2 determines one signal to be output among signals input to the selector 14b-1 from four directions by a certain logic.
When the lower bits of the read data signal output from any memory macro 11 are input to the lower bit switch unit 14b from four directions, the selection logic circuit 14b-2 selects one read data signal to be output. An example of logic to be determined will be described.
The selection logic circuit 14b-2 stores the address on the chip of the lower-bit switch fabric 14 to which the selection logic circuit 14b-2 belongs. Here, the address in the left-right direction in FIG. 1B of the switch fabric 14 for lower bits is represented as SX, and the address in the up-down direction in the figure is represented as SY.
The selection logic circuit 14b-2 also recognizes the address on the chip of the memory macro 11 that outputs the read data signal. This is because the lower bit switch fabric 14 is supplied with the address signal output from the logic device 20 when instructing the output of the read data signal, and the address macro reads the data from the memory macro. This is because a macro address indicating an address on 11 chips is included.
Here, the horizontal address in FIG. 1B of the memory macro 11 that outputs the read data signal is represented as MX, and the vertical address in FIG. 1B is represented as MY. When the lower-bit switch fabric 14 to which it belongs is directly connected to the memory macro 11 that outputs the read data signal, MX = SX and MY = SY. Here, X is a subscript representing the left-right direction in FIG. 1B, and Y is a subscript representing the vertical direction in FIG. 1B. Further, the addresses MX, SX, MY, and SY in FIG. 1B are integers.
The selection logic circuit 14b-2 compares SX and SY indicating the address of the lower-bit switch fabric 14 to which the selection logic circuit 14b-2 belongs and MX and MY indicating the address of the memory macro 11 that outputs the read data signal. Based on the comparison result, one read data signal to be output is selected from the read data signals input from the four directions.
Actually, when read data signals are input from four directions, a logic is constructed in the selection logic circuit 14b-2 so as to perform selection as shown in the following (1) to (8).
(1) If SX <MX-1, the input from the upper bit switch fabric 13 on the right side of the figure is selected.
(2) If SX> MX, select input from switch fabric 13 for upper bits on the left side of the figure
(3) If SX = MX and SY <MY, the input from the lower bit switch fabric 14 in the upper part of the figure is selected.
(4) If SX = MX and SY> MY, the input from the lower-order bit switch fabric 14 is selected.
(5) If SX = MX and SY = MY, select input from memory macro 11
(6) If SX = MX-1 and SY <MY, the input from the lower bit switch fabric 14 in the upper part of the figure is selected.
(7) If SX = MX-1 and SY> MY, the input from the lower-order bit switch fabric 14 in the figure is selected.
(8) If SX = MX-1 and SY = MY, select the input from the upper bit switch fabric 13 on the right side of the figure.
The above is an example of logic for selecting one read data signal to be output from read data signals input from four directions.
FIG. 9 is a block diagram showing a configuration of the upper bit switch section 14a in the lower bit switch fabric 14 shown in FIG. In the upper bit switch section 14a, the upper bits of the input / output data signal of the memory macro 11 input to the lower bit switch fabric 14 are input as described above.
As shown in FIG. 9, the upper bit switch unit 14a shown in FIG. 7 includes a selector 14a-1 and a selection logic circuit 14a-2 connected to the selector 14a-1. The selector 14a-1 is provided in each signal input / output direction, and a selection logic circuit 14a-2 is connected to each selector 14a-1.
As shown in FIG. 9, the upper bit switch unit 14a has inputs and outputs in a total of three directions. As shown in FIG. 7, in addition to the connection with the memory macro 11, the upper bit switch unit 14a is connected to the upper bit switch fabric 13 adjacent in the left and right direction in the figure by the row wiring 17. Because. Therefore, the upper bit switch unit 14a includes the same three selectors 14a-1 and selection logic circuits 14a-2 as the number of signals in the input / output direction.
The selector 14a-1 outputs one signal selected by the selection logic circuit 14a-2 among the signals input from two directions other than the direction in which the signal is output.
The selection logic circuit 14a-2 determines one signal to be output from signals input to the selector 14a-1 from two directions by a certain logic.
Here, when the upper bit of the read data signal output from the arbitrary memory macro 11 is input to the upper bit switch unit 14a from two directions, the selection logic circuit 14a-2 selects one read data signal to be output. An example of logic to be determined will be described. In the description, the same notation as described in the case of determining one signal output from the selection logic circuit 14b-1 of the lower-bit switch unit 14b is used. That is, the left-right address in FIG. 1B of the lower-bit switch fabric 14 to which the selection logic circuit 14a-2 belongs is represented as SX, and the up-down address in FIG. 18 is represented as SY.
In addition, the horizontal address in FIG. 1B of the memory macro 11 that outputs the read data signal is represented as MX, and the vertical address in FIG. 1B is represented as MY.
The selection logic circuit 14a-2 compares SX and SY indicating the address of the lower bit switch fabric 14 to which it belongs and MX and MY indicating the address of the memory macro 11 that outputs the read data signal. From this comparison result, one read data signal to be output is selected from the read data signals input from two directions.
Specifically, when read data signals are input from two directions, a logic is constructed in the selection logic circuit 14a-2 so as to perform selection as shown in the following (1) to (6).
(1) If SX <MX-1, the input from the upper bit switch fabric 13 on the right side of the figure is selected.
(2) If SX> MX, select input from switch fabric 13 for upper bits on the left side of the figure
(3) If SX = MX and SY <MY, the input from the upper bit switch fabric 13 on the left side of the figure is selected.
(4) If SX = MX and SY> MY, the input from the upper bit switch fabric 13 on the left side of the figure is selected.
(5) If SX = MY and SY = MY, select input from memory macro 11
(6) If SX = MX-1, the input from the upper bit switch fabric 13 on the right side of the figure is selected.
The above is an example of logic for selecting one read data signal to be output from read data signals input from two directions.
As described above, the lower bit switch fabric 14 transfers both the upper bit and the lower bit of the input / output data signal of the memory macro 11 in the horizontal direction in FIG. 1B. On the other hand, in the vertical direction in FIG. 1B, the lower bit switch fabric 14 transfers only the lower bits of the input / output data signal of the memory macro 11.
In the upper bit switch fabric 13 and the lower bit switch fabric 14, the circuit for controlling the transfer direction of the address signal and the circuit for controlling the output direction of the command signal also operate in the same manner as the above-described switch unit. That is, the circuit for controlling the transfer direction of the address signal and the circuit for controlling the output direction of the command signal transfer only the upper bit or the lower bit of the signal in the vertical direction of FIG. 1B. Here, the address signal and the command signal may be output from the logic device 20 to the memory macro 11 of the semiconductor programmable device 10, and output from the memory macro 11 is not necessary. Therefore, in the upper bit switch fabric 13 and the lower bit switch fabric 14, the circuit that controls the transfer direction of the address signal and the circuit that controls the transfer direction of the command signal can only output the signal to the memory macro 11. Just do it.
In the above-described embodiment, the memory macro 11 is an SRAM memory macro having 1 k words and 16 bits. However, the memory macro 11 may have an arbitrary word and bit configuration.
In the present embodiment described above, the memory in the memory macro 11 is an SRAM. However, this may be a DRAM (Dynamic Random Access Memory). Since DRAM has a small circuit area, a larger capacity memory can be mounted. Moreover, it is good also as non-volatile memories, such as flash memory, MRAM (Magnetorescent Random Access Memory), and ReRAM (Resistance Random Access Memory). By using the non-volatile memory, it is possible to stop the power supply of the memory area that is not used temporarily and enter the power saving mode.
In the above-described embodiment, the case where the memory macro 11 is a 4 × 4 two-dimensional array has been described. However, the size of the two-dimensional array is not limited to the 4 × 4 two-dimensional array.
In the embodiment described above, the column wiring in the vertical direction in FIG. 1B is the column wiring 15 for upper bits or the column wiring 16 for lower bits in FIG. 1B. The same effect can be obtained by separating the upper bit wiring and the lower bit wiring.
In this case, the row wiring 17 is either the upper bit row wiring or the lower bit row wiring. The switch fabric on the upper bit row wiring includes a third upper bit switch unit and a third lower bit switch unit.
The third upper bit switch unit transfers upper bits to the switch fabric adjacent on the column wiring, the switch fabric adjacent on the upper bit row wiring, and the directly connected circuit block.
The third lower bit switch unit transfers the lower bits to the switch fabric adjacent on the column wiring and the directly connected circuit block.
The switch fabric on the lower bit row wiring includes a fourth upper bit switch unit and a fourth lower bit switch unit.
The fourth lower bit switch unit transfers the lower bits to the switch fabric adjacent on the column wiring, the switch fabric adjacent on the lower bit row wiring, and the directly connected circuit block.
The fourth upper bit switch unit transfers the upper bits to the switch fabric adjacent on the column wiring and the directly connected circuit block.
In the above-described embodiment, the input / output data signal has been described as being divided into half of the upper bits and the lower bits. However, the signal division ratio is not limited to half, and other ratios are possible. You may divide by.
In the above-described embodiment, the case where the switch fabric is fixed to the upper bit or the lower bit as in the upper bit switch fabric 13 and the lower bit switch fabric 14 has been described. However, the switch fabric is used for the upper bit. Alternatively, it is possible not to fix for the lower bits.
FIG. 10 is a block diagram illustrating a configuration of a switch fabric that is an example of another switch fabric according to the present embodiment and is not fixed for upper bits or lower bits.
The switch fabric 33 shown in FIG. 10 includes a switch unit 33a for no column wiring that receives only signals from the row wiring, a switch unit 33b for column wiring that receives signals from the row wiring and the column wiring, and a selector 33c. And.
The switch fabric 33 shown in FIG. 10 includes the selector 33c, so that the upper bit wiring and the lower bit wiring can be switched in the switch fabric 33. Therefore, it is possible to transfer in the vertical direction in the figure while switching between the upper bit and the lower bit. That is, the switch fabric 33 can operate as both a high-order bit switch fabric and a low-order bit switch fabric.
As described above, in this embodiment, the upper bits of the input / output data signal of the memory macro 11 are transferred by the upper bit column wiring 15 and the lower bits are transferred by the lower bit column wiring 16. Thereby, the number of bits transferred by each wiring is reduced, and the area of the wiring can be reduced. As a result, a necessary and sufficient number of wires can be secured on the chip, so that it is not necessary to add a separate wiring layer, and an increase in manufacturing cost due to the addition of the wiring layer can be avoided.
In addition, since the upper bit or lower bit is not transferred in the column direction in the upper bit switch fabric 13 and the lower bit switch fabric 14, the number of selectors for outputting a signal in the column direction can be reduced. Thereby, the areas of the upper bit switch fabric 13 and the lower bit switch fabric 14 can be reduced.
[Second Embodiment]
Next, a second embodiment of the present invention will be described. In the first embodiment, the semiconductor integrated circuit device in which the semiconductor programmable device and the logic device of the present invention are integrated on the same chip has been described. In this embodiment, the semiconductor programmable device and the logic device of the present invention are integrated on different chips, and the semiconductor integrated circuit device is configured by stacking these chips.
FIG. 11 is a block diagram showing a configuration of a semiconductor integrated circuit device according to the second embodiment including the semiconductor programmable device of the present invention. In the semiconductor integrated circuit device of this embodiment, the semiconductor programmable device 50 and the logic device 60 are stacked.
In the semiconductor integrated circuit device described in the first embodiment, as shown in FIG. 1B, the semiconductor programmable device 10 and the logic device 20 are integrated on the same chip. Was arranged around.
On the other hand, in the present embodiment, as shown in FIG. 11, the semiconductor programmable device 50 and the logic device 60 are integrated on different chips, and these chips are stacked. In addition, the memory input / output unit 52 can be arranged for each memory macro 51.
In this case, the transfer of input / output data signals between the semiconductor programmable device 50 and the logic device 60 is performed via the memory input / output unit 52 and the logic input / output unit 62 provided for each memory macro 51. That is, since the memory input / output unit 52 is not shared between the plurality of memory macros 51, the memory input / output unit 52 is not shared between the semiconductor programmable device 50 and the logic device 60 as compared with the semiconductor integrated circuit device described in the first embodiment. It is possible to increase the transfer amount of the input / output data signal.
[Third Embodiment]
Next, a third embodiment of the present invention will be described. In the first embodiment and the second embodiment, the case where the semiconductor programmable device of the present invention is configured by a memory macro has been described. In the third embodiment, a case where the semiconductor programmable device of the present invention is configured by a processor will be described. That is, in this embodiment, the processor is a circuit block.
FIG. 12 is a block diagram showing a configuration of a semiconductor integrated circuit device according to the third embodiment including the semiconductor programmable device 80 of the present invention. The semiconductor integrated circuit device shown in FIG. 12 differs from the semiconductor integrated circuit device shown in FIG. 1B in that the memory macro 11 of the semiconductor programmable device 10 shown in FIG. A memory device 90 including a memory macro 91 is arranged around the semiconductor programmable device 80 and connected to each other via a processor input / output unit 82. The processor 81 is, for example, a 16-bit RISC (Reduced Instruction Set Computer) processor.
Even if the circuit block is changed from the memory to the processor as in the present embodiment, the upper bits of the input / output data signal of the processor 81 are transferred by the upper bit column wiring 85 as described in the first embodiment. The lower bits are transferred by the lower bit column wiring 86. Thereby, the number of bits transferred by each wiring is reduced, and the area of the wiring can be reduced. As a result, a necessary and sufficient number of wires can be secured on the chip, so that it is not necessary to add a separate wiring layer, and an increase in manufacturing cost due to the addition of the wiring layer can be avoided.
Further, since the upper bits or the lower bits are not transferred in the column direction in the upper bit switch fabric 83 and the lower bit switch fabric 84, the number of selectors for outputting a signal in the column direction can be reduced. As a result, the areas of the upper bit switch fabric 83 and the lower bit switch fabric 84 can be reduced.
[Fourth Embodiment]
A semiconductor programmable device according to a fourth embodiment of the present invention includes a plurality of switch fabrics that are provided at intersections of a plurality of row wirings and a plurality of column wirings laid on a chip and transfer input data signals. A semiconductor programmable device directly connected to each of the plurality of switch fabrics and having a plurality of circuit blocks for inputting / outputting data signals via the plurality of switch fabrics, wherein the column wiring is input / output by the circuit blocks The upper bit column wiring for transferring the upper bits or the lower bit column wiring for transferring the lower bits of the data signal divided into the upper bits and the lower bits. The switch fabric on the wiring is the adjacent switch fabric on the row wiring, and the column arrangement for the upper bits. First upper bit switch unit for transferring upper bits to adjacent switch fabric and directly connected circuit block, and lower bit to adjacent switch fabric and directly connected circuit block on row wiring A switch fabric on the lower bit column wiring, a switch fabric adjacent on the row wiring, a switch fabric adjacent on the lower bit column wiring, and a direct connection Second lower bit switch unit for transferring lower bits to the connected circuit block, switch fabric adjacent on the row wiring, and second upper bit switch unit for transferring upper bits to the directly connected circuit block And have.
[Fifth Embodiment]
A signal transfer method in a semiconductor programmable device according to the fifth embodiment of the present invention is a plurality of methods for transferring input data signals provided at intersections of a plurality of row wirings and a plurality of column wirings laid on a chip. And a plurality of circuit blocks that are directly connected to each of the plurality of switch fabrics and perform input / output of data signals via the plurality of switch fabrics, and a column wiring method The data signal input / output in the circuit block is divided into upper bits and lower bits, the upper bit column wiring for transferring the upper bits, or the lower bit column wiring for transferring the lower bits. Either, and the switch fabric on the column wiring for the upper bits is adjacent on the row wiring. Switch fabric, switch fabric adjacent on upper bit column wiring, and processing for transferring upper bit to directly connected circuit block, and switch fabric on upper bit column wiring are adjacent on row wiring , And a process of transferring lower bits to a directly connected circuit block, and a switch fabric on the lower bit column wiring is adjacent on the row wiring, a switch fabric adjacent on the lower bit column wiring, and A process of transferring lower bits to a directly connected circuit block, and a process of transferring upper bits to a switch fabric adjacent on the row wiring and a directly connected circuit block by the switch fabric on the column wiring for the lower bits. Have
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. 2008-236782 for which it applied on September 16, 2008, and takes in those the indications of all here.
 本発明は、プロセッサやメモリからなる回路ブロックを複数集積した半導体プログラマブルデバイスに適用することができる。 The present invention can be applied to a semiconductor programmable device in which a plurality of circuit blocks including processors and memories are integrated.

Claims (24)

  1. チップ上に配置された複数の行配線と複数の列配線と、前記行配線と前記列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、前記複数のスイッチファブリックのそれぞれと直接接続され、前記複数のスイッチファブリックを介して前記データ信号の入出力を行う複数の回路ブロックとを有し、
     前記行配線または前記列配線のいずれか一方は、前記データ信号を構成する第1のデータ信号群と第2のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成され、
     前記列配線と前記行配線のうちの他方は、前記第1のデータ信号群と前記第2のデータ信号群の両者を転送するように構成されている
     半導体プログラマブルデバイス。
    A plurality of row wirings and a plurality of column wirings arranged on a chip; a plurality of switch fabrics provided at intersections of the row wirings and the column wirings; and transferring the input data signal; and the plurality of switch fabrics A plurality of circuit blocks that are directly connected to each other and that perform input and output of the data signals through the plurality of switch fabrics,
    Either the row wiring or the column wiring is configured to transfer only one data signal group of the first data signal group and the second data signal group constituting the data signal. ,
    The other of the column wiring and the row wiring is configured to transfer both the first data signal group and the second data signal group. Semiconductor programmable device.
  2. 請求項1に記載の半導体プログラマブルデバイスにおいて、
     前記列配線は、前記第1のデータ信号群と前記第2のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成され、
     前記行配線は、前記第1のデータ信号群と前記第2のデータ信号群の両者を転送するように構成されている
     半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 1,
    The column wiring is configured to transfer only one data signal group of the first data signal group and the second data signal group,
    The row wiring is configured to transfer both the first data signal group and the second data signal group. A semiconductor programmable device.
  3. 請求項2に記載の半導体プログラマブルデバイスにおいて、
     前記列配線は、前記第1のデータ信号群としての上位ビットを転送する上位ビット用列配線と、前記第2のデータ信号群としての下位ビットを転送する下位ビット用列配線から構成され、
     前記上位ビット用列配線上の前記スイッチファブリックは、
     前記行配線上で隣接する前記スイッチファブリック、前記上位ビット用列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する第1の上位ビット用スイッチ部と、
     前記行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送する第1の下位ビット用スイッチ部とを備え、
     前記下位ビット用列配線上の前記スイッチファブリックは、
     前記行配線上で隣接する前記スイッチファブリック、前記下位ビット用列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送する第2の下位ビット用スイッチ部と、
     前記行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する第2の上位ビット用スイッチ部とを備えた
     半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 2,
    The column wiring is composed of upper bit column wiring for transferring upper bits as the first data signal group and lower bit column wiring for transferring lower bits as the second data signal group,
    The switch fabric on the upper bit column wiring is:
    The switch fabric adjacent on the row wiring, the switch fabric adjacent on the upper bit column wiring, and a first upper bit switch unit for transferring the upper bits to the directly connected circuit block;
    The switch fabric adjacent on the row wiring, and a first lower bit switch unit for transferring the lower bit to the directly connected circuit block,
    The switch fabric on the lower bit column wiring is:
    The switch fabric adjacent on the row wiring, the switch fabric adjacent on the lower bit column wiring, and a second lower bit switch unit for transferring the lower bits to the directly connected circuit block;
    A semiconductor programmable device comprising: the switch fabric adjacent on the row wiring; and a second upper bit switch unit that transfers the upper bit to the directly connected circuit block.
  4. 請求項3に記載の半導体プログラマブルデバイスにおいて、
     前記上位ビット用列配線上の前記スイッチファブリックは、
     前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置しているときは、
    前記上位ビットは、前記スイッチファブリックと同一の列配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックから入力し、
    前記下位ビットは、前記スイッチファブリックと同一の行配線上であって前記スイッチファブリックの左側に隣接するスイッチファブリックから入力し、
     前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置し、かつ、前記スイッチファブリックと同一の行配線上に位置しているときは、前記スイッチファブリックに接続された回路ブロックからデータ信号を入力し、
     前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置せず、かつ、前記スイッチファブリックと隣接する上位ビット用列配線上に位置していないときは、前記スイッチファブリックと同一の行配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックからのデータ信号を入力し、
     前記データ信号を出力する回路ブロックが、前記スイッチファブリックと隣接する上位ビット用列配線上に位置しているときは、
    前記上位ビットは、前記スイッチファブリックと同一の列配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックから入力し、
    前記下位ビットは、前記スイッチファブリックと同一の行配線上であって前記スイッチファブリックの右側に隣接するスイッチファブリックから入力する
     半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 3,
    The switch fabric on the upper bit column wiring is:
    When the circuit block that outputs the data signal is located on the same upper bit column wiring as the switch fabric,
    The upper bits are input from the switch fabric adjacent to the side where the circuit block is located on the same column wiring as the switch fabric,
    The lower bit is input from a switch fabric adjacent to the left side of the switch fabric on the same row wiring as the switch fabric,
    When the circuit block that outputs the data signal is located on the same upper bit column wiring as the switch fabric and on the same row wiring as the switch fabric, the circuit block is connected to the switch fabric. Data signal from the specified circuit block,
    When the circuit block for outputting the data signal is not located on the same upper bit column wiring as the switch fabric and is not located on the upper bit column wiring adjacent to the switch fabric, The data signal from the switch fabric adjacent on the side where the circuit block is located on the same row wiring as the switch fabric is input,
    When the circuit block that outputs the data signal is located on the upper bit column wiring adjacent to the switch fabric,
    The upper bits are input from the switch fabric adjacent to the side where the circuit block is located on the same column wiring as the switch fabric,
    The lower order bit is input from a switch fabric adjacent to the right side of the switch fabric on the same row wiring as the switch fabric.
  5. 請求項3に記載の半導体プログラマブルデバイスにおいて、
     前記上位ビット用列配線と前記下位ビット用列配線とが交互に敷設された半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 3,
    A semiconductor programmable device in which the upper bit column wiring and the lower bit column wiring are alternately laid.
  6. 請求項3に記載の半導体プログラマブルデバイスにおいて、
     前記スイッチファブリックは、前記列配線上で隣接するスイッチファブリックへ前記上位ビットと前記下位ビットとを切り替えながら転送する半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 3,
    The switch fabric is a semiconductor programmable device that transfers the upper bit and the lower bit while switching to the adjacent switch fabric on the column wiring.
  7. 請求項1に記載の半導体プログラマブルデバイスにおいて、
     前記行配線は、前記第1のデータ信号群と前記第2のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成され、
     前記列配線は、前記第1のデータ信号群と前記第2のデータ信号群の両者を転送するように構成されている
     半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 1,
    The row wiring is configured to transfer only one of the first data signal group and the second data signal group,
    The column wiring is configured to transfer both the first data signal group and the second data signal group. A semiconductor programmable device.
  8. 請求項7に記載の半導体プログラマブルデバイスにおいて、
     前記行配線は、前記第1のデータ信号群としての上位ビットを転送する上位ビット用行配線と、前記第2のデータ信号群としての下位ビットを転送する下位ビット用行配線から構成され、
     前記上位ビット用行配線上の前記スイッチファブリックは、
     前記列配線上で隣接する前記スイッチファブリック、前記上位ビット用行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する第3の上位ビット用スイッチ部と、
     前記列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送する第3の下位ビット用スイッチ部とを備え、
     前記下位ビット用行配線上の前記スイッチファブリックは、
     前記列配線上で隣接する前記スイッチファブリック、前記下位ビット用行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送する第4の下位ビット用スイッチ部と、
     前記列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する第4の上位ビット用スイッチ部とを備えた
     半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 7,
    The row wiring is composed of upper bit row wiring for transferring upper bits as the first data signal group and lower bit row wiring for transferring lower bits as the second data signal group,
    The switch fabric on the upper bit row wiring is:
    The switch fabric adjacent on the column wiring, the switch fabric adjacent on the upper bit row wiring, and a third upper bit switch unit for transferring the upper bits to the directly connected circuit block;
    The switch fabric adjacent on the column wiring, and a third lower bit switch unit for transferring the lower bit to the directly connected circuit block,
    The switch fabric on the lower bit row wiring is:
    The switch fabric adjacent on the column wiring, the switch fabric adjacent on the lower bit row wiring, and a fourth lower bit switch unit for transferring the lower bits to the directly connected circuit block;
    A semiconductor programmable device comprising: the switch fabric adjacent on the column wiring; and a fourth upper bit switch unit for transferring the upper bit to the directly connected circuit block.
  9. 請求項8に記載の半導体プログラマブルデバイスにおいて、
     前記上位ビット用行配線と前記下位ビット用行配線とが交互に敷設された半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 8,
    A semiconductor programmable device in which the upper bit row wiring and the lower bit row wiring are alternately laid.
  10. 請求項8に記載の半導体プログラマブルデバイスにおいて、
     前記スイッチファブリックは、前記行配線上で隣接するスイッチファブリックへ前記上位ビットと前記下位ビットとを切り替えながら転送する半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 8,
    The switch fabric is a semiconductor programmable device that transfers the upper bit and the lower bit while switching to the adjacent switch fabric on the row wiring.
  11. 請求項1に記載の半導体プログラマブルデバイスにおいて、
     前記回路ブロックがメモリマクロである半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 1,
    A semiconductor programmable device in which the circuit block is a memory macro.
  12. 請求項1に記載の半導体プログラマブルデバイスにおいて、
     前記回路ブロックがプロセッサである半導体プログラマブルデバイス。
    The semiconductor programmable device according to claim 1,
    A semiconductor programmable device in which the circuit block is a processor.
  13. チップ上に配置された複数の行配線と複数の列配線と、前記行配線と前記列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、前記複数のスイッチファブリックのそれぞれと直接接続され、前記複数のスイッチファブリックを介して前記データ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスにおける信号転送方法であって、
     前記行配線または前記列配線のいずれか一方は、前記データ信号を構成する第1のデータ信号群と第2のデータ信号群のうちのいずれか一方のデータ信号群のみを転送し、
     前記列配線と前記行配線のうちの他方は、前記第1のデータ信号群と前記第2のデータ信号群の両者を転送する
     半導体プログラマブルデバイスにおける信号転送方法。
    A plurality of row wirings and a plurality of column wirings arranged on a chip; a plurality of switch fabrics provided at intersections of the row wirings and the column wirings; and transferring the input data signal; and the plurality of switch fabrics A signal transfer method in a semiconductor programmable device having a plurality of circuit blocks that are directly connected to each of the plurality of circuit blocks and that input and output the data signal through the plurality of switch fabrics,
    Either the row wiring or the column wiring transfers only one data signal group of the first data signal group and the second data signal group constituting the data signal,
    The other of the column wiring and the row wiring transfers both the first data signal group and the second data signal group. A signal transfer method in a semiconductor programmable device.
  14. 請求項13に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     前記列配線は、前記第1のデータ信号群と前記第2のデータ信号群のうちのいずれか一方のデータ信号群のみを転送し、
     前記行配線は、前記第1のデータ信号群と前記第2のデータ信号群の両者を転送する半導体プログラマブルデバイスにおける信号転送方法。
    The signal transfer method in the semiconductor programmable device according to claim 13,
    The column wiring transfers only one data signal group of the first data signal group and the second data signal group,
    The row wiring is a signal transfer method in a semiconductor programmable device that transfers both the first data signal group and the second data signal group.
  15. 請求項14に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     前記列配線を構成する上位ビット用列配線は、前記第1のデータ信号群としての上位ビットを転送し、前記列配線を構成する下位ビット用列配線は、前記第2のデータ信号群としての下位ビットを転送し、
     前記上位ビット用列配線上の前記スイッチファブリックは、
     前記行配線上で隣接する前記スイッチファブリック、前記上位ビット用列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送し、
     前記行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送し、
     前記下位ビット用列配線上の前記スイッチファブリックは、
     前記行配線上で隣接する前記スイッチファブリック、前記下位ビット用列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送し、
     前記行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する
     半導体プログラマブルデバイスにおける信号転送方法。
    The signal transfer method in the semiconductor programmable device according to claim 14,
    The upper bit column wiring constituting the column wiring transfers higher bits as the first data signal group, and the lower bit column wiring constituting the column wiring is transferred as the second data signal group. Transfer the lower bits,
    The switch fabric on the upper bit column wiring is:
    Transferring the upper bits to the switch fabric adjacent on the row wiring, the switch fabric adjacent on the column wiring for upper bits, and the directly connected circuit block;
    Transferring the lower bit to the switch fabric adjacent on the row wiring and the directly connected circuit block;
    The switch fabric on the lower bit column wiring is:
    Transferring the lower bits to the switch fabric adjacent on the row wiring, the switch fabric adjacent on the lower bit column wiring, and the directly connected circuit block;
    A signal transfer method in a semiconductor programmable device that transfers the upper bit to the switch fabric adjacent on the row wiring and the directly connected circuit block.
  16. 請求項15に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     前記上位ビット用列配線上の前記スイッチファブリックは、
     前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置しているときは、
    前記上位ビットは、前記スイッチファブリックと同一の列配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックから入力し、
    前記下位ビットは、前記スイッチファブリックと同一の行配線上であって前記スイッチファブリックの左側に隣接するスイッチファブリックから入力し、
     前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置し、かつ、前記スイッチファブリックと同一の行配線上に位置しているときは、前記スイッチファブリックに接続された回路ブロックからデータ信号を入力し、
     前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置せず、かつ、前記スイッチファブリックと隣接する上位ビット用列配線上に位置していないときは、前記スイッチファブリックと同一の行配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックからのデータ信号を入力し、
     前記データ信号を出力する回路ブロックが、前記スイッチファブリックと隣接する上位ビット用列配線上に位置しているときは、
    前記上位ビットは、前記スイッチファブリックと同一の列配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックから入力し、
    前記下位ビットは、前記スイッチファブリックと同一の行配線上であって前記スイッチファブリックの右側に隣接するスイッチファブリックから入力する
     半導体プログラマブルデバイスにおける信号転送方法。
    The signal transfer method in the semiconductor programmable device according to claim 15,
    The switch fabric on the upper bit column wiring is:
    When the circuit block that outputs the data signal is located on the same upper bit column wiring as the switch fabric,
    The upper bits are input from the switch fabric adjacent to the side where the circuit block is located on the same column wiring as the switch fabric,
    The lower bit is input from a switch fabric adjacent to the left side of the switch fabric on the same row wiring as the switch fabric,
    When the circuit block that outputs the data signal is located on the same upper bit column wiring as the switch fabric and on the same row wiring as the switch fabric, the circuit block is connected to the switch fabric. Data signal from the specified circuit block,
    When the circuit block for outputting the data signal is not located on the same upper bit column wiring as the switch fabric and is not located on the upper bit column wiring adjacent to the switch fabric, The data signal from the switch fabric adjacent on the side where the circuit block is located on the same row wiring as the switch fabric is input,
    When the circuit block that outputs the data signal is located on the upper bit column wiring adjacent to the switch fabric,
    The upper bits are input from the switch fabric adjacent to the side where the circuit block is located on the same column wiring as the switch fabric,
    The lower bit is input from a switch fabric adjacent to the right side of the switch fabric on the same row wiring as the switch fabric. A signal transfer method in a semiconductor programmable device.
  17. 請求項15に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     交互に敷設された前記上位ビット用列配線と前記下位ビット用列配線が、前記上位ビットまたは前記下位ビットを転送する半導体プログラマブルデバイスにおける信号転送方法。
    The signal transfer method in the semiconductor programmable device according to claim 15,
    A signal transfer method in a semiconductor programmable device in which the upper bit column wiring and the lower bit column wiring laid alternately transfer the upper bit or the lower bit.
  18. 請求項15に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     前記スイッチファブリックは、前記列配線上で隣接するスイッチファブリックへ前記上位ビットと前記下位ビットとを切り替えながら転送する半導体プログラマブルデバイスにおける信号転送方法。
    The signal transfer method in the semiconductor programmable device according to claim 15,
    The signal transfer method in the semiconductor programmable device, wherein the switch fabric transfers the upper bit and the lower bit while switching to the adjacent switch fabric on the column wiring.
  19. 請求項13に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     前記行配線は、前記第1のデータ信号群と前記第2のデータ信号群のうちのいずれか一方のデータ信号群のみを転送し、
     前記列配線は、前記第1のデータ信号群と前記第2のデータ信号群の両者を転送する半導体プログラマブルデバイスにおける信号転送方法。
    The signal transfer method in the semiconductor programmable device according to claim 13,
    The row wiring transfers only one data signal group of the first data signal group and the second data signal group,
    The column wiring is a signal transfer method in a semiconductor programmable device that transfers both the first data signal group and the second data signal group.
  20. 請求項19に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     前記行配線を構成する上位ビット用行配線は、前記第1のデータ信号群としての上位ビットを転送し、前記行配線を構成する下位ビット用行配線は、前記第2のデータ信号群としての下位ビットを転送し、
     前記上位ビット用行配線上の前記スイッチファブリックは、
     前記列配線上で隣接する前記スイッチファブリック、前記上位ビット用行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送し、
     前記列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送し、
     前記下位ビット用行配線上の前記スイッチファブリックは、
     前記列配線上で隣接する前記スイッチファブリック、前記下位ビット用行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送し、
     前記列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する
     半導体プログラマブルデバイスにおける信号転送方法。
    In the signal transfer method in the semiconductor programmable device according to claim 19,
    The upper bit row wiring constituting the row wiring transfers upper bits as the first data signal group, and the lower bit row wiring constituting the row wiring is transferred as the second data signal group. Transfer the lower bits,
    The switch fabric on the upper bit row wiring is:
    Transferring the upper bit to the switch fabric adjacent on the column wiring, the switch fabric adjacent on the upper bit row wiring, and the directly connected circuit block;
    Transferring the lower bit to the switch fabric adjacent on the column wiring and the directly connected circuit block;
    The switch fabric on the lower bit row wiring is:
    Transferring the lower bits to the switch fabric adjacent on the column wiring, the switch fabric adjacent on the lower bit row wiring, and the directly connected circuit block;
    A signal transfer method in a semiconductor programmable device, wherein the upper bits are transferred to the switch fabric adjacent on the column wiring and the directly connected circuit block.
  21. 請求項20に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     交互に敷設された前記上位ビット用行配線と前記下位ビット用行配線が、前記上位ビットまたは前記下位ビットを転送する半導体プログラマブルデバイスにおける信号転送方法。
    The signal transfer method in the semiconductor programmable device according to claim 20,
    A signal transfer method in a semiconductor programmable device in which the upper bit row wiring and the lower bit row wiring laid alternately transfer the upper bit or the lower bit.
  22. 請求項20に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     前記スイッチファブリックは、前記行配線上で隣接するスイッチファブリックへ前記上位ビットと前記下位ビットとを切り替えながら転送する半導体プログラマブルデバイスにおける信号転送方法。
    The signal transfer method in the semiconductor programmable device according to claim 20,
    The signal transfer method in a semiconductor programmable device, wherein the switch fabric transfers the upper bit and the lower bit while switching to an adjacent switch fabric on the row wiring.
  23. 請求項13に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     前記回路ブロックがメモリマクロであり、前記メモリマクロで入出力されるデータ信号を転送する半導体プログラマブルデバイスにおける信号転送方法。
    The signal transfer method in the semiconductor programmable device according to claim 13,
    A signal transfer method in a semiconductor programmable device, wherein the circuit block is a memory macro and a data signal inputted / outputted by the memory macro is transferred.
  24. 請求項13に記載の半導体プログラマブルデバイスにおける信号転送方法において、
     前記回路ブロックがプロセッサであり、前記プロセッサで入出力されるデータ信号を転送する半導体プログラマブルデバイスにおける信号転送方法。
    The signal transfer method in the semiconductor programmable device according to claim 13,
    A signal transfer method in a semiconductor programmable device, wherein the circuit block is a processor and transfers a data signal input / output by the processor.
PCT/JP2009/066581 2008-09-16 2009-09-15 Semiconductor programmable device and signal transferring method in semiconductor programmable device WO2010032866A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010529833A JP5365639B2 (en) 2008-09-16 2009-09-15 Semiconductor programmable device and signal transfer method in semiconductor programmable device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-236782 2008-09-16
JP2008236782 2008-09-16

Publications (1)

Publication Number Publication Date
WO2010032866A1 true WO2010032866A1 (en) 2010-03-25

Family

ID=42039683

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/066581 WO2010032866A1 (en) 2008-09-16 2009-09-15 Semiconductor programmable device and signal transferring method in semiconductor programmable device

Country Status (2)

Country Link
JP (1) JP5365639B2 (en)
WO (1) WO2010032866A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000232354A (en) * 1999-02-10 2000-08-22 Nec Corp Programmable device
JP2004525439A (en) * 2000-12-19 2004-08-19 ピコチップ デザインズ リミテッド Processor architecture
JP2005182654A (en) * 2003-12-22 2005-07-07 Sanyo Electric Co Ltd Reconfigurable circuit, processing device having reconfigurable circuit, function determination method of logic circuit in reconfigurable circuit, circuit generation method and circuit

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH098647A (en) * 1995-06-21 1997-01-10 Nippon Telegr & Teleph Corp <Ntt> Programmable logic circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000232354A (en) * 1999-02-10 2000-08-22 Nec Corp Programmable device
JP2004525439A (en) * 2000-12-19 2004-08-19 ピコチップ デザインズ リミテッド Processor architecture
JP2005182654A (en) * 2003-12-22 2005-07-07 Sanyo Electric Co Ltd Reconfigurable circuit, processing device having reconfigurable circuit, function determination method of logic circuit in reconfigurable circuit, circuit generation method and circuit

Also Published As

Publication number Publication date
JP5365639B2 (en) 2013-12-11
JPWO2010032866A1 (en) 2012-02-16

Similar Documents

Publication Publication Date Title
TWI590250B (en) Apparatuses and methods for configuring i/os of memory for hybrid memory modules
JP4364200B2 (en) Semiconductor integrated circuit device
JP5449686B2 (en) Multiport memory and system using the multiport memory
JP5260077B2 (en) Programmable logic device and its construction method and its use
JP4205743B2 (en) Semiconductor memory device and semiconductor device
JP5599969B2 (en) Multi-port memory and computer system including the multi-port memory
US8275973B2 (en) Reconfigurable device
US10372658B2 (en) Method of reconfiguring DQ pads of memory device and DQ pad reconfigurable memory device
US6727532B2 (en) Semiconductor integrated circuit device
US20210225429A1 (en) High bandwidth memory and system having the same
JP5412032B2 (en) Semiconductor memory device
JP2000138579A (en) Basic cell and basic cell two-dimensional array for programmable logic lsi
KR20160148344A (en) Input/output circuit and input/output device including the same
JP2012208975A (en) Semiconductor device
JP2016038920A (en) Semiconductor device and semiconductor system
JP5365639B2 (en) Semiconductor programmable device and signal transfer method in semiconductor programmable device
JP2011159375A (en) Semiconductor memory device
JP5365638B2 (en) Semiconductor programmable device and signal transfer method in semiconductor programmable device
CN103914429A (en) Multi-mode data transmission interconnection device for coarseness dynamic reconfigurable array
JP3872922B2 (en) Semiconductor memory device and memory embedded logic LSI
CN203982379U (en) For the multimode data transmission connectors of coarseness dynamic reconfigurable array
JP4191218B2 (en) Memory circuit and semiconductor device
JP2016139447A (en) Semiconductor storage device and data writing method
JP3965620B2 (en) Storage device, storage method, and data processing system
JP4418655B2 (en) Semiconductor memory 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: 09814709

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010529833

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: 09814709

Country of ref document: EP

Kind code of ref document: A1