WO2012120760A1 - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
WO2012120760A1
WO2012120760A1 PCT/JP2012/000247 JP2012000247W WO2012120760A1 WO 2012120760 A1 WO2012120760 A1 WO 2012120760A1 JP 2012000247 W JP2012000247 W JP 2012000247W WO 2012120760 A1 WO2012120760 A1 WO 2012120760A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
circuit
asynchronous
processing
timing
Prior art date
Application number
PCT/JP2012/000247
Other languages
French (fr)
Japanese (ja)
Inventor
山口 良一
国泰 石原
Original Assignee
ルネサスエレクトロニクス株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ルネサスエレクトロニクス株式会社 filed Critical ルネサスエレクトロニクス株式会社
Publication of WO2012120760A1 publication Critical patent/WO2012120760A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/01Modifications for accelerating switching
    • H03K19/017Modifications for accelerating switching in field-effect transistor circuits
    • H03K19/01707Modifications for accelerating switching in field-effect transistor circuits in asynchronous circuits

Definitions

  • the present invention relates to a semiconductor device, specifically, a technique for controlling the processing speed of an asynchronous circuit provided in the semiconductor device.
  • asynchronous design technology is known for digital circuits of semiconductor integrated circuits.
  • the processing timing is controlled by a handshake signal exchanged between the circuits.
  • Asynchronous circuits have the advantage of faster processing speed than synchronous circuits because the processing time does not depend on the global clock signal. On the other hand, the amount of processing increases due to desynchronization, which increases power consumption per unit time. There's a problem.
  • Patent Document 1 discloses a technique for keeping the processing speed of an asynchronous circuit constant. This technique utilizes the fact that the processing of the asynchronous circuit becomes faster when the supplied voltage becomes higher and the processing of the asynchronous circuit becomes slower when the supplied voltage becomes lower. Specifically, the processing speed of the asynchronous circuit is measured, and the voltage is lowered when the processing speed is faster than the target speed, and the voltage is raised when the processing speed is slower than the target speed, according to the measured processing speed. Thus, the voltage supplied to the asynchronous circuit is adjusted. By doing so, the processing speed of the asynchronous circuit is kept constant at the target speed.
  • FIG. 21 shows a processing speed stabilizing device 10 to which the reference is changed from FIG. 2 in Patent Document 1 and to which the technique is applied.
  • the processing speed stabilizing device 10 includes a period fluctuation pulse generation unit 14 (ring oscillator) for measuring the processing speed (number of pulses) of the asynchronous circuit 12 and a pulse measurement unit 30 (12-bit binary).
  • Counter constant cycle pulse generation unit 20 (crystal oscillator), operation / processing speed change condition setting unit 70 for setting a target speed (target pulse number), operation / processing speed change condition acquisition unit 60 operation / processing speed change Control unit 80, memory 52 for storing target speed, voltage control signal generation unit 50 (comparator 54 for comparing measured speed with target speed, and voltage regulator for adjusting voltage supplied to asynchronous circuit 12 40).
  • ring oscillator for measuring the processing speed (number of pulses) of the asynchronous circuit 12
  • pulse measurement unit 30 (12-bit binary.
  • Counter constant cycle pulse generation unit 20 (crystal oscillator), operation / processing speed change condition setting unit 70 for setting a target speed (target pulse number), operation / processing speed change condition acquisition unit 60 operation / processing speed change Control unit 80, memory 52 for
  • the present invention has been made in view of the above circumstances, and provides a technique for keeping the processing speed of an asynchronous circuit constant and suppressing an increase in circuit scale.
  • One embodiment of the present invention is a semiconductor device.
  • the semiconductor device includes a first asynchronous circuit that repeatedly executes a predetermined process and a control circuit that outputs a permission signal to the first asynchronous circuit.
  • the first asynchronous circuit starts the predetermined processing when the permission signal becomes valid, sets the processing completion signal to valid when the predetermined processing is completed, and when the permission signal becomes invalid The processing complete signal is set to the invalid state.
  • the control circuit receives a processing start signal that is an inverted signal of the processing completion signal and a clock signal, and outputs a permission signal to the first asynchronous circuit.
  • the control circuit enables the enable signal when both the processing start signal and the clock signal are enabled, and sets the enable signal when the process start signal and the clock signal are both disabled.
  • valid state and invalid state mean one of the rising state and the falling state and the other, respectively.
  • the technique according to the present invention can keep the processing speed of the asynchronous circuit constant while suppressing an increase in circuit scale.
  • FIG. 1 is a diagram showing a semiconductor device according to a first embodiment of the present invention. It is a figure which shows the circuit structural example of the control module in the semiconductor device shown in FIG. It is a figure which shows C element in the control module shown in FIG. It is a figure which shows the control circuit in the semiconductor device shown in FIG. 2 is a timing chart showing transitions of signals in the semiconductor device shown in FIG. It is a figure which shows the semiconductor device concerning the 2nd Embodiment of this invention. It is a figure which shows the circuit structural example of the control module in the semiconductor device shown in FIG. 7 is a timing chart showing transition of each signal in the semiconductor device shown in FIG. 6. It is a figure which shows the semiconductor device concerning the 3rd Embodiment of this invention.
  • FIG. 10 is a timing chart showing transitions of signals in the semiconductor device shown in FIG. It is a figure which shows CPU concerning the 4th Embodiment of this invention.
  • 12 is a timing chart showing transition of each signal in the CPU shown in FIG. 11. It is a figure which shows the processor concerning the 5th Embodiment of this invention. It is a figure which shows the semiconductor device concerning the 6th Embodiment of this invention.
  • 15 is a timing chart showing transitions of signals in the semiconductor device shown in FIG. It is a figure for demonstrating a problem when the time from the start of this process to the next start exceeds 1 cycle length of a clock signal. It is a figure which shows the semiconductor device concerning the 7th Embodiment of this invention.
  • FIG. 18 is a timing chart showing transitions of signals in the semiconductor device shown in FIG. 17 (part 1); FIG. 18 is a timing chart showing transitions of signals in the semiconductor device shown in FIG. 17 (part 2). It is a figure which shows the semiconductor device concerning the 8th Embodiment of this invention. It is the figure which changed the code
  • process and “basic operation” are defined for the asynchronous circuit.
  • the technique according to the present invention is a conventional technique that directly inputs a signal (hereinafter referred to as a “process start signal”) that is input directly to the first asynchronous circuit and causes the asynchronous circuit to start processing. Input to the control circuit, and the control circuit synchronizes the start timing of processing (basic operation) by the first asynchronous circuit with the clock.
  • This first asynchronous circuit is the asynchronous circuit itself when the process is executed by a single-stage asynchronous circuit, and a plurality of asynchronous circuits perform their basic operations while handshaking each other. In the case where the process is executed sequentially, it is one of these asynchronous circuits.
  • the maximum value Tmax is the next execution from the start of the current execution of the process, assuming that the predetermined control circuit is not provided and the processing start signal is directly input to the first asynchronous circuit. This is the longest time that can be taken before the start of.
  • the processing speed of the asynchronous circuit is not constant due to manufacturing variations and environmental factors such as temperature. Therefore, conventionally, the length of time from the start of the current execution of the process to the start of the next execution varies.
  • the maximum value Tmax is the maximum value in the fluctuation range of the time length.
  • the “valid state” of the signal is either one of the rising state and the falling state. For this reason, the “invalid state” is different from the “valid state” between the falling state and the falling state.
  • an invalid edge means the beginning of the effective state. For example, when the valid state is a rising state, the valid edge is a rising edge, and when the valid state is a falling state, the valid edge is a falling edge. Similarly, “invalid edge” means the beginning of an invalid state.
  • Whether the effective edge or the effective state of the signal is to be determined may be appropriately determined from the consistency with other devices, the convenience of control, and the like.
  • the effective edge is a rising edge and the effective state is a rising state.
  • FIG. 1 shows a semiconductor device 100 according to a first embodiment of the present invention.
  • the semiconductor device 100 executes a predetermined process by a single-stage asynchronous circuit, and includes a control circuit 110, an inverter 120, and an asynchronous circuit 150.
  • This asynchronous circuit 150 corresponds to the first asynchronous circuit described above.
  • the asynchronous circuit 150 is a two-phase asynchronous circuit, and includes an arithmetic circuit 180 and a control module 160 that performs two-phase control on the arithmetic circuit 180.
  • the control circuit 110 outputs a permission signal al to the control module 160.
  • the control module 160 causes the arithmetic circuit 180 to perform a basic operation (same as the process here) that the asynchronous circuit 150 performs.
  • the control module 160 outputs a latch signal to the arithmetic circuit 180 to hold the arithmetic result, and raises a processing completion signal (hereinafter also simply referred to as “completion signal”) out. Thereafter, the control module 160 causes the completion signal out to fall in response to the fall of the permission signal al.
  • the completion signal out is output to the inverter 120.
  • Inverter 120 outputs an inverted signal of completion signal out to control circuit 110.
  • the inverted signal of the completion signal out output from the asynchronous circuit instructs the asynchronous circuit to start the next process (basic operation).
  • the signal output from the inverter 120 is referred to as a processing start signal start.
  • the processing start signal is also simply referred to as “start signal”.
  • an inverted signal (start signal start) of the completion signal out output from the asynchronous circuit is directly input to the asynchronous circuit.
  • the start signal start is input to the control circuit 110.
  • a clock signal CLK is also input to the control circuit 110.
  • the control circuit 110 raises the permission signal al when both the start signal start and the clock signal CLK are enabled, i.e., rises, and permits when both the start signal start and the clock signal CLK fall.
  • the signal al falls.
  • the cycle of the clock signal CLK is equal to or greater than the maximum value Tmax of the asynchronous circuit 150.
  • FIG. 2 shows an example of the circuit configuration of the control module 160 in the asynchronous circuit 150.
  • the control module 160 includes an AND element 161, an inverter 162, an AND element 164, an inverter 165, a delay element 166, and a C element 170.
  • the permission signal al from the control circuit 110 is input to one input terminal of the AND element 161 and one input terminal of the C element 170.
  • the inverter 162 has an input terminal connected to the output terminal of the C element 170 and an output terminal connected to the other input terminal of the AND element 161.
  • a signal output from the C element 170 is OUT.
  • the output terminal of the C element 170 is also connected to one input terminal of the AND element 164.
  • the output of the AND element 161 is input to the delay element 166.
  • the output of the delay element 166 is output to the arithmetic circuit 180 as a latch signal lat, and is input to the other input terminal of the C element 170 and the input terminal of the inverter 165.
  • the AND element 164 receives the C element 170 and the output of the inverter 165, and outputs a logical product of them. This logical product is a completion signal out output from the control module 160.
  • the C element 170 is a Muller C element, and is a storage element whose output transitions to the input value only when all the input values match.
  • FIG. 3 shows the configuration of the C element 170.
  • the C element 170 receives the permission signal al and the latch signal lat output from the control module 160 shown in FIG. 2, and outputs a signal OUT.
  • the C element 170 includes three 2-input AND elements 171 to 173 and a 3-input OR element 174. Three inputs of the OR element 174 are outputs of the three AND elements 171 to 173.
  • the permission signal al and the output OUT of the OR element 174 are input to the AND element 171.
  • the AND element 172 receives the permission signal al and the latch signal lat.
  • the AND element 173 receives the output OUT of the OR element 174 and the latch signal lat.
  • FIG. 4 shows an example of the circuit configuration of the control circuit 110 in the semiconductor device 100.
  • the control circuit 110 receives the clock signal CLK and the start signal start, and outputs the permission signal al.
  • the control circuit 110 includes three 2-input AND elements 111 to 113 and a 3-input OR element 114. Three inputs of the OR element 114 are outputs of the three AND elements 111 to 113.
  • the AND element 111 receives the clock signal CLK and the permission signal al that is the output of the OR element 114.
  • a clock signal CLK and a start signal start are input to the AND element 112.
  • the AND element 113 receives the permission signal al and the start signal start.
  • control circuit 110 has the same configuration as the C element 170 except that the input signals are different. That is, the control circuit 110 is also a Muller C element, and only when all input values (clock signal CLK, start signal start) match, the output (permission signal al) transitions to the input value.
  • FIG. 5 is a timing chart showing transition of each signal in the semiconductor device 100 shown in FIG. In the initial state of the semiconductor device 100, it is assumed that each signal shown in FIG. 5 is “0” except for the start signal start signal. Since the start signal start is an inverted signal of the completion signal out, it is “1” in the initial state.
  • the clock signal CLK rises.
  • the permission signal al also rises at timing t2.
  • the operating phase of the asynchronous circuit 150 starts.
  • the latch signal lat rises at the timing t3 and subsequently falls at the timing t4. This starts the rest phase of the asynchronous circuit 150.
  • the start signal start falls at timing t5. At this time, although the start signal start has changed from “1” to “0”, the clock signal CLK remains “1”, so the permission signal al is still “1”.
  • the clock signal CLK falls. Since the start signal start is also “0”, the permission signal al falls at timing t7.
  • the completion signal out falls at the timing t8 in response to the fall of the permission signal al at the timing t7. This completes the pause phase of the asynchronous circuit 150. Subsequently, at timing t9, the start signal start rises.
  • the next execution of the process is performed in response to the rise of the start signal start.
  • the start signal start is input to the control circuit 110 in the semiconductor device 100 of the present embodiment.
  • the asynchronous circuit 150 does not start the next execution of the process even when the start signal start rises.
  • the asynchronous circuit 150 starts the next execution of the process, that is, the next operation phase.
  • each signal follows the same transition as from timing t1 to t10. Such a transition is repeated after the timing t20.
  • the processing speed of the asynchronous circuit varies depending on manufacturing variations and environmental factors such as temperature, the time required for each processing may also vary.
  • the timing when the same time as the length (t3 ⁇ t2) between the timings t2 and t3 has elapsed from the rising edge of the permission signal al at the timing t11 is the timing t12.
  • the latch signal lat rises at timing t13 delayed by ⁇ t from timing t12. Therefore, the rise of the completion signal out and the fall of the start signal start are also delayed.
  • the start of the next processing is also delayed by ⁇ t.
  • the control circuit 110 synchronizes the processing start timing of the asynchronous circuit 150 with the clock signal CLK signal, thereby causing the above-described shift. Even in such a case, the time from the start of the current process to the start of the next process (“t11-t2”, “t21-t11” in FIG. 5) is always the cycle “T” of the clock signal CLK. That is, the processing speed is constant when viewed from the whole processing (here, the process) that the asynchronous circuit 150 performs.
  • control circuit 110 is added to realize this.
  • the control circuit 110 that performs such control can be composed of C elements, that is, C elements including three AND elements and one OR element, so that the processing speed of the asynchronous circuit 150 is increased. There is little increase in the circuit scale required to keep it constant.
  • a semiconductor device 100 according to the first embodiment shown in FIG. 1 is an example in which the technique according to the present invention is applied to a two-phase asynchronous circuit.
  • the technology according to the present invention is not limited to a two-phase asynchronous circuit, and can be applied to any asynchronous circuit.
  • the semiconductor device 200 of the second embodiment shown in FIG. 6 is an example in which the technique according to the present invention is applied to a two-wire asynchronous circuit.
  • the semiconductor device 200 executes a predetermined process with a single-stage asynchronous circuit, and includes a control circuit 210, an inverter 120, and an asynchronous circuit 250.
  • the asynchronous circuit 250 corresponds to the first asynchronous circuit.
  • the asynchronous circuit 250 is a two-wire asynchronous circuit, and includes a control module 260 and an arithmetic circuit 280.
  • the control circuit 210 outputs a permission signal al to the control module 260.
  • the control module 260 sets a signal (request signal req) output to the arithmetic circuit 280 to a value that causes the arithmetic circuit 280 to start calculation.
  • the arithmetic circuit 280 changes the notification signal ack to be returned to the control module 260 to a value indicating the completion of the calculation.
  • the control module 260 changes the request signal req to a value for causing the arithmetic circuit 280 to perform initialization, and when the initialization is completed, the arithmetic circuit 280 indicates the notification signal ack indicating the completion of initialization. Change to a value.
  • control module 260 raises a completion signal out to be output to the inverter 120 when the notification signal ack becomes a value indicating completion of initialization. Thereafter, the control module 260 causes the completion signal out to fall in response to the fall of the permission signal al.
  • the inverter 120 outputs an inverted signal of the completion signal out to the control circuit 110.
  • This inverted signal is also a start signal start instructing the start of the next process (basic operation) in this normal asynchronous circuit of this type.
  • the start signal start is input to the control circuit 210.
  • a clock signal CLK is also input to the control circuit 210 in addition to the start signal start.
  • the control circuit 210 raises the permission signal al when both the start signal start and the clock signal CLK are enabled, that is, when the signal rises, and permits when both the start signal start and the clock signal CLK fall.
  • the signal al is lowered, and the permission signal al is maintained at other times.
  • control circuit 210 is comprised by C element similarly to the control circuit 110 shown in FIG.
  • FIG. 7 shows an example of the circuit configuration of the control module 260 in the asynchronous circuit 250.
  • the control module 260 includes an AND element 261, an inverter 262, an AND element 264, an inverter 265, and a C element 270.
  • the permission signal al from the control circuit 210 is input to one input terminal of the AND element 261 and one input terminal of the C element 270.
  • the inverter 262 has an input terminal connected to the output terminal of the C element 270 and an output terminal connected to the other input terminal of the AND element 261.
  • the output terminal of the C element 170 is also connected to one input terminal of the AND element 264.
  • the output of the AND element 261 is output to the arithmetic circuit 280 as the request signal req.
  • the notification signal ack from the arithmetic circuit 280 is input to the other input terminal of the C element 270 and the input terminal of the inverter 265.
  • the AND element 264 receives the C element 270 and the output of the inverter 265 and outputs a logical product of them. This logical product is a completion signal out output from the control module 260.
  • the C element 270 is a Muller C element similar to the C element 170 shown in FIG. 3, and a detailed description thereof will be omitted here.
  • the output of the C element 270 transitions to the input value only when all input values (here, the permission signal al and the notification signal ack) match.
  • FIG. 8 is a timing chart showing transition of each signal in the semiconductor device 200 shown in FIG. In the initial state of the semiconductor device 200, it is assumed that each signal shown in FIG. 8 is “0” except for the start signal start signal. Since the start signal start is an inverted signal of the completion signal out, it is “1” in the initial state.
  • the clock signal CLK rises.
  • the permission signal al also rises at timing t2.
  • the request signal req rises at timing t3.
  • the start signal start falls at timing t7. At this time, although the start signal start has changed from “1” to “0”, the clock signal CLK remains “1”, so the permission signal al is still “1”.
  • the clock signal CLK falls. Since the start signal start is also “0”, the permission signal al falls at timing t9.
  • the completion signal out falls at timing t10 in response to the fall of the permission signal al at timing t9. Subsequently, at timing t11, the start signal start rises.
  • the clock signal CLK rises. Since the start signal start is “1”, the permission signal al rises at timing t13. As a result, the asynchronous circuit 150 starts the next execution of the process.
  • the request signal req rises at timing t14.
  • the start signal start falls at timing t20.
  • clock signal CLK fell at the timing t19 between the timings t18 and t20. However, at the timing t19, the start signal “start” is still “1”, so that the permission signal “al” is still “1”. is there.
  • the asynchronous circuit 150 starts the next execution of the process.
  • the timing at which the same time as the length (t4-t3) between timings t3 and t4 has elapsed from the rising edge of the request signal req at timing t14 is timing t15.
  • the notification signal ack rises at timing t16 delayed by ⁇ t from timing t15. Therefore, the subsequent fall of the request signal req is also delayed.
  • the start of the next processing is also delayed by ⁇ t.
  • the control circuit 210 synchronizes the processing start timing of the asynchronous circuit 250 with the clock signal CLK signal, thereby causing the above-described shift. Even in this case, the time from the start of the current process to the start of the next process (“t13-t2” and “t24-t13” in FIG. 8) is always the cycle “T” of the clock signal CLK. In other words, the processing speed is constant when viewed from the entire processing (here, the process) performed by the asynchronous circuit 250.
  • the semiconductor device 100 and the semiconductor device 200 described above are examples in which the technique according to the present invention is applied to the case where all processes are executed by a single-stage asynchronous circuit.
  • the technique according to the present invention can be applied to a case where a process is executed by an asynchronous circuit having an arbitrary number of stages of one or more.
  • a semiconductor device to which the technique according to the present invention is applied when a process is executed by a three-stage asynchronous circuit will be described. Further, as an example, these asynchronous circuits are assumed to be two-phase asynchronous circuits.
  • the semiconductor device 300 includes a control circuit 310, an asynchronous circuit 320, an asynchronous circuit 330, an asynchronous circuit 340, and an inverter 120.
  • the asynchronous circuit 330 corresponds to the first asynchronous circuit.
  • the asynchronous circuit 320 has a control module 322 and an arithmetic circuit 324
  • the asynchronous circuit 330 has a control module 332 and an arithmetic circuit 334
  • the asynchronous circuit 340 has a control module 342 and an arithmetic circuit 344.
  • the control modules provided in these asynchronous circuits operate in the same manner as the control module 160 of the asynchronous circuit 150 in the semiconductor device 100 shown in FIG. 1, and detailed description thereof is omitted here.
  • the completion signal and latch signal output by the control module 322 are denoted by out1 and lat1
  • the completion signal and latch signal output by the control module 332 are denoted by out2 and lat2.
  • the completion signal and the latch signal output from the control module 342 are expressed as out3 and lat3.
  • each asynchronous circuit in the second stage and thereafter is input with a completion signal output from the previous stage as a start signal.
  • the completion signal output from the lowest asynchronous circuit is inverted by the inverter and input to the first asynchronous circuit as the start signal of the first asynchronous circuit. Note that the completion signal output from the lowest asynchronous circuit indicates the completion of the current execution of the process (basic operation) by the asynchronous circuit itself and the completion of the current execution of the process.
  • the completion signal out3 output from the lowest-level asynchronous circuit (asynchronous circuit 340) here is output by the inverter 120 as in the case of this type of normal device. Inverted and input to the control module 322.
  • a signal output from the inverter 120 is denoted by end. This signal end becomes a start signal for the asynchronous circuit 320.
  • the completion signal out1 output from the first-stage asynchronous circuit (asynchronous circuit 320) is not output to the next-stage asynchronous circuit.
  • the completion signal out1 is input to the control circuit 310.
  • the control circuit 310 receives the completion signal out1 and the clock signal CLK, and outputs a permission signal al to the second-stage asynchronous circuit (asynchronous circuit 330).
  • the permission signal al acts on the asynchronous circuit 330 in the same manner as the start signal.
  • the control circuit 310 synchronizes the start timing of processing (basic operation) by the asynchronous circuit 330 with the clock signal CLK. Similar to the control circuit 110 shown in FIG. 4 except that the cycle of the input clock signal CLK is different from the cycle of the clock signal CLK input to the control circuit 110 in the semiconductor device 100 shown in FIG. Is done.
  • the cycle of the clock signal CLK input to the control circuit 310 is equal to or greater than the maximum value Tmax of the asynchronous circuit 320 to the asynchronous circuit 340.
  • FIG. 10 is a timing chart showing the transition of each signal in the semiconductor device 300. For the sake of clarity, in FIG. 10, illustration of the latch signal output by each asynchronous circuit is omitted.
  • the completion signal out3 falls at timing t1.
  • the signal end rises at the timing t2.
  • the asynchronous circuit 320 starts processing (first basic operation of the process), and raises the completion signal out1 at the processing completion timing t3.
  • the enable signal al remains “0” because the clock signal CLK has not risen yet.
  • the asynchronous circuit 330 starts processing (second basic operation of the process) and raises the completion signal out2 at the processing completion timing t6.
  • the completion signal out2 is directly input to the control module 342 as the start signal of the asynchronous circuit 340, when the completion signal out2 rises at the timing t6, the asynchronous circuit 340 performs processing (the third or last basic process). Operation) is started, and the completion signal out3 is raised at the processing completion timing t7.
  • Each signal makes the same transition from timing t14 to timing t18 and from timing t2 to timing t14. Such a transition is repeated after timing t18.
  • the control circuit 310 synchronizes the start timing of the processing of the asynchronous circuit 330 with the clock signal CLK signal, so that the current process of the asynchronous circuits 320 to 340 is performed.
  • the time from the start of execution to the start of the next execution (“t14-t2”, “t18-t14” in FIG. 10) is always the cycle “T” of the clock signal CLK. That is, the processing speed is constant when viewed from the whole process that the asynchronous circuits 320 to 340 take.
  • the semiconductor device 300 according to the third embodiment described above is an example in which the technique according to the present invention is applied to a case where a process is executed by a plurality of asynchronous circuits.
  • the basic operation start timing is
  • the asynchronous circuit (first asynchronous circuit) controlled to synchronize with the clock signal is the second stage.
  • the first asynchronous circuit may be any of the plurality of stages of asynchronous circuits.
  • a semiconductor device in which the first asynchronous circuit is at the uppermost stage of a plurality of asynchronous circuits will be described.
  • FIG. 10 shows a CPU 400 according to the fourth embodiment of the present invention.
  • the CPU 400 is a CSIC asynchronous CPU, and includes an asynchronous control unit 402 and a data path unit 404.
  • Asynchronous control unit 402 includes control circuit 410 and five control modules connected in stages (fetch control module 422, decode control module 432, execution control module 442, memory access control module 452, and write back control module 462). And the inverter 120 that inverts the completion signal out5 output from the lowermost write back control module 462 and outputs the inverted signal (start signal start) to the control circuit 410.
  • Each control module outputs a latch signal to a later-described flip-flop (hereinafter referred to as FF) of the data path unit 404.
  • FF later-described flip-flop
  • the data path unit 404 includes a memory 406, an FF 424, an arithmetic circuit 434, an FF 435, an arithmetic circuit 444, an FF 445, an arithmetic circuit 454, an FF 455, an arithmetic circuit 464, and an FF 465.
  • the fetch control module 422 and the FF 424 constitute a first-stage asynchronous circuit (asynchronous circuit 420).
  • the asynchronous circuit 420 performs processing for fetching an instruction from the memory 406.
  • the decode control module 432, the arithmetic circuit 434, and the FF 435 constitute a second-stage asynchronous circuit (asynchronous circuit 430).
  • the asynchronous circuit 430 performs processing for decoding the instruction fetched by the asynchronous circuit 420.
  • the execution control module 442, the arithmetic circuit 444, and the FF 445 constitute a third-stage asynchronous circuit (asynchronous circuit 440).
  • the asynchronous circuit 440 performs processing for executing the instruction decoded by the asynchronous circuit 430.
  • the memory access control module 452, the arithmetic circuit 454, and the FF 455 constitute a fourth-stage asynchronous circuit (asynchronous circuit 450).
  • the asynchronous circuit 450 accesses an access target (for example, a flip-flop in a peripheral module (not shown)) in accordance with the execution of the instruction.
  • the write-back control module 462, the arithmetic circuit 464, and the FF 465 configure a fifth-stage asynchronous circuit (asynchronous circuit 460).
  • Asynchronous circuit 460 performs write back upon completion of instruction execution.
  • Each asynchronous circuit raises a completion signal that it outputs when its processing (basic operation) is completed.
  • Asynchronous circuits 430 to 460 in the second and subsequent stages are processed by themselves when the completion signals (out1 to out4) output by the asynchronous circuits in the previous stage are directly input and the completion signals rise. Start (basic operation).
  • the first-stage asynchronous circuit 420 is a first asynchronous circuit, and the start timing of the process is controlled by the control circuit 410 so as to be synchronized with the clock signal CLK.
  • the control circuit 410 is a C element that receives the clock signal CLK and the start signal start from the inverter 120 and outputs the permission signal al to the asynchronous circuit 420.
  • the cycle of the clock signal CLK input to the control circuit 410 is equal to or greater than the maximum value Tmax of the asynchronous circuit 420 to the asynchronous circuit 460.
  • fetch control module 422 to the write back control module 462 perform two-phase control, and have a circuit configuration similar to that of the control module 160 shown in FIG. 2, for example.
  • FIG. 12 is a timing chart showing the transition of each signal in the CPU 400. In the initial state, the value of each signal is “0” except for the start signal start.
  • the clock signal CLK rises.
  • the permission signal al rises at timing t2.
  • the operating phase of the asynchronous circuit 420 starts.
  • the latch signal lat1 falls and the completion signal out1 rises at the timing t4.
  • the pause phase of the asynchronous circuit 420 starts and the operating phase of the asynchronous circuit 430 starts.
  • the latch signal lat2 falls and the completion signal out2 rises at timing t6.
  • the pause phase of the asynchronous circuit 430 starts and the operating phase of the asynchronous circuit 440 starts.
  • the latch signal lat3 falls and the completion signal out3 rises at timing t8.
  • the asynchronous phase of the asynchronous circuit 440 starts and the active phase of the asynchronous circuit 450 starts.
  • the latch signal lat4 falls and the completion signal out4 rises at timing t10.
  • the pause phase of the asynchronous circuit 450 starts and the operating phase of the asynchronous circuit 460 starts.
  • the latch signal lat5 falls and the completion signal out5 rises at timing t12.
  • the start signal start falls at timing t13.
  • the clock signal CLK falls before the timing t13.
  • the permission signal al remains “1”.
  • the start signal start falls at the timing t13
  • the two inputs (clock signal CLK, start signal start) of the control circuit 410 become “0”, so that the permission signal al falls at the timing t14.
  • the completion signal out1, the completion signal out2, and the completion signals out3, out4, and out5 also sequentially fall.
  • the start signal start rises at the timing t20.
  • the first stage asynchronous circuit starts the next execution of processing by the rising edge of the start signal start at timing t20.
  • the CPU 400 as shown in FIG. 12, even if the start signal start rises at the timing t20, the permission signal al does not rise, and the first-stage asynchronous circuit 420 remains in a pause phase.
  • the clock signal CLK rises at timing t21. Since the two inputs of the control circuit 410 are both “1”, the permission signal al rises at timing t22. As a result, the asynchronous circuit 420 starts the next execution of the process. Since the asynchronous circuit 420 is the first stage asynchronous circuit, the timing t22 is also the next start timing of the processes executed by the asynchronous circuits 420 to 460.
  • each signal from timing t1 to timing t21 is repeated from timing t21.
  • the time from the start of execution of the process to the start of the next execution (“t22-2”) is always maintained at the same length as the cycle T of the clock signal CLK. Be drunk.
  • the processing speed is constant when viewed from the whole process of the asynchronous circuits 420 to 450.
  • FIG. 13 shows a processor 500 according to the fifth embodiment of the present invention.
  • the processor 500 includes a CPU 400 and a peripheral module 510 shown in FIG.
  • the peripheral module 510 is provided in a normal processor such as an A / D converter or a timer, and includes a flip-flop (FF) 512 that stores data.
  • the clock signal CLK is also provided to the peripheral module 510.
  • Instructions are previously written in the memory 406 by a memory writer (not shown).
  • the fetch address of the fetch performed by the asynchronous circuit 420 is determined by the value of a register (not shown) in the asynchronous control unit 402.
  • the arithmetic circuit 444 in the asynchronous circuit 440 in the execution phase uses the data module DAR as the access target peripheral module 510. Output to. In response to this, the read data RD is output from the peripheral module 510. In the memory access phase, the read data RD is written into the FF 455 by the arithmetic circuit 454 of the asynchronous circuit 450.
  • the arithmetic circuit 444 in the asynchronous circuit 440 receives the data address DAR and the write data WD in the execution phase. Output to the peripheral module 510. Then, the write data WD is written to the FF 512 of the peripheral module 510 at the rising timing of the clock signal CLK.
  • the processor 500 according to the fifth embodiment applies the CPU 400 according to the fourth embodiment, and can obtain all the effects described in the case of the CPU 400. ⁇ Sixth Embodiment>
  • FIG. 14 shows a semiconductor device 600 according to the sixth embodiment of the present invention.
  • the semiconductor device 600 further includes a second pulse signal generation circuit 610, and the control circuit 110 receives the second pulse signal PLS2 from the second pulse signal generation circuit 610 instead of the clock signal CLK.
  • the semiconductor device 100 is the same as the semiconductor device 100 shown in FIG. Therefore, for the semiconductor device 600, only the second pulse signal generation circuit 610 will be described in detail.
  • the second pulse signal generation circuit 610 receives the clock signal CLK, the start signal start, and the permission signal al, and outputs the second pulse signal PLS2 to the control circuit 110.
  • the second pulse signal generation circuit 610 counts the number of times the permission signal al rises, and outputs the start signal start as the second pulse signal PLS2 when the counted number N is equal to or less than the set number N. On the other hand, when the counted number reaches the number N, the clock signal CLK is output as the second pulse signal PLS2, and the counted number is returned to zero.
  • the second pulse signal generation circuit 610 includes a number setting register 612, a counter 614, a comparator 616, and a selector 618.
  • the number setting register 612 is for setting the number N.
  • the counter 614 is a down counter and repeatedly counts down from the number N set to 0 in the number setting register 612.
  • the counter 614 counts down by one every time the permission signal al becomes a rising edge, and starts counting from the number N again when the count value reaches zero.
  • the comparator 616 compares the count value of the counter 614 with 0, and outputs a comparison result indicating whether the count value is 0 to the selector 618.
  • the selector 618 selects the start signal start when the count value of the counter 614 is other than 0, and selects the clock signal CLK when the count value becomes 0, in accordance with the comparison result from the comparator 616.
  • the pulse signal PLS2 is output to the control circuit 110.
  • the control circuit 110 raises the permission signal al when both the second pulse signal PLS2 and the start signal start rise, and allows the permission signal al when both the second pulse signal PLS2 and the start signal start fall. And the state of the permission signal al is maintained at other times.
  • FIG. 15 shows an example of a timing chart showing transition of each signal in the semiconductor device 600.
  • N the number of times N set in the number-of-times setting register 612 is 3.
  • the second pulse signal PLS2 rises in response to the rise of the clock signal CLK.
  • the control circuit 110 raises the permission signal al.
  • the count value of the counter 614 becomes 3 in response to the rise of the permission signal al.
  • the second pulse signal PLS2 is the same as the start signal start until timing t5 when the count value of the counter 614 becomes 0.
  • the first start timing is synchronized with the clock signal CLK
  • the second and third start timings are the clocks.
  • the asynchronous circuit 150 is not synchronized with the signal CLK, and performs a normal asynchronous operation in which the control circuit 110 is not provided.
  • the case where the start timing is synchronized with the clock signal CLK is referred to as “synchronous mode”
  • the case where the start timing is not synchronized with the clock signal CLK is referred to as “asynchronous mode”.
  • the count value of the counter 614 becomes 0 in response to the rise of the permission signal al at the timing t5. Therefore, the second pulse signal PLS2 changes to the clock signal CLK. Therefore, when the clock signal CLK falls at the timing t6, the second pulse signal PLS2 falls although the start signal start has not yet fallen.
  • the start timing of the fourth process performed by the asynchronous circuit 150 is synchronized with the rising edge of the clock signal CLK and becomes timing t9.
  • the first start timing is synchronized with the rising edge of the clock signal CLK, and the second and third start timings are not synchronized with the clock signal CLK. It is like that.
  • the processing speed by the asynchronous circuit can be made constant by synchronizing the start timing of the processing by the asynchronous circuit with the clock signal CLK, but there is a problem that the processing speed becomes slow. In addition, there is a possibility that the asynchronous circuit is not required to have an accuracy enough to synchronize the start timing of each process with the clock signal CLK depending on the application.
  • the processing speed adjustment accuracy of the asynchronous circuit 150 is increased by changing the number N set in the number setting register 612. It can be changed.
  • the proportion of the asynchronous mode is increased, and in applying to a system in which processing speed stability is important.
  • the ratio of the synchronous mode may be increased by setting the number N to a small value.
  • the asynchronous circuit 150 can be operated only in the synchronous mode or only in the asynchronous mode.
  • 0 may be set in the number setting register 612 as the number N.
  • the number setting register 612 is set to 1 or more times N, and the enable signal EN for controlling the counter 614 is set to 0 so that the counter 614 does not count down. What should I do? In this case, since the count value of the counter 614 is always N which is 1 or more, the asynchronous circuit 150 always operates in the asynchronous mode.
  • the cycle of the clock signal CLK input to the control circuit is greater than or equal to the maximum value Tmax, and the start signal start is always in an invalid state (falling down). Stand up when Therefore, when the clock signal CLK rises, the start signal start has already risen, and the control circuit raises the permission signal al every time the clock signal CLK rises. As a result, the processing time of the process by the asynchronous circuit is made constant. The same applies to the sixth embodiment when the asynchronous circuit 150 is operated only in the synchronous mode.
  • the time from the start of the process to the next start The period of the clock signal CLK that is, one cycle length is exceeded.
  • the problem in this case will be described with reference to the timing chart of FIG.
  • the semiconductor device 100 according to the first embodiment is taken as an example.
  • the start signal start has not yet risen, so that the permission signal al also falls. Thereafter, the start signal start rises at timing t5, and the permission signal al rises accordingly.
  • the length between the start timing (timing t2) of the first process by the asynchronous circuit 150 and the start timing (timing t6) of the second process is T1.
  • the start signal start rises at timing t9 in response to the fall of the permission signal al at timing t7.
  • the permission signal al also rises at timing t10.
  • the length between the start timing (timing t6) of the second process by the asynchronous circuit 150 and the start timing (timing t10) of the third process is T2.
  • the start signal start falls at a timing t11 after the rise of the clock signal CLK, and rises at a timing t13 after the fall of the clock signal CLK.
  • the permission signal al rises at timing t14 after the rising of the clock signal CLK again.
  • the length between the start timing (timing t10) of the third process by the asynchronous circuit 150 and the start timing (timing t14) of the fourth process is T3.
  • the inventor of the present application has established a method for solving this problem. This technique will be described using a semiconductor device 700 according to the seventh embodiment shown in FIG.
  • the semiconductor device 700 further includes a first pulse signal generation circuit 710, and the control circuit 110 receives the first pulse signal PLS1 from the first pulse signal generation circuit 710 instead of the clock signal CLK. Except for this, the semiconductor device 100 is the same as the semiconductor device 100 shown in FIG. Therefore, for the semiconductor device 700, only the first pulse signal generation circuit 710 will be described in detail.
  • the first pulse signal generation circuit 710 receives the clock signal CLK and the start signal start, and outputs the first pulse signal PLS1 to the control circuit 110.
  • the first pulse signal generation circuit 710 includes a flip-flop (FF) 712, a delay circuit 714, and an AND element 716.
  • the FF 712 latches the start signal start at the rising edge of the clock signal CLK and continues to output the latched signal to the AND element 716 until the next rising edge of the clock signal CLK.
  • the signal output from the FF 712 is hereinafter referred to as “signal S1”.
  • the delay circuit 714 delays the clock signal CLK and outputs it to the AND element 716.
  • the delay circuit 714 has a delay amount equal to or longer than the delay time from the start of latching by the FF 712 to the output of the latched signal.
  • the signal output from the delay circuit 714 is hereinafter referred to as “delayed clock signal S2”.
  • the AND element 716 obtains a logical product of the signal S1 and the delayed clock signal S2, and outputs the logical product to the control circuit 110.
  • This logical product is the first pulse signal PLS1.
  • control circuit 110 raises the permission signal al when both the first pulse signal PLS1 and the start signal start rise, and permits when both the first pulse signal PLS1 and the start signal start fall.
  • the signal al is lowered, and the permission signal al is maintained at other times.
  • FIG. 18 is an example of a timing chart showing the transition of each signal in the semiconductor device 700.
  • the length T1 between the start timing (timing t2) of the first process by the asynchronous circuit 150 and the start timing (timing t8) of the second process is twice the cycle T of the clock signal CLK.
  • the length T2 between the start timing (timing t8) of the second process by the asynchronous circuit 150 and the start timing (timing t12) of the third process is also twice the cycle T of the clock signal CLK.
  • FIG. 19 is another example of a timing chart showing the transition of each signal in the semiconductor device 700.
  • the start signal start falls at timing t5.
  • the first pulse signal PLS1 to the permission signal al also remain rising.
  • the length T1 between the start timing (timing t2) of the first process by the asynchronous circuit 150 and the start timing (timing t10) of the second process is twice the period T of the clock signal CLK.
  • the start signal start falls at the timing t13, but since both the clock signal CLK and the signal S1 remain rising, the first pulse signal PLS1 to the permission signal al also remain rising.
  • the length T2 between the start timing (timing t10) of the second process by the asynchronous circuit 150 and the start timing (timing t18) of the third process is also twice the cycle T of the clock signal CLK.
  • the semiconductor device 700 generates the first pulse signal PLS1 by the first pulse signal generation circuit 710 and supplies it to the control circuit 110 instead of the clock signal CLK.
  • the processing start timing is synchronized with the next rising edge of the clock signal CLK. Therefore, the processing speed of the asynchronous circuit can be made constant even when the cycle of the clock signal CLK is smaller than the maximum value Tmax.
  • This method can also be applied when mixing synchronous mode and asynchronous mode. This will be described in an eighth embodiment.
  • FIG. 20 shows a semiconductor device 800 according to the eighth embodiment of the present invention.
  • the semiconductor device 800 is a combination of the semiconductor device 600 and the semiconductor device 700, and is provided with a first pulse signal generation circuit 710 and a second pulse signal generation circuit 610 with respect to the semiconductor device 100.
  • the first pulse signal generation circuit 710 receives the clock signal CLK and the start signal start, generates the first pulse signal PLS1, and outputs it to the second pulse signal generation circuit 610.
  • the second pulse signal generation circuit 610 receives the first pulse signal PLS1, the start signal start, and the permission signal al, generates the second pulse signal PLS2, and outputs it to the control circuit 110.
  • the control circuit 110 raises the permission signal al when both the second pulse signal PLS2 and the start signal start rise, and allows the permission signal al when both the second pulse signal PLS2 and the start signal start fall. And the state of the permission signal al is maintained at other times.
  • the first pulse signal generation circuit 710 and the second pulse signal generation circuit 610 are the same as those described for the semiconductor device 600 and the semiconductor device 700.
  • the asynchronous circuit 150 can be operated while switching between the synchronous mode and the asynchronous mode, and the period of the clock signal CLK is maximum when operating in the synchronous mode. Even when the value is smaller than the value Tmax, the processing speed of the asynchronous circuit can be made constant.
  • the processing speed of the asynchronous circuit may vary even when the cycle of the clock signal CLK is larger than the maximum value Tmax. is there.
  • the asynchronous circuit Operates in the fifth asynchronous mode, and does not switch to the synchronous mode when the clock signal CLK rises at timing t9.
  • this problem does not occur and the processing speed of the asynchronous circuit can be made constant.
  • the first pulse signal generation circuit 710 and the second pulse signal generation circuit 610 are provided for the semiconductor device 100 .
  • the first pulse signal generation circuit 710 and the second pulse signal generation circuit 610 have been described.
  • the generation circuit 610 may be provided for a control circuit in any of the semiconductor device 200, the semiconductor device 300, the CPU 400, and the processor 500.
  • the effects described above can be obtained by providing the first pulse signal generation circuit 710 and the second pulse signal generation circuit 610 in the devices according to these embodiments.
  • the effective edge of the clock signal CLK is the rising edge, but the falling edge may be the effective edge.
  • an inverter that inverts the clock signal CLK or the first pulse signal PLS1 may be further provided in the control circuit (control circuit 110, control circuit 210, control circuit 310, control circuit 410).
  • the present invention can be applied to control of the processing speed of an asynchronous circuit provided in a semiconductor device.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)

Abstract

An asynchronous circuit (150) which is a first asynchronous circuit starts a process in response to the rising of a permission signal (al), raises a process completion signal (out) when the process is complete, and falls the completion signal (out) in response to the falling of the permission signal (al). A process start signal (satrt) which is an inversion signal of the process completion signal (out) is input to a control circuit (110) together with a clock signal (CLK). When both the start signal (start) and the clock signal (CLK) rise, the control circuit (110) raises the permission signal (al). When both the start signal (start) and the clock signal (CLK) fall, the control circuit (110) falls the permission signal (al). Thereby, while suppressing the increase of a circuit scale, processing speed of the asynchronous circuit can be maintained at a constant rate.

Description

半導体装置Semiconductor device
 本発明は、半導体装置、具体的には、半導体装置に設けられた非同期式回路の処理速度を制御する技術に関する。 The present invention relates to a semiconductor device, specifically, a technique for controlling the processing speed of an asynchronous circuit provided in the semiconductor device.
 処理の高速化と、消費電力の削減は、マイクロコンピュータの開発者が常に直面している2つの課題であり、様々な視点からの技術が提案されている。 Accelerating processing and reducing power consumption are two issues that microcomputer developers are always facing, and technologies from various viewpoints have been proposed.
 例えば、半導体集積回路のデジタル回路について、非同期設計技術が知られている。この技術による非同期式回路では、回路全体を1つのクロック信号(グローバルクロック信号)で制御する同期式回路と異なり、回路同士間でやりとりするハンドシェイク信号により処理のタイミングが制御される。 For example, asynchronous design technology is known for digital circuits of semiconductor integrated circuits. In the asynchronous circuit according to this technique, unlike the synchronous circuit that controls the entire circuit with one clock signal (global clock signal), the processing timing is controlled by a handshake signal exchanged between the circuits.
 非同期式回路は、処理時間がグローバルクロック信号に依存しないため、同期式回路より処理速度が速いという利点がある一方、非同期化によって処理量が上がることにより単位時間当たりの消費電力が上がってしまうという問題がある。 Asynchronous circuits have the advantage of faster processing speed than synchronous circuits because the processing time does not depend on the global clock signal. On the other hand, the amount of processing increases due to desynchronization, which increases power consumption per unit time. There's a problem.
 また、温度や製造上のばらつきにより非同期式回路の処理速度が一定ではないことは、知られている。これは、非同期式回路を搭載した製品によっては、動作の不整合を引き起こしてしまう恐れがあり、特にソフトウェアにより制御されるマイクロコンピュータにとっては、大きな問題である。 Also, it is known that the processing speed of asynchronous circuits is not constant due to temperature and manufacturing variations. This may cause an operation mismatch depending on a product equipped with an asynchronous circuit, and is a big problem particularly for a microcomputer controlled by software.
 特許文献1には、非同期式回路の処理速度を一定に保つ技術が開示されている。この技術は、供給される電圧が高くなると非同期式回路の処理が速くなり、供給される電圧が低くなると非同期式回路の処理が遅くなることを利用したものである。具体的には、非同期式回路の処理速度を計測し、計測した処理速度に応じて、処理速度が目標速度より速い場合には電圧を下げ、処理速度が目標速度より遅い場合には電圧を上げるように、非同期式回路に供給する電圧を調整する。こうすることにより、非同期式回路の処理速度は、目標速度に一定に保たれる。図21は、特許文献1における図2に対して符号を変更したものであり、該技術を適用した処理速度一定化装置10を示す。 Patent Document 1 discloses a technique for keeping the processing speed of an asynchronous circuit constant. This technique utilizes the fact that the processing of the asynchronous circuit becomes faster when the supplied voltage becomes higher and the processing of the asynchronous circuit becomes slower when the supplied voltage becomes lower. Specifically, the processing speed of the asynchronous circuit is measured, and the voltage is lowered when the processing speed is faster than the target speed, and the voltage is raised when the processing speed is slower than the target speed, according to the measured processing speed. Thus, the voltage supplied to the asynchronous circuit is adjusted. By doing so, the processing speed of the asynchronous circuit is kept constant at the target speed. FIG. 21 shows a processing speed stabilizing device 10 to which the reference is changed from FIG. 2 in Patent Document 1 and to which the technique is applied.
特開2009-260612号公報JP 2009-260612 A
 図21から分かるように、該処理速度一定化装置10は、非同期回路12の処理速度(パルス数)を計測するための周期変動パルス生成部14(リングオシレータ)とパルス計測部30(12ビットバイナリカウンタ)、周期一定パルス生成部20(水晶発振器)、目標速度(目標パルス数)を設定するための動作・処理速度変更条件設定部70、動作・処理速度変更条件取得部60動作・処理速度変更制御部80、目標速度を記憶するためのメモリ52、電圧制御信号生成部50(計測した速度と目標速度を比較するための比較器54と、非同期回路12に供給する電圧を調整する電圧調整器40を含む)などを有する。これでは、非同期回路の処理速度を一定に保つための回路の規模が大きく、チップ面積が増大してしまうという問題がある。 As can be seen from FIG. 21, the processing speed stabilizing device 10 includes a period fluctuation pulse generation unit 14 (ring oscillator) for measuring the processing speed (number of pulses) of the asynchronous circuit 12 and a pulse measurement unit 30 (12-bit binary). Counter), constant cycle pulse generation unit 20 (crystal oscillator), operation / processing speed change condition setting unit 70 for setting a target speed (target pulse number), operation / processing speed change condition acquisition unit 60 operation / processing speed change Control unit 80, memory 52 for storing target speed, voltage control signal generation unit 50 (comparator 54 for comparing measured speed with target speed, and voltage regulator for adjusting voltage supplied to asynchronous circuit 12 40). In this case, there is a problem that the circuit scale for keeping the processing speed of the asynchronous circuit constant is large and the chip area increases.
 本発明は、上記事情に鑑みてなされたものであり、非同期式回路の処理速度を一定に保つと共に、回路規模の増大を抑制する技術を提供する。 The present invention has been made in view of the above circumstances, and provides a technique for keeping the processing speed of an asynchronous circuit constant and suppressing an increase in circuit scale.
 本発明の一つの態様は、半導体装置である。この半導体装置は、所定の処理を繰り返し実行する第1の非同期式回路と、該第1の非同期式回路に許可信号を出力する制御回路を有する。 One embodiment of the present invention is a semiconductor device. The semiconductor device includes a first asynchronous circuit that repeatedly executes a predetermined process and a control circuit that outputs a permission signal to the first asynchronous circuit.
 第1の非同期式回路は、許可信号が有効状態になったときに上記所定の処理を開始し、該所定の処理の完了時に処理完了信号を有効状態にし、許可信号が無効状態になったときに処理完了信号を無効状態にする。 The first asynchronous circuit starts the predetermined processing when the permission signal becomes valid, sets the processing completion signal to valid when the predetermined processing is completed, and when the permission signal becomes invalid The processing complete signal is set to the invalid state.
 制御回路は、上記処理完了信号の反転信号となる処理開始信号と、クロック信号とが入力され、第1の非同期式回路に許可信号を出力する。該制御回路は、処理開始信号とクロック信号の両方が有効状態になったときに許可信号を有効状態にし、処理開始信号とクロック信号の両方が無効状態になったときに許可信号を前記無効状態にする。 The control circuit receives a processing start signal that is an inverted signal of the processing completion signal and a clock signal, and outputs a permission signal to the first asynchronous circuit. The control circuit enables the enable signal when both the processing start signal and the clock signal are enabled, and sets the enable signal when the process start signal and the clock signal are both disabled. To.
 なお、「有効状態」と「無効状態」は、立上り状態と立下り状態の片方と他方を夫々意味する。 The “valid state” and “invalid state” mean one of the rising state and the falling state and the other, respectively.
 なお、上記態様の半導体装置を方法などに置き換えて表現するものや、該半導体装置を含むシステムなども、本発明の態様としては有効である。 Note that what is expressed by replacing the semiconductor device of the above aspect with a method or a system including the semiconductor device is also effective as an aspect of the present invention.
 本発明にかかる技術によれば、回路規模の増大を抑制しつつ、非同期式回路の処理速度を一定に保つことができる。 The technique according to the present invention can keep the processing speed of the asynchronous circuit constant while suppressing an increase in circuit scale.
本発明の第1の実施の形態にかかる半導体装置を示す図である。1 is a diagram showing a semiconductor device according to a first embodiment of the present invention. 図1に示す半導体装置における制御モジュールの回路構成例を示す図である。It is a figure which shows the circuit structural example of the control module in the semiconductor device shown in FIG. 図2に示す制御モジュールにおけるC素子を示す図である。It is a figure which shows C element in the control module shown in FIG. 図1に示す半導体装置における制御回路を示す図である。It is a figure which shows the control circuit in the semiconductor device shown in FIG. 図1に示す半導体装置における各信号の遷移を示すタイミングチャートである。2 is a timing chart showing transitions of signals in the semiconductor device shown in FIG. 本発明の第2の実施の形態にかかる半導体装置を示す図である。It is a figure which shows the semiconductor device concerning the 2nd Embodiment of this invention. 図6に示す半導体装置における制御モジュールの回路構成例を示す図である。It is a figure which shows the circuit structural example of the control module in the semiconductor device shown in FIG. 図6に示す半導体装置における各信号の遷移を示すタイミングチャートである。7 is a timing chart showing transition of each signal in the semiconductor device shown in FIG. 6. 本発明の第3の実施の形態にかかる半導体装置を示す図である。It is a figure which shows the semiconductor device concerning the 3rd Embodiment of this invention. 図9に示す半導体装置における各信号の遷移を示すタイミングチャートである。10 is a timing chart showing transitions of signals in the semiconductor device shown in FIG. 本発明の第4の実施の形態にかかるCPUを示す図である。It is a figure which shows CPU concerning the 4th Embodiment of this invention. 図11に示すCPUにおける各信号の遷移を示すタイミングチャートである。12 is a timing chart showing transition of each signal in the CPU shown in FIG. 11. 本発明の第5の実施の形態にかかるプロセッサを示す図である。It is a figure which shows the processor concerning the 5th Embodiment of this invention. 本発明の第6の実施の形態にかかる半導体装置を示す図である。It is a figure which shows the semiconductor device concerning the 6th Embodiment of this invention. 図14に示す半導体装置における各信号の遷移を示すタイミングチャートである。15 is a timing chart showing transitions of signals in the semiconductor device shown in FIG. プロセスの今回の開始から、次回の開始までの時間がクロック信号の1サイクル長を超えた場合の問題点を説明するための図である。It is a figure for demonstrating a problem when the time from the start of this process to the next start exceeds 1 cycle length of a clock signal. 本発明の第7の実施の形態にかかる半導体装置を示す図である。It is a figure which shows the semiconductor device concerning the 7th Embodiment of this invention. 図17に示す半導体装置における各信号の遷移を示すタイミングチャートである(その1)。FIG. 18 is a timing chart showing transitions of signals in the semiconductor device shown in FIG. 17 (part 1); 図17に示す半導体装置における各信号の遷移を示すタイミングチャートである(その2)。FIG. 18 is a timing chart showing transitions of signals in the semiconductor device shown in FIG. 17 (part 2). 本発明の第8の実施の形態にかかる半導体装置を示す図である。It is a figure which shows the semiconductor device concerning the 8th Embodiment of this invention. 特許文献1における図2に対して符号を変更した図である。It is the figure which changed the code | symbol with respect to FIG.
 以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. Note that, in each drawing, the same element is denoted by the same reference numeral, and redundant description is omitted as necessary.
 説明上の便宜のため、いくつかの用語を定義する。まず、非同期式回路について、「プロセス」と「基本操作」を定義する。 For convenience of explanation, some terms are defined. First, “process” and “basic operation” are defined for the asynchronous circuit.
 例えば、処理「F=(A+B+C)」を実行するために、該処理を、3つの処理「D=A+B」、「E=D+C」、「F=E」に分けて、該3つの処理を夫々実行する3つの非同期式回路を段階的に接続する。こうすることにより、該3つの非同期式回路は、互いにハンドシェイクをしながら、夫々の処理を実行することにより処理「F=(A+B+C)」を実現する。 For example, in order to execute the process “F = (A + B + C) 2 ”, the process is divided into three processes “D = A + B”, “E = D + C”, and “F = E 2 ”. Are connected in stages. By doing so, the three asynchronous circuits realize the process “F = (A + B + C) 2 ” by executing the respective processes while handshaking each other.
 回路に含まれる非同期式回路の段数に関わらず、回路全体が実行する処理を「プロセス」といい、該回路に含まれる個々の非同期式回路が実行する、上記プロセスを構成する夫々の処理を「基本操作」という。 Regardless of the number of stages of asynchronous circuits included in the circuit, the process executed by the entire circuit is called a `` process '', and each process constituting each of the processes executed by each asynchronous circuit included in the circuit is expressed as `` process ''. This is called “basic operation”.
 上記の例の場合、処理「F=(A+B+C)」はプロセスであり、3つの処理「D=A+B」、「E=D+C」、「F=E」は、該プロセスの基本操作である。 In the above example, the process “F = (A + B + C) 2 ” is a process, and the three processes “D = A + B”, “E = D + C”, and “F = E 2 ” are basic operations of the process. .
 なお、プロセスは1段の非同期式回路により実行される場合、「プロセス」と「基本操作」は、同一になる。 When the process is executed by a single-stage asynchronous circuit, the “process” and “basic operation” are the same.
 例えば、プロセス「C=A+B」を実行する回路を、演算「C=A+B」を実行する非同期式回路で構成した場合、「プロセス」と「基本操作」のいずれも、演算「C=A+B」となる。 For example, when the circuit that executes the process “C = A + B” is configured by an asynchronous circuit that executes the operation “C = A + B”, both the “process” and the “basic operation” are calculated as “C = A + B”. Become.
 なお、非同期式回路では、基本操作の実行のために、基本操作に該当する処理そのもの以外に、該処理のためのレジスタ間のデータ移動などが伴う。以下において、「基本操作」が、該基本操作のためのレジスタ間のデータ移動などを含むものであるとして説明を行う。 In the asynchronous circuit, in addition to the processing itself corresponding to the basic operation, data movement between registers for the processing is involved in order to execute the basic operation. In the following description, it is assumed that “basic operation” includes data movement between registers for the basic operation.
 次に、最大値Tmaxを定義する。
 後の説明で分かるが、本発明にかかる技術は、従来において第1の非同期式回路に直接入力される、該非同期式回路に処理を開始させる信号(以下「処理開始信号」という)を所定の制御回路に入力し、該制御回路により、第1の非同期式回路による処理(基本操作)の開始タイミングをクロックに同期させる。この第1の非同期式回路は、1段の非同期式回路によりプロセスを実行する場合においては、該非同期式回路そのものであり、複数段の非同期式回路が互いにハンドシェイクをしながら夫々の基本操作を順次行うことによりプロセスを実行する場合においては、これらの複数の非同期式回路のうちのいずれか1つである。
Next, the maximum value Tmax is defined.
As will be understood from the following description, the technique according to the present invention is a conventional technique that directly inputs a signal (hereinafter referred to as a “process start signal”) that is input directly to the first asynchronous circuit and causes the asynchronous circuit to start processing. Input to the control circuit, and the control circuit synchronizes the start timing of processing (basic operation) by the first asynchronous circuit with the clock. This first asynchronous circuit is the asynchronous circuit itself when the process is executed by a single-stage asynchronous circuit, and a plurality of asynchronous circuits perform their basic operations while handshaking each other. In the case where the process is executed sequentially, it is one of these asynchronous circuits.
 最大値Tmaxは、上記所定の制御回路が設けられておらず、処理開始信号が直接第1の非同期式回路に入力されると仮定した場合における、プロセスの今回の実行の開始から、次回の実行の開始までに所要しうる最長時間である。 The maximum value Tmax is the next execution from the start of the current execution of the process, assuming that the predetermined control circuit is not provided and the processing start signal is directly input to the first asynchronous circuit. This is the longest time that can be taken before the start of.
 前述したように、製造上のばらつきや、温度などの環境要因により、非同期式回路の処理速度が一定ではない。そのため、従来では、プロセスの今回の実行の開始から、次回の実行の開始までの時間の長さは、変動する。最大値Tmaxは、この時間の長さの変動範囲のうちの最大値である。 As described above, the processing speed of the asynchronous circuit is not constant due to manufacturing variations and environmental factors such as temperature. Therefore, conventionally, the length of time from the start of the current execution of the process to the start of the next execution varies. The maximum value Tmax is the maximum value in the fluctuation range of the time length.
 次いで、立ち上がった状態と立ち下がった状態のいずれか一方の状態を有し得る信号に対して「有効状態」、「無効状態」、「有効エッジ」、「無効エッジ」を定義する。 Next, “valid state”, “invalid state”, “valid edge”, and “invalid edge” are defined for a signal that can have one of the rising state and the falling state.
 信号の「有効状態」は、立ち上がった状態と立ち下がった状態のいずれか片方である。そのため、「無効状態」は、立ち下がった状態と立ち下がった状態のうちの、「有効状態」とは異なる方になる。 The “valid state” of the signal is either one of the rising state and the falling state. For this reason, the “invalid state” is different from the “valid state” between the falling state and the falling state.
 また、「有効エッジ」は、有効状態の先頭を意味する。例えば、有効状態が立ち上がった状態であるときには、有効エッジは、立ち上がりエッジであり、有効状態が立ち下がった状態であるときには、有効エッジは、立下がりエッジとなる。同様に、「無効エッジ」は、無効状態の先頭を意味する。 Also, “effective edge” means the beginning of the effective state. For example, when the valid state is a rising state, the valid edge is a rising edge, and when the valid state is a falling state, the valid edge is a falling edge. Similarly, “invalid edge” means the beginning of an invalid state.
 信号の有効エッジと有効状態をいずれのほうにするかは、他の装置との整合性や、制御の便宜性などから、適宜決定すればよい。 Whether the effective edge or the effective state of the signal is to be determined may be appropriately determined from the consistency with other devices, the convenience of control, and the like.
 以下の説明において、例として、有効エッジが立ち上がりエッジであり、有効状態が立ち上がった状態であるとする。 In the following description, as an example, it is assumed that the effective edge is a rising edge and the effective state is a rising state.
 また、以下の説明において、上記にて定義した用語を使用すると共に、使用する際に、その用語の説明を繰り返さない。
<第1の実施の形態>
Moreover, in the following description, while using the term defined above, the explanation of the term is not repeated when it is used.
<First Embodiment>
 図1は、本発明の第1の実施の形態にかかる半導体装置100を示す。この半導体装置100は、1段の非同期式回路により所定のプロセスを実行するものであり、制御回路110、インバータ120、非同期式回路150を備える。この非同期式回路150は、上述した第1の非同期式回路に該当する。 FIG. 1 shows a semiconductor device 100 according to a first embodiment of the present invention. The semiconductor device 100 executes a predetermined process by a single-stage asynchronous circuit, and includes a control circuit 110, an inverter 120, and an asynchronous circuit 150. This asynchronous circuit 150 corresponds to the first asynchronous circuit described above.
 非同期式回路150は、2相式の非同期式回路であり、演算回路180と、演算回路180に対して2相式制御を行う制御モジュール160を有する。 The asynchronous circuit 150 is a two-phase asynchronous circuit, and includes an arithmetic circuit 180 and a control module 160 that performs two-phase control on the arithmetic circuit 180.
 制御回路110は、制御モジュール160に許可信号alを出力する。
 制御モジュール160は、許可信号alが立ち上がったときに、非同期式回路150が担う基本操作(ここでは、プロセスと同様である)を演算回路180に行わせる。その後、制御モジュール160は、上記プロセスが完了すると、ラッチ信号を演算回路180に出力して演算結果を保持させると共に、処理完了信号(以下単に「完了信号」ともいう)outを立ち上げる。その後、制御モジュール160は、許可信号alの立下りに応じて完了信号outを立ち下げる。
The control circuit 110 outputs a permission signal al to the control module 160.
When the permission signal al rises, the control module 160 causes the arithmetic circuit 180 to perform a basic operation (same as the process here) that the asynchronous circuit 150 performs. After that, when the above process is completed, the control module 160 outputs a latch signal to the arithmetic circuit 180 to hold the arithmetic result, and raises a processing completion signal (hereinafter also simply referred to as “completion signal”) out. Thereafter, the control module 160 causes the completion signal out to fall in response to the fall of the permission signal al.
 完了信号outは、インバータ120に出力される。インバータ120は、完了信号outの反転信号を制御回路110に出力する。 The completion signal out is output to the inverter 120. Inverter 120 outputs an inverted signal of completion signal out to control circuit 110.
 通常、1段の非同期式回路によりプロセスを実行する半導体装置では、該非同期式回路が出力する完了信号outの反転信号は、該非同期式回路に、次回のプロセス(基本操作)の開始を指示する信号である。そのため、ここで、インバータ120が出力する信号を処理開始信号startという。以下において、処理開始信号を単に「開始信号」ともいう。 Normally, in a semiconductor device that executes a process using a single-stage asynchronous circuit, the inverted signal of the completion signal out output from the asynchronous circuit instructs the asynchronous circuit to start the next process (basic operation). Signal. Therefore, here, the signal output from the inverter 120 is referred to as a processing start signal start. Hereinafter, the processing start signal is also simply referred to as “start signal”.
 1段の非同期式回路によりプロセスを実行する半導体装置では、該非同期式回路が出力する完了信号outの反転信号(開始信号start)は、該非同期式回路に直接入力される。 In a semiconductor device that executes a process using a single-stage asynchronous circuit, an inverted signal (start signal start) of the completion signal out output from the asynchronous circuit is directly input to the asynchronous circuit.
 本実施の形態の半導体装置100において、開始信号startは、制御回路110に入力されるようになっている。 In the semiconductor device 100 of the present embodiment, the start signal start is input to the control circuit 110.
 制御回路110には、開始信号start以外に、クロック信号CLKも入力されるようになっている。 In addition to the start signal start, a clock signal CLK is also input to the control circuit 110.
 制御回路110は、開始信号startとクロック信号CLKの両方が有効状態になったとき、すなわち立ち上がったときに許可信号alを立ち上げ、開始信号startとクロック信号CLKの両方が立ち下がったときに許可信号alを立ち下げる。 The control circuit 110 raises the permission signal al when both the start signal start and the clock signal CLK are enabled, i.e., rises, and permits when both the start signal start and the clock signal CLK fall. The signal al falls.
 本実施の形態の半導体装置100において、クロック信号CLKの周期は、非同期式回路150の最大値Tmax以上である。 In the semiconductor device 100 of the present embodiment, the cycle of the clock signal CLK is equal to or greater than the maximum value Tmax of the asynchronous circuit 150.
 図2は、非同期式回路150における制御モジュール160の回路構成の例を示す。図2に示すように、制御モジュール160は、AND素子161、インバータ162、AND素子164、インバータ165、遅延素子166、C素子170を有する。制御回路110からの許可信号alは、AND素子161の片方の入力端と、C素子170の片方の入力端に入力される。インバータ162は、入力端がC素子170の出力端に接続され、出力端がAND素子161の他方の入力端に接続される。C素子170から出力される信号は、OUTである。なお、C素子170の出力端は、AND素子164の片方の入力端にも接続される。 FIG. 2 shows an example of the circuit configuration of the control module 160 in the asynchronous circuit 150. As shown in FIG. 2, the control module 160 includes an AND element 161, an inverter 162, an AND element 164, an inverter 165, a delay element 166, and a C element 170. The permission signal al from the control circuit 110 is input to one input terminal of the AND element 161 and one input terminal of the C element 170. The inverter 162 has an input terminal connected to the output terminal of the C element 170 and an output terminal connected to the other input terminal of the AND element 161. A signal output from the C element 170 is OUT. The output terminal of the C element 170 is also connected to one input terminal of the AND element 164.
 AND素子161の出力は、遅延素子166に入力される。遅延素子166の出力は、ラッチ信号latとして演算回路180に出力されると共に、C素子170の他方の入力端と、インバータ165の入力端に入力される。 The output of the AND element 161 is input to the delay element 166. The output of the delay element 166 is output to the arithmetic circuit 180 as a latch signal lat, and is input to the other input terminal of the C element 170 and the input terminal of the inverter 165.
 AND素子164は、C素子170とインバータ165の出力とが入力され、それらの論理積を出力する。この論理積は、制御モジュール160が出力する完了信号outである。 The AND element 164 receives the C element 170 and the output of the inverter 165, and outputs a logical product of them. This logical product is a completion signal out output from the control module 160.
 C素子170は、MullerのC素子であり、全ての入力値が一致したときにのみ出力がその入力値に遷移する記憶素子である。図3は、C素子170の構成を示す。該C素子170は、許可信号alと、図2に示す制御モジュール160が出力するラッチ信号latとが入力され、信号OUTを出力する。 The C element 170 is a Muller C element, and is a storage element whose output transitions to the input value only when all the input values match. FIG. 3 shows the configuration of the C element 170. The C element 170 receives the permission signal al and the latch signal lat output from the control module 160 shown in FIG. 2, and outputs a signal OUT.
 C素子170は、3つの2入力のAND素子171~173と、3入力のOR素子174を備える。OR素子174の3つの入力は、3つのAND素子171~173の出力である。 The C element 170 includes three 2-input AND elements 171 to 173 and a 3-input OR element 174. Three inputs of the OR element 174 are outputs of the three AND elements 171 to 173.
 AND素子171には、許可信号alと、OR素子174の出力OUTが入力される。AND素子172には、許可信号alと、ラッチ信号latが入力される。AND素子173には、OR素子174の出力OUTと、ラッチ信号latが入力される。 The permission signal al and the output OUT of the OR element 174 are input to the AND element 171. The AND element 172 receives the permission signal al and the latch signal lat. The AND element 173 receives the output OUT of the OR element 174 and the latch signal lat.
 図4は、半導体装置100における制御回路110の回路構成の例を示す。制御回路110は、クロック信号CLKと開始信号startが入力され、許可信号alを出力する。 FIG. 4 shows an example of the circuit configuration of the control circuit 110 in the semiconductor device 100. The control circuit 110 receives the clock signal CLK and the start signal start, and outputs the permission signal al.
 制御回路110は、3つの2入力のAND素子111~113と、3入力のOR素子114を備える。OR素子114の3つの入力は、3つのAND素子111~113の出力である。 The control circuit 110 includes three 2-input AND elements 111 to 113 and a 3-input OR element 114. Three inputs of the OR element 114 are outputs of the three AND elements 111 to 113.
 AND素子111には、クロック信号CLKと、OR素子114の出力である許可信号alが入力される。AND素子112には、クロック信号CLKと開始信号startが入力される。AND素子113には、許可信号alと開始信号startが入力される。 The AND element 111 receives the clock signal CLK and the permission signal al that is the output of the OR element 114. A clock signal CLK and a start signal start are input to the AND element 112. The AND element 113 receives the permission signal al and the start signal start.
 図3と図4を比較すると分かるように、入力される信号が異なる以外、制御回路110は、C素子170と同様の構成を有する。すなわち、制御回路110も、MullerのC素子であり、全ての入力値(クロック信号CLK、開始信号start)が一致したときにのみ出力(許可信号al)がその入力値に遷移する。 As can be seen by comparing FIG. 3 and FIG. 4, the control circuit 110 has the same configuration as the C element 170 except that the input signals are different. That is, the control circuit 110 is also a Muller C element, and only when all input values (clock signal CLK, start signal start) match, the output (permission signal al) transitions to the input value.
 図5は、図1に示す半導体装置100における各信号の遷移を示すタイミングチャートである。なお、半導体装置100の初期状態において、開始信号start信号を除き、図5に示す各信号が「0」であるとする。開始信号startは、完了信号outの反転信号であるため、初期状態においては、「1」である。 FIG. 5 is a timing chart showing transition of each signal in the semiconductor device 100 shown in FIG. In the initial state of the semiconductor device 100, it is assumed that each signal shown in FIG. 5 is “0” except for the start signal start signal. Since the start signal start is an inverted signal of the completion signal out, it is “1” in the initial state.
 タイミングt1において、クロック信号CLKが立ち上がる。これに応じて、タイミングt2において、許可信号alも立ち上がる。これにて、非同期式回路150の稼働相が開始する。 At time t1, the clock signal CLK rises. In response to this, the permission signal al also rises at timing t2. As a result, the operating phase of the asynchronous circuit 150 starts.
 タイミングt2における許可信号alの立ち上がりに応じて、ラッチ信号latは、タイミングt3において立ち上がり、続いて、タイミングt4において立ち下がる。これにて、非同期式回路150の休止相が開始する。 In response to the rise of the permission signal al at the timing t2, the latch signal lat rises at the timing t3 and subsequently falls at the timing t4. This starts the rest phase of the asynchronous circuit 150.
 タイミングt4において、ラッチ信号latの立ち下がりにより、完了信号outは、立ち上がる。 At timing t4, the completion signal out rises due to the fall of the latch signal lat.
 完了信号outの立ち上がりに応じて、タイミングt5において、開始信号startが立ち下がる。このとき、開始信号startが「1」から「0」に変わったものの、クロック信号CLKが「1」のままであるので、許可信号alは、相変わらず「1」である。 In response to the rise of the completion signal out, the start signal start falls at timing t5. At this time, although the start signal start has changed from “1” to “0”, the clock signal CLK remains “1”, so the permission signal al is still “1”.
 そして、タイミングt6において、クロック信号CLKが立ち下がる。開始信号startも「0」であるため、タイミングt7において、許可信号alが立ち下がる。 Then, at the timing t6, the clock signal CLK falls. Since the start signal start is also “0”, the permission signal al falls at timing t7.
 ラッチ信号latが「0」であるため、タイミングt7における許可信号alの立ち下がりに応じて、タイミングt8において、完了信号outが立ち下がる。これにて、非同期式回路150の休止相が終了する。続いて、タイミングt9において、開始信号startが立ち上がる。 Since the latch signal lat is “0”, the completion signal out falls at the timing t8 in response to the fall of the permission signal al at the timing t7. This completes the pause phase of the asynchronous circuit 150. Subsequently, at timing t9, the start signal start rises.
 制御回路110が設けられておらず、開始信号startが直接制御モジュール160に入力される通常の非同期式回路の場合、開始信号startの立ち上がりに応じて処理の次回の実行(次回の稼働相)が開始されるが、本実施の形態の半導体装置100では、開始信号startは制御回路110に入力されるようになっている。 In the case of a normal asynchronous circuit in which the control circuit 110 is not provided and the start signal start is directly input to the control module 160, the next execution of the process (next operation phase) is performed in response to the rise of the start signal start. The start signal start is input to the control circuit 110 in the semiconductor device 100 of the present embodiment.
 そのため、タイミングt9において開始信号startが立ち上がっても、クロック信号CLKが「0」のままであるため、許可信号alも「0」のままである。すなわち、非同期式回路150は、開始信号startが立ち上がっても、処理の次回の実行を開始しない。 Therefore, even when the start signal start rises at the timing t9, the clock signal CLK remains “0”, so that the permission signal al also remains “0”. That is, the asynchronous circuit 150 does not start the next execution of the process even when the start signal start rises.
 その後、タイミングt10において、クロック信号CLKが立ち上がる。開始信号startが「1」であるため、タイミングt11において、許可信号alは、立ち上がる。
 これにて、非同期式回路150は、処理の次回の実行、すなわち次回の稼働相を開始する。
Thereafter, at timing t10, the clock signal CLK rises. Since the start signal start is “1”, the permission signal al rises at the timing t11.
As a result, the asynchronous circuit 150 starts the next execution of the process, that is, the next operation phase.
 タイミングt10~t20まで、各信号は、タイミングt1~t10までと同様の遷移を辿る。タイミングt20の後も、このような遷移が繰り返される。 From timing t10 to t20, each signal follows the same transition as from timing t1 to t10. Such a transition is repeated after the timing t20.
 前述したように、非同期式回路は、製造上のばらつきや、温度などの環境要因によって処理速度が変動するため、各回の処理にかかる時間も変動する可能性がある。 As described above, since the processing speed of the asynchronous circuit varies depending on manufacturing variations and environmental factors such as temperature, the time required for each processing may also vary.
 例えば、図5において、タイミングt11における許可信号alの立ち上がりから、タイミングt2とt3間の長さ(t3-t2)と同様の時間が経過したタイミングは、タイミングt12である。しかし、実際には、ラッチ信号latが立ち上がったのは、タイミングt12からΔtの分遅れたタイミングt13である。そのため、完了信号outの立ち上がり及び開始信号startの立ち下がりも遅れる。このようなときに、開始信号startが直接入力される通常の非同期式回路では、次回の処理の開始もΔtの分遅くなる。 For example, in FIG. 5, the timing when the same time as the length (t3−t2) between the timings t2 and t3 has elapsed from the rising edge of the permission signal al at the timing t11 is the timing t12. However, in actuality, the latch signal lat rises at timing t13 delayed by Δt from timing t12. Therefore, the rise of the completion signal out and the fall of the start signal start are also delayed. In such a case, in a normal asynchronous circuit to which the start signal start is directly input, the start of the next processing is also delayed by Δt.
 それに対して、本実施の形態の半導体装置100における非同期式回路150では、制御回路110により、非同期式回路150の処理の開始タイミングをクロック信号CLK信号に同期させることにより、上述したようなずれがあっても、今回の処理の開始から次回の処理の開始までの時間(図5における「t11-t2」、「t21-t11」)は、常に、クロック信号CLKの周期「T」である。すなわち、非同期式回路150が担う処理(ここではプロセス)全体からみると、処理速度が一定である。 On the other hand, in the asynchronous circuit 150 in the semiconductor device 100 of the present embodiment, the control circuit 110 synchronizes the processing start timing of the asynchronous circuit 150 with the clock signal CLK signal, thereby causing the above-described shift. Even in such a case, the time from the start of the current process to the start of the next process (“t11-t2”, “t21-t11” in FIG. 5) is always the cycle “T” of the clock signal CLK. That is, the processing speed is constant when viewed from the whole processing (here, the process) that the asynchronous circuit 150 performs.
 また、これを実現するために追加された回路が制御回路110のみである。図4に示す例のように、このような制御を行う制御回路110は、C素子、すなわち3つのAND素子と1つのOR素子からなるC素子で構成できるため、非同期式回路150の処理速度を一定に保つために必要な回路規模の増大が少ない。
<第2の実施の形態>
Further, only the control circuit 110 is added to realize this. As in the example shown in FIG. 4, the control circuit 110 that performs such control can be composed of C elements, that is, C elements including three AND elements and one OR element, so that the processing speed of the asynchronous circuit 150 is increased. There is little increase in the circuit scale required to keep it constant.
<Second Embodiment>
 図1に示す第1の実施の形態の半導体装置100は、本発明にかかる技術を2相式の非同期式回路に適用した例である。本発明にかかる技術は、2相式の非同期式回路に限らず、いかなる非同期式回路にも適用することができる。例えば、図6に示す第2の実施の形態の半導体装置200は、本発明にかかる技術を2線式の非同期式回路に適用した例である。 A semiconductor device 100 according to the first embodiment shown in FIG. 1 is an example in which the technique according to the present invention is applied to a two-phase asynchronous circuit. The technology according to the present invention is not limited to a two-phase asynchronous circuit, and can be applied to any asynchronous circuit. For example, the semiconductor device 200 of the second embodiment shown in FIG. 6 is an example in which the technique according to the present invention is applied to a two-wire asynchronous circuit.
 図6に示すように、半導体装置200は、1段の非同期式回路により所定のプロセスを実行するものであり、制御回路210と、インバータ120と、非同期式回路250を備える。非同期式回路250は、第1の非同期式回路に該当する。 As shown in FIG. 6, the semiconductor device 200 executes a predetermined process with a single-stage asynchronous circuit, and includes a control circuit 210, an inverter 120, and an asynchronous circuit 250. The asynchronous circuit 250 corresponds to the first asynchronous circuit.
 非同期式回路250は、2線式の非同期式回路であり、制御モジュール260と、演算回路280を有する。 The asynchronous circuit 250 is a two-wire asynchronous circuit, and includes a control module 260 and an arithmetic circuit 280.
 制御回路210は、制御モジュール260に許可信号alを出力する。
 制御モジュール260は、許可信号alが立ち上がったときに、演算回路280に出力する信号(リクエスト信号req)を、演算回路280に演算を開始させる値にする。演算回路280は、演算が完了すると、制御モジュール260に返送する通知信号ackを、演算の完了を示す値に変更する。そして、制御モジュール260は、リクエスト信号reqを、演算回路280に初期化を行わせるための値に変更し、演算回路280は、初期化が完了すると、通知信号ackを、初期化の完了を示す値に変更する。
The control circuit 210 outputs a permission signal al to the control module 260.
When the permission signal al rises, the control module 260 sets a signal (request signal req) output to the arithmetic circuit 280 to a value that causes the arithmetic circuit 280 to start calculation. When the calculation is completed, the arithmetic circuit 280 changes the notification signal ack to be returned to the control module 260 to a value indicating the completion of the calculation. Then, the control module 260 changes the request signal req to a value for causing the arithmetic circuit 280 to perform initialization, and when the initialization is completed, the arithmetic circuit 280 indicates the notification signal ack indicating the completion of initialization. Change to a value.
 また、制御モジュール260は、通知信号ackが初期化の完了を示す値になったときに、インバータ120に出力する完了信号outを立ち上げる。その後、制御モジュール260は、許可信号alの立下りに応じて完了信号outを立ち下げる。 Further, the control module 260 raises a completion signal out to be output to the inverter 120 when the notification signal ack becomes a value indicating completion of initialization. Thereafter, the control module 260 causes the completion signal out to fall in response to the fall of the permission signal al.
 インバータ120は、完了信号outの反転信号を制御回路110に出力する。この反転信号も、通常のこの種の非同期式回路では、次回のプロセス(基本操作)の開始を指示する開始信号startである。ここでは、開始信号startは、制御回路210に入力される。 The inverter 120 outputs an inverted signal of the completion signal out to the control circuit 110. This inverted signal is also a start signal start instructing the start of the next process (basic operation) in this normal asynchronous circuit of this type. Here, the start signal start is input to the control circuit 210.
 制御回路210には、開始信号start以外に、クロック信号CLKも入力されるようになっている。 A clock signal CLK is also input to the control circuit 210 in addition to the start signal start.
 制御回路210は、開始信号startとクロック信号CLKの両方が有効状態になったとき、すなわち立ち上がったときに許可信号alを立ち上げ、開始信号startとクロック信号CLKの両方が立ち下がったときに許可信号alを立ち下げ、他のときには許可信号alの状態を維持する。 The control circuit 210 raises the permission signal al when both the start signal start and the clock signal CLK are enabled, that is, when the signal rises, and permits when both the start signal start and the clock signal CLK fall. The signal al is lowered, and the permission signal al is maintained at other times.
 なお、制御回路210は、図4に示す制御回路110と同様に、C素子により構成される。 In addition, the control circuit 210 is comprised by C element similarly to the control circuit 110 shown in FIG.
 図7は、非同期式回路250における制御モジュール260の回路構成の例を示す。図7に示すように、制御モジュール260は、AND素子261、インバータ262、AND素子264、インバータ265、C素子270を有する。制御回路210からの許可信号alは、AND素子261の片方の入力端と、C素子270の片方の入力端に入力される。インバータ262は、入力端がC素子270の出力端に接続され、出力端がAND素子261の他方の入力端に接続される。C素子170の出力端は、AND素子264の片方の入力端にも接続される。 FIG. 7 shows an example of the circuit configuration of the control module 260 in the asynchronous circuit 250. As shown in FIG. 7, the control module 260 includes an AND element 261, an inverter 262, an AND element 264, an inverter 265, and a C element 270. The permission signal al from the control circuit 210 is input to one input terminal of the AND element 261 and one input terminal of the C element 270. The inverter 262 has an input terminal connected to the output terminal of the C element 270 and an output terminal connected to the other input terminal of the AND element 261. The output terminal of the C element 170 is also connected to one input terminal of the AND element 264.
 AND素子261の出力は、リクエスト信号reqとして演算回路280に出力される。演算回路280からの通知信号ackは、C素子270の他方の入力端と、インバータ265の入力端に入力される。 The output of the AND element 261 is output to the arithmetic circuit 280 as the request signal req. The notification signal ack from the arithmetic circuit 280 is input to the other input terminal of the C element 270 and the input terminal of the inverter 265.
 AND素子264は、C素子270とインバータ265の出力とが入力され、それらの論理積を出力する。この論理積は、制御モジュール260が出力する完了信号outである。 The AND element 264 receives the C element 270 and the output of the inverter 265 and outputs a logical product of them. This logical product is a completion signal out output from the control module 260.
 C素子270は、図3に示すC素子170と同様に、MullerのC素子であり、ここで詳細な説明を省略する。C素子270は、全ての入力値(ここでは許可信号alと通知信号ack)が一致したときにのみ出力がその入力値に遷移する。 The C element 270 is a Muller C element similar to the C element 170 shown in FIG. 3, and a detailed description thereof will be omitted here. The output of the C element 270 transitions to the input value only when all input values (here, the permission signal al and the notification signal ack) match.
 図8は、図6に示す半導体装置200における各信号の遷移を示すタイミングチャートである。なお、半導体装置200の初期状態において、開始信号start信号を除き、図8に示す各信号が「0」であるとする。開始信号startは、完了信号outの反転信号であるため、初期状態においては、「1」である。 FIG. 8 is a timing chart showing transition of each signal in the semiconductor device 200 shown in FIG. In the initial state of the semiconductor device 200, it is assumed that each signal shown in FIG. 8 is “0” except for the start signal start signal. Since the start signal start is an inverted signal of the completion signal out, it is “1” in the initial state.
 タイミングt1において、クロック信号CLKが立ち上がる。これに応じて、タイミングt2において、許可信号alも立ち上がる。これに応じて、タイミングt3において、リクエスト信号reqが立ち上がる。 At time t1, the clock signal CLK rises. In response to this, the permission signal al also rises at timing t2. In response to this, the request signal req rises at timing t3.
 その後、演算回路280による演算が完了し、タイミングt4において、通知信号ackが立ち上がる。これに応じて、タイミングt5において、リクエスト信号reqが立ち下がる。 Thereafter, the calculation by the calculation circuit 280 is completed, and the notification signal ack rises at timing t4. In response to this, the request signal req falls at timing t5.
 その後、演算回路280による初期化が完了し、タイミングt6において、通知信号ackが立ち下がり、完了信号outが立ち上がる。 Thereafter, initialization by the arithmetic circuit 280 is completed, the notification signal ack falls and the completion signal out rises at timing t6.
 完了信号outの立ち下がりに応じて、タイミングt7において、開始信号startが立ち下がる。このとき、開始信号startが「1」から「0」に変わったものの、クロック信号CLKが「1」のままであるので、許可信号alは、相変わらず「1」である。 In response to the fall of the completion signal out, the start signal start falls at timing t7. At this time, although the start signal start has changed from “1” to “0”, the clock signal CLK remains “1”, so the permission signal al is still “1”.
 そして、タイミングt8において、クロック信号CLKが立ち下がる。開始信号startも「0」であるため、タイミングt9において、許可信号alが立ち下がる。 Then, at timing t8, the clock signal CLK falls. Since the start signal start is also “0”, the permission signal al falls at timing t9.
 通知信号ackが「0」であるため、タイミングt9における許可信号alの立ち下がりに応じて、タイミングt10において、完了信号outが立ち下がる。続いて、タイミングt11において、開始信号startが立ち上がる。 Since the notification signal ack is “0”, the completion signal out falls at timing t10 in response to the fall of the permission signal al at timing t9. Subsequently, at timing t11, the start signal start rises.
 その後、タイミングt12において、クロック信号CLKが立ち上がる。開始信号startが「1」であるため、タイミングt13において、許可信号alは、立ち上がる。
 これにて、非同期式回路150は、処理の次回の実行を開始する。
Thereafter, at timing t12, the clock signal CLK rises. Since the start signal start is “1”, the permission signal al rises at timing t13.
As a result, the asynchronous circuit 150 starts the next execution of the process.
 許可信号alの立ち上がりに応じて、タイミングt14において、リクエスト信号reqが立ち上がる。 In response to the rise of the permission signal al, the request signal req rises at timing t14.
 その後、演算回路280による演算が完了し、タイミングt16において、通知信号ackが立ち上がる。これに応じて、タイミングt17において、リクエスト信号reqが立ち下がる。 Thereafter, the calculation by the calculation circuit 280 is completed, and the notification signal ack rises at timing t16. In response to this, the request signal req falls at timing t17.
 その後、演算回路280による初期化が完了し、タイミングt18において、通知信号ackが立ち下がり、完了信号outが立ち上がる。 Thereafter, initialization by the arithmetic circuit 280 is completed, and at timing t18, the notification signal ack falls and the completion signal out rises.
 完了信号outの立ち下がりに応じて、タイミングt20において、開始信号startが立ち下がる。 In response to the fall of the completion signal out, the start signal start falls at timing t20.
 なお、タイミングt18とt20の間のタイミングt19において、クロック信号CLKが立ち下がったが、タイミングt19では、開始信号startがまだ「1」のままであるので、許可信号alは、相変わらず「1」である。 Note that the clock signal CLK fell at the timing t19 between the timings t18 and t20. However, at the timing t19, the start signal “start” is still “1”, so that the permission signal “al” is still “1”. is there.
 タイミング20において開始信号startが立ち下がったため、許可信号alは、タイミング21で立ち下がる。 Since the start signal start falls at timing 20, the permission signal al falls at timing 21.
 その後、完了信号outの立ち下がり、開始信号startの立ち上がりを経て、タイミングt23において、クロック信号CLKが立ち上がり、タイミングt24において、許可信号alは、立ち上がる。
 これにて、非同期式回路150は、処理の次回の実行を開始する。
After that, the falling of the completion signal out and the rising of the start signal start are started, the clock signal CLK rises at the timing t23, and the permission signal al rises at the timing t24.
As a result, the asynchronous circuit 150 starts the next execution of the process.
 図8において、タイミングt14におけるリクエスト信号reqの立ち上がりから、タイミングt3とt4間の長さ(t4-t3)と同様の時間が経過したタイミングは、タイミングt15である。しかし、実際には、通知信号ackが立ち上がったのは、タイミングt15からΔtの分遅れたタイミングt16である。そのため、その後のリクエスト信号reqの立ち下がりも遅くなる。このようなときに、開始信号startが直接入力される通常の非同期式回路では、次回の処理の開始もΔtの分遅くなる。 In FIG. 8, the timing at which the same time as the length (t4-t3) between timings t3 and t4 has elapsed from the rising edge of the request signal req at timing t14 is timing t15. However, actually, the notification signal ack rises at timing t16 delayed by Δt from timing t15. Therefore, the subsequent fall of the request signal req is also delayed. In such a case, in a normal asynchronous circuit to which the start signal start is directly input, the start of the next processing is also delayed by Δt.
 それに対して、本実施の形態の半導体装置200における非同期式回路250では、制御回路210により、非同期式回路250の処理の開始タイミングをクロック信号CLK信号に同期させることにより、上述したようなずれがあっても、今回の処理の開始から次回の処理の開始までの時間(図8における「t13-t2」、「t24-t13」)は、常に、クロック信号CLKの周期「T」である。すなわち、非同期式回路250が担う処理(ここではプロセス)全体からみると、処理速度が一定である。 On the other hand, in the asynchronous circuit 250 in the semiconductor device 200 of the present embodiment, the control circuit 210 synchronizes the processing start timing of the asynchronous circuit 250 with the clock signal CLK signal, thereby causing the above-described shift. Even in this case, the time from the start of the current process to the start of the next process (“t13-t2” and “t24-t13” in FIG. 8) is always the cycle “T” of the clock signal CLK. In other words, the processing speed is constant when viewed from the entire processing (here, the process) performed by the asynchronous circuit 250.
 また、第1の実施の形態の半導体装置100と同様に、非同期式回路の処理速度を一定に保つために必要な回路規模の増大が少ない。
<第3の実施の形態>
Further, similarly to the semiconductor device 100 of the first embodiment, the increase in circuit scale necessary for keeping the processing speed of the asynchronous circuit constant is small.
<Third Embodiment>
 上述した半導体装置100と半導体装置200は、本発明にかかる技術を、1段の非同期式回路により全プロセスを実行する場合に適用した例である。本発明にかかる技術は、1段以上の任意の段数の非同期式回路によりプロセスを実行する場合にも適用することができる。ここで、第3の実施の形態として、本発明にかかる技術を3段の非同期式回路によりプロセスを実行する場合に適用した半導体装置を説明する。また、例として、これらの非同期式回路が2相式の非同期式回路であるとする。 The semiconductor device 100 and the semiconductor device 200 described above are examples in which the technique according to the present invention is applied to the case where all processes are executed by a single-stage asynchronous circuit. The technique according to the present invention can be applied to a case where a process is executed by an asynchronous circuit having an arbitrary number of stages of one or more. Here, as a third embodiment, a semiconductor device to which the technique according to the present invention is applied when a process is executed by a three-stage asynchronous circuit will be described. Further, as an example, these asynchronous circuits are assumed to be two-phase asynchronous circuits.
 図9に示す第3の実施の形態の半導体装置300は、制御回路310と、非同期式回路320、非同期式回路330、非同期式回路340、インバータ120を備える。非同期式回路330は、第1の非同期式回路に該当する。 The semiconductor device 300 according to the third embodiment shown in FIG. 9 includes a control circuit 310, an asynchronous circuit 320, an asynchronous circuit 330, an asynchronous circuit 340, and an inverter 120. The asynchronous circuit 330 corresponds to the first asynchronous circuit.
 非同期式回路320は制御モジュール322と演算回路324を有し、非同期式回路330は制御モジュール332と演算回路334を有し、非同期式回路340は制御モジュール342と演算回路344を有する。これらの非同期式回路に備える制御モジュールは、図1に示す半導体装置100における非同期式回路150の制御モジュール160と同様の動作をするものであり、ここで詳細な説明を省略する。なお、各制御モジュールが出力する信号を区別するために、制御モジュール322が出力する完了信号とラッチ信号をout1とlat1で表記し、制御モジュール332が出力する完了信号とラッチ信号をout2とlat2で表記し、制御モジュール342が出力する完了信号とラッチ信号をout3とlat3で表記する。 The asynchronous circuit 320 has a control module 322 and an arithmetic circuit 324, the asynchronous circuit 330 has a control module 332 and an arithmetic circuit 334, and the asynchronous circuit 340 has a control module 342 and an arithmetic circuit 344. The control modules provided in these asynchronous circuits operate in the same manner as the control module 160 of the asynchronous circuit 150 in the semiconductor device 100 shown in FIG. 1, and detailed description thereof is omitted here. In order to distinguish the signals output by each control module, the completion signal and latch signal output by the control module 322 are denoted by out1 and lat1, and the completion signal and latch signal output by the control module 332 are denoted by out2 and lat2. The completion signal and the latch signal output from the control module 342 are expressed as out3 and lat3.
 通常、2段以上の非同期式回路によりプロセスを実行するこの種の装置では、2段目以降の各非同期式回路は、前段が出力する完了信号を開始信号として入力される。最下段の非同期式回路が出力する完了信号はインバータにより反転されて1段目の非同期式回路の開始信号として1段目の非同期式回路に入力される。なお、最下段の非同期式回路が出力する完了信号は、該非同期式回路自身による処理(基本操作)の今回の実行の完了を示すと共に、プロセスの今回の実行の完了も示す。 Usually, in this type of apparatus that executes a process by an asynchronous circuit having two or more stages, each asynchronous circuit in the second stage and thereafter is input with a completion signal output from the previous stage as a start signal. The completion signal output from the lowest asynchronous circuit is inverted by the inverter and input to the first asynchronous circuit as the start signal of the first asynchronous circuit. Note that the completion signal output from the lowest asynchronous circuit indicates the completion of the current execution of the process (basic operation) by the asynchronous circuit itself and the completion of the current execution of the process.
 本実施の形態の半導体装置300において、通常のこの種の装置の場合と同様に、最下段ここでは3段目の非同期式回路(非同期式回路340)が出力する完了信号out3は、インバータ120により反転されて制御モジュール322に入力される。ここで、インバータ120が出力する信号をendで表記する。この信号endは、非同期式回路320の開始信号になる。 In the semiconductor device 300 of the present embodiment, the completion signal out3 output from the lowest-level asynchronous circuit (asynchronous circuit 340) here is output by the inverter 120 as in the case of this type of normal device. Inverted and input to the control module 322. Here, a signal output from the inverter 120 is denoted by end. This signal end becomes a start signal for the asynchronous circuit 320.
 しかし、本実施の形態の半導体装置300では、1段目の非同期式回路(非同期式回路320)が出力する完了信号out1は次段の非同期式回路に出力されない。図示のように、完了信号out1は、制御回路310に入力される。制御回路310は、完了信号out1と、クロック信号CLKとが入力され、2段目の非同期式回路(非同期式回路330)に許可信号alを出力する。許可信号alは、非同期式回路330にとって、開始信号と同様の作用をする。 However, in the semiconductor device 300 of this embodiment, the completion signal out1 output from the first-stage asynchronous circuit (asynchronous circuit 320) is not output to the next-stage asynchronous circuit. As illustrated, the completion signal out1 is input to the control circuit 310. The control circuit 310 receives the completion signal out1 and the clock signal CLK, and outputs a permission signal al to the second-stage asynchronous circuit (asynchronous circuit 330). The permission signal al acts on the asynchronous circuit 330 in the same manner as the start signal.
 制御回路310は、非同期式回路330による処理(基本操作)の開始タイミングをクロック信号CLKに同期させるものである。入力されるクロック信号CLKの周期が、図1に示す半導体装置100における制御回路110に入力されるクロック信号CLKの周期と異なる点以外、図4に示す制御回路110と同様に、C素子により構成される。 The control circuit 310 synchronizes the start timing of processing (basic operation) by the asynchronous circuit 330 with the clock signal CLK. Similar to the control circuit 110 shown in FIG. 4 except that the cycle of the input clock signal CLK is different from the cycle of the clock signal CLK input to the control circuit 110 in the semiconductor device 100 shown in FIG. Is done.
 また、制御回路310に入力されるクロック信号CLKの周期は、非同期式回路320~非同期式回路340の最大値Tmax以上である。 The cycle of the clock signal CLK input to the control circuit 310 is equal to or greater than the maximum value Tmax of the asynchronous circuit 320 to the asynchronous circuit 340.
 図10は、半導体装置300における各信号の遷移を示すタイミングチャートである。なお、分かりやすいように、図10において、各非同期式回路が出力するラッチ信号の図示を省略している。 FIG. 10 is a timing chart showing the transition of each signal in the semiconductor device 300. For the sake of clarity, in FIG. 10, illustration of the latch signal output by each asynchronous circuit is omitted.
 完了信号out3がタイミングt1で立ち下がるとする。これに応じて、タイミングt2において、信号endが立ち上がる。これにて、非同期式回路320は、処理(プロセスの1つ目の基本操作)を開始し、処理完了のタイミングt3で、完了信号out1を立ち上げる。 Suppose that the completion signal out3 falls at timing t1. In response to this, the signal end rises at the timing t2. As a result, the asynchronous circuit 320 starts processing (first basic operation of the process), and raises the completion signal out1 at the processing completion timing t3.
 タイミングt3において完了信号out1が立ち上がったものの、クロック信号CLKがまだ立ち上がっていないため、許可信号alは、「0」のままである。 Although the completion signal out1 rises at timing t3, the enable signal al remains “0” because the clock signal CLK has not risen yet.
 タイミングt4において、クロック信号CLKが立ち上がる。これに応じて、タイミングt5で許可信号alが立ち上がる。そのため、非同期式回路330は、処理(プロセスの2つ目の基本操作)を開始し、処理完了のタイミングt6で、完了信号out2を立ち上げる。 At time t4, the clock signal CLK rises. In response to this, the permission signal al rises at timing t5. Therefore, the asynchronous circuit 330 starts processing (second basic operation of the process) and raises the completion signal out2 at the processing completion timing t6.
 完了信号out2が、非同期式回路340の開始信号として制御モジュール342に直接入力されるため、タイミングt6において完了信号out2が立ち上がると、非同期式回路340は、処理(プロセスの3つ目すなわち最後の基本操作)を開始し、処理完了のタイミングt7で、完了信号out3を立ち上げる。 Since the completion signal out2 is directly input to the control module 342 as the start signal of the asynchronous circuit 340, when the completion signal out2 rises at the timing t6, the asynchronous circuit 340 performs processing (the third or last basic process). Operation) is started, and the completion signal out3 is raised at the processing completion timing t7.
 タイミングt7における完了信号out3の立ち上がりに応じて、タイミングt8で信号endが立ち下がる。これに応じて、タイミングt9で完了信号out1が立ち下がる。その後、クロック信号CLKが立ち下がるタイミングt10まで、各信号は、変更しない。 In response to the rise of the completion signal out3 at timing t7, the signal end falls at timing t8. In response to this, the completion signal out1 falls at timing t9. Thereafter, each signal is not changed until the timing t10 when the clock signal CLK falls.
 タイミングt10においてクロック信号CLKが立ち下がると、タイミングt11で許可信号alが立ち下がる。その後、完了信号out2、完了信号out3が順次立ち下がり、タイミングt14で信号endが立ち上がる。 When the clock signal CLK falls at the timing t10, the permission signal al falls at the timing t11. Thereafter, the completion signal out2 and the completion signal out3 sequentially fall, and the signal end rises at timing t14.
 各信号は、タイミングt14からタイミングt18まで、タイミングt2からタイミングt14までと同様の遷移をする。このような遷移は、タイミングt18以降も繰り返される。 Each signal makes the same transition from timing t14 to timing t18 and from timing t2 to timing t14. Such a transition is repeated after timing t18.
 このように、本実施の形態の半導体装置300では、制御回路310により、非同期式回路330の処理の開始タイミングをクロック信号CLK信号に同期させることにより、非同期式回路320~340によるプロセスの今回の実行の開始から次回の実行の開始までの時間(図10における「t14-t2」、「t18-t14」)は、常に、クロック信号CLKの周期「T」である。すなわち、非同期式回路320~340が担うプロセス全体からみると、処理速度が一定である。 As described above, in the semiconductor device 300 according to the present embodiment, the control circuit 310 synchronizes the start timing of the processing of the asynchronous circuit 330 with the clock signal CLK signal, so that the current process of the asynchronous circuits 320 to 340 is performed. The time from the start of execution to the start of the next execution (“t14-t2”, “t18-t14” in FIG. 10) is always the cycle “T” of the clock signal CLK. That is, the processing speed is constant when viewed from the whole process that the asynchronous circuits 320 to 340 take.
 また、これを実現するために追加された回路が制御回路310のみであり、回路規模の増大が少ない。
<第4の実施の形態>
Further, only the control circuit 310 is added to realize this, and the increase in circuit scale is small.
<Fourth embodiment>
 上述した第3の実施の形態の半導体装置300は、本発明にかかる技術を、複数段の非同期式回路によりプロセスを実行する場合に適用した例であり、該例において、基本操作の開始タイミングがクロック信号に同期するように制御される非同期式回路(第1の非同期式回路)は、2段目である。 The semiconductor device 300 according to the third embodiment described above is an example in which the technique according to the present invention is applied to a case where a process is executed by a plurality of asynchronous circuits. In this example, the basic operation start timing is The asynchronous circuit (first asynchronous circuit) controlled to synchronize with the clock signal is the second stage.
 複数段の非同期式回路によりプロセスを実行する場合に本発明にかかる技術を適用する際に、第1の非同期式回路は、該複数段の非同期式回路のうちのいずれであってもよい。ここで、第4の実施の形態として、第1の非同期式回路が複数段の非同期式回路の最上段にある半導体装置を説明する。 When applying the technique according to the present invention when a process is executed by a plurality of stages of asynchronous circuits, the first asynchronous circuit may be any of the plurality of stages of asynchronous circuits. Here, as a fourth embodiment, a semiconductor device in which the first asynchronous circuit is at the uppermost stage of a plurality of asynchronous circuits will be described.
 図10は、本発明の第4の実施の形態のCPU400を示す。このCPU400は、CSIC型非同期CPUであり、非同期式制御部402と、データパス部404を有する。 FIG. 10 shows a CPU 400 according to the fourth embodiment of the present invention. The CPU 400 is a CSIC asynchronous CPU, and includes an asynchronous control unit 402 and a data path unit 404.
 非同期式制御部402は、制御回路410と、段階的に接続された5つの制御モジュール(フェッチ制御モジュール422、デコード制御モジュール432、実行制御モジュール442、メモリアクセス制御モジュール452、ライトバック制御モジュール462)と、最下段のライトバック制御モジュール462が出力する完了信号out5を反転して、該反転信号(開始信号start)を制御回路410に出力するインバータ120を有する。各制御モジュールは、データパス部404の後述するフリップフロップ(以下FFという)にラッチ信号を出力する。 Asynchronous control unit 402 includes control circuit 410 and five control modules connected in stages (fetch control module 422, decode control module 432, execution control module 442, memory access control module 452, and write back control module 462). And the inverter 120 that inverts the completion signal out5 output from the lowermost write back control module 462 and outputs the inverted signal (start signal start) to the control circuit 410. Each control module outputs a latch signal to a later-described flip-flop (hereinafter referred to as FF) of the data path unit 404.
 データパス部404は、メモリ406と、FF424、演算回路434、FF435、演算回路444、FF445、演算回路454、FF455、演算回路464、FF465を有する。 The data path unit 404 includes a memory 406, an FF 424, an arithmetic circuit 434, an FF 435, an arithmetic circuit 444, an FF 445, an arithmetic circuit 454, an FF 455, an arithmetic circuit 464, and an FF 465.
 フェッチ制御モジュール422とFF424は、1段目の非同期式回路(非同期式回路420)を構成する。該非同期式回路420は、メモリ406から命令をフェッチする処理を行う。 The fetch control module 422 and the FF 424 constitute a first-stage asynchronous circuit (asynchronous circuit 420). The asynchronous circuit 420 performs processing for fetching an instruction from the memory 406.
 デコード制御モジュール432、演算回路434、FF435は、2段目の非同期式回路(非同期式回路430)を構成する。非同期式回路430は、非同期式回路420がフェッチした命令をデコードする処理を行う。 The decode control module 432, the arithmetic circuit 434, and the FF 435 constitute a second-stage asynchronous circuit (asynchronous circuit 430). The asynchronous circuit 430 performs processing for decoding the instruction fetched by the asynchronous circuit 420.
 実行制御モジュール442、演算回路444、FF445は、3段目の非同期式回路(非同期式回路440)を構成する。非同期式回路440は、非同期式回路430がデコードした命令を実行する処理を行う。 The execution control module 442, the arithmetic circuit 444, and the FF 445 constitute a third-stage asynchronous circuit (asynchronous circuit 440). The asynchronous circuit 440 performs processing for executing the instruction decoded by the asynchronous circuit 430.
 メモリアクセス制御モジュール452、演算回路454、FF455は、4段目の非同期式回路(非同期式回路450)を構成する。非同期式回路450は、命令の実行に伴った、アクセス対象(例えば図示しない周辺モジュール内のフリップフロップなど)へのアクセスを行う。 The memory access control module 452, the arithmetic circuit 454, and the FF 455 constitute a fourth-stage asynchronous circuit (asynchronous circuit 450). The asynchronous circuit 450 accesses an access target (for example, a flip-flop in a peripheral module (not shown)) in accordance with the execution of the instruction.
 ライトバック制御モジュール462、演算回路464、FF465は、最下段の5段目の非同期式回路(非同期式回路460)を構成する。非同期式回路460は、命令の実行の完了に伴うライトバックを行う。 The write-back control module 462, the arithmetic circuit 464, and the FF 465 configure a fifth-stage asynchronous circuit (asynchronous circuit 460). Asynchronous circuit 460 performs write back upon completion of instruction execution.
 各非同期式回路は、自身の処理(基本操作)が完了すると、自身が出力する完了信号を立ち上げる。 Each asynchronous circuit raises a completion signal that it outputs when its processing (basic operation) is completed.
 2段目以降の各非同期式回路すなわち非同期式回路430~460は、前段の非同期式回路が出力する完了信号(out1~out4)が直接入力され、該完了信号が立ち上がったときに、自身による処理(基本操作)を開始する。 Asynchronous circuits 430 to 460 in the second and subsequent stages are processed by themselves when the completion signals (out1 to out4) output by the asynchronous circuits in the previous stage are directly input and the completion signals rise. Start (basic operation).
 本実施の形態において、1段目の非同期式回路420は、第1の非同期式回路であり、その処理の開始タイミングが、制御回路410によりクロック信号CLKに同期するように制御されている。 In this embodiment, the first-stage asynchronous circuit 420 is a first asynchronous circuit, and the start timing of the process is controlled by the control circuit 410 so as to be synchronized with the clock signal CLK.
 制御回路410は、クロック信号CLKと、インバータ120からの開始信号startが入力され、許可信号alを非同期式回路420に出力するC素子である。制御回路410に入力されるクロック信号CLKの周期は、非同期式回路420~非同期式回路460の最大値Tmax以上である。 The control circuit 410 is a C element that receives the clock signal CLK and the start signal start from the inverter 120 and outputs the permission signal al to the asynchronous circuit 420. The cycle of the clock signal CLK input to the control circuit 410 is equal to or greater than the maximum value Tmax of the asynchronous circuit 420 to the asynchronous circuit 460.
 また、フェッチ制御モジュール422~ライトバック制御モジュール462は、2相式の制御を行うものであり、例えば図2に示す制御モジュール160と同様の回路構成を有する。 Further, the fetch control module 422 to the write back control module 462 perform two-phase control, and have a circuit configuration similar to that of the control module 160 shown in FIG. 2, for example.
 図12は、CPU400における各信号の遷移を示すタイミングチャートである。初期状態において、開始信号startを除き、各信号の値が「0」である。 FIG. 12 is a timing chart showing the transition of each signal in the CPU 400. In the initial state, the value of each signal is “0” except for the start signal start.
 タイミングt1においてクロック信号CLKが立ち上がる。このとき、開始信号startが「1」であるため、タイミングt2において、許可信号alが立ち上がる。これにて、非同期式回路420の稼働相が開始する。そして、タイミングt3におけるラッチ信号lat1の立ち上がりの後、タイミングt4において、ラッチ信号lat1が立ち下がり、完了信号out1が立ち上がる。これにて、非同期式回路420の休止相が開始し、非同期式回路430の稼働相が開始する。 At time t1, the clock signal CLK rises. At this time, since the start signal start is “1”, the permission signal al rises at timing t2. As a result, the operating phase of the asynchronous circuit 420 starts. Then, after the rise of the latch signal lat1 at the timing t3, the latch signal lat1 falls and the completion signal out1 rises at the timing t4. As a result, the pause phase of the asynchronous circuit 420 starts and the operating phase of the asynchronous circuit 430 starts.
 次いで、タイミングt5におけるラッチ信号lat2の立ち上がりの後、タイミングt6において、ラッチ信号lat2が立ち下がり、完了信号out2が立ち上がる。これにて、非同期式回路430の休止相が開始し、非同期式回路440の稼働相が開始する。 Next, after the rise of the latch signal lat2 at timing t5, the latch signal lat2 falls and the completion signal out2 rises at timing t6. As a result, the pause phase of the asynchronous circuit 430 starts and the operating phase of the asynchronous circuit 440 starts.
 そして、タイミングt7におけるラッチ信号lat3の立ち上がりの後、タイミングt8において、ラッチ信号lat3が立ち下がり、完了信号out3が立ち上がる。これにて、非同期式回路440の休止相が開始し、非同期式回路450の稼働相が開始する。 Then, after the rise of the latch signal lat3 at timing t7, the latch signal lat3 falls and the completion signal out3 rises at timing t8. As a result, the asynchronous phase of the asynchronous circuit 440 starts and the active phase of the asynchronous circuit 450 starts.
 次いで、タイミングt9におけるラッチ信号lat4の立ち上がりの後、タイミングt10において、ラッチ信号lat4が立ち下がり、完了信号out4が立ち上がる。これにて、非同期式回路450の休止相が開始し、非同期式回路460の稼働相が開始する。 Next, after the rise of the latch signal lat4 at timing t9, the latch signal lat4 falls and the completion signal out4 rises at timing t10. As a result, the pause phase of the asynchronous circuit 450 starts and the operating phase of the asynchronous circuit 460 starts.
 そして、タイミングt11におけるラッチ信号lat5の立ち上がりの後、タイミングt12において、ラッチ信号lat5が立ち下がり、完了信号out5が立ち上がる。これに応じて、タイミングt13において、開始信号startが立ち下がる。 Then, after the rise of the latch signal lat5 at timing t11, the latch signal lat5 falls and the completion signal out5 rises at timing t12. In response to this, the start signal start falls at timing t13.
 また、図12から分かるように、タイミングt13の前にクロック信号CLKが立ち下がっている。クロック信号CLKが立ち下がったとき、開始信号startがまだ「1」のままであるので、許可信号alが「1」のままである。 As can be seen from FIG. 12, the clock signal CLK falls before the timing t13. When the clock signal CLK falls, since the start signal start is still “1”, the permission signal al remains “1”.
 タイミングt13において開始信号startが立ち下がると、制御回路410の2つの入力(クロック信号CLK、開始信号start)とも「0」になったため、タイミングt14において、許可信号alが立ち下がる。その後、完了信号out1、完了信号out2、完了信号out3、out4、out5も順次立ち下がる。その結果、タイミングt20において、開始信号startが立ち上がる。 When the start signal start falls at the timing t13, the two inputs (clock signal CLK, start signal start) of the control circuit 410 become “0”, so that the permission signal al falls at the timing t14. Thereafter, the completion signal out1, the completion signal out2, and the completion signals out3, out4, and out5 also sequentially fall. As a result, the start signal start rises at the timing t20.
 開始信号startが直接1段目の非同期式回路に入力される通常の非同期式CPUでは、タイミングt20における開始信号startの立ち上がりにより1段目の非同期式回路が処理の次回の実行を開始するが、CPU400では、図12に示すように、タイミングt20において開始信号startが立ちあがっても、許可信号alが立ち上がらず、1段目の非同期式回路420は、休止相のままである。 In a normal asynchronous CPU in which the start signal start is directly input to the first stage asynchronous circuit, the first stage asynchronous circuit starts the next execution of processing by the rising edge of the start signal start at timing t20. In the CPU 400, as shown in FIG. 12, even if the start signal start rises at the timing t20, the permission signal al does not rise, and the first-stage asynchronous circuit 420 remains in a pause phase.
 その後、タイミングt21においてクロック信号CLKが立ち上がる。制御回路410の2つの入力とも「1」になったため、タイミングt22において、許可信号alが立ち上がる。これにて、非同期式回路420が処理の次回の実行を開始する。なお、非同期式回路420が1段目の非同期式回路であるため、タイミングt22は、非同期式回路420~460により実行されるプロセスの次回の開始タイミングでもある。 Thereafter, the clock signal CLK rises at timing t21. Since the two inputs of the control circuit 410 are both “1”, the permission signal al rises at timing t22. As a result, the asynchronous circuit 420 starts the next execution of the process. Since the asynchronous circuit 420 is the first stage asynchronous circuit, the timing t22 is also the next start timing of the processes executed by the asynchronous circuits 420 to 460.
 タイミングt1からタイミングt21までにおける各信号の遷移は、タイミングt21からも繰り返される。このようにして、図12から分かるように、プロセスの今回の実行開始から次回の実行開始までの時間(「t22-2」)は、常に、クロック信号CLKの周期Tと同様の長さに保たれる。すなわち、非同期式回路420~450が担うプロセス全体からみると、処理速度が一定である。 The transition of each signal from timing t1 to timing t21 is repeated from timing t21. In this way, as can be seen from FIG. 12, the time from the start of execution of the process to the start of the next execution (“t22-2”) is always maintained at the same length as the cycle T of the clock signal CLK. Be drunk. In other words, the processing speed is constant when viewed from the whole process of the asynchronous circuits 420 to 450.
 また、これを実現するために追加された回路が制御回路410のみであり、回路規模の増大が少ない。
<第5の実施の形態>
Further, only the control circuit 410 is added to realize this, and the increase in circuit scale is small.
<Fifth embodiment>
 図13は、本発明の第5の実施の形態にかかるプロセッサ500を示す。プロセッサ500は、図11に示すCPU400と、周辺モジュール510を備える。周辺モジュール510は、例えば、A/Dコンバータやタイマなど、通常のプロセッサに備えられるものであり、データを格納するフリップフロップ(FF)512を備える。クロック信号CLKは、周辺モジュール510にも供される。 FIG. 13 shows a processor 500 according to the fifth embodiment of the present invention. The processor 500 includes a CPU 400 and a peripheral module 510 shown in FIG. The peripheral module 510 is provided in a normal processor such as an A / D converter or a timer, and includes a flip-flop (FF) 512 that stores data. The clock signal CLK is also provided to the peripheral module 510.
 メモリ406には、図示しないメモリライタなどにより予め命令が書き込まれている。非同期式回路420が行うフェッチのフェッチアドレスは、非同期式制御部402内の図示しないレジスタの値によって決まる。 Instructions are previously written in the memory 406 by a memory writer (not shown). The fetch address of the fetch performed by the asynchronous circuit 420 is determined by the value of a register (not shown) in the asynchronous control unit 402.
 フェッチフェーズにおいて非同期式回路420がメモリ406からフェッチしたアドレスが周辺モジュール510に対するリード命令である場合に、実行フェーズにおいて、非同期式回路440における演算回路444は、データアドレスDARをアクセス対象の周辺モジュール510に出力する。これに応じて周辺モジュール510からリードデータRDが出力される。そして、メモリアクセスフェーズで、リードデータRDは、非同期式回路450の演算回路454によりFF455に書き込まれる。 When the address fetched from the memory 406 by the asynchronous circuit 420 in the fetch phase is a read instruction for the peripheral module 510, the arithmetic circuit 444 in the asynchronous circuit 440 in the execution phase uses the data module DAR as the access target peripheral module 510. Output to. In response to this, the read data RD is output from the peripheral module 510. In the memory access phase, the read data RD is written into the FF 455 by the arithmetic circuit 454 of the asynchronous circuit 450.
 また、フェッチフェーズにおいて非同期式回路420がメモリ406からフェッチしたアドレスが周辺モジュール510に対するライト命令である場合に、実行フェーズにおいて、非同期式回路440における演算回路444は、データアドレスDARとライトデータWDを周辺モジュール510に出力する。そして、クロック信号CLKの立上りタイミングで該ライトデータWDは周辺モジュール510のFF512に書き込まれる。 Further, when the address fetched from the memory 406 by the asynchronous circuit 420 in the fetch phase is a write instruction for the peripheral module 510, the arithmetic circuit 444 in the asynchronous circuit 440 receives the data address DAR and the write data WD in the execution phase. Output to the peripheral module 510. Then, the write data WD is written to the FF 512 of the peripheral module 510 at the rising timing of the clock signal CLK.
 本第5の実施の形態にかかるプロセッサ500は、第4の実施の形態にかかるCPU400を適用したものであり、CPU400のときに説明した全ての効果を得ることができる。
<第6の実施の形態>
The processor 500 according to the fifth embodiment applies the CPU 400 according to the fourth embodiment, and can obtain all the effects described in the case of the CPU 400.
<Sixth Embodiment>
 図14は、本発明の第6の実施の形態にかかる半導体装置600を示す。半導体装置600は、第2のパルス信号生成回路610をさらに備え、制御回路110が、クロック信号CLKの代わりに第2のパルス信号生成回路610からの第2のパルス信号PLS2が入力される点を除き、図1に示す半導体装置100と同様である。そのため、半導体装置600については、第2のパルス信号生成回路610のみを詳細に説明する。 FIG. 14 shows a semiconductor device 600 according to the sixth embodiment of the present invention. The semiconductor device 600 further includes a second pulse signal generation circuit 610, and the control circuit 110 receives the second pulse signal PLS2 from the second pulse signal generation circuit 610 instead of the clock signal CLK. Except for this, the semiconductor device 100 is the same as the semiconductor device 100 shown in FIG. Therefore, for the semiconductor device 600, only the second pulse signal generation circuit 610 will be described in detail.
 第2のパルス信号生成回路610は、クロック信号CLKと、開始信号start、許可信号alが入力され、制御回路110に第2のパルス信号PLS2を出力する。 The second pulse signal generation circuit 610 receives the clock signal CLK, the start signal start, and the permission signal al, and outputs the second pulse signal PLS2 to the control circuit 110.
 第2のパルス信号生成回路610は、許可信号alが立ち上がる回数をカウントし、カウントした回数Nが設定された回数N以下であるときに開始信号startを第2のパルス信号PLS2として出力する。一方、カウントした回数が回数Nになったときに、クロック信号CLKを第2のパルス信号PLS2として出力すると共に、カウントした回数を0に戻す。 The second pulse signal generation circuit 610 counts the number of times the permission signal al rises, and outputs the start signal start as the second pulse signal PLS2 when the counted number N is equal to or less than the set number N. On the other hand, when the counted number reaches the number N, the clock signal CLK is output as the second pulse signal PLS2, and the counted number is returned to zero.
 具体的には、図14に示すように、第2のパルス信号生成回路610は、回数設定レジスタ612、カウンタ614、比較器616、セレクタ618を備える。 Specifically, as shown in FIG. 14, the second pulse signal generation circuit 610 includes a number setting register 612, a counter 614, a comparator 616, and a selector 618.
 回数設定レジスタ612は、上記回数Nを設定するためのものである。
 カウンタ614は、ダウンカウンタであり、回数設定レジスタ612に設定された回数Nから0までのカウントダウンを繰り返し行う。カウンタ614は、許可信号alが立上りエッジになる度に1つカウントダウンし、カウント値が0までなったら、再び回数Nからカウントする。
The number setting register 612 is for setting the number N.
The counter 614 is a down counter and repeatedly counts down from the number N set to 0 in the number setting register 612. The counter 614 counts down by one every time the permission signal al becomes a rising edge, and starts counting from the number N again when the count value reaches zero.
 比較器616は、カウンタ614のカウント値と0を比較し、カウント値が0であるか否かを示す比較結果をセレクタ618に出力する。 The comparator 616 compares the count value of the counter 614 with 0, and outputs a comparison result indicating whether the count value is 0 to the selector 618.
 セレクタ618は、比較器616からの比較結果に応じて、カウンタ614のカウント値が0以外であるときに開始信号startを、カウント値が0になったときにクロック信号CLKを選択して第2のパルス信号PLS2として制御回路110に出力する。 The selector 618 selects the start signal start when the count value of the counter 614 is other than 0, and selects the clock signal CLK when the count value becomes 0, in accordance with the comparison result from the comparator 616. The pulse signal PLS2 is output to the control circuit 110.
 制御回路110は、第2のパルス信号PLS2と開始信号startの両方とも立ち上がったときに許可信号alを立ち上げ、第2のパルス信号PLS2と開始信号startの両方とも立ち下がったときに許可信号alを立ち下げ、他のときには許可信号alの状態を維持する。 The control circuit 110 raises the permission signal al when both the second pulse signal PLS2 and the start signal start rise, and allows the permission signal al when both the second pulse signal PLS2 and the start signal start fall. And the state of the permission signal al is maintained at other times.
 図15は、半導体装置600における各信号の遷移を示すタイミングチャートの例を示す。この例において、回数設定レジスタ612に設定された回数Nが3であるとする。 FIG. 15 shows an example of a timing chart showing transition of each signal in the semiconductor device 600. In this example, it is assumed that the number of times N set in the number-of-times setting register 612 is 3.
 図示のように、タイミングt1において、カウンタ614のカウント値が初期値の0であるため、第2のパルス信号PLS2は、クロック信号CLKの立上りに応じて立ち上がる。 As shown in the figure, since the count value of the counter 614 is 0 as the initial value at the timing t1, the second pulse signal PLS2 rises in response to the rise of the clock signal CLK.
 このとき、開始信号startも立ち上がっているため、制御回路110は、許可信号alを立ち上げる。許可信号alの立ち上がりに応じて、カウンタ614のカウント値は、3になる。 At this time, since the start signal start also rises, the control circuit 110 raises the permission signal al. The count value of the counter 614 becomes 3 in response to the rise of the permission signal al.
 その後、カウンタ614のカウント値が0になるタイミングt5まで、第2のパルス信号PLS2は、開始信号startと同様である。 Thereafter, the second pulse signal PLS2 is the same as the start signal start until timing t5 when the count value of the counter 614 becomes 0.
 すなわち、タイミングt5までに非同期式回路150が開始した3回の処理のうちに、1回目の開始タイミングは、クロック信号CLKに同期されている、一方、2回目と3回目の開始タイミングは、クロック信号CLKに同期されておらず、非同期式回路150は、制御回路110が設けられていない通常の非同期動作をする。以下、開始タイミングがクロック信号CLKに同期されている場合を「同期モード」といい、開始タイミングがクロック信号CLKに同期されていない場合を「非同期モード」という。 That is, among the three processes started by the asynchronous circuit 150 by the timing t5, the first start timing is synchronized with the clock signal CLK, while the second and third start timings are the clocks. The asynchronous circuit 150 is not synchronized with the signal CLK, and performs a normal asynchronous operation in which the control circuit 110 is not provided. Hereinafter, the case where the start timing is synchronized with the clock signal CLK is referred to as “synchronous mode”, and the case where the start timing is not synchronized with the clock signal CLK is referred to as “asynchronous mode”.
 タイミングt5における許可信号alの立上りに応じてカウンタ614のカウント値が0になる。そのため、第2のパルス信号PLS2は、クロック信号CLKに変る。従って、タイミングt6においてクロック信号CLKが立ち下がったときに、開始信号startがまだ立ち下がっていないものの、第2のパルス信号PLS2は、立ち下がる。 The count value of the counter 614 becomes 0 in response to the rise of the permission signal al at the timing t5. Therefore, the second pulse signal PLS2 changes to the clock signal CLK. Therefore, when the clock signal CLK falls at the timing t6, the second pulse signal PLS2 falls although the start signal start has not yet fallen.
 これにより、非同期式回路150が行う4回目の処理の開始タイミングは、クロック信号CLKの立上りに同期され、タイミングt9となる。 Thereby, the start timing of the fourth process performed by the asynchronous circuit 150 is synchronized with the rising edge of the clock signal CLK and becomes timing t9.
 その後も同様に、非同期式回路150による各3回の処理のうちに、1回目の開始タイミングはクロック信号CLKの立上りに同期され、2回目と3回目の開始タイミングは、クロック信号CLKに同期されないようになっている。 After that, similarly, in each of the three processes by the asynchronous circuit 150, the first start timing is synchronized with the rising edge of the clock signal CLK, and the second and third start timings are not synchronized with the clock signal CLK. It is like that.
 非同期式回路による処理の開始タイミングをクロック信号CLKに同期させることにより非同期式回路による処理の速度を一定にすることができるが、処理の速度が遅くなるという問題がある。また、非同期式回路は、その用途によって、毎回の処理の開始タイミングをクロック信号CLKに同期させるほどの精度が要求されない可能性もある。 The processing speed by the asynchronous circuit can be made constant by synchronizing the start timing of the processing by the asynchronous circuit with the clock signal CLK, but there is a problem that the processing speed becomes slow. In addition, there is a possibility that the asynchronous circuit is not required to have an accuracy enough to synchronize the start timing of each process with the clock signal CLK depending on the application.
 本実施の形態の半導体装置600は、第2のパルス信号生成回路610が設けられることによって、回数設定レジスタ612に設定される回数Nを変更することにより非同期式回路150の処理速度の調整精度を変更可能である。 In the semiconductor device 600 of this embodiment, by providing the second pulse signal generation circuit 610, the processing speed adjustment accuracy of the asynchronous circuit 150 is increased by changing the number N set in the number setting register 612. It can be changed.
 例えば、処理速度が重視されるシステムに適用する場合には、回数Nを大きい値に設定することにより非同期モードの割合を多くし、処理速度の安定性が重視されるシステムに適用する場合には、回数Nを小さい値に設定することにより同期モードの割合を多くすればよい。 For example, when applying to a system in which processing speed is important, by setting the number of times N to a large value, the proportion of the asynchronous mode is increased, and in applying to a system in which processing speed stability is important. The ratio of the synchronous mode may be increased by setting the number N to a small value.
 また、半導体装置600では、非同期式回路150を同期モードのみまたは非同期モードのみで動作させることも可能である。 In the semiconductor device 600, the asynchronous circuit 150 can be operated only in the synchronous mode or only in the asynchronous mode.
 非同期式回路150を同期モードのみで動作させる場合には、回数設定レジスタ612に回数Nとして0を設定すればよい。 When the asynchronous circuit 150 is operated only in the synchronous mode, 0 may be set in the number setting register 612 as the number N.
 また、非同期式回路150を非同期モードのみで動作させる場合には、回数設定レジスタ612に1以上の回数Nを設定すると共に、カウンタ614を制御するイネーブル信号ENを0にしてカウンタ614によるカウントダウンをさせないようにすればよい。この場合、カウンタ614のカウント値が常に1以上となるNであるため、非同期式回路150は、常に非同期モードで動作する。
<第7の実施の形態>
When the asynchronous circuit 150 is operated only in the asynchronous mode, the number setting register 612 is set to 1 or more times N, and the enable signal EN for controlling the counter 614 is set to 0 so that the counter 614 does not count down. What should I do? In this case, since the count value of the counter 614 is always N which is 1 or more, the asynchronous circuit 150 always operates in the asynchronous mode.
<Seventh embodiment>
 以上に説明した第1から第5の各実施の形態において、制御回路に入力されるクロック信号CLKの周期が最大値Tmax以上であり、開始信号startは、必ずクロック信号CLKが無効状態(立ち下がった状態)であるときに立ち上がる。そのため、クロック信号CLKが立ち上がったときに、開始信号startが既に立ち上がっており、制御回路は、クロック信号CLKが立ち上がる度に許可信号alを立ち上げる。その結果、非同期式回路によるプロセスの処理時間を一定にしている。また、第6の実施の形態においても、同期モードのみで非同期式回路150を動作させる場合に関しても同様である。 In each of the first to fifth embodiments described above, the cycle of the clock signal CLK input to the control circuit is greater than or equal to the maximum value Tmax, and the start signal start is always in an invalid state (falling down). Stand up when Therefore, when the clock signal CLK rises, the start signal start has already risen, and the control circuit raises the permission signal al every time the clock signal CLK rises. As a result, the processing time of the process by the asynchronous circuit is made constant. The same applies to the sixth embodiment when the asynchronous circuit 150 is operated only in the synchronous mode.
 しかし、例えばシステムの他の機能ブロックとの整合性などの制約から、クロック信号CLKの周期を最大値Tmax以上にすることができない場合に、プロセスの今回の開始から、次回の開始までの時間がクロック信号CLKの周期すなわち1サイクル長を超えてしまう。図16のタイミングチャートを参照してこの場合の問題点を説明する。なお、第1の実施の形態にかかる半導体装置100を例にする。 However, for example, when the period of the clock signal CLK cannot be set to the maximum value Tmax or more due to constraints such as consistency with other functional blocks of the system, the time from the start of the process to the next start The period of the clock signal CLK, that is, one cycle length is exceeded. The problem in this case will be described with reference to the timing chart of FIG. The semiconductor device 100 according to the first embodiment is taken as an example.
 図16に示すように、タイミングt4でクロック信号CLKが立ち上がったときに、開始信号startがまだ立ち上がっていないため、許可信号alも立ち下がったままである。その後、タイミングt5で開始信号startが立上り、それに応じて許可信号alも立ち上がる。非同期式回路150による1回目の処理の開始タイミング(タイミングt2)と、2回目の処理の開始タイミング(タイミングt6)間の長さは、T1である。 As shown in FIG. 16, when the clock signal CLK rises at the timing t4, the start signal start has not yet risen, so that the permission signal al also falls. Thereafter, the start signal start rises at timing t5, and the permission signal al rises accordingly. The length between the start timing (timing t2) of the first process by the asynchronous circuit 150 and the start timing (timing t6) of the second process is T1.
 その後、タイミングt7における許可信号alの立下りに応じてタイミングt9で開始信号startは立ち上がる。このとき、クロック信号CLKが既に立ち上がっているため、タイミングt10において、許可信号alも立ち上がる。非同期式回路150による2回目の処理の開始タイミング(タイミングt6)と、3回目の処理の開始タイミング(タイミングt10)間の長さは、T2である。 Thereafter, the start signal start rises at timing t9 in response to the fall of the permission signal al at timing t7. At this time, since the clock signal CLK has already risen, the permission signal al also rises at timing t10. The length between the start timing (timing t6) of the second process by the asynchronous circuit 150 and the start timing (timing t10) of the third process is T2.
 続いて、開始信号startは、クロック信号CLKの立上り後のタイミングt11で立ち下がり、クロック信号CLKの立下り後のタイミングt13で立ち上がる。しかし、許可信号alは、クロック信号CLKの再びの立上り後のタイミングt14で立ち上がる。非同期式回路150による3回目の処理の開始タイミング(タイミングt10)と、4回目の処理の開始タイミング(タイミングt14)間の長さは、T3である。 Subsequently, the start signal start falls at a timing t11 after the rise of the clock signal CLK, and rises at a timing t13 after the fall of the clock signal CLK. However, the permission signal al rises at timing t14 after the rising of the clock signal CLK again. The length between the start timing (timing t10) of the third process by the asynchronous circuit 150 and the start timing (timing t14) of the fourth process is T3.
 図16から分かるように、この場合においても非同期式回路150が動作可能であるものの、非同期式回路150の処理速度がばらつき、安定しないという問題がある。 As can be seen from FIG. 16, although the asynchronous circuit 150 can operate even in this case, there is a problem that the processing speed of the asynchronous circuit 150 varies and is not stable.
 本願発明者は、この問題を解決するための手法を確立した。図17に示す第7の実施の形態にかかる半導体装置700を用いて、この手法を説明する。 The inventor of the present application has established a method for solving this problem. This technique will be described using a semiconductor device 700 according to the seventh embodiment shown in FIG.
 半導体装置700は、第1のパルス信号生成回路710をさらに備え、制御回路110が、クロック信号CLKの代わりに第1のパルス信号生成回路710からの第1のパルス信号PLS1が入力される点を除き、図1に示す半導体装置100と同様である。そのため、半導体装置700については、第1のパルス信号生成回路710のみを詳細に説明する。 The semiconductor device 700 further includes a first pulse signal generation circuit 710, and the control circuit 110 receives the first pulse signal PLS1 from the first pulse signal generation circuit 710 instead of the clock signal CLK. Except for this, the semiconductor device 100 is the same as the semiconductor device 100 shown in FIG. Therefore, for the semiconductor device 700, only the first pulse signal generation circuit 710 will be described in detail.
 第1のパルス信号生成回路710は、クロック信号CLKと開始信号startが入力され、制御回路110に第1のパルス信号PLS1を出力する。第1のパルス信号生成回路710は、フリップフロップ(FF)712、遅延回路714、AND素子716を備える。 The first pulse signal generation circuit 710 receives the clock signal CLK and the start signal start, and outputs the first pulse signal PLS1 to the control circuit 110. The first pulse signal generation circuit 710 includes a flip-flop (FF) 712, a delay circuit 714, and an AND element 716.
 FF712は、クロック信号CLKの立上りに開始信号startをラッチすると共に、ラッチした信号を、クロック信号CLKの次の立上りまでAND素子716に出力し続ける。FF712が出力する信号を以下「信号S1」という。 The FF 712 latches the start signal start at the rising edge of the clock signal CLK and continues to output the latched signal to the AND element 716 until the next rising edge of the clock signal CLK. The signal output from the FF 712 is hereinafter referred to as “signal S1”.
 遅延回路714は、クロック信号CLKを遅延させてからAND素子716に出力する。遅延回路714は、FF712がラッチの開始から、ラッチした信号の出力までの遅延時間以上の遅延量を有する。遅延回路714が出力する信号を以下「遅延クロック信号S2」という。 The delay circuit 714 delays the clock signal CLK and outputs it to the AND element 716. The delay circuit 714 has a delay amount equal to or longer than the delay time from the start of latching by the FF 712 to the output of the latched signal. The signal output from the delay circuit 714 is hereinafter referred to as “delayed clock signal S2”.
 AND素子716は、信号S1と遅延クロック信号S2の論理積を得て制御回路110に出力する。この論理積は、第1のパルス信号PLS1である。 The AND element 716 obtains a logical product of the signal S1 and the delayed clock signal S2, and outputs the logical product to the control circuit 110. This logical product is the first pulse signal PLS1.
 なお、制御回路110は、第1のパルス信号PLS1と開始信号startの両方とも立ち上がったときに許可信号alを立ち上げ、第1のパルス信号PLS1と開始信号startの両方とも立ち下がったときに許可信号alを立ち下げ、他のときには許可信号alの状態を維持する。 Note that the control circuit 110 raises the permission signal al when both the first pulse signal PLS1 and the start signal start rise, and permits when both the first pulse signal PLS1 and the start signal start fall. The signal al is lowered, and the permission signal al is maintained at other times.
 図18は、半導体装置700における各信号の遷移を示すタイミングチャートの例である。 FIG. 18 is an example of a timing chart showing the transition of each signal in the semiconductor device 700.
 図18に示すように、タイミングt5でクロック信号CLKが立ち上がったときに、開始信号startが立ち下がっているため、FF712が出力する信号S1は、立ち下がる。 As shown in FIG. 18, since the start signal start falls when the clock signal CLK rises at timing t5, the signal S1 output from the FF 712 falls.
 そのため、タイミングt6で開始信号startが立ち上がったときに、クロック信号CLKが立ち上がっているものの、信号S1が立ち下がっているため、第1のパルス信号PLS1は、立ち上がらない。従って、許可信号alも立ち上がらない。 Therefore, when the start signal start rises at timing t6, the clock signal CLK rises, but the signal S1 falls, so the first pulse signal PLS1 does not rise. Therefore, the permission signal al does not rise.
 その後、タイミングt7でクロック信号CLKが再び立ち上がったときに、開始信号startが立ち上がっているため、信号S1と第1のパルス信号PLS1は、立ち上がる。これに応じて、タイミングt8で、許可信号alは、立ち上がる。 Thereafter, when the clock signal CLK rises again at the timing t7, the signal S1 and the first pulse signal PLS1 rise because the start signal start rises. In response to this, the permission signal al rises at timing t8.
 非同期式回路150による1回目の処理の開始タイミング(タイミングt2)と、2回目の処理の開始タイミング(タイミングt8)間の長さT1は、クロック信号CLKの周期Tの2倍である。 The length T1 between the start timing (timing t2) of the first process by the asynchronous circuit 150 and the start timing (timing t8) of the second process is twice the cycle T of the clock signal CLK.
 その後も同様に、タイミングt9でクロック信号CLKが立ち上がったときに、開始信号startが立ち下がっているため、FF712が出力する信号S1は、立ち下がる。 Similarly, since the start signal start falls when the clock signal CLK rises at the timing t9, the signal S1 output from the FF 712 falls.
 そのため、タイミングt10で開始信号startが立ち上がったときに、クロック信号CLKが立ち上がっているものの、信号S1が立ち下がっているため、第1のパルス信号PLS1は、立ち上がらない。従って、許可信号alも立ち上がらない。 Therefore, when the start signal start rises at timing t10, the clock signal CLK rises, but the signal S1 falls, so the first pulse signal PLS1 does not rise. Therefore, the permission signal al does not rise.
 そして、タイミングt11でクロック信号CLKが再び立ち上がったときに、開始信号startが立ち上がっているため、信号S1と第1のパルス信号PLS1は、立ち上がる。これに応じて、タイミングt12で、許可信号alは、立ち上がる。 Then, when the clock signal CLK rises again at the timing t11, the signal S1 and the first pulse signal PLS1 rise because the start signal start rises. In response to this, the permission signal al rises at timing t12.
 非同期式回路150による2回目の処理の開始タイミング(タイミングt8)と、3回目の処理の開始タイミング(タイミングt12)間の長さT2も、クロック信号CLKの周期Tの2倍である。 The length T2 between the start timing (timing t8) of the second process by the asynchronous circuit 150 and the start timing (timing t12) of the third process is also twice the cycle T of the clock signal CLK.
 図19は、半導体装置700における各信号の遷移を示すタイミングチャートの別の例である。 FIG. 19 is another example of a timing chart showing the transition of each signal in the semiconductor device 700.
 図19に示すように、タイミングt4でクロック信号CLKが立ち上がったときに、開始信号startがまだ立ち上がっているため、FF712が出力する信号S1は、立ち上がったままになる。そのため、第1のパルス信号PLS1は、立ち上がる。なお、許可信号alは、立ち上がったままである。 As shown in FIG. 19, when the clock signal CLK rises at timing t4, the start signal start is still rising, so the signal S1 output from the FF 712 remains rising. Therefore, the first pulse signal PLS1 rises. Note that the permission signal al remains rising.
 その後、タイミングt5で開始信号startが立ち下がるが、クロック信号CLKと信号S1が共に立ち上がったままであるため、第1のパルス信号PLS1乃至許可信号alも立ち上がったままである。 Thereafter, the start signal start falls at timing t5. However, since both the clock signal CLK and the signal S1 remain rising, the first pulse signal PLS1 to the permission signal al also remain rising.
 タイミングt6でクロック信号CLKが立ち下がるときに、信号S1が立ち上がったままであるが、第1のパルス信号PLS1は、立ち下がる。これに応じて、許可信号alも、タイミングt7で立ち下がる。 When the clock signal CLK falls at the timing t6, the signal S1 remains rising, but the first pulse signal PLS1 falls. In response to this, the permission signal al also falls at timing t7.
 タイミングt8で開始信号startが立ち上がったときに、クロック信号CLKがまだ立ち下がっているため、第1のパルス信号PLS1は、立ち上がらない。従って、許可信号alも立ち上がらない。 When the start signal start rises at timing t8, the clock signal CLK is still falling, so the first pulse signal PLS1 does not rise. Therefore, the permission signal al does not rise.
 その後、タイミングt9でクロック信号CLKが再び立ち上がったときに、開始信号startが立ち上がっているため、第1のパルス信号PLS1は、立ち上がる。これに応じて、タイミングt10で、許可信号alは、立ち上がる。 Thereafter, when the clock signal CLK rises again at timing t9, the first pulse signal PLS1 rises because the start signal start rises. In response to this, the permission signal al rises at timing t10.
 非同期式回路150による1回目の処理の開始タイミング(タイミングt2)と、2回目の処理の開始タイミング(タイミングt10)間の長さT1は、クロック信号CLKの周期Tの2倍である。 The length T1 between the start timing (timing t2) of the first process by the asynchronous circuit 150 and the start timing (timing t10) of the second process is twice the period T of the clock signal CLK.
 その後も同様に、タイミングt12でクロック信号CLKが立ち上がったときに、開始信号startがまだ立ち上がっているため、FF712が出力する信号S1は、立ち上がったままになり、第1のパルス信号PLS1は、立ち上がる。 Similarly, when the clock signal CLK rises at timing t12, the signal S1 output from the FF 712 remains raised because the start signal start is still raised, and the first pulse signal PLS1 rises. .
 その後、タイミングt13で開始信号startが立ち下がるが、クロック信号CLKと信号S1が共に立ち上がったままであるため、第1のパルス信号PLS1乃至許可信号alも立ち上がったままである。 Thereafter, the start signal start falls at the timing t13, but since both the clock signal CLK and the signal S1 remain rising, the first pulse signal PLS1 to the permission signal al also remain rising.
 タイミングt14でクロック信号CLKが立ち下がるときに、信号S1が立ち上がったままであるが、第1のパルス信号PLS1は、立ち下がる。これに応じて、許可信号alも、タイミングt15で立ち下がる。 When the clock signal CLK falls at the timing t14, the signal S1 remains rising, but the first pulse signal PLS1 falls. In response to this, the permission signal al also falls at timing t15.
 タイミングt16で開始信号startが立ち上がったときに、クロック信号CLKがまだ立ち下がっているため、第1のパルス信号PLS1は、立ち上がらない。従って、許可信号alも立ち上がらない。 When the start signal start rises at timing t16, the clock signal CLK is still falling, so the first pulse signal PLS1 does not rise. Therefore, the permission signal al does not rise.
 その後、タイミングt17でクロック信号CLKが再び立ち上がったときに、開始信号startが立ち上がっているため、第1のパルス信号PLS1は、立ち上がる。これに応じて、タイミングt18で、許可信号alは、立ち上がる。 After that, when the clock signal CLK rises again at timing t17, the first pulse signal PLS1 rises because the start signal start rises. In response to this, the permission signal al rises at timing t18.
 非同期式回路150による2回目の処理の開始タイミング(タイミングt10)と、3回目の処理の開始タイミング(タイミングt18)間の長さT2も、クロック信号CLKの周期Tの2倍である。 The length T2 between the start timing (timing t10) of the second process by the asynchronous circuit 150 and the start timing (timing t18) of the third process is also twice the cycle T of the clock signal CLK.
 すなわち、本実施の形態の半導体装置700は、第1のパルス信号生成回路710により第1のパルス信号PLS1を生成してクロック信号CLKの代わりに制御回路110に供することにより、非同期式回路150による処理の開始タイミングをクロック信号CLKの次の立上りに同期させている。そのため、クロック信号CLKの周期が、最大値Tmaxより小さい場合においても、非同期式回路の処理速度を一定にすることができる。 That is, the semiconductor device 700 according to the present embodiment generates the first pulse signal PLS1 by the first pulse signal generation circuit 710 and supplies it to the control circuit 110 instead of the clock signal CLK. The processing start timing is synchronized with the next rising edge of the clock signal CLK. Therefore, the processing speed of the asynchronous circuit can be made constant even when the cycle of the clock signal CLK is smaller than the maximum value Tmax.
 この手法は、同期モードと非同期モードを混在させた場合にも適用できる。これについて、第8の実施の形態で説明する。 This method can also be applied when mixing synchronous mode and asynchronous mode. This will be described in an eighth embodiment.
<第8の実施の形態>
 図20は、本発明の第8の実施の形態にかかる半導体装置800を示す。該半導体装置800は、半導体装置600と半導体装置700の組合せであり、半導体装置100に対して、第1のパルス信号生成回路710と第2のパルス信号生成回路610を設けたものである。
<Eighth Embodiment>
FIG. 20 shows a semiconductor device 800 according to the eighth embodiment of the present invention. The semiconductor device 800 is a combination of the semiconductor device 600 and the semiconductor device 700, and is provided with a first pulse signal generation circuit 710 and a second pulse signal generation circuit 610 with respect to the semiconductor device 100.
 第1のパルス信号生成回路710は、クロック信号CLKと開始信号startが入力され、第1のパルス信号PLS1を生成して第2のパルス信号生成回路610に出力する。 The first pulse signal generation circuit 710 receives the clock signal CLK and the start signal start, generates the first pulse signal PLS1, and outputs it to the second pulse signal generation circuit 610.
 第2のパルス信号生成回路610は、第1のパルス信号PLS1と開始信号startと、許可信号alとが入力され、第2のパルス信号PLS2を生成して制御回路110に出力する。 The second pulse signal generation circuit 610 receives the first pulse signal PLS1, the start signal start, and the permission signal al, generates the second pulse signal PLS2, and outputs it to the control circuit 110.
 制御回路110は、第2のパルス信号PLS2と開始信号startの両方とも立ち上がったときに許可信号alを立ち上げ、第2のパルス信号PLS2と開始信号startの両方とも立ち下がったときに許可信号alを立ち下げ、他のときには許可信号alの状態を維持する。 The control circuit 110 raises the permission signal al when both the second pulse signal PLS2 and the start signal start rise, and allows the permission signal al when both the second pulse signal PLS2 and the start signal start fall. And the state of the permission signal al is maintained at other times.
 第1のパルス信号生成回路710と第2のパルス信号生成回路610は、半導体装置600と半導体装置700のときに説明したものと同様である。 The first pulse signal generation circuit 710 and the second pulse signal generation circuit 610 are the same as those described for the semiconductor device 600 and the semiconductor device 700.
 すなわち、本実施の形態の半導体装置800によれば、同期モードと非同期モードを切り替えながら非同期式回路150に動作させることができると共に、同期モードで動作させる際に、クロック信号CLKの周期が、最大値Tmaxより小さい場合においても、非同期式回路の処理速度を一定にすることができる。 That is, according to the semiconductor device 800 of the present embodiment, the asynchronous circuit 150 can be operated while switching between the synchronous mode and the asynchronous mode, and the period of the clock signal CLK is maximum when operating in the synchronous mode. Even when the value is smaller than the value Tmax, the processing speed of the asynchronous circuit can be made constant.
 また、図14に示す半導体装置600では、非同期モードで非同期式回路を動作させる際に、クロック信号CLKの周期が、最大値Tmaxより大きい場合においても、非同期式回路の処理速度がばらつく可能性がある。例えば、図15に示すタイミングチャートの例において、開始信号startの4回目の立上りタイミング(t8)がクロック信号CLKの3回目のHigh期間(タイミングt4~タイミングt6)内になった場合、非同期式回路は、5回目の非同期モードで動作してしまい、タイミングt9でクロック信号CLKが立ち上がったときに、同期モードに切り替わらない。 In the semiconductor device 600 shown in FIG. 14, when the asynchronous circuit is operated in the asynchronous mode, the processing speed of the asynchronous circuit may vary even when the cycle of the clock signal CLK is larger than the maximum value Tmax. is there. For example, in the example of the timing chart shown in FIG. 15, when the fourth rise timing (t8) of the start signal start falls within the third High period (timing t4 to timing t6) of the clock signal CLK, the asynchronous circuit Operates in the fifth asynchronous mode, and does not switch to the synchronous mode when the clock signal CLK rises at timing t9.
 本実施の形態の半導体装置800によれば、この問題が発生せず、非同期式回路の処理速度を一定することができる。 According to the semiconductor device 800 of the present embodiment, this problem does not occur and the processing speed of the asynchronous circuit can be made constant.
 以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。 The present invention has been described above based on the embodiments. The embodiment is an exemplification, and various changes, increases / decreases, and combinations may be made to the embodiment described above without departing from the gist of the present invention. It will be understood by those skilled in the art that modifications in which these changes, increases / decreases, and combinations are also within the scope of the present invention.
 例えば、第1のパルス信号生成回路710と第2のパルス信号生成回路610に関して、半導体装置100に対して設けた例のみを説明したが、第1のパルス信号生成回路710と第2のパルス信号生成回路610は、半導体装置200、半導体装置300、CPU400、プロセッサ500のいずれにおける制御回路に対して設けてもよい。勿論、これらの実施の形態にかかる装置に第1のパルス信号生成回路710と第2のパルス信号生成回路610を設けることにより、上述した効果を得ることができる。 For example, only the example in which the first pulse signal generation circuit 710 and the second pulse signal generation circuit 610 are provided for the semiconductor device 100 has been described. However, the first pulse signal generation circuit 710 and the second pulse signal generation circuit 610 have been described. The generation circuit 610 may be provided for a control circuit in any of the semiconductor device 200, the semiconductor device 300, the CPU 400, and the processor 500. Of course, the effects described above can be obtained by providing the first pulse signal generation circuit 710 and the second pulse signal generation circuit 610 in the devices according to these embodiments.
 また、例えば、上述した各実施の形態において、クロック信号CLKの有効エッジを立ち上がりエッジとしたが、立ち下がりエッジを有効エッジとしてもよい。この場合、例えば、制御回路(制御回路110、制御回路210、制御回路310、制御回路410)に、クロック信号CLKまたは第1のパルス信号PLS1を反転させるインバータをさらに設ければよい。 Further, for example, in each of the above-described embodiments, the effective edge of the clock signal CLK is the rising edge, but the falling edge may be the effective edge. In this case, for example, an inverter that inverts the clock signal CLK or the first pulse signal PLS1 may be further provided in the control circuit (control circuit 110, control circuit 210, control circuit 310, control circuit 410).
 この出願は、2011年3月9日に出願された日本出願特願2011-051677を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2011-051677 filed on Mar. 9, 2011, the entire disclosure of which is incorporated herein.
 本発明は、半導体装置に設けられた非同期式回路の処理速度の制御に適用することができる。 The present invention can be applied to control of the processing speed of an asynchronous circuit provided in a semiconductor device.
 10 処理速度一定化装置 12 非同期回路
 14 周期変動パルス生成部 20 周期一定パルス生成部
 30 パルス計測部 40 電圧調整器
 50 電圧制御信号生成部 52 メモリ
 54 比較器 60 動作・処理速度変更条件取得部
 70 動作・処理速度変更条件設定部 80 動作・処理速度変更制御部
 100 半導体装置 110 制御回路
 111 AND素子 112 AND素子
 113 AND素子 114 OR素子
 120 インバータ 150 非同期式回路
 160 制御モジュール 161 AND素子
 162 インバータ 164 AND素子
 165 インバータ 166 遅延素子
 170 C素子 171 AND素子
 172 AND素子 173 AND素子
 174 OR素子 180 演算回路
 200 半導体装置 210 制御回路
 250 非同期式回路 260 制御モジュール
 261 AND素子 262 インバータ
 264 AND素子 265 インバータ
 270 C素子 280 演算回路
 300 半導体装置 310 制御回路
 320 非同期式回路 322 制御モジュール
 324 演算回路 330 非同期式回路
 332 制御モジュール 334 演算回路
 340 非同期式回路 342 制御モジュール
 344 演算回路 400 CPU
 402 非同期式制御部 404 データパス部
 406 メモリ 410 制御回路
 420 非同期式回路 422 フェッチ制御モジュール
 424 FF 430 非同期式回路
 432 デコード制御モジュール 434 演算回路
 435 FF 440 非同期式回路
 442 実行制御モジュール 444 演算回路
 445 FF 450 非同期式回路
 452 メモリアクセス制御モジュール 454 演算回路
 455 FF 460 非同期式回路
 462 ライトバック制御モジュール 464 演算回路
 465 FF 500 プロセッサ
 510 周辺モジュール 512 FF
 600 半導体装置 610 第2のパルス信号生成回路
 612 回数設定レジスタ 614 カウンタ
 616 比較器 618 セレクタ
 700 半導体装置 710 第1のパルス信号生成回路
 712 FF 714 遅延回路
 716 AND素子 800 半導体装置
 al 許可信号
 CLK クロック信号
 out 完了信号
 start 開始信号
 RD リードデータ
 WD ライトデータ
 DAR データアドレス
 PLS1 第1のパルス信号
 PLS2 第2のパルス信号
 EN イネーブル信号
DESCRIPTION OF SYMBOLS 10 Processing speed constant apparatus 12 Asynchronous circuit 14 Period fluctuation pulse generation part 20 Period constant pulse generation part 30 Pulse measurement part 40 Voltage regulator 50 Voltage control signal generation part 52 Memory 54 Comparator 60 Operation | movement / processing speed change condition acquisition part 70 Operation / Processing Speed Change Condition Setting Unit 80 Operation / Processing Speed Change Control Unit 100 Semiconductor Device 110 Control Circuit 111 AND Element 112 AND Element 113 AND Element 114 OR Element 120 Inverter 150 Asynchronous Circuit 160 Control Module 161 AND Element 162 Inverter 164 AND Element 165 Inverter 166 Delay element 170 C element 171 AND element 172 AND element 173 AND element 174 OR element 180 Arithmetic circuit 200 Semiconductor device 210 Control circuit 250 Asynchronous circuit 260 Control Joule 261 AND element 262 Inverter 264 AND element 265 Inverter 270 C element 280 Arithmetic circuit 300 Semiconductor device 310 Control circuit 320 Asynchronous circuit 322 Control module 324 Arithmetic circuit 330 Asynchronous circuit 332 Control module 334 Arithmetic circuit 340 Asynchronous circuit 342 Control module 344 arithmetic circuit 400 CPU
402 Asynchronous control unit 404 Data path unit 406 Memory 410 Control circuit 420 Asynchronous circuit 422 Fetch control module 424 FF 430 Asynchronous circuit 432 Decode control module 434 Arithmetic circuit 435 FF 440 Asynchronous circuit 442 Execution control module 444 Arithmetic circuit 445 FF 450 Asynchronous circuit 452 Memory access control module 454 Arithmetic circuit 455 FF 460 Asynchronous circuit 462 Write-back control module 464 Arithmetic circuit 465 FF 500 Processor 510 Peripheral module 512 FF
600 Semiconductor device 610 Second pulse signal generation circuit 612 Count setting register 614 Counter 616 Comparator 618 Selector 700 Semiconductor device 710 First pulse signal generation circuit 712 FF 714 Delay circuit 716 AND element 800 Semiconductor device al Permission signal CLK Clock signal out completion signal start start signal RD read data WD write data DAR data address PLS1 first pulse signal PLS2 second pulse signal EN enable signal

Claims (11)

  1.  信号の立上り状態と立下り状態の片方と他方が夫々有効状態と無効状態であるとした場合に、
     所定の処理を繰り返し実行する第1の非同期式回路であって、許可信号が前記有効状態になったときに前記所定の処理を開始し、前記所定の処理の完了時に処理完了信号を前記有効状態にし、前記許可信号が前記無効状態になったときに前記処理完了信号を前記無効状態にする前記第1の非同期式回路と、
     前記処理完了信号の反転信号となる処理開始信号と、クロック信号とが入力され、前記第1の非同期式回路に前記許可信号を出力する制御回路とを有し、
     前記制御回路は、
     前記処理開始信号と前記クロック信号の両方が前記有効状態になったときに前記許可信号を前記有効状態にし、
     前記処理開始信号と前記クロック信号の両方が前記無効状態になったときに前記許可信号を前記無効状態にし、
     他のときには前記許可信号の状態を維持することを特徴とする半導体装置。
    If one and the other of the rising and falling states of the signal are valid and invalid, respectively,
    A first asynchronous circuit that repeatedly executes a predetermined process, wherein the predetermined process is started when a permission signal is in the valid state, and a process completion signal is sent to the valid state when the predetermined process is completed; And the first asynchronous circuit that sets the processing completion signal to the invalid state when the permission signal is in the invalid state;
    A processing start signal that is an inverted signal of the processing completion signal, and a control circuit that receives a clock signal and outputs the permission signal to the first asynchronous circuit;
    The control circuit includes:
    When both the processing start signal and the clock signal are in the valid state, the permission signal is in the valid state,
    When both the processing start signal and the clock signal are in the invalid state, the permission signal is in the invalid state,
    A semiconductor device characterized by maintaining the state of the permission signal at other times.
  2.  前記有効状態は、立ち上がった状態であり、
     前記制御回路は、
     前記クロック信号と、前記許可信号とが入力される第1のAND素子と、
     前記クロック信号と、前記処理開始信号とが入力される第2のAND素子と、
     前記許可信号と、前記処理開始信号とが入力される第3のAND素子と、
     3つの前記AND素子が夫々出力する論理積の論理和を前記許可信号として出力するOR素子とを備えることを特徴とする請求項1に記載の半導体装置。
    The effective state is a standing state,
    The control circuit includes:
    A first AND element to which the clock signal and the permission signal are input;
    A second AND element to which the clock signal and the processing start signal are input;
    A third AND element to which the permission signal and the processing start signal are input;
    The semiconductor device according to claim 1, further comprising: an OR element that outputs a logical sum of logical products output by the three AND elements as the permission signal.
  3.  インバータをさらに備え、
     前記第1の非同期式回路は、段階的に接続された複数の非同期式回路のうちの最上段であり、
     前記複数の非同期式回路は、所定のプロセスを繰り返し実行するものであり、前記プロセスの1回の実行において該プロセスに含まれる複数の処理を夫々実行し、処理完了信号を出力し、
     2段目以降の各非同期式回路は、前段の非同期式回路が出力する前記処理完了信号が前記有効状態になったときに自身の処理を開始し、該処理の完了時に自身が出力する前記処理完了信号を前記有効状態にし、前段の非同期式回路が出力する前記処理完了信号が前記無効状態になったときに自身が出力する前記処理完了信号を前記無効状態にし、
     前記インバータは、前記複数の非同期式回路の内の最下段の非同期式回路が出力する前記処理完了信号が入力され、該処理完了信号の反転信号を前記処理開始信号として前記制御回路に出力することを特徴とする請求項1または2に記載の半導体装置。
    An inverter,
    The first asynchronous circuit is a top stage of a plurality of asynchronous circuits connected in stages,
    The plurality of asynchronous circuits repeatedly execute a predetermined process, execute a plurality of processes included in the process in one execution of the process, and output a process completion signal,
    Each asynchronous circuit after the second stage starts its own processing when the processing completion signal output from the previous asynchronous circuit is in the valid state, and outputs itself when the processing is completed. The completion signal is set to the valid state, and when the process completion signal output by the asynchronous circuit in the previous stage is set to the invalid state, the process completion signal output by itself is set to the invalid state,
    The inverter receives the processing completion signal output from the lowest asynchronous circuit among the plurality of asynchronous circuits, and outputs an inverted signal of the processing completion signal as the processing start signal to the control circuit. The semiconductor device according to claim 1 or 2.
  4.  非同期式制御部と、データパス部を備える非同期CPU(Central Processing Unit)であり、
     前記非同期式制御部は、
     前記制御回路と、前記インバータと、フェッチ制御モジュールと、デコード制御モジュールと、実行制御モジュールと、メモリアクセス制御モジュールと、ライトバック制御モジュールとを有し、
     前記データパス部は、
     メモリと、
     第1のフリップフロップと、
     第2の演算回路及び第2のフリップフロップと、
     第3の演算回路及び第3のフリップフロップと、
     第4の演算回路及び第4のフリップフロップと、
     第5の演算回路及び第5のフリップフロップとを有し、
     前記フェッチ制御モジュールと、前記第1のフリップフロップは、前記複数の非同期式回路の最上段の非同期式回路を構成し、前記メモリから命令をラッチするものであり、
     前記デコード制御モジュールと、前記第2の演算回路と、前記第2のフリップフロップは、前記複数の非同期式回路の2段目の非同期式回路を構成し、前記最上段の非同期式回路がラッチした命令をデコードするものであり、
     前記実行制御モジュールと、前記第3の演算回路と、前記第3のフリップフロップは、前記複数の非同期式回路の3段目の非同期式回路を構成し、前記2段目の非同期式回路がデコードした命令を実行するものであり、
     前記メモリアクセス制御モジュールと、前記第4の演算回路と、前記第4のフリップフロップは、前記複数の非同期式回路の4段目の非同期式回路を構成し、前記3段目の非同期式回路による命令の実行に伴った、アクセス対象へのアクセスを行うものであり、
     前記ライトバック制御モジュールと、前記第5の演算回路と、前記第5のフリップフロップは、前記複数の非同期式回路の最下段の非同期式回路であり、命令の実行の完了に伴うライトバックを行うものであることを特徴とする請求項3に記載の半導体装置。
    An asynchronous CPU (Central Processing Unit) having an asynchronous control unit and a data path unit;
    The asynchronous control unit includes:
    The control circuit, the inverter, a fetch control module, a decode control module, an execution control module, a memory access control module, and a write back control module,
    The data path part is
    Memory,
    A first flip-flop;
    A second arithmetic circuit and a second flip-flop;
    A third arithmetic circuit and a third flip-flop;
    A fourth arithmetic circuit and a fourth flip-flop;
    A fifth arithmetic circuit and a fifth flip-flop;
    The fetch control module and the first flip-flop constitute an uppermost asynchronous circuit of the plurality of asynchronous circuits and latch an instruction from the memory;
    The decode control module, the second arithmetic circuit, and the second flip-flop constitute a second asynchronous circuit of the plurality of asynchronous circuits, and the uppermost asynchronous circuit is latched. Decodes instructions,
    The execution control module, the third arithmetic circuit, and the third flip-flop constitute a third stage asynchronous circuit of the plurality of asynchronous circuits, and the second stage asynchronous circuit decodes Executed instructions,
    The memory access control module, the fourth arithmetic circuit, and the fourth flip-flop constitute a fourth stage asynchronous circuit of the plurality of asynchronous circuits, and are based on the third stage asynchronous circuit. Access to the access target accompanying the execution of the instruction,
    The write-back control module, the fifth arithmetic circuit, and the fifth flip-flop are the lowest-stage asynchronous circuits of the plurality of asynchronous circuits, and perform write-back upon completion of instruction execution. The semiconductor device according to claim 3, wherein the semiconductor device is a device.
  5.  インバータをさらに備え、
     前記第1の非同期式回路は、段階的に接続された複数の非同期式回路のうちの2段目以降であり、
     前記複数の非同期式回路は、所定のプロセスを繰り返し実行するものであり、前記プロセスの1回の実行において該プロセスに含まれる複数の処理を夫々実行し、処理完了信号を出力し、
     前記インバータは、前記複数の非同期式回路の内の最下段の非同期式回路が出力する前記処理完了信号が入力され、該処理完了信号の反転信号を最上段の非同期式回路に出力し、
     前記最上段の非同期式回路は、前記反転信号が前記有効状態になったときに、自身の処理を開始し、該処理の完了時に自身が出力する前記処理完了信号を前記有効状態にし、前記反転信号が前記無効状態になったときに自身が出力する前記処理完了信号を前記無効状態にし、
     前記第1の非同期式回路の前段の非同期式回路が出力する前記処理完了信号は、前記処理開始信号として前記制御回路に入力され、
     前記最上段の非同期式回路と前記第1の非同期式回路以外の各非同期式回路は、前段の非同期式回路が出力する前記処理完了信号が前記有効状態になったときに自身の処理を開始し、該処理の完了時に自身が出力する前記処理完了信号を前記有効状態にし、前段の非同期式回路が出力する前記処理完了信号が前記無効状態になったときに自身が出力する前記処理完了信号を前記無効状態にすることを特徴とする請求項1または2に記載の半導体装置。
    An inverter,
    The first asynchronous circuit is the second and subsequent stages of a plurality of asynchronous circuits connected in stages,
    The plurality of asynchronous circuits repeatedly execute a predetermined process, execute a plurality of processes included in the process in one execution of the process, and output a process completion signal,
    The inverter receives the processing completion signal output from the lowest asynchronous circuit among the plurality of asynchronous circuits, and outputs an inverted signal of the processing completion signal to the uppermost asynchronous circuit,
    The uppermost asynchronous circuit starts its own processing when the inverted signal is in the valid state, sets the processing completion signal output by itself upon completion of the processing to the valid state, and When the signal is in the invalid state, the processing completion signal output by itself is in the invalid state,
    The processing completion signal output from the asynchronous circuit preceding the first asynchronous circuit is input to the control circuit as the processing start signal,
    Each asynchronous circuit other than the uppermost asynchronous circuit and the first asynchronous circuit starts its own processing when the processing completion signal output from the previous asynchronous circuit is in the valid state. The processing completion signal output by itself upon completion of the processing is set in the valid state, and the processing completion signal output by itself when the processing completion signal output by the asynchronous circuit in the previous stage is in the invalid state. The semiconductor device according to claim 1, wherein the invalid state is set.
  6.  前記クロック信号と、前記処理開始信号とが入力され、第1のパルス信号を生成する第1のパルス信号生成回路をさらに備え、
     前記制御回路は、前記クロック信号の代わりに前記第1のパルス信号が入力され、
     前記第1のパルス信号生成回路は、
     前記クロック信号が前記有効状態の先頭である有効エッジになる度に前記処理開始信号をラッチすると共に、ラッチした信号を、前記クロック信号が次に前記有効エッジになるまで出力し続けるフリップフロップと、
     前記クロック信号と、前記フリップフロップがラッチした信号との論理積を得て前記第1のパルス信号として出力する論理積回路とを備えることを特徴とする請求項2から5のいずれか1項に記載の半導体装置。
    A first pulse signal generation circuit that receives the clock signal and the processing start signal and generates a first pulse signal;
    The control circuit receives the first pulse signal instead of the clock signal,
    The first pulse signal generation circuit includes:
    A flip-flop that latches the processing start signal each time the clock signal becomes a valid edge that is the head of the valid state and continues to output the latched signal until the clock signal next becomes the valid edge;
    6. The AND circuit according to claim 2, further comprising: an AND circuit that obtains a logical product of the clock signal and a signal latched by the flip-flop and outputs the logical product as the first pulse signal. The semiconductor device described.
  7.  前記第1のパルス信号生成回路は、前記フリップフロップがラッチの開始から、ラッチした信号の出力までの遅延時間以上の遅延量を有する遅延回路をさらに有し、
     前記クロック信号は、前記遅延回路を介して前記論理積回路に入力されることを特徴とする請求項6に記載の半導体装置。
    The first pulse signal generation circuit further includes a delay circuit having a delay amount equal to or longer than a delay time from the start of latching by the flip-flop until the output of the latched signal.
    The semiconductor device according to claim 6, wherein the clock signal is input to the logical product circuit via the delay circuit.
  8.  前記第1のパルス信号と、前記処理開始信号とが入力され、第2のパルス信号を生成する第2のパルス信号生成回路をさらに備え、
     前記制御回路は、前記第1のパルス信号の代わりに前記第2のパルス信号が入力され、
     前記第2のパルス信号生成回路は、
     前記許可信号が前記有効状態になった回数をカウントし、
     カウントした前記回数が設定された回数N以下であるときに前記処理開始信号を前記第2のパルス信号として出力し、
     カウントした回数が前記回数Nになったときに、前記第1のパルス信号を前記第2のパルス信号として出力すると共に、カウントした回数を0に戻すことを特徴とする請求項6または7に記載の半導体装置。
    A second pulse signal generation circuit configured to receive the first pulse signal and the processing start signal and generate a second pulse signal;
    The control circuit receives the second pulse signal instead of the first pulse signal,
    The second pulse signal generation circuit includes:
    Count the number of times the permission signal is in the valid state,
    Outputting the processing start signal as the second pulse signal when the counted number is equal to or less than a set number of times N;
    8. When the counted number reaches the number N, the first pulse signal is output as the second pulse signal, and the counted number is returned to zero. Semiconductor device.
  9.  前記第2のパルス信号生成回路は、
     前記回数Nを設定するための回数設定レジスタと、
     前記回数設定レジスタに設定された前記回数Nから0までのカウントダウンを繰り返し行い、前記許可信号が前記有効状態の先頭である有効エッジになる度に1つカウントダウンするカウンタと、
     前記カウンタのカウント値と0を比較する比較器と、
     前記第1のパルス信号と前記処理開始信号とが入力され、前記比較器の比較結果に応じて、前記カウンタのカウント値が0以外であるときに前記処理開始信号を、前記カウント値が0になったときに前記第1のパルス信号を選択して前記第2のパルス信号として出力するセレクタとを有することを特徴とする請求項8に記載の半導体装置。
    The second pulse signal generation circuit includes:
    A frequency setting register for setting the frequency N;
    A counter that repeatedly counts down from the number of times N to 0 set in the number-of-times setting register, and counts down by one every time the permission signal becomes a valid edge that is the head of the valid state;
    A comparator for comparing the count value of the counter with 0;
    The first pulse signal and the processing start signal are input, and the processing start signal is set to 0 when the count value of the counter is other than 0 according to the comparison result of the comparator. The semiconductor device according to claim 8, further comprising a selector that selects the first pulse signal and outputs the second pulse signal as the second pulse signal.
  10.  前記回数設定レジスタは、前記回数Nとして0が設定可能であることを特徴とする請求項9に記載の半導体装置。 10. The semiconductor device according to claim 9, wherein the number setting register can set 0 as the number N.
  11.  前記カウンタは、イネーブルされているときに、カウント値として前記回数設定レジスタに設定された前記回数Nを前記比較器に出力することを特徴とする請求項9または10に記載の半導体装置。 11. The semiconductor device according to claim 9, wherein, when enabled, the counter outputs the number N set in the number setting register as a count value to the comparator.
PCT/JP2012/000247 2011-03-09 2012-01-17 Semiconductor device WO2012120760A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011051677 2011-03-09
JP2011-051677 2011-03-09

Publications (1)

Publication Number Publication Date
WO2012120760A1 true WO2012120760A1 (en) 2012-09-13

Family

ID=46797740

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/000247 WO2012120760A1 (en) 2011-03-09 2012-01-17 Semiconductor device

Country Status (1)

Country Link
WO (1) WO2012120760A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000188538A (en) * 1998-09-01 2000-07-04 Hyundai Microelectronics Co Ltd Asynchronous sensing differential logic circuit
JP2002366596A (en) * 2001-06-11 2002-12-20 Sharp Corp Device, method for high-order synthesis, method of manufacturing logic circuit by high-order synthesizing method and recording medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000188538A (en) * 1998-09-01 2000-07-04 Hyundai Microelectronics Co Ltd Asynchronous sensing differential logic circuit
JP2002366596A (en) * 2001-06-11 2002-12-20 Sharp Corp Device, method for high-order synthesis, method of manufacturing logic circuit by high-order synthesizing method and recording medium

Similar Documents

Publication Publication Date Title
US7826305B2 (en) Latency counter, semiconductor memory device including the same, and data processing system
US7889581B2 (en) Digital DLL circuit
JP5317356B2 (en) Clock control signal generation circuit, clock selector, and information processing apparatus
US9251906B1 (en) Data strobe signal generation for flash memory
JP2007115351A (en) Synchronous semiconductor storage device
KR20160065516A (en) Delay locked loop and memory device having the same
JP2006013990A (en) Delay controller
CN108231110B (en) Semiconductor device, semiconductor system and training method
JP2007095261A (en) Semiconductor memory device
JP4745782B2 (en) Semiconductor memory device
US6813195B2 (en) Pipe latch circuit for outputting data with high speed
TWI452576B (en) Memory device including a memory block having a fixed latency data output
US20090003097A1 (en) Output control signal generating circuit
KR101747885B1 (en) Shift circuit
WO2012120760A1 (en) Semiconductor device
JP2008172574A (en) Clock phase shift circuit
JP5100801B2 (en) Clock control circuit
US9564915B1 (en) Apparatus for data converter with internal trigger circuitry and associated methods
US9396774B1 (en) CAS latency setting circuit and semiconductor memory apparatus including the same
JP5154901B2 (en) Signal generation circuit
JP2005233975A (en) Delay measuring device
TWI482172B (en) Circuit and method for generating multiphase clock signals and corresponding indication signals
US8867698B2 (en) Counting circuit, delay value quantization circuit, and latency control circuit
JP5250745B2 (en) Clock switching circuit
JP2012190251A (en) Asynchronous circuit

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12754348

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP