[go: up one dir, main page]

WO2024228323A1 - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
WO2024228323A1
WO2024228323A1 PCT/JP2024/014695 JP2024014695W WO2024228323A1 WO 2024228323 A1 WO2024228323 A1 WO 2024228323A1 JP 2024014695 W JP2024014695 W JP 2024014695W WO 2024228323 A1 WO2024228323 A1 WO 2024228323A1
Authority
WO
WIPO (PCT)
Prior art keywords
data transfer
flip
data
transfer groups
flops
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/JP2024/014695
Other languages
French (fr)
Japanese (ja)
Inventor
雅樹 榊原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Semiconductor Solutions Corp
Original Assignee
Sony Semiconductor Solutions Corp
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 Sony Semiconductor Solutions Corp filed Critical Sony Semiconductor Solutions Corp
Publication of WO2024228323A1 publication Critical patent/WO2024228323A1/en
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith

Definitions

  • This disclosure relates to a semiconductor device.
  • Patent Document 1 There is a known pixel ADC type imaging device that performs analog-to-digital conversion (hereafter, AD conversion) at each pixel (see, for example, Patent Document 1).
  • a time code transfer section is arranged in the column direction of the pixel array section, and a time code is transferred from the time code transfer section to each pixel, and the time code is held as an AD conversion value when the pixel signal matches the reference signal.
  • this disclosure provides a semiconductor device capable of transferring data in two or more directions.
  • a circuit configuration including: a plurality of first data transfer groups, each of which includes a plurality of first flip-flops that transfer data in a first direction and is arranged in a second direction intersecting the first direction; a plurality of second data transfer groups arranged in the first direction, each group including a plurality of second flip-flops for transferring data in the second direction; A switching controller that individually switches and controls connection destinations of output terminals of the first flip-flops and the second flip-flops in each of the first data transfer groups and the second data transfer groups.
  • a propagation order of the clock signal input to the first flip-flops and a propagation order of the data input to the first flip-flops are opposite to each other;
  • a propagation order of the clock signal input to the second flip-flops and a propagation order of the data input to the second flip-flops may be opposite to each other.
  • Each of the plurality of arithmetic units may perform an arithmetic process based on an output signal of the corresponding first flip-flop or the corresponding second flip-flop.
  • the plurality of computing elements may perform at least one of the four arithmetic operations or analog-to-digital conversion.
  • Each of the plurality of arithmetic units may input the calculation result to the first flip-flop or the second flip-flop in the next stage of the first data transfer group or the second data transfer group that is the same as the first flip-flop or the second flip-flop that output the output signal.
  • Each of the plurality of arithmetic units may input the calculation result to the first flip-flop or the second flip-flop of either the first data transfer group or the second data transfer group that is different from the first flip-flop or the second flip-flop that output the output signal.
  • the switching controller may individually control switching between transferring the calculation results of the multiple arithmetic units in the first direction by the multiple first data transfer groups, and transferring the calculation results of the multiple arithmetic units in the second direction by the multiple second data transfer groups.
  • the device may also include a plurality of switches that switch the output signal paths of the plurality of first flip-flops and the plurality of second flip-flops in each of the plurality of first data transfer groups and the plurality of second data transfer groups in accordance with switching control by the switching controller.
  • the multiple switches may be connected between the input nodes of the multiple first flip-flops and the output nodes of the multiple arithmetic units, and may also be connected between the input nodes of the multiple second flip-flops and the output nodes of the multiple arithmetic units.
  • the switching controller may input operation results of the plurality of arithmetic units to the plurality of first flip-flops or the plurality of second flip-flops via the plurality of first output buffers or the plurality of second output buffers.
  • the first data transfer groups, the second data transfer groups, and the computing units may be arranged in one semiconductor layer, or may be divided and arranged in multiple semiconductor layers.
  • the plurality of first data transfer groups and the plurality of second data transfer groups may transfer data including at least one of the opcodes, operands, the time code of the operation, the identification information of the next input operation, or the operation end information of the plurality of operation units.
  • the plurality of first data transfer groups transfer data in parallel to one end in the first direction;
  • the plurality of second data transfer groups may transfer data in parallel up to one end in the second direction.
  • the data transferred to a first end in the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups is transferred in a direction opposite to the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups other than the portion of the first data transfer groups to a second end;
  • the plurality of second data transfer groups may transfer data in parallel up to one end in the second direction.
  • the plurality of first data transfer groups transfer data in parallel to one end in the first direction;
  • Data transferred to a first end in the second direction in a portion of the plurality of second data transfer groups may be transferred to a second end in a direction opposite to the second direction in a portion of the plurality of second data transfer groups other than the portion of the plurality of second data transfer groups.
  • the data transferred to a first end in the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups is transferred in a direction opposite to the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups other than the portion of the first data transfer groups to a second end;
  • Data transferred to a third end in the second direction in a portion of the plurality of second data transfer groups may be transferred to a fourth end in a direction opposite to the second direction in a portion of the plurality of second data transfer groups other than the portion of the plurality of second data transfer groups.
  • the plurality of first data transfer groups may alternate between data transfer in the first direction and data transfer in the opposite direction to the first direction in the order of the second direction.
  • the plurality of second data transfer groups may alternate between data transfer in the second direction and data transfer in the opposite direction to the first direction in the order of the first direction.
  • Each of the first flip-flops and the second flip-flops may output a signal of the same logic as the input signal from an output node when the clock signal is a first logic, and may set the output node to high impedance when the clock signal is a second logic.
  • Each of the first flip-flops and the second flip-flops may take in the input signal when the clock signal is at the second logic, and then output a signal of the same logic as the input signal taken in from the output node when the clock signal transitions to the first logic.
  • FIG. 1 is a block diagram showing a schematic configuration of a semiconductor device 1 according to an embodiment.
  • 11 is a circuit diagram showing a connection configuration of a plurality of first flip-flops in a first data transfer group;
  • FIG. 13 is a diagram showing the state of each transistor of a dynamic FF when a clock signal is low.
  • FIG. 2 is a diagram showing the state of each transistor of a dynamic FF when a clock signal is high.
  • FIG. 11 is a block diagram showing a schematic configuration of a semiconductor device according to a modified example of the embodiment.
  • FIG. 2 is a diagram showing an example of a plurality of switches provided for each computing unit;
  • FIG. 13 is a diagram showing an example in which a total of nine arithmetic units are arranged, three in the first direction and three in the second direction.
  • FIG. 4 is a diagram showing a normal output order of calculation results.
  • FIG. 13 is a diagram showing a transposed output order of operation results.
  • FIG. 5 is a block diagram of a semiconductor device according to a modification of FIG. 4 .
  • FIG. 2 is a diagram showing an arrangement of a plurality of arithmetic units. 13 is a diagram showing an example in which the operation results of a plurality of operation units are read out row by row in a plurality of first data transfer groups 2.
  • FIG. FIG. 2 is a diagram showing storage areas of a frame memory; FIG.
  • 13 is a diagram showing an example of reading out a calculation result from a frame memory.
  • 5 is a block diagram showing a more detailed configuration of a plurality of first data transfer groups and a plurality of second data transfer groups shown in FIG. 4 .
  • 11 is a diagram showing an example in which a plurality of first data transfer groups transfer data in a first direction, and a plurality of second data transfer groups transfer data in a second direction.
  • 13 is a diagram showing an example in which the data transfer directions are reversed between odd-numbered rows and even-numbered rows among a plurality of first data transfer groups.
  • 13 is a diagram showing an example in which the data transfer directions are reversed between odd-numbered columns and even-numbered columns in a plurality of second data transfer groups.
  • FIG. 13A and 13B are diagrams showing an example in which the data transfer directions of odd-numbered rows and even-numbered rows among a plurality of first data transfer groups are reversed to each other, and the data transfer directions of odd-numbered columns and even-numbered columns among a plurality of second data transfer groups are reversed to each other;
  • 1 is a schematic perspective view of a semiconductor device having a stacked structure according to an embodiment of the present invention
  • FIG. 2 is a block diagram of a first semiconductor substrate.
  • FIG. 4 is a block diagram of a second semiconductor substrate.
  • FIG. 17 is a block diagram of a second semiconductor substrate according to a modification of FIG. 16 .
  • FIG. 2 is a block diagram showing a first example of the internal configuration of a computing unit.
  • FIG. 13 is a block diagram showing a second example of the internal configuration of the arithmetic unit when the semiconductor device is a pixel ADC type imaging device.
  • FIG. 1 is a block diagram showing an example of a schematic configuration of a vehicle control system.
  • FIG. 4 is an explanatory diagram showing an example of the installation positions of an outside-vehicle information detection unit and an imaging unit.
  • FIG. 1 is a block diagram showing a schematic configuration of a semiconductor device 1 according to one embodiment.
  • the semiconductor device 1 in FIG. 1 is a device disposed on one or more semiconductor substrates (not shown).
  • the semiconductor device 1 in FIG. 1 includes a plurality of first data transfer groups 2, a plurality of second data transfer groups 3, and a controller (switching controller) 4.
  • the multiple first data transfer groups 2 are arranged in a second direction (e.g., vertical direction) Y that intersects with a first direction (e.g., horizontal direction) X.
  • Each of the multiple first data transfer groups 2 has multiple first flip-flops 5 that transfer data in the first direction X.
  • the multiple first flip-flops 5 are connected in series. The number of first flip-flops 5 connected in series is arbitrary.
  • a low data generator 6 is connected to the data input terminal D of the first flip-flop 5 in the first stage in each of the multiple first data transfer groups 2.
  • the low data generator 6 generates data to be input to the data input terminal D of the first flip-flop 5 in the first stage in each first data transfer group 2.
  • a low output circuit 7 is connected to the data output terminal Q of the first flip-flop 5 in the last stage in each first data transfer group 2.
  • the low output circuit 7 is a circuit that outputs data output from the data output terminal Q of the first flip-flop 5 in the last stage in each first data transfer group 2 to the outside of the semiconductor device 1.
  • a memory (a frame memory as a more specific example) may be connected to the low output circuit 7 to store the data output from the data output terminal Q of the first flip-flop 5 in the last stage inside the semiconductor device 1.
  • the multiple second data transfer groups 3 are arranged in the first direction X. Each of the multiple second data transfer groups 3 has multiple second flip-flops 8 that transfer data in the second direction Y. The multiple second flip-flops 8 are connected in series. The number of second flip-flops 8 connected in series is arbitrary.
  • a column data generator 9 is connected to the data input terminal D of the first flip-flop 5 in the first stage in each second data transfer group 3.
  • a column output circuit 10 is connected to the data output terminal Q of the second flip-flop 8 in the last stage in each second data transfer group 3.
  • the column output circuit 10 is a circuit that outputs data output from the data output terminal Q of the second flip-flop 8 in the last stage in each second data transfer group 3 to the outside of the semiconductor device 1.
  • a memory may be connected to the column output circuit 10 to store the data output from the data output terminal Q of the second flip-flop 8 in the last stage inside the semiconductor device 1.
  • the row data generator 6 and the column data generator 9 are controlled by the controller 4.
  • the controller 4 also individually switches and controls the connection destinations of the output terminals of the multiple first flip-flops 5 and the multiple second flip-flops 8 in each of the multiple first data transfer groups 2 and the multiple second data transfer groups 3.
  • the semiconductor device 1 can arbitrarily combine a plurality of first data transfer groups 2 and a plurality of second data transfer groups 3, and can switch the data transfer direction to the first direction X or the second direction Y as necessary. Therefore, data can be transferred in any direction, not just the first direction X or the second direction Y.
  • FIG. 2 is a circuit diagram showing the connection of the multiple first flip-flops 5 in the first data transfer group 2.
  • the connection of the multiple second flip-flops 8 in the second data transfer group 3 is also represented by a circuit diagram similar to that of FIG. 2, so below we will explain the connection of the multiple first flip-flops 5 and omit a detailed explanation of the connection of the multiple second flip-flops 8.
  • each first flip-flop 5 is connected to the data input terminal D of the first flip-flop 5 of the next stage.
  • the clock terminal of each first flip-flop 5 receives the clock signal CLK output from the corresponding clock buffer 11.
  • the multiple clock buffers 11 corresponding to the multiple first flip-flops 5 are connected in series, and the first stage clock buffer 11 is provided corresponding to the last stage first flip-flop 5, and the last stage clock buffer 11 is provided corresponding to the first stage first flip-flop 5. That is, the clock signal CLK is input to the clock terminal of the last stage first flip-flop 5 at the earliest timing, and the clock signal CLK is input to the clock terminal of the first stage first flip-flop 5 at the latest timing.
  • the propagation order of the clock signal CLK input to the multiple first flip-flops 5 and the propagation order of the data input to the multiple first flip-flops 5 are opposite to each other.
  • the propagation order of the clock signal CLK input to the multiple second flip-flops 8 and the propagation order of the data input to the multiple second flip-flops 8 are opposite to each other.
  • each first flip-flop 5 and each second flip-flop 8 can take in the input data with the clock signal CLK while ensuring sufficient setup and hold times for the input data. This prevents input data from being taken in incorrectly, and stabilizes the operation of the first flip-flops 5 and the second flip-flops 8.
  • the first flip-flop 5 and the second flip-flop 8 in this embodiment may be dynamic flip-flops (hereinafter, dynamic FFs) having a TSPC (True Single Phase Clock).
  • dynamic FFs dynamic flip-flops having a TSPC (True Single Phase Clock).
  • FIGS. 3A and 3B are diagrams showing the circuit configuration of a dynamic FF and the state of each transistor.
  • a dynamic FF having the circuit configuration of FIG. 3A and FIG. 3B can be applied to the first flip-flop 5 and the second flip-flop 8.
  • Figure 3A shows the on/off state of each transistor when the clock signal CLK is low
  • Figure 3B shows the on/off state of each transistor when the clock signal CLK is high.
  • the dynamic FF in Figures 3A and 3B has a PMOS transistor Q1 and an NMOS transistor Q2 connected between a power supply voltage node and a ground node, PMOS transistors Q3, Q4 and an NMOS transistor Q5 cascode-connected between the power supply voltage node and the ground node, a PMOS transistor Q6 and an NMOS transistor Q7, Q8 cascode-connected between the power supply voltage node and the ground node, and a PMOS transistor Q9 and an NMOS transistor Q10, Q11 cascode-connected between the power supply voltage node and the ground node.
  • the gates of transistors Q1 and Q2 are connected to data input terminal D.
  • the drains of transistors Q1 and Q2 are connected to the gates of transistors Q3 and Q5.
  • a clock signal CLK is input to the gate of transistor Q4.
  • a clock signal CLK is input to the gates of transistors Q6 and Q8.
  • a gate of transistor Q7 is connected to the drains of transistors Q4 and Q5.
  • the gates of transistors Q9 and Q11 are connected to the drains of transistors Q6 and Q7.
  • a clock signal CLK is input to the gate of transistor Q10.
  • the drains of transistors Q9 and Q10 are connected to data output terminal Q.
  • transistor Q4 When the clock signal CLK is at a low level, transistor Q4 is turned on.
  • the inverted data of the input data input to data input terminal D is input to the gates of transistors Q3 and Q5, and because transistor Q4 is on, the drains of transistors Q4 and Q5 (the gate of transistor Q7) have the same logic as the input data.
  • transistor Q6 When the clock signal CLK is at a low level, transistor Q6 is on and transistor Q8 is off, so the drains of transistors Q6 and Q7 are at a high level. As a result, transistor Q9 is off and transistor Q11 is on. Also, because the clock signal CLK is at a low level, transistor Q10 is off.
  • the input data input to the data input terminal is taken into the dynamic FF, and the drains of transistors Q4 and Q5 have a logic level according to the input data.
  • transistors Q9 and Q10 are both off, the data output terminals connected to the drains of transistors Q9 and Q10 become high impedance.
  • transistor Q4 When the clock signal CLK goes high, as shown in Figure 3B, transistor Q4 is off, transistor Q6 is off, transistor Q8 is on, and transistor Q10 is on.
  • the drains of transistors Q4 and Q5 have the same logic as the input data, and the drains of transistors Q6 and Q7 have the inverted logic of the input data, so the data output terminals connected to the drains of transistors Q9 and Q10 have the same logic as the input data.
  • each of the first flip-flops 5 and the second flip-flops 8 outputs a signal of the same logic as the input signal from the output node when the clock signal is the first logic, and makes the output node high impedance when the clock signal is the second logic.
  • Each of the first flip-flops 5 and the second flip-flops 8 takes in the input signal when the clock signal is the second logic, and then outputs a signal of the same logic as the input signal taken in from the output node when the clock signal transitions to the first logic.
  • the semiconductor device 1 includes a plurality of arithmetic units 12, as shown in FIG. 1, for example.
  • the plurality of arithmetic units 12 are provided corresponding to at least one of the plurality of first data transfer groups 2 or the plurality of second data transfer groups 3, and are arranged along the first direction X and the second direction Y.
  • the plurality of arithmetic units 12 are arranged in a number that is one less than the number of first flip-flops 5 in each first data transfer group 2.
  • each first data transfer group 2 has five first flip-flops 5, while four arithmetic units 12 are provided.
  • the specific number and location of the calculators 12 are arbitrary and are not necessarily limited to the number and location shown in FIG. 1.
  • the calculators 12 perform, for example, arithmetic operations or analog-to-digital conversion (AD conversion) processing.
  • the calculators 12 may also perform calculations other than arithmetic operations or AD conversion.
  • each arithmetic unit group 12g is associated with each first data transfer group 2.
  • An input buffer 13 and an output buffer 14 are arranged between each arithmetic unit 12 and the corresponding first data transfer group 2.
  • the enable signal WEN is at a high level
  • the input buffer 13 inputs the output data of the corresponding first flip-flop 5 to the arithmetic unit 12.
  • the enable signal REN is at a high level
  • the output buffer 14 inputs the calculation result of the arithmetic unit 12 to the first flip-flop 5 of the next stage or the corresponding second flip-flop 8.
  • each calculator 12 performs a predetermined calculation process based on the output data of the corresponding first flip-flop 5.
  • the calculation result of each calculator 12 is transferred to the first data transfer group 2 including the first flip-flop 5, or the second data transfer group 3 including the second flip-flop 8.
  • the first data transfer group 2 has a plurality of first flip-flops 5 and a plurality of clock buffers (first clock buffers) 11, and the second data transfer group 3 has a plurality of second flip-flops 8 and a plurality of clock buffers (second clock buffers) 11.
  • first clock buffers first clock buffers
  • second clock buffers second clock buffers
  • first flip-flops 5 and the second flip-flops 8 may be provided with enable terminals, and the signal input to the enable terminals may be used to switch whether data is transferred in the first direction X or the second direction Y.
  • the first arithmetic unit group 12g corresponds to the first data transfer group 2, and an input buffer 13 and an output buffer 14 are connected between each arithmetic unit 12 and the corresponding first flip-flop 5.
  • the first arithmetic unit group 12g may correspond to the second data transfer group 3, and an input buffer 13 and an output buffer 14 may be connected between each arithmetic unit 12 and the corresponding second flip-flop 8.
  • each of the multiple arithmetic units 12 inputs the calculation result to the first flip-flop 5 or second flip-flop 8 in the next stage of the first data transfer group 2 or second data transfer group 3 that is the same as the first flip-flop 5 or second flip-flop 8 that output the output signal.
  • each of the multiple arithmetic units 12 inputs the calculation result to the first flip-flop 5 or second flip-flop 8 in either the first data transfer group 2 or the second data transfer group 3 that is different from the first flip-flop 5 or second flip-flop 8 that output the output signal.
  • the controller 4 individually switches and controls whether the calculation results of the multiple calculators 12 are transferred in the first direction X by the multiple first data transfer groups 2, or whether the calculation results of the multiple calculators 12 are transferred in the second direction Y by the multiple second data transfer groups 3.
  • FIG. 4 is a block diagram showing a schematic configuration of a semiconductor device 1 according to a modified example of this embodiment.
  • the semiconductor device 1 according to the modified example corresponds a computing unit group 12g having a plurality of computing units 12 arranged in a first direction X to two first data transfer groups 2 adjacent to each other in a second direction Y, and an input buffer 13 and an output buffer 14 are connected between each computing unit 12 and the corresponding first flip-flop 5 of each first data transfer group 2.
  • an input buffer 13 and an output buffer 14 are disposed between each arithmetic unit 12 and the two first data transfer groups 2, respectively.
  • the enable signals input to the enable terminals of these input buffers 13 and output buffers 14 can be controlled individually, so that the output data of the first flip-flop 5 of one of the two first data transfer groups 2 is taken into the arithmetic unit 12 for arithmetic processing, and the result of this arithmetic processing is output from one of the two output buffers 14 and transferred to the first data transfer group 2 or the second data transfer group 3.
  • the semiconductor device 1 can output the results of calculations by the multiple arithmetic units 12 in the order in which the multiple arithmetic units 12 are arranged, using multiple first data transfer groups 2, or in the order in which the arrangement of the multiple arithmetic units 12 is transposed, using multiple first data transfer groups 2 and multiple second data transfer groups 3. In this way, switching the order in which the results of calculations by the multiple arithmetic units 12 are output can be easily achieved by providing multiple switches for each arithmetic unit 12.
  • FIG. 5 is a diagram showing an example of the functions of multiple switches SW1, SW2 provided for each arithmetic unit 12.
  • the semiconductor device 1 includes, for each arithmetic unit 12, a first switch SW1 arranged between the corresponding arithmetic unit 12 and the first data transfer group 2, and a second switch SW2 arranged between the corresponding arithmetic unit 12 and the second data transfer group 3.
  • the first switch SW1 and the second switch SW2 are exclusively switched on and off, with one closed and the other open. For example, when the first switch SW1 is closed, the calculation result of the calculator 12 is transferred in the first direction X via the first data transfer group 2. When the second switch SW2 is closed, the calculation result of the calculator 12 is transferred in the second direction Y via the second data transfer group 3.
  • the first switch SW1 and the second switch SW2 in FIG. 5 can be configured using the input buffer 13 and the output buffer 14 in FIG. 1, etc.
  • the multiple output buffers 14 include multiple first output buffers that output the calculation results of the multiple arithmetic units 12 in a first direction X or a second direction Y, and multiple second output buffers that output the calculation results of the multiple arithmetic units 12 in the opposite direction to the first direction X or the second direction Y.
  • the controller 4 inputs the calculation results of the multiple arithmetic units 12 to the multiple first output buffers or multiple second output buffers via the multiple first output buffers or multiple second output buffers.
  • FIG. 6A is a diagram showing an example in which a total of nine arithmetic units 12 are arranged, three in the first direction X (e.g., row direction) and three in the second direction Y (e.g., column direction).
  • the calculation results of the nine arithmetic units 12 are normally transferred and output in sequence in the first direction X, as shown in FIG. 6B.
  • the first switch SW1 in FIG. 5 is closed and the second switch SW2 is opened.
  • FIG. 6A is a diagram showing an example in which a total of nine arithmetic units 12 are arranged, three in the first direction X (e.g., row direction) and three in the second direction Y (e.g., column direction).
  • the calculation results of the nine arithmetic units 12 are normally transferred and output in sequence in the first direction X, as shown in FIG. 6B.
  • the first switch SW1 in FIG. 5 is closed and the second switch SW2 is opened.
  • the calculation results a11, a12, and a13 of the first row are output in sequence, then the calculation results a21, a22, and a23 of the second row are output in sequence, and finally the calculation results a31, a32, and a33 of the third row are output in sequence.
  • the first switch SW1 in Fig. 5 is opened and the second switch SW2 is closed.
  • the calculation results a11, a21, and a31 in the first column are output in order
  • the calculation results a12, a22, and a32 in the second column are output in order
  • the calculation results a13, a23, and a33 in the third column are output in order.
  • FIG. 5 an example is described in which a first switch SW1 and a second switch SW2 are provided for each calculator 12 to switch the transfer order, but instead of providing a first switch SW1 and a second switch SW2 for each calculator 12, the calculation results of the multiple calculators 12 transferred for each first data transfer group 2 may be stored in a frame memory, and after the calculation results of the multiple calculators 12 transferred in the multiple first data transfer groups 2 are stored in the frame memory, the order in which the calculation results are read out from the frame memory may be switched to select whether the calculation results are output row by row or column by column.
  • FIG. 7 is a block diagram of a semiconductor device 1 according to a modified example of FIG. 4.
  • the semiconductor device 1 in FIG. 7 includes a frame memory 15 connected to the row output circuit 7, and an output order switching circuit 16.
  • the frame memory 15 sequentially stores the calculation results for each row transferred in each of the multiple first data transfer groups 2.
  • the output order switching circuit 16 selects either row-by-row or column-by-column the results of the calculations of the multiple calculators 12 stored in the frame memory 15 and sequentially reads them out.
  • the frame memory 15 and the output order switching circuit 16 may be connected to the column output circuit 10.
  • FIG. 8A is a diagram showing the arrangement of multiple arithmetic units 12. Similar to FIG. 6A, FIG. 8A shows an example in which a total of nine arithmetic units 12 are arranged, three in the first direction X (e.g., row direction) and three in the second direction Y (e.g., column direction). These nine arithmetic units 12 output calculation results a11, a12, a13, a21, a22, a23, a31, a32, and a33.
  • first direction X e.g., row direction
  • Y e.g., column direction
  • FIG. 8B is a diagram showing an example in which the calculation results of multiple calculators 12 are read out row by row in multiple first data transfer groups 2.
  • the calculation results a11, a12, and a13 of the calculators 12 in the (1)th row of FIG. 8A are read out, then the calculation results a21, a22, and a23 in the (2)th row are read out, and finally the calculation results a31, a32, and a33 in the (3)th row are read out.
  • FIG. 8C is a diagram showing the storage area of the frame memory 15.
  • the frame memory 15 stores the calculation results of each calculator 12, which are read out row by row, in order column by column. More specifically, the frame memory 15 stores the calculation results a11, a21, and a31 of the (4)th column ((4)-1, (4)-2, and (4)-3 in FIG. 8C), then stores the calculation results a12, a22, and a32 of the (5)th column ((5)-1, (5)-2, and (5)-3 in FIG. 8C), and finally stores the calculation results a13, a23, and a33 of the (6)th column ((6)-1, (6)-2, and (6)-3 in FIG. 8C).
  • FIG. 8D is a diagram showing an example of reading out the calculation results from the frame memory 15. By reading out the calculation results in an order different from the order in which they were stored in the frame memory 15, it is possible to read out the calculation results with rows and columns swapped.
  • the rows and columns are swapped and stored, so that when the frame memory 15 is read in address order, the rows and columns can be swapped and read.
  • FIG. 9 is a block diagram showing a more detailed configuration of the multiple first data transfer groups 2 and the multiple second data transfer groups 3 shown in FIG. 4.
  • each of the first data transfer groups 2 has a plurality of first flip-flops 5 connected in series in a first direction X (e.g., row direction) and a plurality of first clock buffers 11a connected in the opposite direction to the transfer order of the first flip-flops 5.
  • first direction X e.g., row direction
  • first clock buffers 11a connected in the opposite direction to the transfer order of the first flip-flops 5.
  • Each of the multiple second data transfer groups 3 has multiple second flip-flops 8 connected in series in the second direction Y (e.g., the column direction) and multiple second clock buffers 11b connected in the opposite direction to the transfer order of the multiple second flip-flops 8.
  • the data output terminals of the first flip-flops 5 except for the final stage are connected to a calculator 12 via an input buffer 13 and an output buffer 14.
  • Two sets of input buffers 13 and output buffers 14, one above the other in the column direction, are connected to each calculator 12.
  • the upper input buffer 13 inputs the output signal of the corresponding first flip-flop 5 of the upper first data transfer group 2 to the calculator 12 when the enable signal REN_U is, for example, at a high level.
  • the upper output buffer 14 outputs the calculation result of the calculator 12 to the upper first data transfer group 2 when the enable signal WEN_U is, for example, at a high level.
  • the lower input buffer 13 inputs the output signal of the corresponding first flip-flop 5 of the lower first data transfer group 2 to the calculator 12 when the enable signal REN_D is, for example, at a high level.
  • the lower output buffer 14 outputs the calculation result of the calculator 12 to the lower first data transfer group 2 when the enable signal WEN_D is, for example, at a high level.
  • the calculation result of each calculator 12 is input to the data input terminal of the corresponding first flip-flop 5 in the first data transfer group 2 and the data input terminal of the corresponding second flip-flop 8 in the second data transfer group 3 via the output buffer 14.
  • the clock signal CLK is propagated by the first clock buffers 11a that supply the clock signal CLK to the first flip-flops 5
  • the calculation result of each calculator 12 is transferred in the first direction X via the first data transfer group 2.
  • the clock signal CLK is propagated by the second clock buffers 11b that supply the clock signal CLK to the second flip-flops 8
  • the calculation result of each calculator 12 is transferred in the second direction Y via the second data transfer group 3.
  • the transfer direction of the calculation results of the multiple arithmetic units 12 can be switched depending on whether the clock signal CLK is propagated through the multiple first clock buffers 11a or the multiple second clock buffers 11b.
  • the multiple first data transfer groups 2 do not necessarily need to transfer data in the same direction, and some of the first data transfer groups 2 may transfer data in the opposite direction to the other first data transfer groups 2.
  • the multiple second data transfer groups 3 do not necessarily need to transfer data in the same direction, and some of the second data transfer groups 3 may transfer data in the opposite direction to the other second data transfer groups 3.
  • FIGS. 10 to 13 are diagrams showing typical variations in the data transfer direction of multiple first data transfer groups 2 and multiple second data transfer groups 3.
  • the arrows in FIG. 10 to FIG. 13 indicate the data transfer direction.
  • FIG. 10 shows an example in which multiple first data transfer groups 2 all transfer data in a first direction X, and multiple second data transfer groups 3 all transfer data in a second direction Y.
  • multiple first data transfer groups 2 transfer data in parallel up to one end in the first direction X.
  • Multiple second data transfer groups 3 transfer data in parallel up to one end in the second direction Y.
  • FIG. 11 shows an example in which the data transfer directions of the odd-numbered and even-numbered rows of the multiple first data transfer groups 2 are reversed.
  • the multiple second data transfer groups 3 all transfer data in the second direction YY.
  • data transferred to a first end in the first direction X by some of the multiple first data transfer groups 2 is transferred to a second end in the opposite direction to the first direction X by the remaining first data transfer groups 2 of the multiple first data transfer groups 2.
  • the multiple second data transfer groups 3 transfer data in parallel to one end in the second direction Y.
  • FIG. 12 shows an example in which the data transfer directions of the odd-numbered columns and the even-numbered columns of the multiple second data transfer groups 3 are reversed. All of the multiple first data transfer groups 2 transfer data in the first direction X. In FIG. 12, the multiple first data transfer groups 2 transfer data in parallel to one end of the first direction X. Data transferred to the first end in the second direction Y by some of the multiple second data transfer groups 3 is transferred in the opposite direction of the second direction Y to the second end by the remaining second data transfer groups 3 of the multiple second data transfer groups 3.
  • FIG. 13 shows an example in which the data transfer directions are reversed between odd-numbered rows and even-numbered rows among the multiple first data transfer groups 2, and the data transfer directions are reversed between odd-numbered columns and even-numbered columns among the multiple second data transfer groups 3.
  • data transferred to a first end in the first direction X by some of the multiple first data transfer groups 2 is transferred to a second end in the opposite direction to the first direction X by other first data transfer groups 2 among the multiple first data transfer groups 2
  • the data transferred to the third end in the second direction Y by some of the multiple second data transfer groups 3 is transferred in the opposite direction of the second direction Y to the fourth end by other second data transfer groups 3 than the part of the multiple second data transfer groups 3.
  • the multiple first data transfer groups 2 alternate between data transfer in the first direction X and data transfer in the opposite direction to the first direction X in the order of the arrangement in the second direction Y.
  • the multiple second data transfer groups 3 alternate between data transfer in the second direction Y and data transfer in the opposite direction to the first direction X in the order of the arrangement in the first direction X.
  • the semiconductor device 1 according to the present embodiment can be disposed on one semiconductor substrate, or can have a stacked structure in which two or more semiconductor substrates are stacked.
  • FIG. 14 is a schematic perspective view of a semiconductor device 1 having a stacked structure according to this embodiment.
  • FIG. 14 shows an example in which the semiconductor device 1 is constructed by stacking two semiconductor substrates 21 and 22.
  • a plurality of arithmetic units 12, a plurality of first data transfer groups 2, a row data generator 6, and a row output circuit 7 are arranged on the first semiconductor substrate 21.
  • a plurality of arithmetic units 12, a plurality of second data transfer groups 3, a column data generator 9, and a column output circuit 10 are arranged on the second semiconductor substrate 22.
  • Signal transmission between the first semiconductor substrate 21 and the second semiconductor substrate 22 is performed, for example, by CCC (Copper-Copper Connection), vias, or bumps. Either the first semiconductor substrate 21 or the second semiconductor substrate 22 may be placed on top.
  • CCC Copper-Copper Connection
  • vias vias
  • bumps Either the first semiconductor substrate 21 or the second semiconductor substrate 22 may be placed on top.
  • FIG. 15 is a block diagram of the first semiconductor substrate 21, and FIG. 16 is a block diagram of the second semiconductor substrate 22.
  • a first semiconductor substrate 21 has a plurality of first data transfer groups 2 arranged in the second direction Y and a plurality of arithmetic unit groups 12g arranged in the first direction X.
  • Each of the first data transfer groups 2 has a plurality of first flip-flops 5 connected in series in the first direction X.
  • a plurality of second data transfer groups 3 arranged in the first direction X and a plurality of arithmetic unit groups 12g arranged in the first direction X are arranged on the second semiconductor substrate 22.
  • Each of the plurality of second data transfer groups 3 has a plurality of second flip-flops 8 connected in series in the second direction Y.
  • the multiple computing units 12 on the first semiconductor substrate 21 and the multiple computing units 12 on the second semiconductor substrate 22 may be arranged so as not to overlap when viewed in a plan view, or may be arranged so as to overlap.
  • FIG. 16 shows an example in which the calculation result of each calculator 12 is input to the data input terminal of the second flip-flop 8 in the next stage of the second data transfer group 3, which is the same as the second flip-flop 8 that inputs data to each calculator 12.
  • the calculation result of each calculator 12 may be input to the data input terminal of any second flip-flop 8 in a second data transfer group 3 different from the second data transfer group 3, which is the same as the second flip-flop 8 that inputs data to each calculator 12.
  • FIG. 17 is a block diagram of a second semiconductor substrate 22 according to a modified example of FIG. 16.
  • the calculation result of the arithmetic unit 12 is input to the data input terminal of the corresponding second flip-flop 8 in a second data transfer group 3 different from the second data transfer group 3 including the second flip-flop 8 that input the data to the arithmetic unit 12.
  • the calculation result of the calculator 12 may be input to the corresponding first flip-flop 5 or second flip-flop 8 of a first data transfer group 2 or second data transfer group 3 different from the first data transfer group 2 or second data transfer group 3 that input data to the calculator 12.
  • Each arithmetic unit 12 can perform various arithmetic processing, and the content of the arithmetic processing to be performed may be switched depending on the time and situation.
  • the multiple first data transfer groups 2 and the multiple second data transfer groups 3 transfer data including at least one of the opcodes of the multiple arithmetic units 12, the operands, the time code of the operation, the identification information of the arithmetic unit 12 to be input next, or the operation end information.
  • FIG. 18 is a block diagram showing a first example of the internal configuration of the arithmetic unit 12.
  • the arithmetic unit 12 shown in FIG. 18 has an internal configuration similar to that of a processor, and has an input/output control unit 23, a register group 24, multiple arithmetic units (ALUs: Arithmetic Logic Units) 25, and a program counter 26.
  • the register group 24 includes a general-purpose register, an instruction register, an index register, etc.
  • FIG. 19 is a block diagram showing a second example of the internal configuration of the calculator 12 when the semiconductor device 1 is an imaging device using a pixel ADC method.
  • the calculator 12 has at least one pixel unit 27 having an ADC, at least one memory unit 28, and an input/output control unit 29.
  • the semiconductor device 1 includes a plurality of first data transfer groups 2 each of which transfers data in a first direction X, and a plurality of second data transfer groups 3 each of which transfers data in a second direction Y, and individually switches and controls the connection destinations of the output terminals of the plurality of first flip-flops 5 and the plurality of second flip-flops 8.
  • This makes it possible to switch the data transfer direction as necessary. For example, it is possible to easily transpose and output the results of calculations performed in the row direction using the plurality of arithmetic units 12 in the column direction.
  • the technology disclosed herein can be applied to a variety of products.
  • the technology disclosed herein may be realized as a device mounted on any type of moving object, such as an automobile, electric vehicle, hybrid electric vehicle, motorcycle, bicycle, personal mobility, airplane, drone, ship, robot, construction machinery, agricultural machinery (tractor), etc.
  • FIG. 20 is a block diagram showing a schematic configuration example of a vehicle control system 7000, which is an example of a mobile control system to which the technology disclosed herein can be applied.
  • the vehicle control system 7000 includes a plurality of electronic control units connected via a communication network 7010.
  • the vehicle control system 7000 includes a drive system control unit 7100, a body system control unit 7200, a battery control unit 7300, an outside vehicle information detection unit 7400, an inside vehicle information detection unit 7500, and an integrated control unit 7600.
  • the communication network 7010 connecting these multiple control units may be, for example, an in-vehicle communication network conforming to any standard such as CAN (Controller Area Network), LIN (Local Interconnect Network), LAN (Local Area Network), or FlexRay (registered trademark).
  • CAN Controller Area Network
  • LIN Local Interconnect Network
  • LAN Local Area Network
  • FlexRay registered trademark
  • Each control unit includes a microcomputer that performs arithmetic processing according to various programs, a storage unit that stores the programs executed by the microcomputer or parameters used in various calculations, and a drive circuit that drives various devices to be controlled.
  • Each control unit includes a network I/F for communicating with other control units via a communication network 7010, and a communication I/F for communicating with devices or sensors inside and outside the vehicle by wired or wireless communication.
  • the functional configuration of the integrated control unit 7600 includes a microcomputer 7610, a general-purpose communication I/F 7620, a dedicated communication I/F 7630, a positioning unit 7640, a beacon receiving unit 7650, an in-vehicle device I/F 7660, an audio/image output unit 7670, an in-vehicle network I/F 7680, and a storage unit 7690.
  • Other control units also include a microcomputer, a communication I/F, a storage unit, and the like.
  • the drive system control unit 7100 controls the operation of devices related to the drive system of the vehicle according to various programs.
  • the drive system control unit 7100 functions as a control device for a drive force generating device for generating a drive force for the vehicle, such as an internal combustion engine or a drive motor, a drive force transmission mechanism for transmitting the drive force to the wheels, a steering mechanism for adjusting the steering angle of the vehicle, and a braking device for generating a braking force for the vehicle.
  • the drive system control unit 7100 may also function as a control device such as an ABS (Antilock Brake System) or ESC (Electronic Stability Control).
  • the drive system control unit 7100 is connected to a vehicle state detection unit 7110.
  • the vehicle state detection unit 7110 includes at least one of a gyro sensor that detects the angular velocity of the axial rotational motion of the vehicle body, an acceleration sensor that detects the acceleration of the vehicle, or a sensor for detecting the amount of operation of the accelerator pedal, the amount of operation of the brake pedal, the steering angle of the steering wheel, the engine speed, or the rotation speed of the wheels, etc.
  • the drive system control unit 7100 performs arithmetic processing using the signal input from the vehicle state detection unit 7110, and controls the internal combustion engine, the drive motor, the electric power steering device, the brake device, etc.
  • the body system control unit 7200 controls the operation of various devices installed in the vehicle body according to various programs.
  • the body system control unit 7200 functions as a control device for a keyless entry system, a smart key system, a power window device, or various lamps such as headlamps, tail lamps, brake lamps, turn signals, and fog lamps.
  • radio waves or signals from various switches transmitted from a portable device that replaces a key can be input to the body system control unit 7200.
  • the body system control unit 7200 accepts the input of these radio waves or signals and controls the vehicle's door lock device, power window device, lamps, etc.
  • the battery control unit 7300 controls the secondary battery 7310, which is the power supply source for the drive motor, according to various programs. For example, information such as the battery temperature, battery output voltage, or remaining capacity of the battery is input to the battery control unit 7300 from a battery device equipped with the secondary battery 7310. The battery control unit 7300 performs calculations using these signals, and controls the temperature regulation of the secondary battery 7310 or a cooling device or the like equipped in the battery device.
  • the outside vehicle information detection unit 7400 detects information outside the vehicle equipped with the vehicle control system 7000.
  • the imaging unit 7410 and the outside vehicle information detection unit 7420 is connected to the outside vehicle information detection unit 7400.
  • the imaging unit 7410 includes at least one of a ToF (Time Of Flight) camera, a stereo camera, a monocular camera, an infrared camera, and other cameras.
  • the outside vehicle information detection unit 7420 includes at least one of an environmental sensor for detecting the current weather or climate, or a surrounding information detection sensor for detecting other vehicles, obstacles, pedestrians, etc., around the vehicle equipped with the vehicle control system 7000.
  • the environmental sensor may be, for example, at least one of a raindrop sensor that detects rain, a fog sensor that detects fog, a sunshine sensor that detects the level of sunlight, and a snow sensor that detects snowfall.
  • the surrounding information detection sensor may be at least one of an ultrasonic sensor, a radar device, and a LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) device.
  • the imaging unit 7410 and the outside vehicle information detection unit 7420 may each be provided as an independent sensor or device, or may be provided as a device in which multiple sensors or devices are integrated.
  • FIG. 21 shows an example of the installation positions of the imaging unit 7410 and the outside vehicle information detection unit 7420.
  • the imaging units 7910, 7912, 7914, 7916, and 7918 are provided, for example, at least one of the front nose, side mirrors, rear bumper, back door, and the upper part of the windshield inside the vehicle cabin of the vehicle 7900.
  • the imaging unit 7910 provided on the front nose and the imaging unit 7918 provided on the upper part of the windshield inside the vehicle cabin mainly acquire images of the front of the vehicle 7900.
  • the imaging units 7912 and 7914 provided on the side mirrors mainly acquire images of the sides of the vehicle 7900.
  • the imaging unit 7916 provided on the rear bumper or back door mainly acquires images of the rear of the vehicle 7900.
  • the imaging unit 7918, which is installed on the top of the windshield inside the vehicle is primarily used to detect preceding vehicles, pedestrians, obstacles, traffic lights, traffic signs, lanes, etc.
  • FIG. 21 shows an example of the imaging ranges of the imaging units 7910, 7912, 7914, and 7916.
  • Imaging range a indicates the imaging range of the imaging unit 7910 provided on the front nose
  • imaging ranges b and c indicate the imaging ranges of the imaging units 7912 and 7914 provided on the side mirrors
  • imaging range d indicates the imaging range of the imaging unit 7916 provided on the rear bumper or back door.
  • image data captured by the imaging units 7910, 7912, 7914, and 7916 are superimposed to obtain an overhead image of the vehicle 7900.
  • External information detection units 7920, 7922, 7924, 7926, 7928, and 7930 provided on the front, rear, sides, corners, and upper part of the windshield inside the vehicle 7900 may be, for example, ultrasonic sensors or radar devices.
  • External information detection units 7920, 7926, and 7930 provided on the front nose, rear bumper, back door, and upper part of the windshield inside the vehicle 7900 may be, for example, LIDAR devices. These external information detection units 7920 to 7930 are primarily used to detect preceding vehicles, pedestrians, obstacles, etc.
  • the outside-vehicle information detection unit 7400 causes the imaging unit 7410 to capture an image outside the vehicle, and receives the captured image data.
  • the outside-vehicle information detection unit 7400 also receives detection information from the connected outside-vehicle information detection unit 7420. If the outside-vehicle information detection unit 7420 is an ultrasonic sensor, a radar device, or a LIDAR device, the outside-vehicle information detection unit 7400 transmits ultrasonic waves or electromagnetic waves, and receives information on the received reflected waves.
  • the outside-vehicle information detection unit 7400 may perform object detection processing or distance detection processing for people, cars, obstacles, signs, or characters on the road surface, based on the received information.
  • the outside-vehicle information detection unit 7400 may perform environmental recognition processing for recognizing rainfall, fog, road surface conditions, etc., based on the received information.
  • the outside-vehicle information detection unit 7400 may calculate the distance to an object outside the vehicle based on the received information.
  • the outside vehicle information detection unit 7400 may also perform image recognition processing or distance detection processing to recognize people, cars, obstacles, signs, or characters on the road surface based on the received image data.
  • the outside vehicle information detection unit 7400 may perform processing such as distortion correction or alignment on the received image data, and may also generate an overhead image or a panoramic image by synthesizing image data captured by different imaging units 7410.
  • the outside vehicle information detection unit 7400 may also perform viewpoint conversion processing using image data captured by different imaging units 7410.
  • the in-vehicle information detection unit 7500 detects information inside the vehicle.
  • the in-vehicle information detection unit 7500 is connected to, for example, a driver state detection unit 7510 that detects the state of the driver.
  • the driver state detection unit 7510 may include a camera that captures an image of the driver, a biosensor that detects the driver's biometric information, or a microphone that collects sound inside the vehicle.
  • the biosensor is provided, for example, on the seat or steering wheel, and detects the biometric information of a passenger sitting in the seat or a driver gripping the steering wheel.
  • the in-vehicle information detection unit 7500 may calculate the degree of fatigue or concentration of the driver based on the detection information input from the driver state detection unit 7510, or may determine whether the driver is dozing off.
  • the in-vehicle information detection unit 7500 may perform processing such as noise canceling on the collected sound signal.
  • the integrated control unit 7600 controls the overall operation of the vehicle control system 7000 according to various programs.
  • the input unit 7800 is connected to the integrated control unit 7600.
  • the input unit 7800 is realized by a device that can be operated by the passenger, such as a touch panel, a button, a microphone, a switch, or a lever. Data obtained by voice recognition of a voice input by a microphone may be input to the integrated control unit 7600.
  • the input unit 7800 may be, for example, a remote control device using infrared or other radio waves, or an externally connected device such as a mobile phone or a PDA (Personal Digital Assistant) that supports the operation of the vehicle control system 7000.
  • PDA Personal Digital Assistant
  • the input unit 7800 may be, for example, a camera, in which case the passenger can input information by gestures. Alternatively, data obtained by detecting the movement of a wearable device worn by the passenger may be input. Furthermore, the input unit 7800 may include, for example, an input control circuit that generates an input signal based on information input by a passenger or the like using the input unit 7800 and outputs the signal to the integrated control unit 7600. The passenger or the like operates the input unit 7800 to input various data to the vehicle control system 7000 and to instruct processing operations.
  • the memory unit 7690 may include a ROM (Read Only Memory) that stores various programs executed by the microcomputer, and a RAM (Random Access Memory) that stores various parameters, calculation results, sensor values, etc.
  • the memory unit 7690 may also be realized by a magnetic memory device such as a HDD (Hard Disc Drive), a semiconductor memory device, an optical memory device, or a magneto-optical memory device, etc.
  • the general-purpose communication I/F 7620 is a general-purpose communication I/F that mediates communication between various devices present in the external environment 7750.
  • the general-purpose communication I/F 7620 may implement cellular communication protocols such as GSM (registered trademark) (Global System of Mobile communications), WiMAX (registered trademark), LTE (registered trademark) (Long Term Evolution) or LTE-A (LTE-Advanced), or other wireless communication protocols such as wireless LAN (also called Wi-Fi (registered trademark)) and Bluetooth (registered trademark).
  • GSM Global System of Mobile communications
  • WiMAX registered trademark
  • LTE registered trademark
  • LTE-A Long Term Evolution
  • Bluetooth registered trademark
  • the general-purpose communication I/F 7620 may connect to devices (e.g., application servers or control servers) present on an external network (e.g., the Internet, a cloud network, or an operator-specific network) via, for example, a base station or an access point.
  • the general-purpose communication I/F 7620 may connect to a terminal located near the vehicle (e.g., a driver's, pedestrian's, or store's terminal, or an MTC (Machine Type Communication) terminal) using, for example, P2P (Peer To Peer) technology.
  • P2P Peer To Peer
  • the dedicated communication I/F 7630 is a communication I/F that supports a communication protocol developed for use in vehicles.
  • the dedicated communication I/F 7630 may implement a standard protocol such as WAVE (Wireless Access in Vehicle Environment), DSRC (Dedicated Short Range Communications), or a cellular communication protocol, which is a combination of the lower layer IEEE 802.11p and the higher layer IEEE 1609.
  • the dedicated communication I/F 7630 typically performs V2X communication, which is a concept that includes one or more of vehicle-to-vehicle communication, vehicle-to-infrastructure communication, vehicle-to-home communication, and vehicle-to-pedestrian communication.
  • the positioning unit 7640 performs positioning by receiving, for example, GNSS signals from GNSS (Global Navigation Satellite System) satellites (for example, GPS signals from GPS (Global Positioning System) satellites), and generates position information including the latitude, longitude, and altitude of the vehicle.
  • GNSS Global Navigation Satellite System
  • GPS Global Positioning System
  • the positioning unit 7640 may determine the current position by exchanging signals with a wireless access point, or may obtain position information from a terminal such as a mobile phone, PHS, or smartphone that has a positioning function.
  • the beacon receiver 7650 receives, for example, radio waves or electromagnetic waves transmitted from radio stations installed on the road, and acquires information such as the current location, congestion, road closures, and travel time.
  • the functions of the beacon receiver 7650 may be included in the dedicated communication I/F 7630 described above.
  • the in-vehicle device I/F 7660 is a communication interface that mediates the connection between the microcomputer 7610 and various in-vehicle devices 7760 present in the vehicle.
  • the in-vehicle device I/F 7660 may establish a wireless connection using a wireless communication protocol such as wireless LAN, Bluetooth (registered trademark), NFC (Near Field Communication), or WUSB (Wireless USB).
  • the in-vehicle device I/F 7660 may also establish a wired connection such as USB (Universal Serial Bus), HDMI (High-Definition Multimedia Interface), or MHL (Mobile High-definition Link) via a connection terminal (and a cable, if necessary) not shown.
  • USB Universal Serial Bus
  • HDMI High-Definition Multimedia Interface
  • MHL Mobile High-definition Link
  • the in-vehicle device 7760 may include, for example, at least one of a mobile device or wearable device owned by a passenger, or an information device carried into or attached to the vehicle.
  • the in-vehicle device 7760 may also include a navigation device that searches for a route to an arbitrary destination.
  • the in-vehicle device I/F 7660 exchanges control signals or data signals with these in-vehicle devices 7760.
  • the in-vehicle network I/F 7680 is an interface that mediates communication between the microcomputer 7610 and the communication network 7010.
  • the in-vehicle network I/F 7680 transmits and receives signals in accordance with a specific protocol supported by the communication network 7010.
  • the microcomputer 7610 of the integrated control unit 7600 controls the vehicle control system 7000 according to various programs based on information acquired through at least one of the general-purpose communication I/F 7620, the dedicated communication I/F 7630, the positioning unit 7640, the beacon receiving unit 7650, the in-vehicle device I/F 7660, and the in-vehicle network I/F 7680.
  • the microcomputer 7610 may calculate the control target value of the driving force generating device, the steering mechanism, or the braking device based on the acquired information inside and outside the vehicle, and output a control command to the drive system control unit 7100.
  • the microcomputer 7610 may perform cooperative control for the purpose of realizing the functions of an ADAS (Advanced Driver Assistance System), including vehicle collision avoidance or impact mitigation, following driving based on the distance between vehicles, vehicle speed maintenance driving, vehicle collision warning, vehicle lane departure warning, etc.
  • ADAS Advanced Driver Assistance System
  • the microcomputer 7610 may control the driving force generating device, steering mechanism, braking device, etc. based on the acquired information about the surroundings of the vehicle, thereby performing cooperative control for the purpose of autonomous driving, which allows the vehicle to travel autonomously without relying on the driver's operation.
  • the microcomputer 7610 may generate three-dimensional distance information between the vehicle and objects such as surrounding structures and people based on information acquired via at least one of the general-purpose communication I/F 7620, the dedicated communication I/F 7630, the positioning unit 7640, the beacon receiving unit 7650, the in-vehicle equipment I/F 7660, and the in-vehicle network I/F 7680, and may create local map information including information about the surroundings of the vehicle's current position.
  • the microcomputer 7610 may also predict dangers such as vehicle collisions, the approach of pedestrians, or entry into closed roads based on the acquired information, and generate warning signals.
  • the warning signals may be, for example, signals for generating warning sounds or turning on warning lights.
  • the audio/image output unit 7670 transmits at least one of audio and image output signals to an output device capable of visually or audibly notifying the vehicle occupants or the outside of the vehicle of information.
  • an audio speaker 7710, a display unit 7720, and an instrument panel 7730 are illustrated as output devices.
  • the display unit 7720 may include, for example, at least one of an on-board display and a head-up display.
  • the display unit 7720 may have an AR (Augmented Reality) display function.
  • the output device may be other devices such as headphones, wearable devices such as glasses-type displays worn by the occupants, projectors, or lamps other than these devices.
  • the display device visually displays the results obtained by various processes performed by the microcomputer 7610 or information received from other control units in various formats such as text, images, tables, graphs, etc. Also, if the output device is an audio output device, the audio output device converts an audio signal consisting of reproduced voice data or acoustic data, etc., into an analog signal and outputs it audibly.
  • At least two control units connected via the communication network 7010 may be integrated into one control unit.
  • each control unit may be composed of multiple control units.
  • the vehicle control system 7000 may include another control unit not shown.
  • some or all of the functions performed by any control unit may be provided by another control unit.
  • a predetermined calculation process may be performed by any control unit.
  • a sensor or device connected to any control unit may be connected to another control unit, and multiple control units may transmit and receive detection information to each other via the communication network 7010.
  • the semiconductor device 1 according to this embodiment described using FIG. 1 etc. can be applied to the integrated control unit 7600 of the application example shown in FIG. 20.
  • the components of the semiconductor device 1 described using FIG. 1 etc. may be realized in a module (e.g., an integrated circuit module configured on a single die) for the integrated control unit 7600 shown in FIG. 20.
  • the semiconductor device 1 described using FIG. 1 etc. may be realized by multiple control units of the vehicle control system 7000 shown in FIG. 20.
  • This technology can be configured as follows:
  • a plurality of arithmetic units are provided corresponding to at least one of the plurality of first data transfer groups or the plurality of second data transfer groups and are arranged along the first direction and the second direction; each of the plurality of arithmetic units performs an arithmetic process based on an output signal of the corresponding first flip-flop or the corresponding second flip-flop;
  • the plurality of arithmetic units perform at least one of four arithmetic operations or analog-to-digital conversion.
  • Each of the plurality of arithmetic units inputs an operation result to the first flip-flop or the second flip-flop in the next stage of the first data transfer group or the second data transfer group that is the same as the first flip-flop or the second flip-flop that outputs the output signal.
  • Each of the plurality of arithmetic units inputs an operation result to the first flip-flop or the second flip-flop in either the first data transfer group or the second data transfer group, the first flip-flop or the second flip-flop being different from the first flip-flop or the second flip-flop that outputs the output signal.
  • the switching controller individually controls switching between transferring the operation results of the plurality of arithmetic units in the first direction by the plurality of first data transfer groups and transferring the operation results of the plurality of arithmetic units in the second direction by the plurality of second data transfer groups.
  • the semiconductor device according to any one of (3) to (6).
  • the digital signal processing device includes a plurality of switches that switch output signal paths of the first flip-flops and the second flip-flops in each of the first data transfer groups and the second data transfer groups in accordance with switching control by the switching controller.
  • the plurality of switches are connected between input nodes of the plurality of first flip-flops and output nodes of the plurality of arithmetic units, and are connected between input nodes of the plurality of second flip-flops and output nodes of the plurality of arithmetic units.
  • a plurality of first output buffers that output operation results of the plurality of arithmetic units in the first direction or the second direction; a plurality of second output buffers that output the operation results of the plurality of arithmetic units in a direction opposite to the first direction or the second direction; the switching controller inputs operation results of the plurality of arithmetic units to the plurality of first flip-flops or the plurality of second flip-flops via the plurality of first output buffers or the plurality of second output buffers;
  • the semiconductor device according to any one of (3) to (9).
  • the plurality of first data transfer groups, the plurality of second data transfer groups, and the plurality of arithmetic units are arranged in one semiconductor layer, or are divided and arranged in a plurality of semiconductor layers.
  • (12) The plurality of first data transfer groups and the plurality of second data transfer groups transfer data including at least one of opcodes, operands, time codes of operations performed, identification information of a next input operation unit, or operation end information of the plurality of operation units.
  • the plurality of first data transfer groups transfer data in parallel to one end in the first direction; the plurality of second data transfer groups transfer data in parallel to one end in the second direction; The semiconductor device according to any one of (1) to (12).
  • Data transferred to a first end in the first direction in a portion of the plurality of first data transfer groups is transferred to a second end in a direction opposite to the first direction in a portion of the plurality of first data transfer groups other than the portion of the plurality of first data transfer groups; the plurality of second data transfer groups transfer data in parallel to one end in the second direction;
  • the semiconductor device according to any one of (1) to (12).
  • the plurality of first data transfer groups transfer data in parallel to one end in the first direction; the data transferred to a first end in the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups is transferred in a direction opposite to the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups other than the portion of the second data transfer groups to a second end;
  • the semiconductor device according to any one of (1) to (12).
  • Data transferred to a first end in the first direction in a portion of the plurality of first data transfer groups is transferred to a second end in a direction opposite to the first direction in a portion of the plurality of first data transfer groups other than the portion of the plurality of first data transfer groups; the data transferred to a third end in the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups is transferred in a direction opposite to the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups other than the portion of the second data transfer groups to a fourth end.
  • the semiconductor device according to any one of (1) to (12).
  • the plurality of first data transfer groups alternately transfer data in the first direction and data in a direction opposite to the first direction in an order of arrangement in the second direction.
  • the plurality of second data transfer groups alternately transfer data in the second direction and data in a direction opposite to the first direction in the order of the first direction.
  • Each of the first flip-flops and the second flip-flops outputs a signal having the same logic as an input signal from an output node when a clock signal has a first logic, and sets the output node to a high impedance state when the clock signal has a second logic.
  • Each of the first flip-flops and the second flip-flops takes in the input signal when the clock signal is at the second logic level, and outputs a signal having the same logic level as the input signal taken in from the output node when the clock signal subsequently transitions to the first logic level.
  • 1 semiconductor device 2 first data transfer group, 3 second data transfer group, 4 controller, 5 first output buffer, 5 first flip-flop, 6 row data generator, 7 row output circuit, 8 second output buffer, 8 second flip-flop, 9 column data generator, 10 column output circuit, 11 clock buffer, 11a first clock buffer, 11b second clock buffer, 12 arithmetic unit, 12g arithmetic unit group, 13 input buffer, 14 output buffer, 15 frame memory, 16 output order switching circuit, 21 first semiconductor substrate, 22 second semiconductor substrate, 23 input/output control unit, 24 register group, 25 arithmetic unit, 26 program counter, 27 pixel unit, 28 memory unit, 29 input/output control unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

[Problem] To transfer data in two or more directions. [Solution] This semiconductor device includes: a plurality of first data transfer groups each including a plurality of first flip-flops for transferring data in a first direction and arranged in a second direction intersecting the first direction; a plurality of second data transfer groups each including a plurality of second flip-flops for transferring data in the second direction and arranged in the first direction; and a switching controller that performs control for individually switching connection destinations of output terminals of the plurality of first flip-flops in the plurality of first data transfer groups and connection destinations of output terminals of the plurality of second flip-flops in the plurality of second data transfer groups.

Description

半導体装置Semiconductor Device

 本開示は、半導体装置に関する。 This disclosure relates to a semiconductor device.

 各画素でアナログ-デジタル変換(以下、AD変換)を行う画素ADC方式の撮像装置が知られている(例えば、特許文献1参照)。特許文献1では、画素アレイ部のカラム方向に時刻コード転送部を配置し、時刻コード転送部から各画素に時刻コードを転送して、画素信号が参照信号と一致したタイミングで時刻コードをAD変換値として保持する。  There is a known pixel ADC type imaging device that performs analog-to-digital conversion (hereafter, AD conversion) at each pixel (see, for example, Patent Document 1). In Patent Document 1, a time code transfer section is arranged in the column direction of the pixel array section, and a time code is transferred from the time code transfer section to each pixel, and the time code is held as an AD conversion value when the pixel signal matches the reference signal.

国際公開2018/037902号明細書International Publication No. WO 2018/037902

 しかしながら、既存の画素ADC方式の撮像装置では、予め定めた方向のみに時刻コードを転送し、各画素のAD変換値も予め定めた方向にしか転送できない。このため、転送効率がよいとは言えない。また、データの転送方向が限定されるため、画素アレイ部で実行可能な演算処理も限られてしまい、複雑な演算処理は撮像装置とは別のチップで行わざるを得ない。このため、撮像装置を備える撮像システムの構成を簡略化することが困難である。 However, existing imaging devices using the pixel ADC method can only transfer the time code in a predetermined direction, and the AD conversion value of each pixel can also only be transferred in a predetermined direction. This means that the transfer efficiency is not good. Furthermore, because the data transfer direction is limited, the calculation processing that can be performed in the pixel array section is also limited, and complex calculation processing must be performed on a chip separate from the imaging device. This makes it difficult to simplify the configuration of an imaging system that includes an imaging device.

 また、撮像装置に限らず、複数の演算器を備える半導体装置において、複数の演算器の演算結果を必要に応じて二以上の任意の方向に転送できるようにした構成は提案されていない。 Furthermore, in semiconductor devices equipped with multiple arithmetic units, including imaging devices, no configuration has been proposed that allows the results of the arithmetic units to be transferred in any two or more directions as needed.

 そこで、本開示では、二以上の方向にデータを転送可能な半導体装置を提供するものである。 Therefore, this disclosure provides a semiconductor device capable of transferring data in two or more directions.

 上記の課題を解決するために、本開示によれば、第1方向にデータを転送する複数の第1フリップフロップをそれぞれ含み、前記第1方向に交差する第2方向に配列される複数の第1データ転送群と、
 前記第2方向にデータを転送する複数の第2フリップフロップをそれぞれ含み、前記第1方向に配列される複数の第2データ転送群と、
 前記複数の第1データ転送群及び前記複数の第2データ転送群のそれぞれにおける前記複数の第1フリップフロップ及び前記複数の第2フリップフロップの出力端子の接続先を個別に切替制御する切替制御器と、を備える、半導体装置が提供される。
In order to solve the above problems, according to the present disclosure, there is provided a circuit configuration including: a plurality of first data transfer groups, each of which includes a plurality of first flip-flops that transfer data in a first direction and is arranged in a second direction intersecting the first direction;
a plurality of second data transfer groups arranged in the first direction, each group including a plurality of second flip-flops for transferring data in the second direction;
A switching controller that individually switches and controls connection destinations of output terminals of the first flip-flops and the second flip-flops in each of the first data transfer groups and the second data transfer groups.

 前記複数の第1フリップフロップに入力されるクロック信号の伝搬順序と、前記複数の第1フリップフロップに入力されるデータの伝搬順序とは互いに逆向きであり、
 前記複数の第2フリップフロップに入力されるクロック信号の伝搬順序と、前記複数の第2フリップフロップに入力されるデータの伝搬順序とは互いに逆向きであってもよい。
a propagation order of the clock signal input to the first flip-flops and a propagation order of the data input to the first flip-flops are opposite to each other;
A propagation order of the clock signal input to the second flip-flops and a propagation order of the data input to the second flip-flops may be opposite to each other.

 前記複数の第1データ転送群又は前記複数の第2データ転送群の少なくとも一方に対応して設けられ、前記第1方向及び前記第2方向に沿って配置される複数の演算器を備え、
 前記複数の演算器のそれぞれは、対応する前記第1フリップフロップ又は前記第2フリップフロップの出力信号に基づいて演算処理を行ってもよい。
a plurality of arithmetic units provided corresponding to at least one of the plurality of first data transfer groups or the plurality of second data transfer groups and arranged along the first direction and the second direction;
Each of the plurality of arithmetic units may perform an arithmetic process based on an output signal of the corresponding first flip-flop or the corresponding second flip-flop.

 前記複数の演算器は、四則演算又はアナログ-デジタル変換の少なくとも一方を行ってもよい。 The plurality of computing elements may perform at least one of the four arithmetic operations or analog-to-digital conversion.

 前記複数の演算器のそれぞれは、前記出力信号を出力した前記第1フリップフロップ又は前記第2フリップフロップと同じ前記第1データ転送群又は前記第2データ転送群の次段の前記第1フリップフロップ又は前記第2フリップフロップに演算結果を入力してもよい。 Each of the plurality of arithmetic units may input the calculation result to the first flip-flop or the second flip-flop in the next stage of the first data transfer group or the second data transfer group that is the same as the first flip-flop or the second flip-flop that output the output signal.

 前記複数の演算器のそれぞれは、前記出力信号を出力した前記第1フリップフロップ又は前記第2フリップフロップと異なる前記第1データ転送群又は前記第2データ転送群のいずれかの前記第1フリップフロップ又は前記第2フリップフロップに演算結果を入力してもよい。 Each of the plurality of arithmetic units may input the calculation result to the first flip-flop or the second flip-flop of either the first data transfer group or the second data transfer group that is different from the first flip-flop or the second flip-flop that output the output signal.

 前記切替制御器は、前記複数の演算器の演算結果を前記複数の第1データ転送群により前記第1方向に転送するか、前記複数の演算器の演算結果を前記複数の第2データ転送群により前記第2方向に転送するかを個別に切替制御してもよい。 The switching controller may individually control switching between transferring the calculation results of the multiple arithmetic units in the first direction by the multiple first data transfer groups, and transferring the calculation results of the multiple arithmetic units in the second direction by the multiple second data transfer groups.

 前記切替制御器による切替制御に従って、前記複数の第1データ転送群及び前記複数の第2データ転送群のそれぞれにおける前記複数の第1フリップフロップ及び前記複数の第2フリップフロップの出力信号経路を切り替える複数の切替器を備えてもよい。 The device may also include a plurality of switches that switch the output signal paths of the plurality of first flip-flops and the plurality of second flip-flops in each of the plurality of first data transfer groups and the plurality of second data transfer groups in accordance with switching control by the switching controller.

 前記複数の切替器は、前記複数の第1フリップフロップの入力ノードと前記複数の演算器の出力ノードとの間に接続されるとともに、前記複数の第2フリップフロップの入力ノードと前記複数の演算器の出力ノードとの間に接続されてもよい。 The multiple switches may be connected between the input nodes of the multiple first flip-flops and the output nodes of the multiple arithmetic units, and may also be connected between the input nodes of the multiple second flip-flops and the output nodes of the multiple arithmetic units.

 前記複数の演算器の演算結果を前記第1方向又は前記第2方向に出力する複数の第1出力バッファと、
 前記複数の演算器の演算結果を前記第1方向又は前記第2方向の反対方向に出力する複数の第2出力バッファと、を備え、
 前記切替制御器は、前記複数の第1出力バッファ又は前記複数の第2出力バッファを介して、前記複数の演算器の演算結果を前記複数の第1フリップフロップ又は前記複数の第2フリップフロップに入力してもよい。
a plurality of first output buffers that output operation results of the plurality of arithmetic units in the first direction or the second direction;
a plurality of second output buffers that output the operation results of the plurality of arithmetic units in a direction opposite to the first direction or the second direction;
The switching controller may input operation results of the plurality of arithmetic units to the plurality of first flip-flops or the plurality of second flip-flops via the plurality of first output buffers or the plurality of second output buffers.

 前記複数の第1データ転送群、前記複数の第2データ転送群、及び前記複数の演算器は、一つの半導体層に配置されるか、又は複数の半導体層に分割して配置されてもよい。 The first data transfer groups, the second data transfer groups, and the computing units may be arranged in one semiconductor layer, or may be divided and arranged in multiple semiconductor layers.

 前記複数の第1データ転送群及び前記複数の第2データ転送群は、前記複数の演算器のオペコード、オペランド、演算された時刻コード、次に入力される演算器の識別情報、又は演算終了情報の少なくとも一つを含むデータを転送してもよい。 The plurality of first data transfer groups and the plurality of second data transfer groups may transfer data including at least one of the opcodes, operands, the time code of the operation, the identification information of the next input operation, or the operation end information of the plurality of operation units.

 前記複数の第1データ転送群は、並行して前記第1方向の一端部までデータを転送し、
 前記複数の第2データ転送群は、並行して前記第2方向の一端部までデータを転送してもよい。
the plurality of first data transfer groups transfer data in parallel to one end in the first direction;
The plurality of second data transfer groups may transfer data in parallel up to one end in the second direction.

 前記複数の第1データ転送群のうち一部の第1データ転送群にて前記第1方向の第1端部まで転送されたデータは、前記複数の第1データ転送群のうち前記一部以外の第1データ転送群にて前記第1方向の逆方向に第2端部まで転送され、
 前記複数の第2データ転送群は、並行して前記第2方向の一端部までデータを転送してもよい。
the data transferred to a first end in the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups is transferred in a direction opposite to the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups other than the portion of the first data transfer groups to a second end;
The plurality of second data transfer groups may transfer data in parallel up to one end in the second direction.

 前記複数の第1データ転送群は、並行して前記第1方向の一端部までデータを転送し、
 前記複数の第2データ転送群のうち一部の第2データ転送群にて前記第2方向の第1端部まで転送されたデータは、前記複数の第2データ転送群のうち前記一部以外の第2データ転送群にて前記第2方向の逆方向に第2端部まで転送されてもよい。
the plurality of first data transfer groups transfer data in parallel to one end in the first direction;
Data transferred to a first end in the second direction in a portion of the plurality of second data transfer groups may be transferred to a second end in a direction opposite to the second direction in a portion of the plurality of second data transfer groups other than the portion of the plurality of second data transfer groups.

 前記複数の第1データ転送群のうち一部の第1データ転送群にて前記第1方向の第1端部まで転送されたデータは、前記複数の第1データ転送群のうち前記一部以外の第1データ転送群にて前記第1方向の逆方向に第2端部まで転送され、
 前記複数の第2データ転送群のうち一部の第2データ転送群にて前記第2方向の第3端部まで転送されたデータは、前記複数の第2データ転送群のうち前記一部以外の第2データ転送群にて前記第2方向の逆方向に第4端部まで転送されてもよい。
the data transferred to a first end in the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups is transferred in a direction opposite to the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups other than the portion of the first data transfer groups to a second end;
Data transferred to a third end in the second direction in a portion of the plurality of second data transfer groups may be transferred to a fourth end in a direction opposite to the second direction in a portion of the plurality of second data transfer groups other than the portion of the plurality of second data transfer groups.

 前記複数の第1データ転送群は、前記第2方向の並び順に前記第1方向へのデータ転送と前記第1方向の反対方向へのデータ転送とを交互に行ってもよい。 The plurality of first data transfer groups may alternate between data transfer in the first direction and data transfer in the opposite direction to the first direction in the order of the second direction.

 前記複数の第2データ転送群は、前記第1方向の並び順に前記第2方向へのデータ転送と前記第1方向の反対方向へのデータ転送とを交互に行ってもよい。 The plurality of second data transfer groups may alternate between data transfer in the second direction and data transfer in the opposite direction to the first direction in the order of the first direction.

 前記複数の第1フリップフロップ及び前記複数の第2フリップフロップのそれぞれは、クロック信号が第1論理の場合には、入力信号と同じ論理の信号を出力ノードから出力し、前記クロック信号が第2論理の場合には、前記出力ノードをハイインピーダンスにしてもよい。 Each of the first flip-flops and the second flip-flops may output a signal of the same logic as the input signal from an output node when the clock signal is a first logic, and may set the output node to high impedance when the clock signal is a second logic.

 前記複数の第1フリップフロップ及び前記複数の第2フリップフロップのそれぞれは、前記クロック信号が前記第2論理のときに前記入力信号を内部に取り込み、その後に前記クロック信号が前記第1論理に遷移したときに、内部に取り込んだ前記入力信号と同じ論理の信号を前記出力ノードから出力してもよい。 Each of the first flip-flops and the second flip-flops may take in the input signal when the clock signal is at the second logic, and then output a signal of the same logic as the input signal taken in from the output node when the clock signal transitions to the first logic.

一実施形態に係る半導体装置1の概略構成を示すブロック図。1 is a block diagram showing a schematic configuration of a semiconductor device 1 according to an embodiment. 第1データ転送群における複数の第1フリップフロップの接続形態を示す回路図。11 is a circuit diagram showing a connection configuration of a plurality of first flip-flops in a first data transfer group; クロック信号がローの場合のダイナミック型FFの各トランジスタの状態を示す図。FIG. 13 is a diagram showing the state of each transistor of a dynamic FF when a clock signal is low. クロック信号がハイの場合のダイナミック型FFの各トランジスタの状態を示す図。FIG. 2 is a diagram showing the state of each transistor of a dynamic FF when a clock signal is high. 本実施形態の一変形例に係る半導体装置の概略構成を示すブロック図。FIG. 11 is a block diagram showing a schematic configuration of a semiconductor device according to a modified example of the embodiment. 演算器ごとに設けられる複数の切替器の一例を示す図。FIG. 2 is a diagram showing an example of a plurality of switches provided for each computing unit; 第1方向に3つ、第2方向に3つの計9個の演算器が配置される例を示す図。FIG. 13 is a diagram showing an example in which a total of nine arithmetic units are arranged, three in the first direction and three in the second direction. 演算結果の通常の出力順序を示す図。FIG. 4 is a diagram showing a normal output order of calculation results. 演算結果の転置出力順序を示す図。FIG. 13 is a diagram showing a transposed output order of operation results. 図4の一変形例に係る半導体装置のブロック図。FIG. 5 is a block diagram of a semiconductor device according to a modification of FIG. 4 . 複数の演算器の配置を示す図。FIG. 2 is a diagram showing an arrangement of a plurality of arithmetic units. 複数の演算器の演算結果を、複数の第1データ転送群2にて行ごとに読み出す例を示す図。13 is a diagram showing an example in which the operation results of a plurality of operation units are read out row by row in a plurality of first data transfer groups 2. FIG. フレームメモリの記憶領域を示す図。FIG. 2 is a diagram showing storage areas of a frame memory; フレームメモリから演算結果を読み出す例を示す図。FIG. 13 is a diagram showing an example of reading out a calculation result from a frame memory. 図4に示す複数の第1データ転送群と複数の第2データ転送群のより詳細な構成を示すブロック図。5 is a block diagram showing a more detailed configuration of a plurality of first data transfer groups and a plurality of second data transfer groups shown in FIG. 4 . 複数の第1データ転送群が第1方向にデータを転送し、複数の第2データ転送群が第2方向にデータを転送する例を示す図。11 is a diagram showing an example in which a plurality of first data transfer groups transfer data in a first direction, and a plurality of second data transfer groups transfer data in a second direction. 複数の第1データ転送群のうち、奇数行と偶数行でデータ転送方向を互いに逆にする例を示す図。13 is a diagram showing an example in which the data transfer directions are reversed between odd-numbered rows and even-numbered rows among a plurality of first data transfer groups. 複数の第2データ転送群のうち、奇数列と偶数列でデータ転送方向を互いに逆にする例を示す図。13 is a diagram showing an example in which the data transfer directions are reversed between odd-numbered columns and even-numbered columns in a plurality of second data transfer groups. 複数の第1データ転送群のうち、奇数行と偶数行でデータ転送方向を互いに逆にし、かつ複数の第2データ転送群のうち、奇数列と偶数列でデータ転送方向を互いに逆にする例を示す図。13A and 13B are diagrams showing an example in which the data transfer directions of odd-numbered rows and even-numbered rows among a plurality of first data transfer groups are reversed to each other, and the data transfer directions of odd-numbered columns and even-numbered columns among a plurality of second data transfer groups are reversed to each other; 本実施形態に係る積層構造の半導体装置の模式的な斜視図。1 is a schematic perspective view of a semiconductor device having a stacked structure according to an embodiment of the present invention; 第1半導体基板のブロック図。FIG. 2 is a block diagram of a first semiconductor substrate. 第2半導体基板のブロック図。FIG. 4 is a block diagram of a second semiconductor substrate. 図16の一変形例に係る第2半導体基板のブロック図。FIG. 17 is a block diagram of a second semiconductor substrate according to a modification of FIG. 16 . 演算器の内部構成の第1例を示すブロック図。FIG. 2 is a block diagram showing a first example of the internal configuration of a computing unit. 半導体装置が画素ADC方式の撮像装置である場合の演算器の内部構成の第2例を示すブロック図。FIG. 13 is a block diagram showing a second example of the internal configuration of the arithmetic unit when the semiconductor device is a pixel ADC type imaging device. 車両制御システムの概略的な構成の一例を示すブロック図。FIG. 1 is a block diagram showing an example of a schematic configuration of a vehicle control system. 車外情報検出部及び撮像部の設置位置の一例を示す説明図。FIG. 4 is an explanatory diagram showing an example of the installation positions of an outside-vehicle information detection unit and an imaging unit.

 以下、図面を参照して、半導体装置の実施形態について説明する。以下では、半導体装置の主要な構成部分を中心に説明するが、半導体装置には、図示又は説明されていない構成部分や機能が存在しうる。以下の説明は、図示又は説明されていない構成部分や機能を除外するものではない。 Below, an embodiment of a semiconductor device will be described with reference to the drawings. The following description will focus on the main components of the semiconductor device, but the semiconductor device may have components and functions that are not shown or described. The following description does not exclude components and functions that are not shown or described.

 図1は一実施形態に係る半導体装置1の概略構成を示すブロック図である。図1の半導体装置1は、不図示の一以上の半導体基板上に配置される装置である。図1の半導体装置1は、複数の第1データ転送群2と、複数の第2データ転送群3と、コントローラ(切替制御器)4とを備える。 FIG. 1 is a block diagram showing a schematic configuration of a semiconductor device 1 according to one embodiment. The semiconductor device 1 in FIG. 1 is a device disposed on one or more semiconductor substrates (not shown). The semiconductor device 1 in FIG. 1 includes a plurality of first data transfer groups 2, a plurality of second data transfer groups 3, and a controller (switching controller) 4.

 複数の第1データ転送群2は、第1方向(例えば水平方向)Xに交差する第2方向(例えば垂直方向)Yに配列されている。複数の第1データ転送群2のそれぞれは、第1方向Xにデータを転送する複数の第1フリップフロップ5を有する。複数の第1フリップフロップ5は直列に接続されている。直列に接続される第1フリップフロップ5の数は任意である。 The multiple first data transfer groups 2 are arranged in a second direction (e.g., vertical direction) Y that intersects with a first direction (e.g., horizontal direction) X. Each of the multiple first data transfer groups 2 has multiple first flip-flops 5 that transfer data in the first direction X. The multiple first flip-flops 5 are connected in series. The number of first flip-flops 5 connected in series is arbitrary.

 複数の第1データ転送群2のそれぞれにおける初段の第1フリップフロップ5のデータ入力端子Dには、ローデータ生成器6が接続されている。ローデータ生成器6は、各第1データ転送群2における初段の第1フリップフロップ5のデータ入力端子Dに入力されるデータを生成する。各第1データ転送群2における最終段の第1フリップフロップ5のデータ出力端子Qには、ロー出力回路7が接続されている。ロー出力回路7は、各第1データ転送群2における最終段の第1フリップフロップ5のデータ出力端子Qから出力されたデータを半導体装置1の外部に出力する回路である。後述するように、ロー出力回路7にメモリ(より具体的な一例ではフレームメモリ)を接続して、最終段の第1フリップフロップ5のデータ出力端子Qから出力されたデータを半導体装置1の内部で記憶してもよい。 A low data generator 6 is connected to the data input terminal D of the first flip-flop 5 in the first stage in each of the multiple first data transfer groups 2. The low data generator 6 generates data to be input to the data input terminal D of the first flip-flop 5 in the first stage in each first data transfer group 2. A low output circuit 7 is connected to the data output terminal Q of the first flip-flop 5 in the last stage in each first data transfer group 2. The low output circuit 7 is a circuit that outputs data output from the data output terminal Q of the first flip-flop 5 in the last stage in each first data transfer group 2 to the outside of the semiconductor device 1. As described later, a memory (a frame memory as a more specific example) may be connected to the low output circuit 7 to store the data output from the data output terminal Q of the first flip-flop 5 in the last stage inside the semiconductor device 1.

 複数の第2データ転送群3は、第1方向Xに配列されている。複数の第2データ転送群3のそれぞれは、第2方向Yにデータを転送する複数の第2フリップフロップ8を有する。複数の第2フリップフロップ8は直列に接続されている。直列に接続される第2フリップフロップ8の数は任意である。 The multiple second data transfer groups 3 are arranged in the first direction X. Each of the multiple second data transfer groups 3 has multiple second flip-flops 8 that transfer data in the second direction Y. The multiple second flip-flops 8 are connected in series. The number of second flip-flops 8 connected in series is arbitrary.

 各第2データ転送群3における初段の第1フリップフロップ5のデータ入力端子Dには、カラムデータ生成器9が接続されている。各第2データ転送群3における最終段の第2フリップフロップ8のデータ出力端子Qには、カラム出力回路10が接続されている。カラム出力回路10は、各第2データ転送群3における最終段の第2フリップフロップ8のデータ出力端子Qから出力されたデータを半導体装置1の外部に出力する回路である。カラム出力回路10にメモリを接続して、最終段の第2フリップフロップ8のデータ出力端子Qから出力されたデータを半導体装置1の内部で記憶してもよい。 A column data generator 9 is connected to the data input terminal D of the first flip-flop 5 in the first stage in each second data transfer group 3. A column output circuit 10 is connected to the data output terminal Q of the second flip-flop 8 in the last stage in each second data transfer group 3. The column output circuit 10 is a circuit that outputs data output from the data output terminal Q of the second flip-flop 8 in the last stage in each second data transfer group 3 to the outside of the semiconductor device 1. A memory may be connected to the column output circuit 10 to store the data output from the data output terminal Q of the second flip-flop 8 in the last stage inside the semiconductor device 1.

 ローデータ生成器6とカラムデータ生成器9は、コントローラ4により制御される。また、コントローラ4は、複数の第1データ転送群2及び複数の第2データ転送群3のそれぞれにおける複数の第1フリップフロップ5及び複数の第2フリップフロップ8の出力端子の接続先を個別に切替制御する。 The row data generator 6 and the column data generator 9 are controlled by the controller 4. The controller 4 also individually switches and controls the connection destinations of the output terminals of the multiple first flip-flops 5 and the multiple second flip-flops 8 in each of the multiple first data transfer groups 2 and the multiple second data transfer groups 3.

 このように、本実施形態に係る半導体装置1は、複数の第1データ転送群2と複数の第2データ転送群3を任意に組み合わせることで、必要に応じてデータの転送方向を第1方向X又は第2方向Yに切り替えることができる。よって、第1方向X又は第2方向Yだけでなく、任意の方向にデータを転送可能となる。 In this way, the semiconductor device 1 according to this embodiment can arbitrarily combine a plurality of first data transfer groups 2 and a plurality of second data transfer groups 3, and can switch the data transfer direction to the first direction X or the second direction Y as necessary. Therefore, data can be transferred in any direction, not just the first direction X or the second direction Y.

 図2は第1データ転送群2における複数の第1フリップフロップ5の接続形態を示す回路図である。第2データ転送群3における複数の第2フリップフロップ8の接続形態も図2と同様の回路図で表されるため、以下では、複数の第1フリップフロップ5の接続形態について説明し、複数の第2フリップフロップ8の接続形態の詳細な説明を割愛する。 FIG. 2 is a circuit diagram showing the connection of the multiple first flip-flops 5 in the first data transfer group 2. The connection of the multiple second flip-flops 8 in the second data transfer group 3 is also represented by a circuit diagram similar to that of FIG. 2, so below we will explain the connection of the multiple first flip-flops 5 and omit a detailed explanation of the connection of the multiple second flip-flops 8.

 図2に示すように、各第1フリップフロップ5のデータ出力端子Qは、次段の第1フリップフロップ5のデータ入力端子Dに接続されている。また、各第1フリップフロップ5のクロック端子には、対応するクロックバッファ11から出力されたクロック信号CLKが入力される。複数の第1フリップフロップ5に対応する複数のクロックバッファ11は、直列に接続されており、最終段の第1フリップフロップ5に対応づけて初段のクロックバッファ11が設けられ、初段の第1フリップフロップ5に対応づけて最終段のクロックバッファ11が設けられる。すなわち、最終段の第1フリップフロップ5のクロック端子には、最も早いタイミングでクロック信号CLKが入力され、初段の第1フリップフロップ5のクロック端子には、最も遅いタイミングでクロック信号CLKが入力される。 As shown in FIG. 2, the data output terminal Q of each first flip-flop 5 is connected to the data input terminal D of the first flip-flop 5 of the next stage. The clock terminal of each first flip-flop 5 receives the clock signal CLK output from the corresponding clock buffer 11. The multiple clock buffers 11 corresponding to the multiple first flip-flops 5 are connected in series, and the first stage clock buffer 11 is provided corresponding to the last stage first flip-flop 5, and the last stage clock buffer 11 is provided corresponding to the first stage first flip-flop 5. That is, the clock signal CLK is input to the clock terminal of the last stage first flip-flop 5 at the earliest timing, and the clock signal CLK is input to the clock terminal of the first stage first flip-flop 5 at the latest timing.

 このように、複数の第1フリップフロップ5に入力されるクロック信号CLKの伝搬順序と、複数の第1フリップフロップ5に入力されるデータの伝搬順序とは互いに逆向きである。同様に、複数の第2フリップフロップ8に入力されるクロック信号CLKの伝搬順序と、複数の第2フリップフロップ8に入力されるデータの伝搬順序とは互いに逆向きである。 In this way, the propagation order of the clock signal CLK input to the multiple first flip-flops 5 and the propagation order of the data input to the multiple first flip-flops 5 are opposite to each other. Similarly, the propagation order of the clock signal CLK input to the multiple second flip-flops 8 and the propagation order of the data input to the multiple second flip-flops 8 are opposite to each other.

 クロック信号CLKの伝搬順序とデータの伝搬順序を逆にすることで、各第1フリップフロップ5と各第2フリップフロップ8は、入力データのセットアップ時間及びホールド時間を十分に確保した状態で、入力データをクロック信号CLKで取り込むことができる。これにより、入力データの取込ミスが生じなくなり、複数の第1フリップフロップ5及び複数の第2フリップフロップ8の動作を安定化させることができる。また、複数の第1フリップフロップ5及び複数の第2フリップフロップ8のセットアップ時間及びホールド時間を確保するための回路上の工夫が必要なくなり、回路構成を簡略化できる。 By reversing the propagation order of the clock signal CLK and the propagation order of the data, each first flip-flop 5 and each second flip-flop 8 can take in the input data with the clock signal CLK while ensuring sufficient setup and hold times for the input data. This prevents input data from being taken in incorrectly, and stabilizes the operation of the first flip-flops 5 and the second flip-flops 8. In addition, there is no need to devise a circuit to ensure the setup and hold times for the first flip-flops 5 and the second flip-flops 8, simplifying the circuit configuration.

 本実施形態に係る第1フリップフロップ5及び第2フリップフロップ8は、TSPC(True Single Phase Clock)を有するダイナミック型フリップフロップ(以下、ダイナミック型FF)であってもよい。 The first flip-flop 5 and the second flip-flop 8 in this embodiment may be dynamic flip-flops (hereinafter, dynamic FFs) having a TSPC (True Single Phase Clock).

 図3A及び図3Bは、ダイナミック型FFの回路構成及び各トランジスタの状態を示す図である。図3A及び図3Bの回路構成を有するダイナミック型FFは、第1フリップフロップ5及び第2フリップフロップ8に適用可能である。 FIGS. 3A and 3B are diagrams showing the circuit configuration of a dynamic FF and the state of each transistor. A dynamic FF having the circuit configuration of FIG. 3A and FIG. 3B can be applied to the first flip-flop 5 and the second flip-flop 8.

 図3Aはクロック信号CLKがローの場合、図3Bはクロック信号CLKがハイの場合の各トランジスタのオン又はオフの状態を示す。 Figure 3A shows the on/off state of each transistor when the clock signal CLK is low, and Figure 3B shows the on/off state of each transistor when the clock signal CLK is high.

 図3A及び図3Bのダイナミック型FFは、電源電圧ノードと接地ノードの間に接続されるPMOSトランジスタQ1及びNMOSトランジスタQ2と、電源電圧ノードと接地ノードの間にカスコード接続されるPMOSトランジスタQ3、Q4、及びNMOSトランジスタQ5と、電源電圧ノードと接地ノードの間にカスコード接続されるPMOSトランジスタQ6及びNMOSトランジスタQ7、Q8と、電源電圧ノードと接地ノードの間にカスコード接続されるPMOSトランジスタQ9及びNMOSトランジスタQ10、Q11とを有する。 The dynamic FF in Figures 3A and 3B has a PMOS transistor Q1 and an NMOS transistor Q2 connected between a power supply voltage node and a ground node, PMOS transistors Q3, Q4 and an NMOS transistor Q5 cascode-connected between the power supply voltage node and the ground node, a PMOS transistor Q6 and an NMOS transistor Q7, Q8 cascode-connected between the power supply voltage node and the ground node, and a PMOS transistor Q9 and an NMOS transistor Q10, Q11 cascode-connected between the power supply voltage node and the ground node.

 トランジスタQ1、Q2の各ゲートは、データ入力端子Dに接続されている。トランジスタQ1、Q2の各ドレインは、トランジスタQ3、Q5の各ゲートに接続されている。トランジスタQ4のゲートにはクロック信号CLKが入力される。トランジスタQ6、Q8のゲートにはクロック信号CLKが入力される。トランジスタQ7のゲートは、トランジスタQ4、Q5の各ドレインに接続されている。トランジスタQ9、Q11の各ゲートは、トランジスタQ6、Q7の各ドレインに接続されている。トランジスタQ10のゲートにはクロック信号CLKが入力される。トランジスタQ9、Q10のドレインはデータ出力端子Qに接続されている。 The gates of transistors Q1 and Q2 are connected to data input terminal D. The drains of transistors Q1 and Q2 are connected to the gates of transistors Q3 and Q5. A clock signal CLK is input to the gate of transistor Q4. A clock signal CLK is input to the gates of transistors Q6 and Q8. A gate of transistor Q7 is connected to the drains of transistors Q4 and Q5. The gates of transistors Q9 and Q11 are connected to the drains of transistors Q6 and Q7. A clock signal CLK is input to the gate of transistor Q10. The drains of transistors Q9 and Q10 are connected to data output terminal Q.

 クロック信号CLKがローレベルの場合、トランジスタQ4はオンする。データ入力端子Dに入力される入力データの反転データがトランジスタQ3、Q5のゲートに入力され、トランジスタQ4がオンであることから、トランジスタQ4、Q5のドレイン(トランジスタQ7のゲート)は、入力データと同論理になる。 When the clock signal CLK is at a low level, transistor Q4 is turned on. The inverted data of the input data input to data input terminal D is input to the gates of transistors Q3 and Q5, and because transistor Q4 is on, the drains of transistors Q4 and Q5 (the gate of transistor Q7) have the same logic as the input data.

 クロック信号CLKがローレベルの場合、トランジスタQ6はオン、トランジスタQ8はオフするため、トランジスタQ6、Q7のドレインはハイレベルになる。このため、トランジスタQ9はオフ、トランジスタQ11はオンする。また、クロック信号CLKがローレベルであることから、トランジスタQ10がオフする。 When the clock signal CLK is at a low level, transistor Q6 is on and transistor Q8 is off, so the drains of transistors Q6 and Q7 are at a high level. As a result, transistor Q9 is off and transistor Q11 is on. Also, because the clock signal CLK is at a low level, transistor Q10 is off.

 このように、クロック信号CLKがローレベルの場合、トランジスタQ9、Q10がともにオフし、トランジスタQ9、Q10のドレインはハイインピーダンスになる。 In this way, when the clock signal CLK is at a low level, both transistors Q9 and Q10 are turned off, and the drains of transistors Q9 and Q10 become high impedance.

 上述したように、クロック信号CLKがローレベルの場合、データ入力端子に入力された入力データはダイナミック型FFの内部に取り込まれて、トランジスタQ4、Q5の各ドレインは、入力データに応じた論理になる。しかしながら、トランジスタQ9、Q10がともにオフするため、トランジスタQ9、Q10の各ドレインに接続されるデータ出力端子はハイインピーダンスになる。 As mentioned above, when the clock signal CLK is at a low level, the input data input to the data input terminal is taken into the dynamic FF, and the drains of transistors Q4 and Q5 have a logic level according to the input data. However, because transistors Q9 and Q10 are both off, the data output terminals connected to the drains of transistors Q9 and Q10 become high impedance.

 クロック信号CLKがハイレベルになると、図3Bに示すように、トランジスタQ4はオフ、トランジスタQ6はオフ、トランジスタQ8はオン、トランジスタQ10はオンする。トランジスタQ4、Q5の各ドレインは入力データと同じ論理になり、トランジスタQ6、Q7の各ドレインは入力データの反転論理になるため、トランジスタQ9、Q10の各ドレインに接続されるデータ出力端子は入力データと同じ論理になる。 When the clock signal CLK goes high, as shown in Figure 3B, transistor Q4 is off, transistor Q6 is off, transistor Q8 is on, and transistor Q10 is on. The drains of transistors Q4 and Q5 have the same logic as the input data, and the drains of transistors Q6 and Q7 have the inverted logic of the input data, so the data output terminals connected to the drains of transistors Q9 and Q10 have the same logic as the input data.

 図3A及び図3Bに示すように、複数の第1フリップフロップ5及び複数の第2フリップフロップ8のそれぞれは、クロック信号が第1論理の場合には、入力信号と同じ論理の信号を出力ノードから出力し、クロック信号が第2論理の場合には、出力ノードをハイインピーダンスにする。複数の第1フリップフロップ5及び複数の第2フリップフロップ8のそれぞれは、クロック信号が第2論理のときに入力信号を内部に取り込み、その後にクロック信号が第1論理に遷移したときに、内部に取り込んだ入力信号と同じ論理の信号を出力ノードから出力する。 As shown in Figures 3A and 3B, each of the first flip-flops 5 and the second flip-flops 8 outputs a signal of the same logic as the input signal from the output node when the clock signal is the first logic, and makes the output node high impedance when the clock signal is the second logic. Each of the first flip-flops 5 and the second flip-flops 8 takes in the input signal when the clock signal is the second logic, and then outputs a signal of the same logic as the input signal taken in from the output node when the clock signal transitions to the first logic.

 このように、図3A及び図3Bに示すダイナミック型FFでは、クロック信号CLKがローレベルの間は、入力データを内部に取り込むものの、出力はハイインピーダンスになる。クロック信号CLKがハイレベルの場合には、入力データと同じ論理のデータが遅滞なくデータ出力端子から出力される。 In this way, in the dynamic FF shown in Figures 3A and 3B, while the clock signal CLK is at a low level, the input data is taken in, but the output is at a high impedance. When the clock signal CLK is at a high level, data with the same logic as the input data is output from the data output terminal without delay.

 本実施形態に係る半導体装置1は、例えば図1に示すように、複数の演算器12を備える。複数の演算器12は、複数の第1データ転送群2又は複数の第2データ転送群3の少なくとも一方に対応して設けられ、第1方向X及び第2方向Yに沿って配置される。より具体的な一例では、複数の演算器12は、各第1データ転送群2における複数の第1フリップフロップ5よりも1つ少ない数だけ配置される。図1の例では、各第1データ転送群2が5つの第1フリップフロップ5を有するのに対し、4つの演算器12が設けられる。 The semiconductor device 1 according to this embodiment includes a plurality of arithmetic units 12, as shown in FIG. 1, for example. The plurality of arithmetic units 12 are provided corresponding to at least one of the plurality of first data transfer groups 2 or the plurality of second data transfer groups 3, and are arranged along the first direction X and the second direction Y. In a more specific example, the plurality of arithmetic units 12 are arranged in a number that is one less than the number of first flip-flops 5 in each first data transfer group 2. In the example of FIG. 1, each first data transfer group 2 has five first flip-flops 5, while four arithmetic units 12 are provided.

 なお、演算器12の具体的な数と配置場所は任意であり、必ずしも図1に示した数及び配置場所に限定されない。演算器12は、例えば四則演算、又はアナログ-デジタル変換(AD変換)処理を行う。なお、演算器12は、四則演算又はAD変換以外の演算処理を行ってもよい。 The specific number and location of the calculators 12 are arbitrary and are not necessarily limited to the number and location shown in FIG. 1. The calculators 12 perform, for example, arithmetic operations or analog-to-digital conversion (AD conversion) processing. The calculators 12 may also perform calculations other than arithmetic operations or AD conversion.

 図1の例では、第1方向Xに配列される4つの演算器12を一つの演算器群12gとして、複数の演算器群12gが第2方向Yに配置されている。各演算器群12gは、各第1データ転送群2と対応づけられている。各演算器12と対応する第1データ転送群2との間には、入力バッファ13と出力バッファ14とが配置されている。入力バッファ13は、イネーブル信号WENが例えばハイレベルのときに、対応する第1フリップフロップ5の出力データを演算器12に入力する。出力バッファ14は、イネーブル信号RENが例えばハイレベルのときに、演算器12の演算結果を次段の第1フリップフロップ5又は対応する第2フリップフロップ8に入力する。 In the example of FIG. 1, four arithmetic units 12 arranged in the first direction X are regarded as one arithmetic unit group 12g, and multiple arithmetic unit groups 12g are arranged in the second direction Y. Each arithmetic unit group 12g is associated with each first data transfer group 2. An input buffer 13 and an output buffer 14 are arranged between each arithmetic unit 12 and the corresponding first data transfer group 2. When the enable signal WEN is at a high level, for example, the input buffer 13 inputs the output data of the corresponding first flip-flop 5 to the arithmetic unit 12. When the enable signal REN is at a high level, for example, the output buffer 14 inputs the calculation result of the arithmetic unit 12 to the first flip-flop 5 of the next stage or the corresponding second flip-flop 8.

 このように、各演算器12は、対応する第1フリップフロップ5の出力データに基づいて所定の演算処理を行う。各演算器12の演算結果は、第1フリップフロップ5を含む第1データ転送群2、又は第2フリップフロップ8を含む第2データ転送群3にて転送される。 In this way, each calculator 12 performs a predetermined calculation process based on the output data of the corresponding first flip-flop 5. The calculation result of each calculator 12 is transferred to the first data transfer group 2 including the first flip-flop 5, or the second data transfer group 3 including the second flip-flop 8.

 第1データ転送群2は、図2に示したように、複数の第1フリップフロップ5と複数のクロックバッファ(第1クロックバッファ)11を有し、第2データ転送群3は、複数の第2フリップフロップ8と複数のクロックバッファ(第2クロックバッファ)11を有する。複数の第1クロックバッファ11と複数の第2クロックバッファ11のいずれかでクロック信号CLKを伝搬させることにより、演算器12の演算結果を第1データ転送群2で転送するか、第2データ転送群3で転送するかを切り替えることができる。 As shown in FIG. 2, the first data transfer group 2 has a plurality of first flip-flops 5 and a plurality of clock buffers (first clock buffers) 11, and the second data transfer group 3 has a plurality of second flip-flops 8 and a plurality of clock buffers (second clock buffers) 11. By propagating the clock signal CLK through either the plurality of first clock buffers 11 or the plurality of second clock buffers 11, it is possible to switch between transferring the calculation result of the arithmetic unit 12 through the first data transfer group 2 or the second data transfer group 3.

 なお、複数の第1フリップフロップ5と複数の第2フリップフロップ8にイネーブル端子を設けて、イネーブル端子に入力する信号により、データを第1方向Xと第2方向Yのどちらに転送するかを切り替えてもよい。 In addition, the first flip-flops 5 and the second flip-flops 8 may be provided with enable terminals, and the signal input to the enable terminals may be used to switch whether data is transferred in the first direction X or the second direction Y.

 図1では、第1演算器群12gと第1データ転送群2とを対応づけて、各演算器12と対応する第1フリップフロップ5との間に入力バッファ13と出力バッファ14を接続しているが、第1演算器群12gと第2データ転送群3とを対応づけて、各演算器12と対応する第2フリップフロップ8との間に入力バッファ13と出力バッファ14を接続してもよい。 In FIG. 1, the first arithmetic unit group 12g corresponds to the first data transfer group 2, and an input buffer 13 and an output buffer 14 are connected between each arithmetic unit 12 and the corresponding first flip-flop 5. However, the first arithmetic unit group 12g may correspond to the second data transfer group 3, and an input buffer 13 and an output buffer 14 may be connected between each arithmetic unit 12 and the corresponding second flip-flop 8.

 このように、複数の演算器12のそれぞれは、出力信号を出力した第1フリップフロップ5又は第2フリップフロップ8と同じ第1データ転送群2又は第2データ転送群3の次段の第1フリップフロップ5又は第2フリップフロップ8に演算結果を入力する。あるいは、複数の演算器12のそれぞれは、出力信号を出力した第1フリップフロップ5又は第2フリップフロップ8と異なる第1データ転送群2又は第2データ転送群3のいずれかの第1フリップフロップ5又は第2フリップフロップ8に演算結果を入力する。 In this way, each of the multiple arithmetic units 12 inputs the calculation result to the first flip-flop 5 or second flip-flop 8 in the next stage of the first data transfer group 2 or second data transfer group 3 that is the same as the first flip-flop 5 or second flip-flop 8 that output the output signal. Alternatively, each of the multiple arithmetic units 12 inputs the calculation result to the first flip-flop 5 or second flip-flop 8 in either the first data transfer group 2 or the second data transfer group 3 that is different from the first flip-flop 5 or second flip-flop 8 that output the output signal.

 コントローラ4は、複数の演算器12の演算結果を複数の第1データ転送群2により第1方向Xに転送するか、複数の演算器12の演算結果を複数の第2データ転送群3により第2方向Yに転送するかを個別に切替制御する。 The controller 4 individually switches and controls whether the calculation results of the multiple calculators 12 are transferred in the first direction X by the multiple first data transfer groups 2, or whether the calculation results of the multiple calculators 12 are transferred in the second direction Y by the multiple second data transfer groups 3.

 図4は本実施形態の一変形例に係る半導体装置1の概略構成を示すブロック図である。一変形例に係る半導体装置1は、第1方向Xに配列される複数の演算器12を有する演算器群12gと、第2方向Yに隣接する2つの第1データ転送群2とを対応づけており、各演算器12と各第1データ転送群2の対応する第1フリップフロップ5との間に入力バッファ13と出力バッファ14を接続している。 FIG. 4 is a block diagram showing a schematic configuration of a semiconductor device 1 according to a modified example of this embodiment. The semiconductor device 1 according to the modified example corresponds a computing unit group 12g having a plurality of computing units 12 arranged in a first direction X to two first data transfer groups 2 adjacent to each other in a second direction Y, and an input buffer 13 and an output buffer 14 are connected between each computing unit 12 and the corresponding first flip-flop 5 of each first data transfer group 2.

 このように、一変形例に係る半導体装置1では、各演算器12と2つの第1データ転送群2との間にそれぞれ、入力バッファ13と出力バッファ14が配置されている。これら入力バッファ13と出力バッファ14のイネーブル端子に入力されるイネーブル信号は、個別に制御できるため、2つの第1データ転送群2のうちいずれか一方の第1フリップフロップ5の出力データを演算器12に取り込んで演算処理を行い、その演算結果を、2つの出力バッファ14のうちいずれか一方から出力して、第1データ転送群2又は第2データ転送群3にて転送することができる。 In this way, in the semiconductor device 1 according to one modified example, an input buffer 13 and an output buffer 14 are disposed between each arithmetic unit 12 and the two first data transfer groups 2, respectively. The enable signals input to the enable terminals of these input buffers 13 and output buffers 14 can be controlled individually, so that the output data of the first flip-flop 5 of one of the two first data transfer groups 2 is taken into the arithmetic unit 12 for arithmetic processing, and the result of this arithmetic processing is output from one of the two output buffers 14 and transferred to the first data transfer group 2 or the second data transfer group 3.

 これにより、例えば、奇数行と偶数行でデータ転送方向を互いに逆にしたり、奇数列と偶数列でデータ転送方向を互いに逆にすることが可能となる。 This makes it possible, for example, to reverse the data transfer direction between odd and even rows, or between odd and even columns.

 本実施形態に係る半導体装置1は、複数の演算器12による演算結果を、複数の第1データ転送群2を用いて、複数の演算器12の配置順序に従って出力するか、あるいは、複数の第1データ転送群2と複数の第2データ転送群3を用いて、複数の演算器12の配置を転置させた順序に従って出力することができる。このように、複数の演算器12による演算結果を出力する順序を切り替えるには、演算器12ごとに複数の切替器を設けることで容易に実現できる。 The semiconductor device 1 according to this embodiment can output the results of calculations by the multiple arithmetic units 12 in the order in which the multiple arithmetic units 12 are arranged, using multiple first data transfer groups 2, or in the order in which the arrangement of the multiple arithmetic units 12 is transposed, using multiple first data transfer groups 2 and multiple second data transfer groups 3. In this way, switching the order in which the results of calculations by the multiple arithmetic units 12 are output can be easily achieved by providing multiple switches for each arithmetic unit 12.

 図5は演算器12ごとに設けられる複数の切替器SW1、SW2の機能の一例を示す図である。本実施形態に係る半導体装置1は、演算器12ごとに、対応する第1データ転送群2との間に配置される第1切替器SW1と、対応する第2データ転送群3との間に配置される第2切替器SW2とを備える。 FIG. 5 is a diagram showing an example of the functions of multiple switches SW1, SW2 provided for each arithmetic unit 12. The semiconductor device 1 according to this embodiment includes, for each arithmetic unit 12, a first switch SW1 arranged between the corresponding arithmetic unit 12 and the first data transfer group 2, and a second switch SW2 arranged between the corresponding arithmetic unit 12 and the second data transfer group 3.

 第1切替器SW1と第2切替器SW2は、排他的に一方が閉じて、他方が開く。例えば、第1切替器SW1が閉じると、演算器12の演算結果は第1データ転送群2を介して第1方向Xに転送される。第2切替器SW2が閉じると、演算器12の演算結果は第2データ転送群3を介して第2方向Yに転送される。 The first switch SW1 and the second switch SW2 are exclusively switched on and off, with one closed and the other open. For example, when the first switch SW1 is closed, the calculation result of the calculator 12 is transferred in the first direction X via the first data transfer group 2. When the second switch SW2 is closed, the calculation result of the calculator 12 is transferred in the second direction Y via the second data transfer group 3.

 図5の第1切替器SW1と第2切替器SW2は、図1等の入力バッファ13と出力バッファ14を用いて構成することができる。複数の出力バッファ14は、複数の演算器12の演算結果を第1方向X又は第2方向Yに出力する複数の第1出力バッファと、複数の演算器12の演算結果を第1方向X又は第2方向Yの反対方向に出力する複数の第2出力バッファとを有する。コントローラ4は、複数の第1出力バッファ又は複数の第2出力バッファを介して、複数の演算器12の演算結果を複数の第1出力バッファ又は複数の第2出力バッファに入力する。 The first switch SW1 and the second switch SW2 in FIG. 5 can be configured using the input buffer 13 and the output buffer 14 in FIG. 1, etc. The multiple output buffers 14 include multiple first output buffers that output the calculation results of the multiple arithmetic units 12 in a first direction X or a second direction Y, and multiple second output buffers that output the calculation results of the multiple arithmetic units 12 in the opposite direction to the first direction X or the second direction Y. The controller 4 inputs the calculation results of the multiple arithmetic units 12 to the multiple first output buffers or multiple second output buffers via the multiple first output buffers or multiple second output buffers.

 図6Aは、第1方向X(例えば行方向)に3つ、第2方向Y(例えば列方向)に3つの計9個の演算器12が配置される例を示す図である。9個の演算器12の演算結果は、通常、図6Bに示すように、第1方向Xに順に転送されて出力される。この場合、図5の第1切替器SW1を閉じて、第2切替器SW2を開く。これにより、図6Bに示すように、第1行目の演算結果a11、a12、a13が順に出力され、次に第2行目の演算結果a21、a22、a23が順に出力され、最後に第3行目の演算結果a31、a32、a33が順に出力される。 FIG. 6A is a diagram showing an example in which a total of nine arithmetic units 12 are arranged, three in the first direction X (e.g., row direction) and three in the second direction Y (e.g., column direction). The calculation results of the nine arithmetic units 12 are normally transferred and output in sequence in the first direction X, as shown in FIG. 6B. In this case, the first switch SW1 in FIG. 5 is closed and the second switch SW2 is opened. As a result, as shown in FIG. 6B, the calculation results a11, a12, and a13 of the first row are output in sequence, then the calculation results a21, a22, and a23 of the second row are output in sequence, and finally the calculation results a31, a32, and a33 of the third row are output in sequence.

 図6Aの9個の演算器12の演算結果を転置出力する場合は、図5の第1切替器SW1を開いて、第2切替器SW2を閉じる。これにより、図6Cに示すように、第1列目の演算結果a11、a21、a31が順に出力され、次に第2列目の演算結果a12、a22、a32が順に出力され、最後に第3列目の演算結果a13、a23、a33が順に出力される。 When outputting the transposed results of the nine calculators 12 in Fig. 6A, the first switch SW1 in Fig. 5 is opened and the second switch SW2 is closed. As a result, as shown in Fig. 6C, the calculation results a11, a21, and a31 in the first column are output in order, then the calculation results a12, a22, and a32 in the second column are output in order, and finally the calculation results a13, a23, and a33 in the third column are output in order.

 このように、演算器12ごとに、第1データ転送群2との間に第1切替器SW1を設けるとともに、第2データ転送群3との間に第2切替器SW2を設けることで、複数の演算器12を行単位で順に出力するか、列単位で順に出力するかを簡易に切り替えることができる。 In this way, by providing a first switch SW1 between each arithmetic unit 12 and the first data transfer group 2, and a second switch SW2 between each arithmetic unit 12 and the second data transfer group 3, it is possible to easily switch between outputting sequentially by row or by column from the multiple arithmetic units 12.

 図5では、演算器12ごとに第1切替器SW1と第2切替器SW2を設けて、転送順序を切り替える例を説明したが、演算器12ごとに第1切替器SW1と第2切替器SW2を設ける代わりに、第1データ転送群2ごとに転送された複数の演算器12の演算結果をフレームメモリに記憶し、複数の第1データ転送群2で転送された複数の演算器12の演算結果がフレームメモリに記憶された後に、フレームメモリから演算結果を読み出す順序を切り替えることで、演算結果を行ごとに出力するか、列ごとに出力するかを選択してもよい。 In FIG. 5, an example is described in which a first switch SW1 and a second switch SW2 are provided for each calculator 12 to switch the transfer order, but instead of providing a first switch SW1 and a second switch SW2 for each calculator 12, the calculation results of the multiple calculators 12 transferred for each first data transfer group 2 may be stored in a frame memory, and after the calculation results of the multiple calculators 12 transferred in the multiple first data transfer groups 2 are stored in the frame memory, the order in which the calculation results are read out from the frame memory may be switched to select whether the calculation results are output row by row or column by column.

 図7は図4の一変形例に係る半導体装置1のブロック図である。図7の半導体装置1は、ロー出力回路7に接続されるフレームメモリ15と、出力順序切替回路16とを備える。 FIG. 7 is a block diagram of a semiconductor device 1 according to a modified example of FIG. 4. The semiconductor device 1 in FIG. 7 includes a frame memory 15 connected to the row output circuit 7, and an output order switching circuit 16.

 フレームメモリ15は、複数の第1データ転送群2のそれぞれで転送された行ごとの演算結果を順に記憶する。 The frame memory 15 sequentially stores the calculation results for each row transferred in each of the multiple first data transfer groups 2.

 出力順序切替回路16は、フレームメモリ15に記憶された複数の演算器12の演算結果を、行単位又は列単位のいずれか一方を選択して順に読み出す。なお、カラム出力回路10にフレームメモリ15と出力順序切替回路16を接続してもよい。 The output order switching circuit 16 selects either row-by-row or column-by-column the results of the calculations of the multiple calculators 12 stored in the frame memory 15 and sequentially reads them out. The frame memory 15 and the output order switching circuit 16 may be connected to the column output circuit 10.

 図8Aは、複数の演算器12の配置を示す図である。図8Aは、図6Aと同様に、第1方向X(例えば行方向)に3つ、第2方向Y(例えば列方向)に3つの計9つの演算器12が配置される例を示す。これら9つの演算器12は、演算結果a11、a12、a13、a21、a22、a23、a31、a32、a33を出力する。 FIG. 8A is a diagram showing the arrangement of multiple arithmetic units 12. Similar to FIG. 6A, FIG. 8A shows an example in which a total of nine arithmetic units 12 are arranged, three in the first direction X (e.g., row direction) and three in the second direction Y (e.g., column direction). These nine arithmetic units 12 output calculation results a11, a12, a13, a21, a22, a23, a31, a32, and a33.

 図8Bは、複数の演算器12の演算結果を、複数の第1データ転送群2にて行ごとに読み出す例を示す図である。図8Aの(1)行目の演算器12の演算結果a11、a12、a13が読み出され、次に、(2)行目の演算結果a21、a22、a23が読み出され、最後に、(3)行目の演算結果a31、a32、a33が読み出される。 FIG. 8B is a diagram showing an example in which the calculation results of multiple calculators 12 are read out row by row in multiple first data transfer groups 2. The calculation results a11, a12, and a13 of the calculators 12 in the (1)th row of FIG. 8A are read out, then the calculation results a21, a22, and a23 in the (2)th row are read out, and finally the calculation results a31, a32, and a33 in the (3)th row are read out.

 図8Cは、フレームメモリ15の記憶領域を示す図である。フレームメモリ15は、行単位で読み出された各演算器12の演算結果を、列単位で順に記憶する。より具体的には、フレームメモリ15には、(4)列目の演算結果a11、a21、a31が記憶され(図8Cの(4)-1、(4)-2、(4)-3))、次に、(5)列目の演算結果a12、a22、a32が記憶され(図8Cの(5)-1、(5)-2、(5)-3))、最後に、(6)列目の演算結果a13、a23、a33が記憶される(図8Cの(6)-1、(6)-2、(6)-3))。 FIG. 8C is a diagram showing the storage area of the frame memory 15. The frame memory 15 stores the calculation results of each calculator 12, which are read out row by row, in order column by column. More specifically, the frame memory 15 stores the calculation results a11, a21, and a31 of the (4)th column ((4)-1, (4)-2, and (4)-3 in FIG. 8C), then stores the calculation results a12, a22, and a32 of the (5)th column ((5)-1, (5)-2, and (5)-3 in FIG. 8C), and finally stores the calculation results a13, a23, and a33 of the (6)th column ((6)-1, (6)-2, and (6)-3 in FIG. 8C).

 図8Dは、フレームメモリ15から演算結果を読み出す例を示す図である。フレームメモリ15に記憶された順とは異なる順に演算結果を読み出すことで、行と列を入れ替えて演算結果を読み出すことができる。 FIG. 8D is a diagram showing an example of reading out the calculation results from the frame memory 15. By reading out the calculation results in an order different from the order in which they were stored in the frame memory 15, it is possible to read out the calculation results with rows and columns swapped.

 このように、複数の演算器12の演算結果をフレームメモリ15に記憶する際に、行と列を入れ替えて記憶することで、フレームメモリ15をアドレス順に読み出せば、行と列を入れ替えて読み出すことができる。 In this way, when the calculation results of the multiple calculators 12 are stored in the frame memory 15, the rows and columns are swapped and stored, so that when the frame memory 15 is read in address order, the rows and columns can be swapped and read.

 図9は、図4に示す複数の第1データ転送群2と複数の第2データ転送群3のより詳細な構成を示すブロック図である。 FIG. 9 is a block diagram showing a more detailed configuration of the multiple first data transfer groups 2 and the multiple second data transfer groups 3 shown in FIG. 4.

 図9に示すように、複数の第1データ転送群2のそれぞれは、第1方向X(例えば行方向)に直列に接続される複数の第1フリップフロップ5と、複数の第1フリップフロップ5の転送順序とは逆向きに接続される複数の第1クロックバッファ11aとを有する。 As shown in FIG. 9, each of the first data transfer groups 2 has a plurality of first flip-flops 5 connected in series in a first direction X (e.g., row direction) and a plurality of first clock buffers 11a connected in the opposite direction to the transfer order of the first flip-flops 5.

 複数の第2データ転送群3のそれぞれは、第2方向Y(例えば列方向)に直列に接続される複数の第2フリップフロップ8と、複数の第2フリップフロップ8の転送順序とは逆向きに接続される複数の第2クロックバッファ11bとを有する。 Each of the multiple second data transfer groups 3 has multiple second flip-flops 8 connected in series in the second direction Y (e.g., the column direction) and multiple second clock buffers 11b connected in the opposite direction to the transfer order of the multiple second flip-flops 8.

 各第1データ転送群2を構成する複数の第1フリップフロップ5のうち、最終段を除く第1フリップフロップ5のデータ出力端子には、入力バッファ13及び出力バッファ14を介して、演算器12が接続されている。個々の演算器12には、列方向の上下2組の入力バッファ13及び出力バッファ14が接続されている。上側の入力バッファ13は、イネーブル信号REN_Uが例えばハイレベルのときに上側の第1データ転送群2の対応する第1フリップフロップ5の出力信号を演算器12に入力する。上側の出力バッファ14は、イネーブル信号WEN_Uが例えばハイレベルのときに、上側の第1データ転送群2に演算器12の演算結果を出力する。下側の入力バッファ13は、イネーブル信号REN_Dが例えばハイレベルのときに下側の第1データ転送群2の対応する第1フリップフロップ5の出力信号を演算器12に入力する。下側の出力バッファ14は、イネーブル信号WEN_Dが例えばハイレベルのときに、下側の第1データ転送群2に演算器12の演算結果を出力する。  Of the multiple first flip-flops 5 constituting each first data transfer group 2, the data output terminals of the first flip-flops 5 except for the final stage are connected to a calculator 12 via an input buffer 13 and an output buffer 14. Two sets of input buffers 13 and output buffers 14, one above the other in the column direction, are connected to each calculator 12. The upper input buffer 13 inputs the output signal of the corresponding first flip-flop 5 of the upper first data transfer group 2 to the calculator 12 when the enable signal REN_U is, for example, at a high level. The upper output buffer 14 outputs the calculation result of the calculator 12 to the upper first data transfer group 2 when the enable signal WEN_U is, for example, at a high level. The lower input buffer 13 inputs the output signal of the corresponding first flip-flop 5 of the lower first data transfer group 2 to the calculator 12 when the enable signal REN_D is, for example, at a high level. The lower output buffer 14 outputs the calculation result of the calculator 12 to the lower first data transfer group 2 when the enable signal WEN_D is, for example, at a high level.

 各演算器12の演算結果は、出力バッファ14を介して、第1データ転送群2の対応する第1フリップフロップ5のデータ入力端子と、第2データ転送群3の対応する第2フリップフロップ8のデータ入力端子に入力される。複数の第1フリップフロップ5にクロック信号CLKを供給する複数の第1クロックバッファ11aがクロック信号CLKを伝搬する場合には、各演算器12の演算結果は、第1データ転送群2を介して第1方向Xに転送される。複数の第2フリップフロップ8にクロック信号CLKを供給する複数の第2クロックバッファ11bがクロック信号CLKを伝搬する場合には、各演算器12の演算結果は、第2データ転送群3を介して第2方向Yに転送される。 The calculation result of each calculator 12 is input to the data input terminal of the corresponding first flip-flop 5 in the first data transfer group 2 and the data input terminal of the corresponding second flip-flop 8 in the second data transfer group 3 via the output buffer 14. When the clock signal CLK is propagated by the first clock buffers 11a that supply the clock signal CLK to the first flip-flops 5, the calculation result of each calculator 12 is transferred in the first direction X via the first data transfer group 2. When the clock signal CLK is propagated by the second clock buffers 11b that supply the clock signal CLK to the second flip-flops 8, the calculation result of each calculator 12 is transferred in the second direction Y via the second data transfer group 3.

 このように、複数の第1クロックバッファ11a又は複数の第2クロックバッファ11bでクロック信号CLKを伝搬するか否かにより、複数の演算器12の演算結果の転送方向を切り替えることができる。 In this way, the transfer direction of the calculation results of the multiple arithmetic units 12 can be switched depending on whether the clock signal CLK is propagated through the multiple first clock buffers 11a or the multiple second clock buffers 11b.

 複数の第1データ転送群2は必ずしも同じ向きにデータを転送する必要はなく、一部の第1データ転送群2は、その他の第1データ転送群2とは逆向きにデータを転送してもよい。同様に、複数の第2データ転送群3は必ずしも同じ向きにデータを転送する必要はなく、一部の第2データ転送群3は、その他の第2データ転送群3とは逆向きにデータを転送してもよい。 The multiple first data transfer groups 2 do not necessarily need to transfer data in the same direction, and some of the first data transfer groups 2 may transfer data in the opposite direction to the other first data transfer groups 2. Similarly, the multiple second data transfer groups 3 do not necessarily need to transfer data in the same direction, and some of the second data transfer groups 3 may transfer data in the opposite direction to the other second data transfer groups 3.

 図10乃至図13は、複数の第1データ転送群2と複数の第2データ転送群3の代表的なデータ転送方向のバリエーションを示す図である。図10乃至図13の矢印線はデータ転送方向を示す。 FIGS. 10 to 13 are diagrams showing typical variations in the data transfer direction of multiple first data transfer groups 2 and multiple second data transfer groups 3. The arrows in FIG. 10 to FIG. 13 indicate the data transfer direction.

 図10は、複数の第1データ転送群2がいずれも第1方向Xにデータを転送し、複数の第2データ転送群3がいずれも第2方向Yにデータを転送する例を示す。図10では、複数の第1データ転送群2は、並行して第1方向Xの一端部までデータを転送する。複数の第2データ転送群3は、並行して第2方向Yの一端部までデータを転送する。 FIG. 10 shows an example in which multiple first data transfer groups 2 all transfer data in a first direction X, and multiple second data transfer groups 3 all transfer data in a second direction Y. In FIG. 10, multiple first data transfer groups 2 transfer data in parallel up to one end in the first direction X. Multiple second data transfer groups 3 transfer data in parallel up to one end in the second direction Y.

 図11は、複数の第1データ転送群2のうち、奇数行と偶数行でデータ転送方向を互いに逆にする例を示す。複数の第2データ転送群3はいずれも第2方向YYにデータを転送する。図11では、複数の第1データ転送群2のうち一部の第1データ転送群2にて第1方向Xの第1端部まで転送されたデータは、複数の第1データ転送群2のうち一部以外の第1データ転送群2にて第1方向Xの逆方向に第2端部まで転送される。複数の第2データ転送群3は、並行して第2方向Yの一端部までデータを転送する。 FIG. 11 shows an example in which the data transfer directions of the odd-numbered and even-numbered rows of the multiple first data transfer groups 2 are reversed. The multiple second data transfer groups 3 all transfer data in the second direction YY. In FIG. 11, data transferred to a first end in the first direction X by some of the multiple first data transfer groups 2 is transferred to a second end in the opposite direction to the first direction X by the remaining first data transfer groups 2 of the multiple first data transfer groups 2. The multiple second data transfer groups 3 transfer data in parallel to one end in the second direction Y.

 図12は、複数の第2データ転送群3のうち、奇数列と偶数列でデータ転送方向を互いに逆にする例を示す。複数の第1データ転送群2はいずれも第1方向Xにデータを転送する。図12では、複数の第1データ転送群2は、並行して第1方向Xの一端部までデータを転送する。複数の第2データ転送群3のうち一部の第2データ転送群3にて第2方向Yの第1端部まで転送されたデータは、複数の第2データ転送群3のうち一部以外の第2データ転送群3にて第2方向Yの逆方向に第2端部まで転送される。 FIG. 12 shows an example in which the data transfer directions of the odd-numbered columns and the even-numbered columns of the multiple second data transfer groups 3 are reversed. All of the multiple first data transfer groups 2 transfer data in the first direction X. In FIG. 12, the multiple first data transfer groups 2 transfer data in parallel to one end of the first direction X. Data transferred to the first end in the second direction Y by some of the multiple second data transfer groups 3 is transferred in the opposite direction of the second direction Y to the second end by the remaining second data transfer groups 3 of the multiple second data transfer groups 3.

 図13は、複数の第1データ転送群2のうち、奇数行と偶数行でデータ転送方向を互いに逆にし、かつ複数の第2データ転送群3のうち、奇数列と偶数列でデータ転送方向を互いに逆にする例を示す。図13では、複数の第1データ転送群2のうち一部の第1データ転送群2にて第1方向Xの第1端部まで転送されたデータは、複数の第1データ転送群2のうち一部以外の第1データ転送群2にて第1方向Xの逆方向に第2端部まで転送され、
 複数の第2データ転送群3のうち一部の第2データ転送群3にて第2方向Yの第3端部まで転送されたデータは、複数の第2データ転送群3のうち一部以外の第2データ転送群3にて第2方向Yの逆方向に第4端部まで転送される。
13 shows an example in which the data transfer directions are reversed between odd-numbered rows and even-numbered rows among the multiple first data transfer groups 2, and the data transfer directions are reversed between odd-numbered columns and even-numbered columns among the multiple second data transfer groups 3. In Fig. 13, data transferred to a first end in the first direction X by some of the multiple first data transfer groups 2 is transferred to a second end in the opposite direction to the first direction X by other first data transfer groups 2 among the multiple first data transfer groups 2,
The data transferred to the third end in the second direction Y by some of the multiple second data transfer groups 3 is transferred in the opposite direction of the second direction Y to the fourth end by other second data transfer groups 3 than the part of the multiple second data transfer groups 3.

 図11と図13では、複数の第1データ転送群2は、第2方向Yの並び順に第1方向Xへのデータ転送と第1方向Xの反対方向へのデータ転送とを交互に行う。図12と図13では、複数の第2データ転送群3は、第1方向Xの並び順に第2方向Yへのデータ転送と第1方向Xの反対方向へのデータ転送とを交互に行う。 In Figures 11 and 13, the multiple first data transfer groups 2 alternate between data transfer in the first direction X and data transfer in the opposite direction to the first direction X in the order of the arrangement in the second direction Y. In Figures 12 and 13, the multiple second data transfer groups 3 alternate between data transfer in the second direction Y and data transfer in the opposite direction to the first direction X in the order of the arrangement in the first direction X.

 (積層構造)
 本実施形態に係る半導体装置1は、1つの半導体基板上に配置することができる。また、本実施形態に係る半導体装置1は、2つ以上の半導体基板を積層させた積層構造にすることができる。
(Laminated structure)
The semiconductor device 1 according to the present embodiment can be disposed on one semiconductor substrate, or can have a stacked structure in which two or more semiconductor substrates are stacked.

 図14は、本実施形態に係る積層構造の半導体装置1の模式的な斜視図である。図14は2つの半導体基板21、22を積層させて半導体装置1を構成する例を示す。第1半導体基板21には、複数の演算器12と、複数の第1データ転送群2と、ローデータ生成器6と、ロー出力回路7とが配置される。第2半導体基板22には、複数の演算器12と、複数の第2データ転送群3と、カラムデータ生成器9と、カラム出力回路10とが配置される。 FIG. 14 is a schematic perspective view of a semiconductor device 1 having a stacked structure according to this embodiment. FIG. 14 shows an example in which the semiconductor device 1 is constructed by stacking two semiconductor substrates 21 and 22. A plurality of arithmetic units 12, a plurality of first data transfer groups 2, a row data generator 6, and a row output circuit 7 are arranged on the first semiconductor substrate 21. A plurality of arithmetic units 12, a plurality of second data transfer groups 3, a column data generator 9, and a column output circuit 10 are arranged on the second semiconductor substrate 22.

 第1半導体基板21と第2半導体基板22との信号伝送は、例えば、CCC(Copper-Copper Connection)、ビア、又はバンプなどで行われる。第1半導体基板21と第2半導体基板22のどちらが上に配置されてもよい。 Signal transmission between the first semiconductor substrate 21 and the second semiconductor substrate 22 is performed, for example, by CCC (Copper-Copper Connection), vias, or bumps. Either the first semiconductor substrate 21 or the second semiconductor substrate 22 may be placed on top.

 図15は第1半導体基板21のブロック図、図16は第2半導体基板22のブロック図である。 FIG. 15 is a block diagram of the first semiconductor substrate 21, and FIG. 16 is a block diagram of the second semiconductor substrate 22.

 図15に示すように、第1半導体基板21には、第2方向Yに配列される複数の第1データ転送群2と、第1方向Xに配列される複数の演算器群12gとが配置される。複数の第1データ転送群2のそれぞれは、第1方向Xに直列に接続された複数の第1フリップフロップ5を有する。 As shown in FIG. 15, a first semiconductor substrate 21 has a plurality of first data transfer groups 2 arranged in the second direction Y and a plurality of arithmetic unit groups 12g arranged in the first direction X. Each of the first data transfer groups 2 has a plurality of first flip-flops 5 connected in series in the first direction X.

 図16に示すように、第2半導体基板22には、第1方向Xに配列される複数の第2データ転送群3と、第1方向Xに配列される複数の演算器群12gとが配置される。複数の第2データ転送群3のそれぞれは、第2方向Yに直列に接続された複数の第2フリップフロップ8を有する。 As shown in FIG. 16, a plurality of second data transfer groups 3 arranged in the first direction X and a plurality of arithmetic unit groups 12g arranged in the first direction X are arranged on the second semiconductor substrate 22. Each of the plurality of second data transfer groups 3 has a plurality of second flip-flops 8 connected in series in the second direction Y.

 第1半導体基板21上の複数の演算器12と、第2半導体基板22上の複数の演算器12とは、平面視したときに重ならないように配置してもよいし、重なるように配置してもよい。 The multiple computing units 12 on the first semiconductor substrate 21 and the multiple computing units 12 on the second semiconductor substrate 22 may be arranged so as not to overlap when viewed in a plan view, or may be arranged so as to overlap.

 図16は、各演算器12の演算結果を、各演算器12にデータを入力する第2フリップフロップ8と同じ第2データ転送群3の次段の第2フリップフロップ8のデータ入力端子に入力する例を示す。これは一例であり、各演算器12の演算結果は、各演算器12にデータを入力する第2フリップフロップ8と同じ第2データ転送群3とは異なる第2データ転送群3のいずれかの第2フリップフロップ8のデータ入力端子に入力してもよい。 FIG. 16 shows an example in which the calculation result of each calculator 12 is input to the data input terminal of the second flip-flop 8 in the next stage of the second data transfer group 3, which is the same as the second flip-flop 8 that inputs data to each calculator 12. This is just one example, and the calculation result of each calculator 12 may be input to the data input terminal of any second flip-flop 8 in a second data transfer group 3 different from the second data transfer group 3, which is the same as the second flip-flop 8 that inputs data to each calculator 12.

 図17は、図16の一変形例に係る第2半導体基板22のブロック図である。図17では、演算器12にデータを入力した第2フリップフロップ8が含まれる第2データ転送群3とは異なる第2データ転送群3の対応する第2フリップフロップ8のデータ入力端子に、演算器12の演算結果が入力される。 FIG. 17 is a block diagram of a second semiconductor substrate 22 according to a modified example of FIG. 16. In FIG. 17, the calculation result of the arithmetic unit 12 is input to the data input terminal of the corresponding second flip-flop 8 in a second data transfer group 3 different from the second data transfer group 3 including the second flip-flop 8 that input the data to the arithmetic unit 12.

 このように、演算器12の演算結果は、演算器12にデータを入力した第1データ転送群2又は第2データ転送群3とは別の第1データ転送群2又は第2データ転送群3の対応する第1フリップフロップ5又は第2フリップフロップ8に入力してもよい。 In this way, the calculation result of the calculator 12 may be input to the corresponding first flip-flop 5 or second flip-flop 8 of a first data transfer group 2 or second data transfer group 3 different from the first data transfer group 2 or second data transfer group 3 that input data to the calculator 12.

 (演算器12の具体的構成例)
 本実施形態に係る半導体装置1が備える複数の演算器12が行う具体的な演算処理の内容は問わない。各演算器12は、種々の演算処理を行うことができ、時と場合によって、実行する演算処理の内容を切り替えてもよい。
(Specific configuration example of the calculator 12)
There is no restriction on the specific content of the arithmetic processing performed by the multiple arithmetic units 12 included in the semiconductor device 1 according to this embodiment. Each arithmetic unit 12 can perform various arithmetic processing, and the content of the arithmetic processing to be performed may be switched depending on the time and situation.

 複数の第1データ転送群2及び複数の第2データ転送群3は、複数の演算器12のオペコード、オペランド、演算された時刻コード、次に入力される演算器12の識別情報、又は演算終了情報の少なくとも一つを含むデータを転送する。 The multiple first data transfer groups 2 and the multiple second data transfer groups 3 transfer data including at least one of the opcodes of the multiple arithmetic units 12, the operands, the time code of the operation, the identification information of the arithmetic unit 12 to be input next, or the operation end information.

 図18は演算器12の内部構成の第1例を示すブロック図である。図18に示す演算器12は、プロセッサに近い内部構成を有し、入出力制御部23と、レジスタ群24と、複数の演算ユニット(ALU:Arithmetic Logic Unit)25と、プログラムカウンタ26とを有する。レジスタ群24は、汎用レジスタ、命令レジスタ、インデックスレジスタなどを含む。 FIG. 18 is a block diagram showing a first example of the internal configuration of the arithmetic unit 12. The arithmetic unit 12 shown in FIG. 18 has an internal configuration similar to that of a processor, and has an input/output control unit 23, a register group 24, multiple arithmetic units (ALUs: Arithmetic Logic Units) 25, and a program counter 26. The register group 24 includes a general-purpose register, an instruction register, an index register, etc.

 図19は、半導体装置1が画素ADC方式の撮像装置である場合の演算器12の内部構成の第2例を示すブロック図である。演算器12は、ADCを有する少なくとも1つ以上の画素部27と、少なくとも1つ以上の記憶部28と、入出力制御部29とを有する。 FIG. 19 is a block diagram showing a second example of the internal configuration of the calculator 12 when the semiconductor device 1 is an imaging device using a pixel ADC method. The calculator 12 has at least one pixel unit 27 having an ADC, at least one memory unit 28, and an input/output control unit 29.

 このように、本実施形態に係る半導体装置1は、それぞれが第1方向Xにデータを転送する複数の第1データ転送群2と、それぞれが第2方向Yにデータを転送する複数の第2データ転送群3とを備え、複数の第1フリップフロップ5及び複数の第2フリップフロップ8の出力端子の接続先を個別に切替制御する。これにより、必要に応じてデータ転送方向を切り替えることができる。例えば、複数の演算器12を用いて行方向に演算された演算結果を列方向に転置出力することを容易に行うことができる。 In this way, the semiconductor device 1 according to this embodiment includes a plurality of first data transfer groups 2 each of which transfers data in a first direction X, and a plurality of second data transfer groups 3 each of which transfers data in a second direction Y, and individually switches and controls the connection destinations of the output terminals of the plurality of first flip-flops 5 and the plurality of second flip-flops 8. This makes it possible to switch the data transfer direction as necessary. For example, it is possible to easily transpose and output the results of calculations performed in the row direction using the plurality of arithmetic units 12 in the column direction.

 <<応用例>> 本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。 <<Application Examples>> The technology disclosed herein can be applied to a variety of products. For example, the technology disclosed herein may be realized as a device mounted on any type of moving object, such as an automobile, electric vehicle, hybrid electric vehicle, motorcycle, bicycle, personal mobility, airplane, drone, ship, robot, construction machinery, agricultural machinery (tractor), etc.

 図20は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図20に示した例では、車両制御システム7000は、駆動系制御ユニット7100、ボディ系制御ユニット7200、バッテリ制御ユニット7300、車外情報検出ユニット7400、車内情報検出ユニット7500、及び統合制御ユニット7600を備える。これらの複数の制御ユニットを接続する通信ネットワーク7010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。 20 is a block diagram showing a schematic configuration example of a vehicle control system 7000, which is an example of a mobile control system to which the technology disclosed herein can be applied. The vehicle control system 7000 includes a plurality of electronic control units connected via a communication network 7010. In the example shown in FIG. 20, the vehicle control system 7000 includes a drive system control unit 7100, a body system control unit 7200, a battery control unit 7300, an outside vehicle information detection unit 7400, an inside vehicle information detection unit 7500, and an integrated control unit 7600. The communication network 7010 connecting these multiple control units may be, for example, an in-vehicle communication network conforming to any standard such as CAN (Controller Area Network), LIN (Local Interconnect Network), LAN (Local Area Network), or FlexRay (registered trademark).

 各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク7010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。図20では、統合制御ユニット7600の機能構成として、マイクロコンピュータ7610、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660、音声画像出力部7670、車載ネットワークI/F7680及び記憶部7690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。 Each control unit includes a microcomputer that performs arithmetic processing according to various programs, a storage unit that stores the programs executed by the microcomputer or parameters used in various calculations, and a drive circuit that drives various devices to be controlled. Each control unit includes a network I/F for communicating with other control units via a communication network 7010, and a communication I/F for communicating with devices or sensors inside and outside the vehicle by wired or wireless communication. In FIG. 20, the functional configuration of the integrated control unit 7600 includes a microcomputer 7610, a general-purpose communication I/F 7620, a dedicated communication I/F 7630, a positioning unit 7640, a beacon receiving unit 7650, an in-vehicle device I/F 7660, an audio/image output unit 7670, an in-vehicle network I/F 7680, and a storage unit 7690. Other control units also include a microcomputer, a communication I/F, a storage unit, and the like.

 駆動系制御ユニット7100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット7100は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット7100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。 The drive system control unit 7100 controls the operation of devices related to the drive system of the vehicle according to various programs. For example, the drive system control unit 7100 functions as a control device for a drive force generating device for generating a drive force for the vehicle, such as an internal combustion engine or a drive motor, a drive force transmission mechanism for transmitting the drive force to the wheels, a steering mechanism for adjusting the steering angle of the vehicle, and a braking device for generating a braking force for the vehicle. The drive system control unit 7100 may also function as a control device such as an ABS (Antilock Brake System) or ESC (Electronic Stability Control).

 駆動系制御ユニット7100には、車両状態検出部7110が接続される。車両状態検出部7110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット7100は、車両状態検出部7110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。 The drive system control unit 7100 is connected to a vehicle state detection unit 7110. The vehicle state detection unit 7110 includes at least one of a gyro sensor that detects the angular velocity of the axial rotational motion of the vehicle body, an acceleration sensor that detects the acceleration of the vehicle, or a sensor for detecting the amount of operation of the accelerator pedal, the amount of operation of the brake pedal, the steering angle of the steering wheel, the engine speed, or the rotation speed of the wheels, etc. The drive system control unit 7100 performs arithmetic processing using the signal input from the vehicle state detection unit 7110, and controls the internal combustion engine, the drive motor, the electric power steering device, the brake device, etc.

 ボディ系制御ユニット7200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット7200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット7200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット7200は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。 The body system control unit 7200 controls the operation of various devices installed in the vehicle body according to various programs. For example, the body system control unit 7200 functions as a control device for a keyless entry system, a smart key system, a power window device, or various lamps such as headlamps, tail lamps, brake lamps, turn signals, and fog lamps. In this case, radio waves or signals from various switches transmitted from a portable device that replaces a key can be input to the body system control unit 7200. The body system control unit 7200 accepts the input of these radio waves or signals and controls the vehicle's door lock device, power window device, lamps, etc.

 バッテリ制御ユニット7300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池7310を制御する。例えば、バッテリ制御ユニット7300には、二次電池7310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット7300は、これらの信号を用いて演算処理を行い、二次電池7310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。 The battery control unit 7300 controls the secondary battery 7310, which is the power supply source for the drive motor, according to various programs. For example, information such as the battery temperature, battery output voltage, or remaining capacity of the battery is input to the battery control unit 7300 from a battery device equipped with the secondary battery 7310. The battery control unit 7300 performs calculations using these signals, and controls the temperature regulation of the secondary battery 7310 or a cooling device or the like equipped in the battery device.

 車外情報検出ユニット7400は、車両制御システム7000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット7400には、撮像部7410及び車外情報検出部7420のうちの少なくとも一方が接続される。撮像部7410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部7420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム7000を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。 The outside vehicle information detection unit 7400 detects information outside the vehicle equipped with the vehicle control system 7000. For example, at least one of the imaging unit 7410 and the outside vehicle information detection unit 7420 is connected to the outside vehicle information detection unit 7400. The imaging unit 7410 includes at least one of a ToF (Time Of Flight) camera, a stereo camera, a monocular camera, an infrared camera, and other cameras. The outside vehicle information detection unit 7420 includes at least one of an environmental sensor for detecting the current weather or climate, or a surrounding information detection sensor for detecting other vehicles, obstacles, pedestrians, etc., around the vehicle equipped with the vehicle control system 7000.

 環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部7410及び車外情報検出部7420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。 The environmental sensor may be, for example, at least one of a raindrop sensor that detects rain, a fog sensor that detects fog, a sunshine sensor that detects the level of sunlight, and a snow sensor that detects snowfall. The surrounding information detection sensor may be at least one of an ultrasonic sensor, a radar device, and a LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) device. The imaging unit 7410 and the outside vehicle information detection unit 7420 may each be provided as an independent sensor or device, or may be provided as a device in which multiple sensors or devices are integrated.

 ここで、図21は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。 Here, FIG. 21 shows an example of the installation positions of the imaging unit 7410 and the outside vehicle information detection unit 7420. The imaging units 7910, 7912, 7914, 7916, and 7918 are provided, for example, at least one of the front nose, side mirrors, rear bumper, back door, and the upper part of the windshield inside the vehicle cabin of the vehicle 7900. The imaging unit 7910 provided on the front nose and the imaging unit 7918 provided on the upper part of the windshield inside the vehicle cabin mainly acquire images of the front of the vehicle 7900. The imaging units 7912 and 7914 provided on the side mirrors mainly acquire images of the sides of the vehicle 7900. The imaging unit 7916 provided on the rear bumper or back door mainly acquires images of the rear of the vehicle 7900. The imaging unit 7918, which is installed on the top of the windshield inside the vehicle, is primarily used to detect preceding vehicles, pedestrians, obstacles, traffic lights, traffic signs, lanes, etc.

 なお、図21には、それぞれの撮像部7910,7912,7914,7916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部7910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部7912,7914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部7916の撮像範囲を示す。例えば、撮像部7910,7912,7914,7916で撮像された画像データが重ね合わせられることにより、車両7900を上方から見た俯瞰画像が得られる。 Note that FIG. 21 shows an example of the imaging ranges of the imaging units 7910, 7912, 7914, and 7916. Imaging range a indicates the imaging range of the imaging unit 7910 provided on the front nose, imaging ranges b and c indicate the imaging ranges of the imaging units 7912 and 7914 provided on the side mirrors, and imaging range d indicates the imaging range of the imaging unit 7916 provided on the rear bumper or back door. For example, image data captured by the imaging units 7910, 7912, 7914, and 7916 are superimposed to obtain an overhead image of the vehicle 7900.

 車両7900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7922,7924,7926,7928,7930は、例えば超音波センサ又はレーダ装置であってよい。車両7900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7926,7930は、例えばLIDAR装置であってよい。これらの車外情報検出部7920~7930は、主として先行車両、歩行者又は障害物等の検出に用いられる。 External information detection units 7920, 7922, 7924, 7926, 7928, and 7930 provided on the front, rear, sides, corners, and upper part of the windshield inside the vehicle 7900 may be, for example, ultrasonic sensors or radar devices. External information detection units 7920, 7926, and 7930 provided on the front nose, rear bumper, back door, and upper part of the windshield inside the vehicle 7900 may be, for example, LIDAR devices. These external information detection units 7920 to 7930 are primarily used to detect preceding vehicles, pedestrians, obstacles, etc.

 図20に戻って説明を続ける。車外情報検出ユニット7400は、撮像部7410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット7400は、接続されている車外情報検出部7420から検出情報を受信する。車外情報検出部7420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット7400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット7400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。 Returning to FIG. 20, the explanation will be continued. The outside-vehicle information detection unit 7400 causes the imaging unit 7410 to capture an image outside the vehicle, and receives the captured image data. The outside-vehicle information detection unit 7400 also receives detection information from the connected outside-vehicle information detection unit 7420. If the outside-vehicle information detection unit 7420 is an ultrasonic sensor, a radar device, or a LIDAR device, the outside-vehicle information detection unit 7400 transmits ultrasonic waves or electromagnetic waves, and receives information on the received reflected waves. The outside-vehicle information detection unit 7400 may perform object detection processing or distance detection processing for people, cars, obstacles, signs, or characters on the road surface, based on the received information. The outside-vehicle information detection unit 7400 may perform environmental recognition processing for recognizing rainfall, fog, road surface conditions, etc., based on the received information. The outside-vehicle information detection unit 7400 may calculate the distance to an object outside the vehicle based on the received information.

 また、車外情報検出ユニット7400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部7410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット7400は、異なる撮像部7410により撮像された画像データを用いて、視点変換処理を行ってもよい。 The outside vehicle information detection unit 7400 may also perform image recognition processing or distance detection processing to recognize people, cars, obstacles, signs, or characters on the road surface based on the received image data. The outside vehicle information detection unit 7400 may perform processing such as distortion correction or alignment on the received image data, and may also generate an overhead image or a panoramic image by synthesizing image data captured by different imaging units 7410. The outside vehicle information detection unit 7400 may also perform viewpoint conversion processing using image data captured by different imaging units 7410.

 車内情報検出ユニット7500は、車内の情報を検出する。車内情報検出ユニット7500には、例えば、運転者の状態を検出する運転者状態検出部7510が接続される。運転者状態検出部7510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット7500は、運転者状態検出部7510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット7500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。 The in-vehicle information detection unit 7500 detects information inside the vehicle. The in-vehicle information detection unit 7500 is connected to, for example, a driver state detection unit 7510 that detects the state of the driver. The driver state detection unit 7510 may include a camera that captures an image of the driver, a biosensor that detects the driver's biometric information, or a microphone that collects sound inside the vehicle. The biosensor is provided, for example, on the seat or steering wheel, and detects the biometric information of a passenger sitting in the seat or a driver gripping the steering wheel. The in-vehicle information detection unit 7500 may calculate the degree of fatigue or concentration of the driver based on the detection information input from the driver state detection unit 7510, or may determine whether the driver is dozing off. The in-vehicle information detection unit 7500 may perform processing such as noise canceling on the collected sound signal.

 統合制御ユニット7600は、各種プログラムにしたがって車両制御システム7000内の動作全般を制御する。統合制御ユニット7600には、入力部7800が接続されている。入力部7800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット7600には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部7800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム7000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部7800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部7800は、例えば、上記の入力部7800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット7600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部7800を操作することにより、車両制御システム7000に対して各種のデータを入力したり処理動作を指示したりする。 The integrated control unit 7600 controls the overall operation of the vehicle control system 7000 according to various programs. The input unit 7800 is connected to the integrated control unit 7600. The input unit 7800 is realized by a device that can be operated by the passenger, such as a touch panel, a button, a microphone, a switch, or a lever. Data obtained by voice recognition of a voice input by a microphone may be input to the integrated control unit 7600. The input unit 7800 may be, for example, a remote control device using infrared or other radio waves, or an externally connected device such as a mobile phone or a PDA (Personal Digital Assistant) that supports the operation of the vehicle control system 7000. The input unit 7800 may be, for example, a camera, in which case the passenger can input information by gestures. Alternatively, data obtained by detecting the movement of a wearable device worn by the passenger may be input. Furthermore, the input unit 7800 may include, for example, an input control circuit that generates an input signal based on information input by a passenger or the like using the input unit 7800 and outputs the signal to the integrated control unit 7600. The passenger or the like operates the input unit 7800 to input various data to the vehicle control system 7000 and to instruct processing operations.

 記憶部7690は、マイクロコンピュータにより実行される各種プログラムを記憶するROM(Read Only Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するRAM(Random Access Memory)を含んでいてもよい。また、記憶部7690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。 The memory unit 7690 may include a ROM (Read Only Memory) that stores various programs executed by the microcomputer, and a RAM (Random Access Memory) that stores various parameters, calculation results, sensor values, etc. The memory unit 7690 may also be realized by a magnetic memory device such as a HDD (Hard Disc Drive), a semiconductor memory device, an optical memory device, or a magneto-optical memory device, etc.

 汎用通信I/F7620は、外部環境7750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F7620は、GSM(登録商標)(Global System of Mobile communications)、WiMAX(登録商標)、LTE(登録商標)(Long Term Evolution)若しくはLTE-A(LTE-Advanced)などのセルラー通信プロトコル、又は無線LAN(Wi-Fi(登録商標)ともいう)、Bluetooth(登録商標)などのその他の無線通信プロトコルを実装してよい。汎用通信I/F7620は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)へ接続してもよい。また、汎用通信I/F7620は、例えばP2P(Peer To Peer)技術を用いて、車両の近傍に存在する端末(例えば、運転者、歩行者若しくは店舗の端末、又はMTC(Machine Type Communication)端末)と接続してもよい。 The general-purpose communication I/F 7620 is a general-purpose communication I/F that mediates communication between various devices present in the external environment 7750. The general-purpose communication I/F 7620 may implement cellular communication protocols such as GSM (registered trademark) (Global System of Mobile communications), WiMAX (registered trademark), LTE (registered trademark) (Long Term Evolution) or LTE-A (LTE-Advanced), or other wireless communication protocols such as wireless LAN (also called Wi-Fi (registered trademark)) and Bluetooth (registered trademark). The general-purpose communication I/F 7620 may connect to devices (e.g., application servers or control servers) present on an external network (e.g., the Internet, a cloud network, or an operator-specific network) via, for example, a base station or an access point. In addition, the general-purpose communication I/F 7620 may connect to a terminal located near the vehicle (e.g., a driver's, pedestrian's, or store's terminal, or an MTC (Machine Type Communication) terminal) using, for example, P2P (Peer To Peer) technology.

 専用通信I/F7630は、車両における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F7630は、例えば、下位レイヤのIEEE802.11pと上位レイヤのIEEE1609との組合せであるWAVE(Wireless Access in Vehicle Environment)、DSRC(Dedicated Short Range Communications)、又はセルラー通信プロトコルといった標準プロトコルを実装してよい。専用通信I/F7630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、車両と家との間(Vehicle to Home)の通信及び歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。 The dedicated communication I/F 7630 is a communication I/F that supports a communication protocol developed for use in vehicles. The dedicated communication I/F 7630 may implement a standard protocol such as WAVE (Wireless Access in Vehicle Environment), DSRC (Dedicated Short Range Communications), or a cellular communication protocol, which is a combination of the lower layer IEEE 802.11p and the higher layer IEEE 1609. The dedicated communication I/F 7630 typically performs V2X communication, which is a concept that includes one or more of vehicle-to-vehicle communication, vehicle-to-infrastructure communication, vehicle-to-home communication, and vehicle-to-pedestrian communication.

 測位部7640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部7640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。 The positioning unit 7640 performs positioning by receiving, for example, GNSS signals from GNSS (Global Navigation Satellite System) satellites (for example, GPS signals from GPS (Global Positioning System) satellites), and generates position information including the latitude, longitude, and altitude of the vehicle. The positioning unit 7640 may determine the current position by exchanging signals with a wireless access point, or may obtain position information from a terminal such as a mobile phone, PHS, or smartphone that has a positioning function.

 ビーコン受信部7650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部7650の機能は、上述した専用通信I/F7630に含まれてもよい。 The beacon receiver 7650 receives, for example, radio waves or electromagnetic waves transmitted from radio stations installed on the road, and acquires information such as the current location, congestion, road closures, and travel time. The functions of the beacon receiver 7650 may be included in the dedicated communication I/F 7630 described above.

 車内機器I/F7660は、マイクロコンピュータ7610と車内に存在する様々な車内機器7760との間の接続を仲介する通信インタフェースである。車内機器I/F7660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)又はWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器I/F7660は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface、又はMHL(Mobile High-definition Link)等の有線接続を確立してもよい。車内機器7760は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器のうちの少なくとも1つを含んでいてもよい。また、車内機器7760は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器I/F7660は、これらの車内機器7760との間で、制御信号又はデータ信号を交換する。 The in-vehicle device I/F 7660 is a communication interface that mediates the connection between the microcomputer 7610 and various in-vehicle devices 7760 present in the vehicle. The in-vehicle device I/F 7660 may establish a wireless connection using a wireless communication protocol such as wireless LAN, Bluetooth (registered trademark), NFC (Near Field Communication), or WUSB (Wireless USB). The in-vehicle device I/F 7660 may also establish a wired connection such as USB (Universal Serial Bus), HDMI (High-Definition Multimedia Interface), or MHL (Mobile High-definition Link) via a connection terminal (and a cable, if necessary) not shown. The in-vehicle device 7760 may include, for example, at least one of a mobile device or wearable device owned by a passenger, or an information device carried into or attached to the vehicle. The in-vehicle device 7760 may also include a navigation device that searches for a route to an arbitrary destination. The in-vehicle device I/F 7660 exchanges control signals or data signals with these in-vehicle devices 7760.

 車載ネットワークI/F7680は、マイクロコンピュータ7610と通信ネットワーク7010との間の通信を仲介するインタフェースである。車載ネットワークI/F7680は、通信ネットワーク7010によりサポートされる所定のプロトコルに則して、信号等を送受信する。 The in-vehicle network I/F 7680 is an interface that mediates communication between the microcomputer 7610 and the communication network 7010. The in-vehicle network I/F 7680 transmits and receives signals in accordance with a specific protocol supported by the communication network 7010.

 統合制御ユニット7600のマイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム7000を制御する。例えば、マイクロコンピュータ7610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット7100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ7610は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ7610は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。 The microcomputer 7610 of the integrated control unit 7600 controls the vehicle control system 7000 according to various programs based on information acquired through at least one of the general-purpose communication I/F 7620, the dedicated communication I/F 7630, the positioning unit 7640, the beacon receiving unit 7650, the in-vehicle device I/F 7660, and the in-vehicle network I/F 7680. For example, the microcomputer 7610 may calculate the control target value of the driving force generating device, the steering mechanism, or the braking device based on the acquired information inside and outside the vehicle, and output a control command to the drive system control unit 7100. For example, the microcomputer 7610 may perform cooperative control for the purpose of realizing the functions of an ADAS (Advanced Driver Assistance System), including vehicle collision avoidance or impact mitigation, following driving based on the distance between vehicles, vehicle speed maintenance driving, vehicle collision warning, vehicle lane departure warning, etc. In addition, the microcomputer 7610 may control the driving force generating device, steering mechanism, braking device, etc. based on the acquired information about the surroundings of the vehicle, thereby performing cooperative control for the purpose of autonomous driving, which allows the vehicle to travel autonomously without relying on the driver's operation.

 マイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の3次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ7610は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。 The microcomputer 7610 may generate three-dimensional distance information between the vehicle and objects such as surrounding structures and people based on information acquired via at least one of the general-purpose communication I/F 7620, the dedicated communication I/F 7630, the positioning unit 7640, the beacon receiving unit 7650, the in-vehicle equipment I/F 7660, and the in-vehicle network I/F 7680, and may create local map information including information about the surroundings of the vehicle's current position. The microcomputer 7610 may also predict dangers such as vehicle collisions, the approach of pedestrians, or entry into closed roads based on the acquired information, and generate warning signals. The warning signals may be, for example, signals for generating warning sounds or turning on warning lights.

 音声画像出力部7670は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図20の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。 The audio/image output unit 7670 transmits at least one of audio and image output signals to an output device capable of visually or audibly notifying the vehicle occupants or the outside of the vehicle of information. In the example of FIG. 20, an audio speaker 7710, a display unit 7720, and an instrument panel 7730 are illustrated as output devices. The display unit 7720 may include, for example, at least one of an on-board display and a head-up display. The display unit 7720 may have an AR (Augmented Reality) display function. The output device may be other devices such as headphones, wearable devices such as glasses-type displays worn by the occupants, projectors, or lamps other than these devices. When the output device is a display device, the display device visually displays the results obtained by various processes performed by the microcomputer 7610 or information received from other control units in various formats such as text, images, tables, graphs, etc. Also, if the output device is an audio output device, the audio output device converts an audio signal consisting of reproduced voice data or acoustic data, etc., into an analog signal and outputs it audibly.

 なお、図20に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。 20, at least two control units connected via the communication network 7010 may be integrated into one control unit. Alternatively, each control unit may be composed of multiple control units. Furthermore, the vehicle control system 7000 may include another control unit not shown. In the above description, some or all of the functions performed by any control unit may be provided by another control unit. In other words, as long as information is transmitted and received via the communication network 7010, a predetermined calculation process may be performed by any control unit. Similarly, a sensor or device connected to any control unit may be connected to another control unit, and multiple control units may transmit and receive detection information to each other via the communication network 7010.

 以上説明した車両制御システム7000において、図1等を用いて説明した本実施形態に係る半導体装置1は、図20に示した応用例の統合制御ユニット7600に適用することができる。 In the vehicle control system 7000 described above, the semiconductor device 1 according to this embodiment described using FIG. 1 etc. can be applied to the integrated control unit 7600 of the application example shown in FIG. 20.

 また、図1等を用いて説明した半導体装置1の少なくとも一部の構成要素は、図20に示した統合制御ユニット7600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、図1等を用いて説明した半導体装置1が、図20に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。 Furthermore, at least some of the components of the semiconductor device 1 described using FIG. 1 etc. may be realized in a module (e.g., an integrated circuit module configured on a single die) for the integrated control unit 7600 shown in FIG. 20. Alternatively, the semiconductor device 1 described using FIG. 1 etc. may be realized by multiple control units of the vehicle control system 7000 shown in FIG. 20.

 なお、本技術は以下のような構成を取ることができる。 This technology can be configured as follows:

 (1)第1方向にデータを転送する複数の第1フリップフロップをそれぞれ含み、前記第1方向に交差する第2方向に配列される複数の第1データ転送群と、
 前記第2方向にデータを転送する複数の第2フリップフロップをそれぞれ含み、前記第1方向に配列される複数の第2データ転送群と、
 前記複数の第1データ転送群及び前記複数の第2データ転送群のそれぞれにおける前記複数の第1フリップフロップ及び前記複数の第2フリップフロップの出力端子の接続先を個別に切替制御する切替制御器と、を備える、
 半導体装置。
 (2)前記複数の第1フリップフロップに入力されるクロック信号の伝搬順序と、前記複数の第1フリップフロップに入力されるデータの伝搬順序とは互いに逆向きであり、
 前記複数の第2フリップフロップに入力されるクロック信号の伝搬順序と、前記複数の第2フリップフロップに入力されるデータの伝搬順序とは互いに逆向きである、
 (1)に記載の半導体装置。
 (3)前記複数の第1データ転送群又は前記複数の第2データ転送群の少なくとも一方に対応して設けられ、前記第1方向及び前記第2方向に沿って配置される複数の演算器を備え、
 前記複数の演算器のそれぞれは、対応する前記第1フリップフロップ又は前記第2フリップフロップの出力信号に基づいて演算処理を行う、
 (1)又は(2)に記載の半導体装置。
 (4)前記複数の演算器は、四則演算又はアナログ-デジタル変換の少なくとも一方を行う、
 (3)に記載の半導体装置。
 (5)前記複数の演算器のそれぞれは、前記出力信号を出力した前記第1フリップフロップ又は前記第2フリップフロップと同じ前記第1データ転送群又は前記第2データ転送群の次段の前記第1フリップフロップ又は前記第2フリップフロップに演算結果を入力する、
 (3)又は(4)に記載の半導体装置。
 (6)前記複数の演算器のそれぞれは、前記出力信号を出力した前記第1フリップフロップ又は前記第2フリップフロップと異なる前記第1データ転送群又は前記第2データ転送群のいずれかの前記第1フリップフロップ又は前記第2フリップフロップに演算結果を入力する、
 (3)又は(4)に記載の半導体装置。
 (7)前記切替制御器は、前記複数の演算器の演算結果を前記複数の第1データ転送群により前記第1方向に転送するか、前記複数の演算器の演算結果を前記複数の第2データ転送群により前記第2方向に転送するかを個別に切替制御する、
 (3)乃至(6)のいずれか一項に記載の半導体装置。
 (8)前記切替制御器による切替制御に従って、前記複数の第1データ転送群及び前記複数の第2データ転送群のそれぞれにおける前記複数の第1フリップフロップ及び前記複数の第2フリップフロップの出力信号経路を切り替える複数の切替器を備える、
 (7)に記載の半導体装置。
 (9)前記複数の切替器は、前記複数の第1フリップフロップの入力ノードと前記複数の演算器の出力ノードとの間に接続されるとともに、前記複数の第2フリップフロップの入力ノードと前記複数の演算器の出力ノードとの間に接続される、
 (8)に記載の半導体装置。
 (10)前記複数の演算器の演算結果を前記第1方向又は前記第2方向に出力する複数の第1出力バッファと、
 前記複数の演算器の演算結果を前記第1方向又は前記第2方向の反対方向に出力する複数の第2出力バッファと、を備え、
 前記切替制御器は、前記複数の第1出力バッファ又は前記複数の第2出力バッファを介して、前記複数の演算器の演算結果を前記複数の第1フリップフロップ又は前記複数の第2フリップフロップに入力する、
 (3)乃至(9)のいずれか一項に記載の半導体装置。
 (11)前記複数の第1データ転送群、前記複数の第2データ転送群、及び前記複数の演算器は、一つの半導体層に配置されるか、又は複数の半導体層に分割して配置される、
 (3)乃至(10)のいずれか一項に記載の半導体装置。
 (12)前記複数の第1データ転送群及び前記複数の第2データ転送群は、前記複数の演算器のオペコード、オペランド、演算された時刻コード、次に入力される演算器の識別情報、又は演算終了情報の少なくとも一つを含むデータを転送する、
 (3)乃至(11)のいずれか一項に記載の半導体装置。
 (13)前記複数の第1データ転送群は、並行して前記第1方向の一端部までデータを転送し、
 前記複数の第2データ転送群は、並行して前記第2方向の一端部までデータを転送する、
 (1)乃至(12)のいずれか一項に記載の半導体装置。
 (14)前記複数の第1データ転送群のうち一部の第1データ転送群にて前記第1方向の第1端部まで転送されたデータは、前記複数の第1データ転送群のうち前記一部以外の第1データ転送群にて前記第1方向の逆方向に第2端部まで転送され、
 前記複数の第2データ転送群は、並行して前記第2方向の一端部までデータを転送する、
 (1)乃至(12)のいずれか一項に記載の半導体装置。
 (15)前記複数の第1データ転送群は、並行して前記第1方向の一端部までデータを転送し、
 前記複数の第2データ転送群のうち一部の第2データ転送群にて前記第2方向の第1端部まで転送されたデータは、前記複数の第2データ転送群のうち前記一部以外の第2データ転送群にて前記第2方向の逆方向に第2端部まで転送される、
 (1)乃至(12)のいずれか一項に記載の半導体装置。
 (16)前記複数の第1データ転送群のうち一部の第1データ転送群にて前記第1方向の第1端部まで転送されたデータは、前記複数の第1データ転送群のうち前記一部以外の第1データ転送群にて前記第1方向の逆方向に第2端部まで転送され、
 前記複数の第2データ転送群のうち一部の第2データ転送群にて前記第2方向の第3端部まで転送されたデータは、前記複数の第2データ転送群のうち前記一部以外の第2データ転送群にて前記第2方向の逆方向に第4端部まで転送される、
 (1)乃至(12)のいずれか一項に記載の半導体装置。
 (17)前記複数の第1データ転送群は、前記第2方向の並び順に前記第1方向へのデータ転送と前記第1方向の反対方向へのデータ転送とを交互に行う、
 (1)乃至(9)のいずれか一項に記載の半導体装置。
 (18)前記複数の第2データ転送群は、前記第1方向の並び順に前記第2方向へのデータ転送と前記第1方向の反対方向へのデータ転送とを交互に行う、
 (1)乃至(12)のいずれか一項に記載の半導体装置。
 (19)前記複数の第1フリップフロップ及び前記複数の第2フリップフロップのそれぞれは、クロック信号が第1論理の場合には、入力信号と同じ論理の信号を出力ノードから出力し、前記クロック信号が第2論理の場合には、前記出力ノードをハイインピーダンスにする、
 (1)乃至(18)のいずれか一項に記載の半導体装置。
 (20)前記複数の第1フリップフロップ及び前記複数の第2フリップフロップのそれぞれは、前記クロック信号が前記第2論理のときに前記入力信号を内部に取り込み、その後に前記クロック信号が前記第1論理に遷移したときに、内部に取り込んだ前記入力信号と同じ論理の信号を前記出力ノードから出力する、
 (19)に記載の半導体装置。
(1) a plurality of first data transfer groups each including a plurality of first flip-flops for transferring data in a first direction and arranged in a second direction intersecting the first direction;
a plurality of second data transfer groups arranged in the first direction, each group including a plurality of second flip-flops for transferring data in the second direction;
a switching controller that individually switches and controls connection destinations of output terminals of the first flip-flops and the second flip-flops in each of the first data transfer groups and the second data transfer groups,
Semiconductor device.
(2) a propagation order of a clock signal input to the plurality of first flip-flops and a propagation order of data input to the plurality of first flip-flops are opposite to each other;
a propagation order of the clock signal input to the second flip-flops and a propagation order of the data input to the second flip-flops are opposite to each other;
A semiconductor device according to (1).
(3) a plurality of arithmetic units are provided corresponding to at least one of the plurality of first data transfer groups or the plurality of second data transfer groups and are arranged along the first direction and the second direction;
each of the plurality of arithmetic units performs an arithmetic process based on an output signal of the corresponding first flip-flop or the corresponding second flip-flop;
The semiconductor device according to (1) or (2).
(4) The plurality of arithmetic units perform at least one of four arithmetic operations or analog-to-digital conversion.
The semiconductor device according to (3).
(5) Each of the plurality of arithmetic units inputs an operation result to the first flip-flop or the second flip-flop in the next stage of the first data transfer group or the second data transfer group that is the same as the first flip-flop or the second flip-flop that outputs the output signal.
The semiconductor device according to (3) or (4).
(6) Each of the plurality of arithmetic units inputs an operation result to the first flip-flop or the second flip-flop in either the first data transfer group or the second data transfer group, the first flip-flop or the second flip-flop being different from the first flip-flop or the second flip-flop that outputs the output signal.
The semiconductor device according to (3) or (4).
(7) The switching controller individually controls switching between transferring the operation results of the plurality of arithmetic units in the first direction by the plurality of first data transfer groups and transferring the operation results of the plurality of arithmetic units in the second direction by the plurality of second data transfer groups.
The semiconductor device according to any one of (3) to (6).
(8) The digital signal processing device includes a plurality of switches that switch output signal paths of the first flip-flops and the second flip-flops in each of the first data transfer groups and the second data transfer groups in accordance with switching control by the switching controller.
The semiconductor device according to (7).
(9) The plurality of switches are connected between input nodes of the plurality of first flip-flops and output nodes of the plurality of arithmetic units, and are connected between input nodes of the plurality of second flip-flops and output nodes of the plurality of arithmetic units.
The semiconductor device according to (8).
(10) A plurality of first output buffers that output operation results of the plurality of arithmetic units in the first direction or the second direction;
a plurality of second output buffers that output the operation results of the plurality of arithmetic units in a direction opposite to the first direction or the second direction;
the switching controller inputs operation results of the plurality of arithmetic units to the plurality of first flip-flops or the plurality of second flip-flops via the plurality of first output buffers or the plurality of second output buffers;
The semiconductor device according to any one of (3) to (9).
(11) The plurality of first data transfer groups, the plurality of second data transfer groups, and the plurality of arithmetic units are arranged in one semiconductor layer, or are divided and arranged in a plurality of semiconductor layers.
The semiconductor device according to any one of (3) to (10).
(12) The plurality of first data transfer groups and the plurality of second data transfer groups transfer data including at least one of opcodes, operands, time codes of operations performed, identification information of a next input operation unit, or operation end information of the plurality of operation units.
The semiconductor device according to any one of (3) to (11).
(13) The plurality of first data transfer groups transfer data in parallel to one end in the first direction;
the plurality of second data transfer groups transfer data in parallel to one end in the second direction;
The semiconductor device according to any one of (1) to (12).
(14) Data transferred to a first end in the first direction in a portion of the plurality of first data transfer groups is transferred to a second end in a direction opposite to the first direction in a portion of the plurality of first data transfer groups other than the portion of the plurality of first data transfer groups;
the plurality of second data transfer groups transfer data in parallel to one end in the second direction;
The semiconductor device according to any one of (1) to (12).
(15) The plurality of first data transfer groups transfer data in parallel to one end in the first direction;
the data transferred to a first end in the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups is transferred in a direction opposite to the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups other than the portion of the second data transfer groups to a second end;
The semiconductor device according to any one of (1) to (12).
(16) Data transferred to a first end in the first direction in a portion of the plurality of first data transfer groups is transferred to a second end in a direction opposite to the first direction in a portion of the plurality of first data transfer groups other than the portion of the plurality of first data transfer groups;
the data transferred to a third end in the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups is transferred in a direction opposite to the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups other than the portion of the second data transfer groups to a fourth end.
The semiconductor device according to any one of (1) to (12).
(17) The plurality of first data transfer groups alternately transfer data in the first direction and data in a direction opposite to the first direction in an order of arrangement in the second direction.
The semiconductor device according to any one of (1) to (9).
(18) The plurality of second data transfer groups alternately transfer data in the second direction and data in a direction opposite to the first direction in the order of the first direction.
The semiconductor device according to any one of (1) to (12).
(19) Each of the first flip-flops and the second flip-flops outputs a signal having the same logic as an input signal from an output node when a clock signal has a first logic, and sets the output node to a high impedance state when the clock signal has a second logic.
The semiconductor device according to any one of (1) to (18).
(20) Each of the first flip-flops and the second flip-flops takes in the input signal when the clock signal is at the second logic level, and outputs a signal having the same logic level as the input signal taken in from the output node when the clock signal subsequently transitions to the first logic level.
(19) A semiconductor device according to (19).

 本開示の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本開示の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。 The aspects of the present disclosure are not limited to the individual embodiments described above, but include various modifications that may be conceived by a person skilled in the art, and the effects of the present disclosure are not limited to the above. In other words, various additions, modifications, and partial deletions are possible within the scope that does not deviate from the conceptual idea and intent of the present disclosure derived from the contents defined in the claims and their equivalents.

1 半導体装置、2 第1データ転送群、3 第2データ転送群、4 コントローラ、5 第1出力バッファ、5 第1フリップフロップ、6 ローデータ生成器、7 ロー出力回路、8 第2出力バッファ、8 第2フリップフロップ、9 カラムデータ生成器、10 カラム出力回路、11 クロックバッファ、11a 第1クロックバッファ、11b 第2クロックバッファ、12 演算器、12g 演算器群、13 入力バッファ、14 出力バッファ、15 フレームメモリ、16 出力順序切替回路、21 第1半導体基板、22 第2半導体基板、23 入出力制御部、24 レジスタ群、25 演算ユニット、26 プログラムカウンタ、27 有する画素部、28 記憶部、29 入出力制御部 1 semiconductor device, 2 first data transfer group, 3 second data transfer group, 4 controller, 5 first output buffer, 5 first flip-flop, 6 row data generator, 7 row output circuit, 8 second output buffer, 8 second flip-flop, 9 column data generator, 10 column output circuit, 11 clock buffer, 11a first clock buffer, 11b second clock buffer, 12 arithmetic unit, 12g arithmetic unit group, 13 input buffer, 14 output buffer, 15 frame memory, 16 output order switching circuit, 21 first semiconductor substrate, 22 second semiconductor substrate, 23 input/output control unit, 24 register group, 25 arithmetic unit, 26 program counter, 27 pixel unit, 28 memory unit, 29 input/output control unit

Claims (20)

 第1方向にデータを転送する複数の第1フリップフロップをそれぞれ含み、前記第1方向に交差する第2方向に配列される複数の第1データ転送群と、
 前記第2方向にデータを転送する複数の第2フリップフロップをそれぞれ含み、前記第1方向に配列される複数の第2データ転送群と、
 前記複数の第1データ転送群及び前記複数の第2データ転送群のそれぞれにおける前記複数の第1フリップフロップ及び前記複数の第2フリップフロップの出力端子の接続先を個別に切替制御する切替制御器と、を備える、
 半導体装置。
a plurality of first data transfer groups each including a plurality of first flip-flops for transferring data in a first direction and arranged in a second direction intersecting the first direction;
a plurality of second data transfer groups arranged in the first direction, each group including a plurality of second flip-flops for transferring data in the second direction;
a switching controller that individually switches and controls connection destinations of output terminals of the first flip-flops and the second flip-flops in each of the first data transfer groups and the second data transfer groups,
Semiconductor device.
 前記複数の第1フリップフロップに入力されるクロック信号の伝搬順序と、前記複数の第1フリップフロップに入力されるデータの伝搬順序とは互いに逆向きであり、
 前記複数の第2フリップフロップに入力されるクロック信号の伝搬順序と、前記複数の第2フリップフロップに入力されるデータの伝搬順序とは互いに逆向きである、
 請求項1に記載の半導体装置。
a propagation order of the clock signal input to the first flip-flops and a propagation order of the data input to the first flip-flops are opposite to each other;
a propagation order of the clock signal input to the second flip-flops and a propagation order of the data input to the second flip-flops are opposite to each other;
The semiconductor device according to claim 1 .
 前記複数の第1データ転送群又は前記複数の第2データ転送群の少なくとも一方に対応して設けられ、前記第1方向及び前記第2方向に沿って配置される複数の演算器を備え、
 前記複数の演算器のそれぞれは、対応する前記第1フリップフロップ又は前記第2フリップフロップの出力信号に基づいて演算処理を行う、
 請求項1に記載の半導体装置。
a plurality of arithmetic units provided corresponding to at least one of the plurality of first data transfer groups or the plurality of second data transfer groups and arranged along the first direction and the second direction;
each of the plurality of arithmetic units performs an arithmetic process based on an output signal of the corresponding first flip-flop or the corresponding second flip-flop;
The semiconductor device according to claim 1 .
 前記複数の演算器は、四則演算又はアナログ-デジタル変換の少なくとも一方を行う、
 請求項3に記載の半導体装置。
The plurality of arithmetic units perform at least one of four arithmetic operations or analog-to-digital conversion.
The semiconductor device according to claim 3 .
 前記複数の演算器のそれぞれは、前記出力信号を出力した前記第1フリップフロップ又は前記第2フリップフロップと同じ前記第1データ転送群又は前記第2データ転送群の次段の前記第1フリップフロップ又は前記第2フリップフロップに演算結果を入力する、
 請求項3に記載の半導体装置。
each of the plurality of arithmetic units inputs an operation result to the first flip-flop or the second flip-flop in a next stage of the first data transfer group or the second data transfer group which is the same as the first flip-flop or the second flip-flop that has output the output signal;
The semiconductor device according to claim 3 .
 前記複数の演算器のそれぞれは、前記出力信号を出力した前記第1フリップフロップ又は前記第2フリップフロップと異なる前記第1データ転送群又は前記第2データ転送群のいずれかの前記第1フリップフロップ又は前記第2フリップフロップに演算結果を入力する、
 請求項3に記載の半導体装置。
each of the plurality of arithmetic units inputs an arithmetic result to the first flip-flop or the second flip-flop of either the first data transfer group or the second data transfer group different from the first flip-flop or the second flip-flop that outputs the output signal;
The semiconductor device according to claim 3 .
 前記切替制御器は、前記複数の演算器の演算結果を前記複数の第1データ転送群により前記第1方向に転送するか、前記複数の演算器の演算結果を前記複数の第2データ転送群により前記第2方向に転送するかを個別に切替制御する、
 請求項3に記載の半導体装置。
the switching controller individually controls switching between transferring the operation results of the plurality of arithmetic units in the first direction by the plurality of first data transfer groups and transferring the operation results of the plurality of arithmetic units in the second direction by the plurality of second data transfer groups.
The semiconductor device according to claim 3 .
 前記切替制御器による切替制御に従って、前記複数の第1データ転送群及び前記複数の第2データ転送群のそれぞれにおける前記複数の第1フリップフロップ及び前記複数の第2フリップフロップの出力信号経路を切り替える複数の切替器を備える、
 請求項7に記載の半導体装置。
a plurality of switches for switching output signal paths of the plurality of first flip-flops and the plurality of second flip-flops in each of the plurality of first data transfer groups and the plurality of second data transfer groups in accordance with switching control by the switching controller;
The semiconductor device according to claim 7.
 前記複数の切替器は、前記複数の第1フリップフロップの入力ノードと前記複数の演算器の出力ノードとの間に接続されるとともに、前記複数の第2フリップフロップの入力ノードと前記複数の演算器の出力ノードとの間に接続される、
 請求項8に記載の半導体装置。
the plurality of switches are connected between input nodes of the plurality of first flip-flops and output nodes of the plurality of arithmetic units, and are also connected between input nodes of the plurality of second flip-flops and output nodes of the plurality of arithmetic units;
The semiconductor device according to claim 8.
 前記複数の演算器の演算結果を前記第1方向又は前記第2方向に出力する複数の第1出力バッファと、
 前記複数の演算器の演算結果を前記第1方向又は前記第2方向の反対方向に出力する複数の第2出力バッファと、を備え、
 前記切替制御器は、前記複数の第1出力バッファ又は前記複数の第2出力バッファを介して、前記複数の演算器の演算結果を前記複数の第1フリップフロップ又は前記複数の第2フリップフロップに入力する、
 請求項3に記載の半導体装置。
a plurality of first output buffers that output operation results of the plurality of arithmetic units in the first direction or the second direction;
a plurality of second output buffers that output the operation results of the plurality of arithmetic units in a direction opposite to the first direction or the second direction;
the switching controller inputs operation results of the plurality of arithmetic units to the plurality of first flip-flops or the plurality of second flip-flops via the plurality of first output buffers or the plurality of second output buffers;
The semiconductor device according to claim 3 .
 前記複数の第1データ転送群、前記複数の第2データ転送群、及び前記複数の演算器は、一つの半導体層に配置されるか、又は複数の半導体層に分割して配置される、
 請求項3に記載の半導体装置。
the first data transfer groups, the second data transfer groups, and the computing units are arranged in one semiconductor layer, or are divided and arranged in a plurality of semiconductor layers.
The semiconductor device according to claim 3 .
 前記複数の第1データ転送群及び前記複数の第2データ転送群は、前記複数の演算器のオペコード、オペランド、演算された時刻コード、次に入力される演算器の識別情報、又は演算終了情報の少なくとも一つを含むデータを転送する、
 請求項3に記載の半導体装置。
the plurality of first data transfer groups and the plurality of second data transfer groups transfer data including at least one of opcodes, operands, time codes of operations performed, identification information of a next input arithmetic unit, or operation end information of the plurality of arithmetic units;
The semiconductor device according to claim 3 .
 前記複数の第1データ転送群は、並行して前記第1方向の一端部までデータを転送し、
 前記複数の第2データ転送群は、並行して前記第2方向の一端部までデータを転送する、
 請求項1に記載の半導体装置。
the plurality of first data transfer groups transfer data in parallel to one end in the first direction;
the plurality of second data transfer groups transfer data in parallel to one end in the second direction;
The semiconductor device according to claim 1 .
 前記複数の第1データ転送群のうち一部の第1データ転送群にて前記第1方向の第1端部まで転送されたデータは、前記複数の第1データ転送群のうち前記一部以外の第1データ転送群にて前記第1方向の逆方向に第2端部まで転送され、
 前記複数の第2データ転送群は、並行して前記第2方向の一端部までデータを転送する、
 請求項1に記載の半導体装置。
the data transferred to a first end in the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups is transferred in a direction opposite to the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups other than the portion of the first data transfer groups to a second end;
the plurality of second data transfer groups transfer data in parallel to one end in the second direction;
The semiconductor device according to claim 1 .
 前記複数の第1データ転送群は、並行して前記第1方向の一端部までデータを転送し、
 前記複数の第2データ転送群のうち一部の第2データ転送群にて前記第2方向の第1端部まで転送されたデータは、前記複数の第2データ転送群のうち前記一部以外の第2データ転送群にて前記第2方向の逆方向に第2端部まで転送される、
 請求項1に記載の半導体装置。
the plurality of first data transfer groups transfer data in parallel to one end in the first direction;
the data transferred to a first end in the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups is transferred in a direction opposite to the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups other than the portion of the second data transfer groups to a second end;
The semiconductor device according to claim 1 .
 前記複数の第1データ転送群のうち一部の第1データ転送群にて前記第1方向の第1端部まで転送されたデータは、前記複数の第1データ転送群のうち前記一部以外の第1データ転送群にて前記第1方向の逆方向に第2端部まで転送され、
 前記複数の第2データ転送群のうち一部の第2データ転送群にて前記第2方向の第3端部まで転送されたデータは、前記複数の第2データ転送群のうち前記一部以外の第2データ転送群にて前記第2方向の逆方向に第4端部まで転送される、
 請求項1に記載の半導体装置。
the data transferred to a first end in the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups is transferred in a direction opposite to the first direction by a portion of the first data transfer groups among the plurality of first data transfer groups other than the portion of the first data transfer groups to a second end;
the data transferred to a third end in the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups is transferred in a direction opposite to the second direction by a portion of the second data transfer groups among the plurality of second data transfer groups other than the portion of the second data transfer groups to a fourth end.
The semiconductor device according to claim 1 .
 前記複数の第1データ転送群は、前記第2方向の並び順に前記第1方向へのデータ転送と前記第1方向の反対方向へのデータ転送とを交互に行う、
 請求項1に記載の半導体装置。
the plurality of first data transfer groups alternately perform data transfer in the first direction and data transfer in a direction opposite to the first direction in the order of arrangement in the second direction;
The semiconductor device according to claim 1 .
 前記複数の第2データ転送群は、前記第1方向の並び順に前記第2方向へのデータ転送と前記第1方向の反対方向へのデータ転送とを交互に行う、
 請求項1に記載の半導体装置。
the plurality of second data transfer groups alternately perform data transfer in the second direction and data transfer in a direction opposite to the first direction in the order of arrangement in the first direction;
The semiconductor device according to claim 1 .
 前記複数の第1フリップフロップ及び前記複数の第2フリップフロップのそれぞれは、クロック信号が第1論理の場合には、入力信号と同じ論理の信号を出力ノードから出力し、前記クロック信号が第2論理の場合には、前記出力ノードをハイインピーダンスにする、
 請求項1に記載の半導体装置。
each of the first flip-flops and the second flip-flops outputs a signal having the same logic as an input signal from an output node when the clock signal is a first logic, and makes the output node a high impedance state when the clock signal is a second logic;
The semiconductor device according to claim 1 .
 前記複数の第1フリップフロップ及び前記複数の第2フリップフロップのそれぞれは、前記クロック信号が前記第2論理のときに前記入力信号を内部に取り込み、その後に前記クロック信号が前記第1論理に遷移したときに、内部に取り込んだ前記入力信号と同じ論理の信号を前記出力ノードから出力する、
 請求項19に記載の半導体装置。
each of the first flip-flops and the second flip-flops takes in the input signal when the clock signal is at the second logic level, and thereafter, when the clock signal transitions to the first logic level, outputs from the output node a signal having the same logic level as the input signal taken in;
20. The semiconductor device according to claim 19.
PCT/JP2024/014695 2023-05-02 2024-04-11 Semiconductor device Pending WO2024228323A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023076098 2023-05-02
JP2023-076098 2023-05-02

Publications (1)

Publication Number Publication Date
WO2024228323A1 true WO2024228323A1 (en) 2024-11-07

Family

ID=93333030

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/014695 Pending WO2024228323A1 (en) 2023-05-02 2024-04-11 Semiconductor device

Country Status (1)

Country Link
WO (1) WO2024228323A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5972227A (en) * 1982-10-18 1984-04-24 Nippon Telegr & Teleph Corp <Ntt> Series and parallel converting circuit
JPS59158436A (en) * 1983-02-22 1984-09-07 ノ−ザン・テレコム・リミテツド Series-parallel interface element
JPH03121626A (en) * 1989-10-05 1991-05-23 Oki Electric Ind Co Ltd Serial/parallel conversion circuit and two-dimension shift register circuit
JPH04217121A (en) * 1990-12-18 1992-08-07 Sony Corp Parallel/serial conversion circuit
JPH0595486A (en) * 1991-03-29 1993-04-16 Ricoh Co Ltd Two-dimensional shift array for image compression
JP2002208292A (en) * 2001-01-10 2002-07-26 Seiko Instruments Inc Shift register
JP2012165168A (en) * 2011-02-07 2012-08-30 Sony Corp Semiconductor device, physical information acquisition apparatus and signal readout method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5972227A (en) * 1982-10-18 1984-04-24 Nippon Telegr & Teleph Corp <Ntt> Series and parallel converting circuit
JPS59158436A (en) * 1983-02-22 1984-09-07 ノ−ザン・テレコム・リミテツド Series-parallel interface element
JPH03121626A (en) * 1989-10-05 1991-05-23 Oki Electric Ind Co Ltd Serial/parallel conversion circuit and two-dimension shift register circuit
JPH04217121A (en) * 1990-12-18 1992-08-07 Sony Corp Parallel/serial conversion circuit
JPH0595486A (en) * 1991-03-29 1993-04-16 Ricoh Co Ltd Two-dimensional shift array for image compression
JP2002208292A (en) * 2001-01-10 2002-07-26 Seiko Instruments Inc Shift register
JP2012165168A (en) * 2011-02-07 2012-08-30 Sony Corp Semiconductor device, physical information acquisition apparatus and signal readout method

Similar Documents

Publication Publication Date Title
US11480658B2 (en) Imaging apparatus and distance measurement system
JP2020197457A (en) Distance measuring device and signal processing circuit
JPWO2018150683A1 (en) Information processing apparatus, information processing method, program, and imaging apparatus
US12081893B2 (en) Image sensor having multiple vertical signal lines per column in multiple laminated wiring layers
US10608681B2 (en) Transmission device and communication system
WO2022249734A1 (en) Imaging device and electronic apparatus
WO2023248855A1 (en) Light detection device and electronic apparatus
WO2025047518A1 (en) Light detection device
CN111630452B (en) Imaging device and electronic apparatus
WO2024228323A1 (en) Semiconductor device
US20240340618A1 (en) In-vehicle communication device, in-vehicle communication system, and communication method
CN110999131B (en) Communication device, communication system and communication method
WO2025047365A1 (en) Imaging device and failure detection method
US20250317662A1 (en) Sensor device
WO2025105333A1 (en) Solid-state imaging device
WO2024018812A1 (en) Solid-state imaging device
WO2025013515A1 (en) Light detection device, imaging device, and electronic apparatus
WO2024150690A1 (en) Solid-state imaging device
WO2024070740A1 (en) Solid-state imaging device, comparator and electronic equipment
CN121464648A (en) Light detection device
WO2023248346A1 (en) Imaging device
JP2022135738A (en) IMAGING DEVICE, DRIVING METHOD THEREOF, AND ELECTRONIC 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: 24800054

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025518118

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025518118

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE