WO2004109916A1 - デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体 - Google Patents

デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体 Download PDF

Info

Publication number
WO2004109916A1
WO2004109916A1 PCT/JP2004/007683 JP2004007683W WO2004109916A1 WO 2004109916 A1 WO2004109916 A1 WO 2004109916A1 JP 2004007683 W JP2004007683 W JP 2004007683W WO 2004109916 A1 WO2004109916 A1 WO 2004109916A1
Authority
WO
WIPO (PCT)
Prior art keywords
digital system
digital
value
power supply
clock signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2004/007683
Other languages
English (en)
French (fr)
Inventor
Eiichi Takahashi
Masahiro Murakawa
Yuji Kasai
Tetsuya Higuchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
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 National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2005506771A priority Critical patent/JP4281015B2/ja
Priority to US10/559,672 priority patent/US20060236146A1/en
Publication of WO2004109916A1 publication Critical patent/WO2004109916A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • G01R31/31726Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay
    • H03K2005/00058Variable delay controlled by a digital setting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/0015Layout of the delay element
    • H03K2005/00156Layout of the delay element using opamps, comparators, voltage multipliers or other analog building blocks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/0015Layout of the delay element
    • H03K2005/00234Layout of the delay element using circuits having two logic levels
    • H03K2005/0026Layout of the delay element using circuits having two logic levels using memories or FIFO's

Definitions

  • the present invention relates to a single or a plurality of digital systems operating in synchronization with a single or a plurality of clock signals, a clock signal timing adjustment method of a powerful digital system, and a processing program executed by the adjustment method It relates to a recording medium on which is recorded.
  • the present invention is particularly effective when the number of digital circuit elements which are components of the digital system is large and the power supply voltage is lower than normal or the power supply voltage can be higher than normal.
  • a digital system usually includes three types of logic elements, an AND element, an OR element, and a NOT element, and a storage element called a flip-flop that stores two states (1 bit) of true and false. You.
  • the most basic flip-flop also has a three-terminal function of one input / output terminal and one clock terminal, and the digital signal of the input terminal is output to the output terminal at the rise of the digital signal called the clock signal applied to the clock terminal. It has the function of copying and holding its digital value until the next rising edge of the clock signal.
  • a digital system that operates according to a finite number of clock signals is called a synchronization circuit, and in the synchronization circuit, the time difference between clock signals arriving at the clock terminals of each flip-flop affects the overall operation.
  • the time difference between the clock signals is called clock skew.
  • clock skew For example, for the same Ins time shift, if the clock frequency is 10 MHz, that is, if the clock cycle is 100 ns, the shift is 1%, whereas if the clock frequency is 100 MHz, that is, the clock cycle is 10 ns. In the case of, the deviation is 10%, and correction is required. In other words, a higher clock frequency requires a more precise timing adjustment technique.
  • Conventional measures against clock skew in digital systems include: (1) A countermeasure method in which a designer manually adjusts the clock skew as much as possible when designing a digital system.
  • the measure (1) does not solve the following problem. That is, electronic circuit elements such as transistors, resistors, and capacitors have variations in their characteristics, and the fluctuations of each element are not clear until an actual system is created. This is a characteristic that is particularly noticeable in devices in integrated circuits.
  • the problem of the measure (2) is that it can be adjusted only in the direction in which the clock skew decreases.
  • the countermeasure (2) is applied to a system designed to have such an exceptional timing. Can not ,.
  • a digital system is a hardware design data library called IP, which is a target of intellectual property (Intellectual Property) and intended for use by a third party, or a normal hardware design data library.
  • IP hardware design data library
  • the functions and interface specifications are made public, but the internal structure may not disclose more information than the equivalent circuit.
  • each digital signal is converted from ("0" to " When it changes to “1” or from “1” to “0”, a large power supply current flows.
  • the timing of each signal that is, the timing of each flip-flop, is finely controlled within a range where the whole operates without error. This can be achieved by making adjustments, but for such precise timing adjustment, a new method such as the present invention described later is indispensable.
  • EMI unnecessary electromagnetic radiation
  • a digital system that operates at a low power supply voltage, such as a low power consumption system including a mobile phone
  • the operation speed of each logic element included in the system is low, so that a failure due to a timing failure is likely to occur. . Therefore, in such a system, if the timing is adjusted so that it operates normally with a lower power supply voltage than normal, it will operate stably even at a low power supply voltage, and the power consumption of the digital system will be reduced. be able to.
  • some digital systems do not operate at a normal power supply voltage due to large variations between elements, but may operate normally if the power supply voltage is raised above normal and the timing is adjusted. . Therefore, such a system can be used if the timing is adjusted so that it operates normally with a higher power supply voltage than usual, and the production yield of the digital system can be increased.
  • a digital system performs digital processing according to a single or a plurality of clock signals to perform a predetermined basic function. , Each of which is inserted into a plurality of clock circuits for supplying the clock signal in the digital system, and is delayed according to a value indicated by the control signal.
  • a plurality of delay elements each constituted by a circuit element for changing time; and a plurality of holding circuits for holding a plurality of control signals to be applied to the plurality of delay elements, wherein the plurality of holding circuits output an output voltage.
  • the values of the plurality of control signals held by the holding circuits are changed by an external device by a probabilistic search method.
  • the feature is that the function is changed so as to satisfy a predetermined specification.
  • the clock signal adjusting method for a digital system according to the present invention performs digital processing according to one or more clock signals to perform a predetermined basic function of the clock signal of the digital system.
  • a plurality of delay elements are respectively inserted in a plurality of clock circuits in the digital system that supply the clock signal, and the control signals are respectively transmitted to the plurality of delay elements.
  • a plurality of control signals provided to the plurality of delay elements are held by a plurality of holding circuits provided in the digital system, and a variable output voltage power supply is configured. While the power is supplied to the digital system, the basic functions of the digital system are adjusted so as to satisfy predetermined specifications.
  • the external device the value of said plurality of control signals in which a plurality of holding circuits holds, is characterized in that to change according to a probabilistic search technique.
  • the control signal is inserted into a plurality of clock circuits in the digital system that supply a single or a plurality of clock signals, respectively.
  • a plurality of control signals held by a plurality of holding circuits are given to a delay element configured by a circuit element that changes a delay time according to a value, and each delay element is provided according to a value indicated by the control signal.
  • the clock signal is supplied to the basic circuit with an appropriate delay.
  • delay in the present invention includes not only a positive delay, that is, a delay, but also a negative delay, that is, an advance. Therefore, according to the digital system of the present invention and the clock signal adjusting method of the digital system of the present invention, when the characteristics of the circuit element related to the above-mentioned predetermined basic function cannot be accurately grasped, or In addition, if errors occur in the characteristics of the circuit elements, or if there is uneven quality or design errors in the clock signal lines, or if the basic circuits in the digital system Even if it is boxed and its configuration is not clear, it can absorb the timing error of the clock signal and adjust the digital system to operate without error, so that it requires less design effort than the conventional technology. , Its basic functions are higher than those of the prior art. It is possible to obtain a digital system that is larger and faster than that required, and can also reduce the degradation of the function and performance of the digital system caused by
  • the timing of the flip-flops of the entire digital system is precisely adjusted in a range where the entire digital system operates without error. Operation timing between flip-flops can be slightly shifted, thereby preventing the digital system from expanding due to increased power consumption and unnecessary electromagnetic radiation (EMI) due to simultaneous changes in digital signals. I can do it.
  • EMI unnecessary electromagnetic radiation
  • the plurality of holding circuits hold the digital system in a state where the power is supplied from the power supply device of variable output voltage. Since the values of the plurality of control signals are changed, as described in claims 5 and 18, the timing is adjusted so that the power supply voltage is lower than normal and operation is normal, so that the low power It can operate stably even with voltage, lowering the power consumption of the digital system, and since the variation of each element is large V, it does not operate at normal power supply voltage! By adjusting the timing so that the system operates normally with the power supply voltage higher than normal, the system can be used at a high power supply voltage and the digital system can be used. It is possible to increase the yield systems out of production.
  • the degree of error-free operation of the digital system is determined by all adjustable It can be expressed by an evaluation function F using the delay value of the delay element as a parameter. That the digital system operates without error is equivalent to finding the solution of the above evaluation function F.
  • the present inventor has paid attention to this point, and has found that a genetic algorithm can be applied to clock timing adjustment of a digital system.
  • the genetic algorithm is one of the probabilistic search methods, (1) works effectively in a wide area search, and (2) does not require derivative information such as differential values other than the evaluation function F (3)
  • the algorithm is easy to implement. Therefore, in the present invention, a genetic algorithm may be used for changing the plurality of control signals by the external device as described in claims 2 and 15.
  • a genetic algorithm is also known in which a genetic algorithm is modified so that it can handle a tree-structured chromosome. Therefore, in the present invention, when the clock signal line has a tree structure, a genetic control is applied to the change of the plurality of control signals by the external device as described in claims 3 and 16. Programming may be used.
  • the change of the control signal by the external device is performed by changing the output voltage of the power supply device in a stepwise manner, that is, by processing or increasing. In this way, the digital system can be operated with a lower power supply voltage or a minimum increased power supply voltage.
  • the digital system according to the present invention described in claim 6 is characterized in that the digital system itself includes a setting device instead of using an external device.
  • the digital system itself can be set instead of using an external device in accordance with the clock signal adjusting method for a digital system described in claim 14. It is characterized by having a device.
  • the same operation and effect as those of the above digital system and the clock signal adjusting method of the digital system can be obtained, and moreover, external devices can be used.
  • the setting means of the digital system itself is used, a further operation and effect can be obtained in that the adjustment can be performed at any time and in any place by the digital system alone except for the power supply device.
  • a change of a plurality of control signals by the external device is performed by using a genetic algorithm. Is also good.
  • the control signal is changed by the setting means and the output voltage of the power supply device is set to the digital system. It may be performed in a state lower than the designed power supply voltage value, or as described in claims 9 and 22, the control signal is changed by the setting means by changing the output voltage of the power supply stepwise. You may make it perform while doing it.
  • the digital system in the digital system of the present invention and the clock signal adjusting method of the digital system of the present invention described above is a power supply device with a variable output voltage as described in claim 11 and claim 24. In this way, the digital system alone can make adjustments at any time and at any location except for external devices.
  • the digital system of the digital system of the present invention and the clock signal adjusting method of the digital system of the present invention are configured as an integrated circuit as described in claims 12 and 25. In this way, it is possible to optimally adjust the clock signal for an integrated circuit in which variations in circuit elements are not apparent until actually created.
  • the digital system of the digital system of the present invention and the clock signal adjusting method of the digital system of the present invention are configured as a circuit board as described in claims 13 and 26.
  • the clock timing shift caused by unevenness in the process of the clock signal line in the digital circuit board manufacturing process or design error is absorbed, and the digital circuit board does not malfunction. Can be adjusted as follows.
  • the digital system according to the present invention and the digital system according to the present invention are described above.
  • the external device and the setting means in the clock signal adjusting method may be constituted by a computer such as a personal computer or a microcomputer as described in claim 27 and claim 28.
  • the process of changing the values of the plurality of control signals held by the plurality of holding circuits in accordance with the stochastic search method so that the basic function of the digital system satisfies the predetermined specification can be easily and reliably performed in a short time.
  • a plurality of holding circuits which are executed by a computer and held by a plurality of holding circuits, It is characterized by recording a processing program that changes the value of the control signal according to a stochastic search method so that the basic function of the digital system satisfies a predetermined specification.
  • a processing program executed by a computer for the digital system of the present invention and the clock signal adjusting method of the digital system of the present invention can be recorded and stored at any location. Can adjust the clock signal.
  • a recording medium in addition to a flexible disk, a data recording medium such as a hard disk, a CD-ROM, and an optical disk, and a storage element such as a ROM and a RAM can be used.
  • FIG. 1 is a configuration diagram schematically showing a first embodiment of a digital system of the present invention applied to a general digital system.
  • FIG. 2 is an explanatory diagram showing a relationship between a power supply voltage of a digital system and an operation delay.
  • FIG. 3 is an explanatory diagram showing an effect of adjusting a delay set value of a delay element in a digital system.
  • FIG. 4 is a configuration diagram showing a configuration example of an adjustment device in the embodiment.
  • FIG. 5 is a configuration diagram showing a configuration example of a digital signal observation device in the embodiment.
  • FIG. 6 is a configuration diagram showing a configuration example of a digital test signal generator in the embodiment.
  • FIG. 7 is a configuration diagram showing a configuration example of a power supply device in the embodiment.
  • FIG. 8 is a circuit diagram showing a configuration example of an adjustable delay element that can be used in the embodiment.
  • FIG. 4 is an explanatory diagram showing waveforms of FIG.
  • FIG. 10 is a circuit diagram showing another configuration example of the delay element that can be used in the embodiment.
  • FIG. 11 is a circuit diagram showing still another configuration example of the delay element that can be used in the embodiment.
  • FIG. 12 is a circuit diagram showing still another configuration example of the delay element that can be used in the embodiment.
  • FIG. 13 is a circuit diagram showing still another configuration example of the delay element that can be used in the embodiment.
  • FIG. 14 is a circuit diagram showing still another configuration example of the delay element that can be used in the embodiment.
  • FIG. 15 is a configuration diagram showing a configuration example of an adjustable delay circuit that can be used in the above embodiment and generates positive and negative delays.
  • FIG. 16 is a configuration diagram showing one configuration example of an adjustable delay element in the circuit shown in FIG. [17]
  • FIG. 17 is a circuit diagram showing an example of a configuration including an adjustable delay element and a least significant bit of a register in the embodiment.
  • FIG. 18 is a circuit diagram showing another example of the configuration including the adjustable delay element and the least significant bit of the register in the above embodiment.
  • FIG. 19 is a flowchart showing an outline of a processing procedure of a first embodiment of a clock signal adjusting method for a digital system according to the present invention.
  • FIG. 20 is a flowchart showing an outline of a procedure of a general genetic algorithm. [21] It is explanatory drawing which illustrates the chromosome used by a genetic algorithm.
  • FIG. 22 is a flowchart showing a processing procedure of an adjustment device using a genetic algorithm in the method of the above embodiment.
  • FIG. 23 is an explanatory diagram showing chromosomes used in the genetic algorithm in the method of the above embodiment, and register values and delay values that define the chromosomes.
  • FIG. 24 is a flowchart showing a procedure of a selection process performed by a genetic algorithm in the method of the embodiment.
  • FIG. 25 is an explanatory diagram showing a procedure of crossover processing performed by a genetic algorithm in the method of the embodiment.
  • FIG. 26 is an explanatory diagram showing a procedure of a mutation process performed by a genetic algorithm in the method of the embodiment.
  • FIG. 28 is a configuration diagram schematically showing a modification of the above embodiment.
  • FIG. 29 is a configuration diagram schematically showing a memory test pattern generator circuit as a second embodiment of the digital system of the present invention.
  • FIG. 30 is an explanatory diagram showing the relationship between the fitness and the number of generations during the experiment in the above example. [31] FIG. 31 is a configuration diagram schematically showing a modification of the above embodiment.
  • FIG. 32 is a configuration diagram schematically showing a digital circuit board as a digital system according to a third embodiment of the present invention.
  • FIG. 33 is a configuration diagram schematically showing a fourth embodiment of the digital system of the present invention.
  • FIG. 34 is an explanatory diagram showing chromosomes used in genetic programming in the method of the above embodiment, and register values and delay values determined therefrom.
  • FIG. 35 is an explanatory diagram showing a procedure of crossover processing performed by genetic programming in the method of the above embodiment.
  • FIG. 36 is an explanatory diagram showing a procedure of a mutation process performed by genetic programming in the method of the above embodiment.
  • the present invention is applicable to various digital systems that operate using a single or a plurality of clock signals. That is, by providing a plurality of timing adjustment portions in the clock circuit of the digital system to be adjusted, the clock signal can be adjusted according to the present invention.
  • the present invention uses a power supply device whose output voltage is variable only during adjustment. In the following first embodiment, a case where the present invention is applied to a digital system generally operating using a single or a plurality of clock signals will be described.
  • FIG. 1 is a configuration diagram schematically showing a first embodiment of the digital system of the present invention applied to a general digital system.
  • the clock skew problem (failure due to poor clock signal timing) in a digital system prolongs the design process of the digital system, restricts the performance of elements constituting the digital system, and makes it impossible to use the digital system. It limits the performance of the system itself and is an obstacle to cost control.
  • the operation speed of each logical element constituting the system is low, so that a failure due to a timing failure is likely to occur.
  • the clock signal adjusting method of the present invention in which the timing adjustment of the clock signal is performed for each individual digital system under a low power supply voltage is indispensable, and particularly important for a low power consumption system.
  • reference numeral 1 denotes a digital system that constitutes, for example, a microcomputer or the like, and performs predetermined basic functions such as data processing based on a given program
  • 2 denotes a clock signal that requires timing adjustment
  • Flip-flop 3 indicates a flip-flop that does not require timing adjustment.
  • Reference numeral 4 denotes an adjustable delay element that can change the clock timing according to the value of the register.
  • Reference numeral 5 denotes a register that holds the delay set value of the delay element 4. The delay element 4 is inserted between the clock terminal of the flip-flop 2 and a clock line for supplying the clock signal to the clock terminal.
  • the register 5 is connected to the delay element 4 and changes the delay value of the delay element 4.
  • the flip-flop 2 to be adjusted and the flip-flop 3 that does not need to be adjusted! (No adjustment is necessary) are components of the digital system 1.
  • reference numeral 7 denotes an observation device for observing a digital output signal of the digital system 1 and an internal state of the digital system 1
  • 8 denotes a test for adjusting the digital system 1 according to the method of the present invention.
  • Reference numeral 6 is connected to the digital test signal generator 8 to cause the digital test signal generator 8 to start generating a signal for the digital system 1 and, at the same time, to be connected to the digital signal observation device 7 and An adjustment device for causing the observation device 7 to observe the output signal 11 of the digital system 1 and the digital system internal state signal 12 indicating the internal state of the digital system 1 as described later, and 14 is a power supply device.
  • the adjustment device 6 calculates the delay time of the adjustable delay element 4 according to the adjustment method of the present invention, and writes the delay set value to the register 5.
  • the adjusting device 6, the digital signal observing device 7, the digital test signal generating device 8, and the power supply device 14 are external devices.
  • the power supply 14 supplies power to the digital system 1 through the power supply 99, and the output voltage of the power supply 14 can be controlled by the power supply control signal 98, and the adjusting device 6 Control.
  • the digital system 1 in this embodiment may be configured as an integrated circuit or may be configured as a circuit board.
  • the digital system 1 in this embodiment may be configured as a single system, or may be configured with a plurality of systems.
  • the digital system 1 in this embodiment may include a plurality of system cards and include a communication path therein, and may be configured as a single system and internally include a bus. Including communication channels.
  • the digital system 1 in this embodiment is a multi-chip It may be configured as a bridged integrated circuit.
  • the power supply 14 may be built in the digital system 1. In that case, the output voltage of the built-in power supply 14 is made variable by the power control signal 98.
  • the digital system 1 in this embodiment is an IP (Intellectual Property
  • Property may be configured as hardware design data) or a hardware library intended for use by a third party.
  • the adjusted flip-flop 2 and the not adjusted !, the flip-flop 3 are general D flip-flops, T flip-flops, SR flip-flops, JK flip-flops, Earl gate circuits, registers, and other clocks. It is a storage element that stores a state in accordance with a signal, or a storage circuit including a loop-shaped combinational circuit, and functions as a component of the digital system 1.
  • the flip-flop 2 to be adjusted and the flip-flop 3 not adjusted in the digital system 1 are appropriately connected to a combinational circuit inside the digital system 1 to change the internal state according to the clock signal.
  • the flip-flop 2 to be adjusted is a flip-flop adjusted by the method of the present invention
  • the flip-flop 3 not adjusted is adjusted by the method of the present invention.
  • This is a flip-flop that cannot be used.It is not possible to use other methods, such as timing adjustment based on simulation results at the time of designing the digital system 1, timing adjustment based on the results of trial production, and insertion of fixed-value delay elements into the data path or clock line. Adjustment by a conventional method, such as timing adjustment by, for example, is performed.
  • the clock delay time of the flip-flop 2 to be adjusted is a delay time added by the adjustable delay element 4 inserted between the clock terminal of the flip-flop 2 and the clock line.
  • the clock signal supplied to the clock terminal of the loop 2 has an adjustable delay element 4 inserted therein, and the timing is delayed by the delay time compared to the case where the clock signal is not provided.
  • the digital system 1 to be adjusted includes the flip-flop 2 adjusted as described above and the flip-flop 3 not adjusted.
  • the delay time of the adjusted flip-flop 2 That is, the clock terminal of the flip-flop 2 to be adjusted
  • the digital system 1 can operate without error under a specific power supply voltage supplied.
  • the operating speed of each logic element that composes the digital system becomes Low voltage slows down and often causes timing failures.
  • the inverter IV which is one of the logic elements constituting the digital system, has a high power supply voltage (denoted as Vdd in the figure) as shown in Fig. 2 (b).
  • Vdd high power supply voltage
  • Fig. 2 (b) the higher the power supply voltage is, the earlier the output terminal appears (output 1), and the lower the power supply voltage is, the later the output appears (output 2). Therefore, by performing the above-described clock timing adjustment under the low power supply voltage, it is possible to operate even under the low power supply voltage. Furthermore, if a digital system that did not operate even at a high power supply voltage was caused by a slight timing defect, this clock timing adjustment at a low power supply voltage will reduce the power supply. It can be operated under voltage.
  • each logic constituting the digital system can be operated.
  • slightly increasing the operation speed of the device to increase the timing margin and adjusting the clock timing with the power supply voltage it is possible to achieve an improvement in the yield with only the minimum necessary increase in the power supply voltage.
  • Digital system costs can be reduced.
  • the delay set values of the adjustable delay element 4 affect each other. That is, as shown in FIG. 3, the effect of adjusting the delay set value of the adjustable delay element 4A connected to a certain flip-flop 2A is affected only by the input / output terminal of the flip-flop 2A and the combinational circuit 20. It extends to other tuned flip-flops 2 connected in-between.
  • the adjustment method described below using the genetic algorithm based on the present invention is very effective.
  • the delay set value of the adjustable delay element 4 connected to the clock terminal of the flip-flop 2 to be adjusted is adjusted so that the digital system 1 operates without error.
  • FIG. 4 shows an example of the configuration of the adjusting device 6.
  • reference numeral 6A denotes an adjustment algorithm execution device that executes an adjustment procedure according to the method of the present invention
  • 6B denotes a delay setting device that writes a delay setting value to a register of the digital system 1.
  • the delay setting device 6B sets the delay setting value calculated by the adjustment algorithm execution device 6A in the register 5 via the delay setting signal 93.
  • the delay setting signal 93 is a digital value having the same bit width as that of the register 5 and controls the delay time generated by the adjustable delay element 4.
  • the adjustment algorithm execution device 6A searches for an optimal value as the delay set value of the register 5 according to the genetic algorithm.
  • the adjusting device 6 can be specifically constituted by an electronic computer such as a personal computer or a microcomputer. Further, the adjusting device 6 is a programmable LSI disclosed in Japanese Patent Application Laid-Open No. 9-294069, or Kajitani et al.
  • GA "Realization of Structure Learning Circuit for Eural Network by GA” (Journal of the Neural Network Society of Japan vol.
  • a program for realizing the function of the adjustment algorithm executor 6A includes a hard disk, a ROM (read only memory), a flash memory, an optical disk, a magneto-optical disk, a magnetic disk, and the like. Is stored in a recording medium.
  • reference numeral 9 denotes a clock signal generated by the digital test signal generator 8
  • 10 denotes a test signal generated by the digital test signal generator 8 and these signals are input to the digital system 1. .
  • reference numeral 11 denotes a digital output signal output from the digital system 1
  • reference numeral 12 denotes a digital system internal state signal obtained by extracting a part or all of the outputs of the flip-flops. Entered in 7.
  • FIG. 5 shows a configuration example of the digital signal observation device 7. In the digital signal observation device 7, only the logic analyzer 7A is configured.
  • a logic analyzer is a measurement device that generally observes digital signals in a digital system.
  • the digital signal observation device 7 can be configured as a dedicated circuit and incorporated in the digital system 1.
  • the logic analyzer 7A stores the values of the digital output signal 11 and the digital system internal state signal 12 when the digital system 1 operates without error, and stores the values of the output from the digital system 1 An evaluation value is calculated by comparison.
  • the values of the digital output signal 11 and the digital system internal state signal 12 when the digital system 1 operates without error are stored in the adjusting device 6, and the digital output signal 11 from the digital system 1 is stored.
  • the value of the digital system internal state signal 12 may be sent to the adjusting device 6 as it is, and the adjusting device 6 may calculate the evaluation value.
  • FIG. 6 shows a configuration example of the digital test signal generator 8. In the digital test signal generator 8, only the digital signal generator 8A is configured.
  • the digital signal generator 8A and the digital system 1 are connected by the probe of the digital signal generator 8A, and the digital signal generator 8A and the adjusting device 6 are connected by the GP-IP interface 8G.
  • the digital signal generator 8A holds the data pattern of the output digital signal in its internal memory, and outputs it to the digital system 1 as a digital test signal 10 in synchronization with a clock signal 9 of a designated frequency.
  • the digital test signal generator 8 can be configured as a dedicated circuit and built in the digital system 1.
  • FIG. 7 shows a configuration example of the power supply device 14.
  • the power supply 14 includes a plurality of variable output voltage power supplies 97 as necessary.
  • the power supply unit 14 receives power supply from a commercial AC 100 V power supply or a battery from the outside, and distributes the power to the internal variable output voltage power supply 97. You.
  • Each output voltage variable power supply 97 is a circuit for generating a single power supply voltage, and its output voltage can be changed by an external power supply control signal 98.
  • a plurality of outputs of the variable voltage power supply 97 are output to the outside as a power supply 99.
  • the output of the power supply 14 may have a fixed voltage, or the output voltage of the output voltage variable power supply 97 may be fixed and used.
  • the total number of adjustment points of the flip-flop 2 to be adjusted is plural, and as illustrated in FIG. 2, in the adjustment point of the delay element 2, adjustment of one adjustment point 2A is performed by many other adjustment points.
  • the present invention is particularly effective in the case where the adjustment result of the adjustment location is affected and a combination explosion of the adjustment search space occurs.
  • the digital system 1 of this embodiment uses a plurality of adjustable flip-flops 2 each having a delay element 4 whose delay time can be adjusted according to a setting from an external device and connected to a clock terminal.
  • the main feature is that the optimum delay value is searched using the probabilistic search algorithm to be executed, and the delay time itself is not directly measured.
  • a method is used in which the timing of a clock signal supplied to each circuit block or flip-flop in a digital system is measured using a timing comparison circuit. That is, the timing comparison between the reference clock signal and the supplied clock signal or the timing comparison between the clock signals supplied to adjacent circuit blocks and flip-flops is performed, and the difference is used as a timing adjustment circuit. Feedback is used to make adjustments so that the measured difference is reduced.
  • the first problem is the accuracy of the comparison.
  • the clock skew of the reference clock itself becomes a problem.
  • clock skew caused by wiring that leads a clock signal supplied to each circuit block or flip-flop to the comparison circuit becomes a problem.
  • the second problem is the fact that even if clock skew can be ideally reduced to zero, this does not mean that the operating yield of the digital system is maximized.
  • the clock system that supplies the clock signal is in an ideal state, the other logic circuits still have timing deviations in design specifications due to process variations and the like. Each logic element in the computer system operates at a timing different from the ideal state.
  • FIG. 8 shows a configuration example in which the delay time (signal transmission timing) is changed by the adjustable delay element 4.
  • This is a circuit in which Tr9 and TrlO as p-channel FETs and Trll and Trl2 as n-channel FETs are connected in series, and TrlO and Trll function as NOT elements.
  • Tr9 and TrlO as p-channel FETs and Trll and Trl2 as n-channel FETs are connected in series, and TrlO and Trll function as NOT elements.
  • Tr9 and TrlO as p-channel FETs and Trll and Trl2 as n-channel FETs are connected in series, and TrlO and Trll function as NOT elements.
  • FIG. 9 shows waveforms of an input signal (input clock signal) to the NOT element and an output signal (output clock signal) of the NOT element power.
  • the delay time of TA can be adjusted by the control signal voltage input to T27, and the delay time of TB can be adjusted by the control signal voltage input
  • Tr9 and Trl2 can be omitted.
  • FIGS. 10 to 13 show other configuration examples in which the delay time (signal transmission timing) is changed by the adjustable delay element 4.
  • the NOT element D2 is configured using a transistor having a larger size, the parasitic capacitance of the transistor increases and a longer delay occurs, and as shown in FIG. 12, the number of elements does not increase. , The delay time can be changed.
  • an integrating circuit is configured using the resistor R and the capacitor C, and the output is By shaping the waveform with a Schmitt trigger element s or the like, a delay circuit can be configured. With this configuration, it is possible to generate a delay proportional to the product of the value of the resistor R and the value of the capacitor C.
  • the wiring LA having the length LLA shown in the upper part of the figure generates a delay LLA / LLB times the wiring LB having the same material and width and the length LLB shown in the lower part of the figure.
  • the delay elements described above only have a function of delaying the clock signal with a deviation. However, if a PLL (phase locked loop) circuit or a DLL (delay locked loop) circuit is used, the clock signal is advanced. Negative delays can also occur.
  • FIG. 15 shows a configuration example of an adjustable delay circuit that generates a delay in both positive and negative directions.
  • reference numeral 94 denotes the above-described PLL circuit
  • reference numeral 4 denotes an adjustable delay circuit (delay element) shown in FIG. If the PLL circuit 94 has a function to advance the clock by 8DT and the adjustable delay circuit 4 has a function to generate a delay from 0DT to 15DT, this circuit has a delay of 8DT to 7DT as a whole. Can be generated.
  • the adjustable delay element 4 can be configured by combining the plurality of delay elements.
  • FIG. 16 is a configuration diagram illustrating the configuration of the adjustable delay element 4.
  • the adjustable delay element 4 in this example has a configuration in which the register 5 in FIG. 1 holds 4-bit data. Is supported.
  • each bit 1S of the register value held in the register 5 is not shown in the drawing.
  • Each switch circuit Swl-Sw4 corresponds to each switch circuit via a switch drive circuit, Each of the switch circuits Swl-Sw4 is configured to operate, and the resulting delayed clock signal is applied to the clock terminal of the flip-flop 2 to be adjusted.
  • adjustable delay elements 4 shown in FIG. A delay element UD1-UD4 for generating the delay time and a switch circuit Swl-Sw4 for selectively using the delay elements UD1-UD4 are also configured.
  • the delay elements UD1 to UD4 and the switch circuits Swl to Sw4 corresponding to the respective delay elements are alternately cascaded (
  • the delay signal generated by the delay element is added to the clock signal, and the clock signal whose timing is delayed from the original clock signal by the generated delay time is adjusted. It is configured so that it can be supplied to the terminal.
  • the delay element UD1 generates a delay time whose length is determined by design.
  • the delay element UD2 generates a delay time twice as long as that of the delay element UD1, and similarly, the delay element UD3 has a delay time four times that of the delay element UD1, and the delay element UD4 has eight times the delay time of the delay element UD1.
  • the switch circuit Swl-Sw4 corresponding to each of the delay elements UD1-UD4 is turned on / off based on the register value of the register 5, and when a certain bit out of the four bits of the register value is "1", the bit is set to "1".
  • the switch circuit corresponding to (1) falls to the delay element side, and the delay time generated by the corresponding delay element is added to the clock signal.
  • One of the four bits of the register value is “0”
  • the switch circuit corresponding to the bit falls to the bypass side, the corresponding delay element is skipped, and the generated delay time is not added to the clock signal.
  • the delay time of each of the delay elements UD1 to UD4 is set to 1DT, 2DT, 4DT, and 8DT so as to be added to the clock signal.
  • the delay time applied to the clock signal can be adjusted in the range from the delay time 0 to the delay time 15DT by the combination of the switch circuit states.
  • FIG. 17 shows a configuration example including the adjustable delay element 4 and the least significant bit 5 A of the register 5.
  • D1 is a NOT element
  • D11 is an AND element
  • D12 is an OR element
  • UD1 is a unit delay circuit
  • 5A is the least significant bit (one bit) of register 5
  • D15 is the clock input from the clock line. is there.
  • Clock output D16 is applied to the clock terminal of the flip-flop to be adjusted.
  • D17 is a delay setting value input to the register 5A
  • D18 is a write signal to the register 5A.
  • the switch here is a basic selector circuit using an AND element D11 and an OR element D12, and the output of one AND element D11 is provided with a delay element UD1 that generates a delay DT, and The output of one AND element D11 is directly connected to OR element D12, thereby skipping delay element UD1.
  • the AND element D11 on the delay element UD1 side operates to generate a delay DT, and when the output of the register 5A is a logical value “0”, the delay element is output.
  • the AND element D11 on the side that skips UD1 works, causing no delay! / ,.
  • FIG. 18 shows another configuration example including the adjustable delay element 4 and one bit D 13 of the register 5.
  • This configuration example includes a transfer gate element D20 and a buffer D19.
  • the function of the transfer gate element D20 is the switch itself, and has the same function as the above-described combination of the AND element and the OR element.
  • the digital system internal state signal 12 is composed of the output power of the adjusted flip-flop 2 and the unadjusted flip-flop 3 in part or all of the digital system 1, and is input to the digital signal observation device 7. .
  • the outputs of those flip-flops should be prepared as output terminals of the digital system 1 and connected to the digital signal observation device 7.
  • the outputs of the above-mentioned flip-flops are divided into a plurality of groups and input to the selector circuit.
  • a method of repeatedly applying the test signal 10 may be used.
  • the scan path circuit is built in the digital system 1, and the test signal 10 and the The stop signal 9 may be stopped halfway, the internal state of the digital system 1 at that time may be taken out using a scan path circuit, and passed to the digital signal observation device 7.
  • the scan path circuit here is a circuit that realizes an operation mode in which a part or all of the flip-flops in the digital system 1 operate as a single or a plurality of shift registers. It is possible to observe the internal state on the way and to set the internal state with external force.
  • one bit 5A of the register 5 has a setting input signal D17 and a setting (write) instruction signal D18, and the delay setting signal 93 is a signal of these two types for all registers. It is composed of The delay setting signal 93 is output from the delay setting device 6B and input to the digital system 1.
  • the delay setting device 6B can be configured using a parallel interface board of a personal computer, and the number of bits is determined according to the bit width of the delay setting signal 93 described above.
  • Delay setting device The signal 0 or 1 is given to the delay setting signal connected to the setting input terminal of a certain bit of a certain register 5 in the delay setting signal 93 output as the parallel interface output signal of the 6B, and the corresponding setting is performed. By giving a signal instructing the setting to the bit connected to the signal, writing to the register can be realized.
  • the value written to the register is the value calculated by the adjustment algorithm execution device 6A.
  • numbers may be assigned to all the registers 5 in the digital system 1, and the delay setting signal 93 may be constituted by this register number, a value to be written into the register, and a setting instruction signal.
  • the delay setting signal 93 sent to the digital system 1 from the delay setting device 6B is distributed according to the register number using the multiplexer circuit in the digital system 1, and the register specified by the register number is used.
  • a setting instruction signal as a setting instruction signal of a designated register.
  • a parallel interface board can also be used for connection between the delay setting device 6B and the digital system 1.
  • the set values for all registers are arranged in a line in the delay setting device 6B, and a serial signal (1 bit width signal) generated by parallel-to-serial conversion is used as the delay setting signal 93.
  • the delay setting signal 93 is subjected to serial-parallel conversion inside the digital system 1 and each set value is written to each register. Since the delay setting signal 93 is a 1-bit signal, a serial interface circuit such as RS-232C can be used to connect the delay setting device 6B to the digital system 1.
  • the adjustment device 6 After the digital system 1 is manufactured, in an adjustment step, as shown in FIG. 1, the adjustment device 6, the digital signal observation device 7, the digital test signal generation device 8, and the power supply device 14 are connected to the digital system 1
  • the digital test signal generator 8 inputs the digital test signal 10 and the clock signal 9 to the digital system 1, and the adjuster 6 sets the register value of the register 5 according to the processing procedure shown in FIG. I do.
  • step S1 the adjusting device 6 writes an initially set value that has been preliminarily determined into the register 5 and holds it as a register value.
  • step S2 the digital test signal
  • the generator 8 outputs a test signal, and in response to the test signal, the digital system 1 is operated under the input of the clock signal 9 having a constant frequency and the power supply 99 having a constant voltage.
  • the digital signal observing device 9 observes the output of the digital system 1 and the internal state of the digital system, and sends the result to the adjusting device 6, and in the next step S4, the adjusting device 6 uses the sent observation value. Then, it is determined whether the digital system 1 operates without error.
  • the voltage value of the power supply 99 can be lower than the design power supply voltage value of the digital system 1.
  • step S5 If an erroneous operation is performed here, in step S5, the adjusting device 6 changes the register value held in the register 5, and in the next step S6, one time until the result of the change becomes stable. After waiting for a fixed time, in the next step S7, it is determined whether or not the force satisfies the end condition. If so, a series of processes of returning to step S2 if the end condition is not satisfied after performing the defective product process in step S8 are repeatedly executed. If it is determined in step S4 that the digital system 1 has operated without error, the non-defective processing is performed in step S9, and the processing ends.
  • the first method is to switch the set values sequentially in an appropriate order for all combinations in the range of the expected register value
  • the second method is to generate the set values randomly. It is a way to make it.
  • the third method is a method in which a delay value obtained at the time of design is used as an initial setting value, and the setting value is slightly changed in the + direction and one direction from the initial setting value.
  • the first and second methods can be used.
  • the present embodiment uses the third method because a combination explosion is expected to occur in the adjustment search space of the register value where the number of adjustable delay elements 4 is large.
  • a method called a genetic algorithm is used.
  • an adjustment method of the digital system 1 using a genetic algorithm will be described.
  • references to the genetic algorithm include, for example, the publisher ADDISON-WESLEY.
  • the genetic algorithm referred to in the present invention refers to an evolutionary computation method (Evolutionary Computation).
  • the degree of error-free operation of the digital system 1 can be represented by an evaluation function F with the delay values of all adjustable delay elements as arguments (input). That the digital system 1 operates without error is equivalent to finding a delay value that optimizes the evaluation function F. Focusing on this point, the present inventor has found that the genetic algorithm described above can be applied to the adjustment of the digital system 1.
  • the adjusting device 6 changes the register value of the register 5 according to the genetic algorithm.
  • the genetic algorithm first, a group of virtual organisms having genes is set, and the individual's ability to adapt to a predetermined environment survives according to the degree of the adaptation, and descendants descend. Increase the probability of leaving. Then, the child inherits the parent's gene by a procedure called genetic manipulation. By performing such generational changes and evolving genes and populations, individuals with high fitness will dominate the population. Genetic manipulations at this time include gene crossover and mutation that occur in the reproduction of actual organisms.
  • FIG. 20 is a flowchart showing a schematic procedure of a powerful genetic algorithm.
  • step S11 a chromosome of an individual is determined. That is, when the generations are changed, the parent's individual strength determines what kind of data is transmitted to the offspring individuals and in what format.
  • FIG. 21 illustrates a chromosome.
  • Each symbol Ai is a gene, and their possible values are alleles.
  • Ch indicates a chromosome
  • Gs indicates a locus
  • the number M of the locus is 5.
  • the allele a set of integers, a range of real values, and a simple sequence of symbols are determined according to the problem.
  • the letters a—e are alleles.
  • the set of genes thus encoded is the chromosome of an individual.
  • step S11 a calculation method of a fitness indicating how much each individual has adapted to the environment is determined.
  • the design is designed such that the higher the value of the evaluation function of the target optimization problem is, the higher the ⁇ variable or the lower the variable, the higher the fitness of the individual corresponding to the variable.
  • individuals with higher fitness have a higher probability of surviving or producing offspring than individuals with lower fitness and higher individual fitness.
  • individuals with low fitness are considered to be individuals that are not well adapted to the environment and are annihilated. This reflects the principle of natural selection in evolution. That is, fitness is a measure of the strength of each individual in view of the potential of survival.
  • step S13 after the processing is started in step S12, the initial population of organisms is generated randomly using random numbers. If there is some prior knowledge about the search space, processing such as generating a population of organisms may be performed mainly on the parts that are considered to have high evaluation values.
  • the total number of individuals to be generated is referred to as the number of individuals in a group.
  • step S14 the fitness of each individual in the biological population is calculated based on the calculation method previously determined in step S11.
  • step S15 individuals that are the basis of the next generation of individuals are selected from the population. However, performing only selection will only increase the proportion of individuals with the highest and highest fitness levels in the population, and will not generate new search points. Therefore, the following operations called crossover and mutation are performed.
  • next step S16 a pair of two individuals is randomly selected at a predetermined frequency from the next generation individuals generated by the selection, and the chromosomes are rearranged to change the chromosomes of the offspring.
  • the probability of occurrence of crossover is called a crossover rate.
  • the offspring individuals generated by the crossover are individuals that have inherited the power traits of their parent individuals. This crossover process increases the chromosome diversity of the individual and causes evolution.
  • the gene of the individual is changed with a certain probability (sudden mutation).
  • the probability of occurrence of a mutation is called a mutation rate. If the content of a gene is rewritten with a low probability, the! / ⁇ ⁇ phenomenon is a phenomenon that can also be seen in the genes of real organisms. It should be noted, however, that if the mutation rate is set too high, the genetic characteristics of the parent trait will be lost due to crossover, which will be the same as searching randomly in the search space.
  • next generation population is determined by the above processing.
  • step S18 it is determined whether or not the generated next generation biological population satisfies the evaluation criteria for ending the search. Find out.
  • the evaluation criteria depend on the problem, but typical ones are as follows.
  • step S19 the process proceeds to step S19 to terminate the search, and obtain an individual with the highest fitness in the biological population at that time. The solution to the optimization problem. If the termination condition is not satisfied, the process returns to the process of calculating the fitness of each individual in step S14, and the search is continued. By repeating such generation alternation, the fitness of an individual can be improved while keeping the number of individuals in the group constant.
  • the above is the outline of the genetic algorithm.
  • the genetic algorithm framework described above is a loose one that does not specify actual programming details, and does not specify a detailed algorithm for each problem. Therefore, in order to use the genetic algorithm for adjusting the digital system of the present embodiment, the following items need to be realized for adjusting the digital system.
  • FIG. 22 is a flowchart showing a processing procedure of the adjusting device 6 using the genetic algorithm in the present embodiment. Note that the process of FIG. 22 specifically shows the process of step S2 to step S6 of FIG.
  • the major feature of this embodiment is that the register value of the register 5 is directly used as the chromosome of the genetic algorithm, which eliminates the need for processing for converting chromosome information into the register value. can do. That is, the chromosome in this example is composed of a plurality of register values of the register 5 as shown in FIG.
  • a signal with a positive sign (no sign) delays the signal by that time, and a signal with a negative sign advances the signal by that time.
  • a plurality of individuals are first created using uniform random numbers as an initial group of the genetic algorithm in step S1 of FIG.
  • the value of each gene on each chromosome in the initial population takes a value of 1 at a probability of 0.5 and a value of 0 at a probability of 0.5.
  • individuals that are considered to have higher fitness can be created as the initial population.
  • Each individual in the initial population calculates the fitness from the observation value (step S3) sent from the digital signal observation device 7 by the adjustment device 6 using the above evaluation function. Thereafter, it is determined in step S4 whether or not the performance of the digital system 1 operates without error. If the digital system 1 operates without error, non-defective processing is performed in step S9, and the adjustment processing ends.
  • step S9 In the case of all individuals in the initial population, if the non-defective processing in step S9 is not performed, the process proceeds to the genetic processing in steps S21 to S30. If it is determined that the performance of the digital system 1 has operated without error during the fitness calculation processing in step S26 or step S29, the non-defective processing is performed in step S9, and then the adjustment processing ends. If the chromosome (register value) that operates without error is not obtained even after performing the adjustment process by repeating steps S21 to S30 for a certain number of generations, the digital system 1 to be adjusted is determined to be defective, and In step S8 of step 19, processing as a defective product is performed.
  • the selection process of the genetic algorithm is a process of selecting individuals to be left in the next generation from the population, and is performed in steps S21 to S30.
  • two individuals 1 and 2 are selected at random in terms of collective power (step S21), and crossover and mutation are applied thereto, 24 (steps S22-S29), and then, as shown in the processing flow of FIG. 24, out of the four individuals of parent individuals 1, parent individuals 2, child individuals 1, and child individuals 2, Two individuals A and B are selected (step S31), and the individuals A and B are replaced with the parent individuals 1 and 2 in the population (step S32).
  • This replacement process is generally
  • a major feature is that the individuals in the entire population are not changed at the same time as in various genetic algorithms. Thereby, it is possible to perform a search with a small number of individuals in a group.
  • step S22 the method shown in the explanatory diagram of Fig. 25 is used. This is an operation to partially replace chromosomes at random positions, a technique called one-point crossover.
  • Chi and Ch2 are the chromosomes of the parents A and B that have survived as a result of the selection, and in the crossover process, these chromosomes are cut at the randomly selected crossover position CP.
  • the intersection position is between the third gene and the fourth gene from the left.
  • offspring A ′ and offspring B ′ having chromosomes Ch3 and Ch4, respectively are generated, and these are not replaced with the original individuals A and B.
  • the mutation in step S23 which is executed following the crossover in step S22, is to change each bit of the gene of each chromosome from 0 to 1 or 1 to 0 with the occurrence probability of the mutation rate. It is.
  • Figure 26 shows an example of mutation. In Fig. 26, mutations occur in the genes at the second bit from the left and the third bit from the right of the chromosome Ch5, each of which is changed to an allele on chromosome Ch6! .
  • the delay element 4 having a variable delay value is used for the clock signal to the plurality of flip-flop elements in the digital system 1, and these delay elements are used.
  • the delay value of 4 is searched so that the digital system 1 operates without error. Therefore, it absorbs clock timing errors caused by unevenness in clock signal line quality and design errors in the digital system manufacturing process, and compensates for lack of timing margins caused by lowering the power supply voltage.
  • the digital system 1 can be tuned to operate without error, which means that a digital system that operates at a lower supply voltage than the prior art, with less V and design effort than the prior art, i.e. This means that a digital system with low power consumption can be obtained.
  • some digital systems 1 that cannot be operated even when adjustments are made with the original power supply voltage can be adjusted to operate without error by slightly increasing the power supply voltage. This means that the operation yield can be improved with less labor and a minimum power supply voltage rise than in the conventional technology.
  • the following adjustment method can be used. That is, in the adjustment method described above, the power supply voltage of the power supply 99 is assumed to be a constant value, but after the adjustment is completed, the power supply voltage of the power supply 99 is reduced, and the same adjustment is performed. Further adjustment can be made to reduce the operating voltage.
  • FIG. 27 shows an adjustment method in the above case.
  • step S61 the power supply voltage of the power supply 99 input to the digital system 1 is set to V0, and then in step S62, the adjusting device 6 performs the adjustment in steps S1 to S9 shown in FIG. I do.
  • step S63 it is determined whether or not the digital system 1 has been adjusted to a non-defective product as a result of the adjustment in step S61. As a result of the adjustment, if the power becomes a non-defective product, the process is terminated. If the adjustment results in a non-defective product, the power supply voltage of the power supply 99 is set to a value VI smaller than V0 in step S64.
  • step S65 the digital system 1 is adjusted as in step S62.
  • step S66 the same determination as in step S63 is performed, and if the product is non-defective, the process of adjusting the power supply voltage of the power supply 99 to a smaller value is repeated. As a result of the repetition, when the power supply voltage of the power supply 99 is set to the lower limit value Vn in step S68, the adjustment is performed in step S69, and the process ends.
  • the upper limit value V0 of the power supply voltage is determined by the design value of the digital system 1
  • the lower limit value Vn is determined by the physically allowable power supply voltage.
  • the value of n and the values of VI to Vn-1 are determined by the required accuracy of the adjustment. With this adjustment method, the value of the operating power supply voltage of the digital system 1 can be reduced according to the decrease in the timing margin.
  • the stability of the digital system can be improved by operating the digital system determined to be good with the power supply voltage Vj at the frequency of Vi (i ⁇ j) when the system is used. it can.
  • the clock timing is adjusted so that it operates at a lower power supply voltage than when it is used, and the clock timing is affected by fluctuations in the power supply voltage during operation, the digital system temperature, and the effects of external electromagnetic noise. This is because even if a subtle change occurs, malfunction may occur. If the power supply voltage is not adjusted to a good product in step S63 of the above adjustment method, the power supply voltage value is set to Vh
  • the initial Vh is set slightly higher than the design value V0
  • the adjustment from Step S1 to Step S9 can be performed again. If the timing adjustment is successful at this power supply voltage value Vh, it is possible to achieve an improvement in yield with only the minimum necessary increase in the power supply voltage. On the other hand, in the case of a force that cannot be adjusted to a good product even in this Vh, it is possible to further increase Vh in stages and continue the adjustment.
  • This adjustment method can also be used in the mass production process of the digital system 1.
  • the conventional mass production process in general, only operation tests were performed without adjusting the power supply voltage, and non-defective products were selected.
  • the ratio of the digital system operating at a low power supply voltage value can be increased.
  • the adjustment device 6, the digital signal observation device 7, the digital test signal generation device 8, and the power supply device 14 are detachably connected to the digital system 1 as external devices.
  • a circuit corresponding to the external device may be incorporated in the digital system 1 as adjustment means.
  • the power supply device 14 may be incorporated in the digital system 1 or connected as an external device independently of the adjustment device 6, the digital signal observation device 7, and the digital test signal generation device 8.
  • FIG. 28 shows a modification configured as described above.
  • a circuit corresponding to the external device is incorporated in the digital system 1 in addition to the digital system main body 1L.
  • a switching switch 30 is provided between the input terminal and the output terminal of the digital system 1L and the external input terminal 32 and the external output terminal 33 of the digital system 1L, respectively. This The switching switch 30 may be provided inside the digital system 1L as shown in the drawing, and may be provided outside the digital system 1.
  • the switching switch 30 When the switching switch 30 is operated, the output of the digital system main unit 1L is input to the digital signal observation circuit 7L, and the adjustment circuit 6L, the digital signal observation circuit 7L, and the digital test signal generation circuit 8L operate. And adjust the register value.
  • the power supply unit 14L constantly supplies power to each unit in the digital system main unit 1L, and at the same time, changes the power supply voltage on the output side according to the power supply control signal 98 from the adjustment circuit 6L.
  • the output of the digital system 1L is switched to the output terminal 33 by operating the switch 30.
  • the light emitting element 31 that displays a warning when a register value at which the digital system main unit 1L operates without error is not obtained is provided.
  • the switching switch 30 is not limited to a manual switch, and may be configured to switch automatically when the power is turned on.
  • the clock signal 9 may be used as the clock signal 9.
  • This embodiment is an example of a configuration in which the method of the present invention is applied to a memory test pattern generator circuit.
  • FIG. 29 shows a digital system according to the present invention having the basic function of generating a memory test pattern.
  • FIG. 2 is a configuration diagram showing a memory test pattern generator circuit 1G as a second embodiment of the system, corresponding to the digital system 1 in FIG. 1, and using the same other devices as those in FIG.
  • adjustment device 6, digital signal observation device 7, digital test signal generation device 8, and power supply device 14 are external devices. Circuits similar to those shown in FIG. 1 are denoted by the same reference numerals.
  • the adjusted flip-flop 2 is a normal D flip-flop
  • the unadjusted flip-flop 3 is also a normal D flip-flop.
  • the clock terminal of the unadjusted flip-flop 3 is connected directly to the clock line.
  • An adjustable delay element 4 is inserted between the clock terminal of the adjusted flip-flop 2 and the clock line.
  • a register 5 for controlling the delay time of the delay element 4 is connected to the adjustable delay element 4. If the register 5 has 4 bits, the adjustable delay element 4 can be configured as shown in FIG.
  • the adjustable delay element 4 can generate a delay from Ops to 750 ps according to the value of the register 5.
  • the register 5 can be composed of four ordinary D flip-flops.
  • the register 5 receives a 4-bit delay value setting signal and a 4-bit common setting instruction signal.
  • the delay setting signal (delay value setting line) 93 is obtained by collecting the delay value setting signal for 4 bits of the register 5 and the common setting signal for all registers.
  • the digital system internal state signal 12 is a signal obtained by collecting all outputs of the flip-flop 2 to be adjusted.
  • the decoder circuit 20A1 performs a decoding process on an input signal, and is configured as a thread matching circuit (not including a storage element such as a flip-flop).
  • the ALU circuit 20A2 inputs a 4-bit input signal for each of the two systems and a 4-bit operation designation signal, performs an operation between the two input signals according to the operation designation signal, and outputs the operation result as a 4-bit output This is a combination circuit that outputs data.
  • the inverter circuit 20A3 has a function of inverting or non-inverting an input signal according to an external force designation, and is configured as a combinational circuit.
  • the PLL circuit 94 is connected between the input terminal of the clock signal 9 and the adjustable delay element 4 connected to the adjusted flip-flop 2, and supplies the same frequency to the adjusted flip-flop 2. And generates a clock signal advanced by the timing force S400ps.
  • the adjustable delay element 4 can generate a delay from Ops to 750 ps, so the delay from -400 ps to 350 ps together, that is, from 400 ps advanced to 350 ps delayed A clock can be supplied to each adjusted flip-flop 2.
  • the clock timing of the flip-flop 2 to be adjusted also varies from ⁇ 400 ps to 350 ps depending on the value set in the register 5. For example, when 1011 is set in the register 5, the clock timing of the corresponding adjusted flip-flop 2 is delayed by 150 ps with respect to the clock signal 9 supplied from the outside.
  • the clock signal 9 is directly supplied to the clock terminal of the flip-flop 3 that is not adjusted, and the flip-flop 3 operates at the same timing as the clock signal 9 without being adjusted.
  • one input of the ALU circuit 20A2 is fed back via the flip-flop 2 to be adjusted, and is not a simple pipeline structure.
  • the flip-flops connected to the external terminals of the digital system 1 are all adjusted, and are not adjusted.
  • the flip-flops 3 are adjusted and the other flip-flops are adjusted. It is not necessary.
  • the method of the present invention is applicable and effective even if the characteristic value of each element appearing in the present example is not always accurate.
  • the present embodiment is particularly suitable when applied to a memory test pattern generator circuit used for testing a high-speed memory element.
  • the performance of the memory test pattern generator circuit 1G can be represented by an evaluation function F having the delay values of the plurality of adjustable delay elements 4A1-4A14 as arguments. Operating the memory test pattern generator circuit 1G without error is equivalent to obtaining a delay value that optimizes the evaluation function F.
  • the adjusting device 6 sets the evaluation function F to Used to change the value in register 5 according to the genetic algorithm.
  • Adjustment of delay element 4 is performed according to the flowcharts shown in FIGS. 19 and 22, as in the case of the first embodiment.
  • This embodiment is characterized in that the value of the register 5 is directly used as the chromosome of the genetic algorithm. As a result, processing for converting chromosome information into register values becomes unnecessary.
  • the chromosome in the present embodiment is also configured with the register values of the fourteen registers 5 corresponding to the fourteen delay elements.
  • the memory test pattern generator circuit 1G was set with the register value represented by the chromosome of the individual. After that, a function indicating how close the output observed by the digital signal observation device 7 is to the expected value is used. Specifically, the value calculated by the following evaluation function F is used for fitness of the genetic algorithm.
  • NT is the number of outputs of the memory test pattern generator circuit 1G for the sequence of the digital test signal 10
  • NC is the number of times the digital value of the memory test pattern generator circuit output as expected was output. is there.
  • the above evaluation function F takes a real value from 0 to 1, and when it takes a value of 1, the memory test pattern generator circuit 1G to be adjusted has operated without error. For example, assuming that NC is 253 and NT force is 500 in the output system of digital system 1 set by the register value represented by a certain chromosome, the value of evaluation function F in that case is 0.506.
  • a plurality of individuals are first created using uniform random numbers as an initial group of the genetic algorithm in step S1 of FIG.
  • the value of each gene on each chromosome in the initial population takes a value of 1 at a probability of 0.5 and a value of 0 at a probability of 0.5.
  • the number of individuals in the population was 50.
  • the memory test pattern generator circuit 1G is operated with the register value represented by each individual, and using the observation result of the observation device 5 in step S3, the adjustment device 6 in step S4 The fitness is calculated by the evaluation function. Then, in order, selection is performed in step S21, crossover is performed in step S22, and mutation processing is performed in step S23, thereby generating a population of individuals of the next generation (a population of solution candidates).
  • the crossover rate which is the ratio of the number of individuals performing crossover to the total number of individuals, was 0.5, and the mutation rate was 0.0125.
  • step S4 it is determined whether the memory test pattern generator circuit 1G operates without error, and when the memory test pattern generator circuit 1G operates without error, non-defective processing is performed, and the adjustment processing ends. If the chromosome (register value) satisfying the specification is not obtained even after performing the adjustment process repeatedly for a certain number of generations, the memory test pattern generator circuit 1G to be adjusted is determined to be defective, and the defective product is determined in step S8. Is performed. In this example, the number of generations at which repetition is stopped was set to 20. [0148] The following is an experimental result when the adjustment method using the genetic algorithm of the present embodiment is applied to the memory test pattern generator circuit 1G shown in FIG. 29. In this experiment, circuits were fabricated using LSI chips using CMOS technology.
  • the memory test pattern generator circuit is mounted on a normal integrated circuit.
  • the memory test pattern generator circuit can be mounted using a reconfigurable integrated circuit such as an FPGA or a CPLD.
  • a reconfigurable integrated circuit such as an FPGA or CPLD with the delay adjustment element built in is developed and used. May be implemented.
  • the delay elements 4A1-4A14 are inserted into the clock signal line to the flip-flop element, and the delay time of the delay elements 3 is measured by the memory test. Search so that the pattern generator circuit 1G operates without error even when the power supply voltage is lower than the specified (normal) voltage. Therefore, according to the present embodiment, clock signal errors due to unevenness in the quality of clock signal lines in the integrated circuit manufacturing process, errors in design, etc., and each logic element in the circuit based on a drop in power supply voltage
  • the memory test pattern generator 1G can be adjusted to operate without errors by absorbing the decrease in operating speed of the memory, which requires less design effort than the conventional technology and is faster than the conventional technology. This means that a digital system with low power consumption can be obtained.
  • the memory test pattern generator circuit 1G can be tuned to operate without errors by absorbing the rise in temperature, which requires less design effort than the conventional technology, and is faster and faster than the conventional technology. This means that a digital system with a high operating yield can be obtained.
  • the current consumption and heat generation of the memory test pattern generator circuit 1G can also be observed and incorporated into the evaluation function.
  • the amount of heat generated and the amount of current consumed by an LSI fluctuate depending on the clock timing input to the flip-flops inside the LSI, so that it is possible to meet various required specifications and improve the adjustment accuracy. .
  • FIG. 31 shows a configuration example in the above case.
  • reference numeral 13 is a thermometer
  • 14 is a power supply.
  • the thermometer 13 measures the temperature of the LSI of the memory test pattern generator circuit 1G, converts the value into an AZD, and transmits it to the adjusting device 6.
  • the power supply device 14A is a device that supplies power to the memory test pattern generator circuit 1G 99.
  • the power supply device 14A converts the current supply value into an AZD and transmits the converted value to the adjustment device 6.
  • the adjusting device 6 monitors the temperature and the current consumption while the digital test signal generator 8 outputs the test signal 10, calculates the average temperature and the average current consumption during that, and further supplies the power control signal. 98 to the power supply 14A.
  • fitness is the fitness in the genetic algorithm
  • T is the measured average temperature
  • I is the measured average current consumption
  • Tm is the ideal average temperature
  • Im is the ideal average current consumption
  • wl , W2 are weighting factors.
  • adjustment is performed until the memory test pattern generator circuit 1G does not malfunction, and after the malfunction does not occur, further adjustment is performed so that the average current consumption and the average temperature are closer to ideal values. . Then, as in the previous embodiment, adjustment is performed so that the power supply voltage is reduced within a range where the memory test pattern generator circuit 1G does not malfunction.
  • the peak value during the observation of the current consumption may be incorporated into the above evaluation function.
  • FIG. 32 shows the configuration of a digital circuit board according to the third embodiment.
  • reference numeral 1B denotes a digital circuit board
  • the system of this embodiment differs from the digital system 1 of the first embodiment in that It is configured using a digital circuit board 1B having the same basic functions as the digital system 1.
  • the same components as those shown in FIG. 1 are denoted by the same reference numerals.
  • a plurality of LSIs 1L1-1L10 to which the clock signal 9 is input and a plurality of electronic components 16 to which the clock signal is not input are mounted.
  • the LSI and the electronic components are connected to each other by a data signal line (not shown).
  • 4B1-4B10 are delay elements whose delay time can be adjusted, and their delay times are adjusted according to the values indicated by the registers 5B1-5B10, respectively.
  • the adjustment points are 10 places.
  • Reference numeral 15 denotes an electromagnetic wave measuring device as an external device.
  • a digital signal current including a high frequency component and a harmonic component of the frequency flows on the board, so that the power of the radiated electromagnetic noise is large. Therefore, it affects the human body and other nearby electronic devices as EMI noise.
  • the emission noise can reduce the peak value of the power by slightly shifting the input clock timing to each LSI. Therefore, by observing the radiation noise and adjusting the clock timing, the influence of the radiation noise on the outside can be reduced.
  • Driving a digital circuit board with a low power supply voltage can reduce the total power of electromagnetic noise radiated from the board, which is effective as a measure against EMI.
  • the electromagnetic wave measuring device 15 measures the power of the electromagnetic wave radiated from the substrate, converts the value into an AZD, and transmits it to the adjusting device 6.
  • the adjusting device 6 monitors the electromagnetic wave power while the digital test signal generating device 8 is outputting the test signal, and calculates the peak value during the monitoring.
  • the adjustment method of this embodiment is basically the same as the adjustment method of the first embodiment.
  • the adjusting device 6, the digital signal observing device 7, the digital test signal generating device 8, the power supply device 14, and the electromagnetic wave measuring device 15 Are respectively connected to the digital circuit boards 1B.
  • the power supply 14 supplies power to the digital circuit board 1B.
  • the digital test signal generator 8 inputs the test signal 10 and the clock signal 9 to the digital circuit board 1B.
  • the digital signal observing device 7 observes the output value of the digital circuit board 1B
  • the electromagnetic wave measuring device 15 observes the radiation noise of the digital circuit board 1B, and supplies the same to the adjusting device 6, and the adjusting device 6 is, for example,
  • the evaluation is performed using the evaluation function shown.
  • the power supply 14 supplies the power supply voltage supplied to the digital circuit board 1B to the evaluation function to operate at the lowest power supply voltage as much as It is also possible to adjust so that the peak power p becomes low.
  • the output of the power supply 14 is set to the lowest power supply voltage at which the digital circuit board 1B operates, and then, based on the evaluation function of [Equation 3],!
  • the peak power P of the electromagnetic wave can be adjusted to be low, or the adjustment can be made by taking the weighted average of the peak power of the electromagnetic wave and each power supply voltage output by the power supply 14 as P
  • the chromosomes and register values here are in one-to-one correspondence as in the case of the method of the first embodiment. That is, as shown in FIG. 23, the chromosome is composed of the register values of ten registers 5 corresponding to the ten adjustment points in the above embodiment. Then, each register 5 corresponding to each adjustment position is a 4-bit register here. Therefore, the chromosome length is 40 bits. Therefore, the size of the adjustment search space of the digital circuit board 1B of the above embodiment is 2 "40 10" 12 (10 to the 12th power), and it is needless to say that adjustment by full search is impossible.
  • a plurality of adjustable delay elements 4B1-4B10 are used on the clock signal 9 in the digital circuit board 1B, and the delay values are output from the digital circuit board. Since adjustments are made to prevent malfunctions, the digital circuit board 1B does not malfunction by absorbing clock timing deviations caused by unevenness in the process of clock signal lines and design errors in the digital circuit board manufacturing process. , Can be adjusted as follows. Further, in the present embodiment, since the adjustment can be performed in consideration of the radiation noise radiated as an electromagnetic wave from the digital circuit board 1B, especially when a human body or other electronic devices exist around the digital circuit board 1B. It is suitable.
  • the number of LSIs mounted on the substrate is set to ten. In the present invention, it goes without saying that the number of LSIs does not matter. In addition, when the magnitude of radiated noise power does not matter, such as when no human body or other electronic devices are present around the circuit board, it is not necessary to consider the value of P in the above evaluation function. But,.
  • the method of this embodiment is particularly suitable when the clock frequency is high. This is because, when the clock frequency is high, the timing adjustment of the clock signal becomes more difficult, and the power of the high frequency component of the electromagnetic radiation noise becomes stronger.
  • a genetic algorithm is used for the method of obtaining the initial setting value of the register 5 and the method of changing the register value from the initial setting value.
  • an algorithm called genetic programming can be used instead of the genetic algorithm.
  • the value of the register 5 is adjusted by the adjusting device 6 according to the genetic programming. change.
  • This embodiment is particularly characterized in that the tree structure of the clock signal line is directly mapped to the chromosome structure of the genetic programming as the chromosome of the genetic programming. In this way, as in the first embodiment, a circuit for converting chromosome information into register values can be eliminated.
  • the digital system 1T shown in Fig. 33 has the same basic function as the digital system 1; however, in this digital system 1T, a clock signal 9T is input to the digital system 1T, and the clock signal 9T is formed into a tree structure. The signal is branched and input to digital subsystems 1TS1 to 1TS6. Within these digital subsystems, the clock signal is provided to all flip-flops as a clock signal. A delay element 4T1 to 4T5 is inserted in each branch of the clock signal line, and each delay value can be changed according to the corresponding register value 5RT1-5RT5. The digital subsystems are connected by a data line (not shown).
  • This adjustment method also follows the flowchart of FIG. 19 as in the first embodiment.
  • the processing procedure of the genetic programming is the same as the flowchart shown in FIG. 22, except for the chromosome expression method and the crossover method.
  • the tree structure shown in Fig. 34 is used as a chromosome for genetic programming. That is, using a tree structure that directly represents the connection state of the clock signal lines shown in FIG. 33, the bit strings of the chromosome nodes CS1 to CS5 correspond to the values of the registers 5RT1 to 5RT5.
  • the adjustment method can be applied to any number of bits, needless to say that each register length is set to 3.
  • the digital system 1T is set up with the register value represented by the chromosome of the individual, operated, and observed by the digital signal observation device 7. Use a function that indicates how close the digital output is to the expected value.
  • a plurality of individuals are first created using uniform random numbers as an initial group for genetic programming in step S1 of FIG. That is, in this case, the value of each gene of each chromosome in the initial population takes a value of 1 at a probability of 0.5 and a value of 0 at a probability of 0.5.
  • individuals that are considered to have higher fitness can be created as the initial population.
  • the fitness value is calculated by the adjustment device 6 from the observation value (step S3) sent from the digital signal observation device 7 using the above evaluation function. At this time, it is determined in step S4 whether or not the performance of the digital system 1T operates without error. If the digital system 1T operates without error, the non-defective processing is performed in step S9, and then the adjustment processing ends.
  • step S9 In all individuals in the initial population, if the non-defective processing in step S9 is not performed, the process proceeds to the genetic processing in steps S21 to S30. If it is determined that the performance of the digital system 1T has operated without error during the fitness calculation processing in step S26 or step S29, the non-defective processing is performed in step S9, and then the adjustment processing ends. If the chromosomes (register values) that operate without error cannot be obtained even after performing steps S21 and S30 repeatedly for a fixed number of generations, the digital system 1T to be adjusted is determined to be defective, and At step S8 in step 19, processing as a defective product is performed.
  • step S22 the method shown in the explanatory diagram of FIG. 35 is used. This is an operation that partially replaces the chromosome tree structure at random positions. This is a unique operation.
  • TR1 and TR2 are the chromosomes of the parents A and B selected as a result of the selection process in step S21, and in the crossover process, these chromosomes are cut at the randomly selected crossover position CP. Then, by exchanging the cut partial genotypes, a child A 'and a child B' having chromosomes TR3 and TR4, respectively, are generated. By using this method, crossover can be performed without destroying partial information of chromosomes effective for adjustment.
  • the mutation in step S23 which is executed following the crossover in step S22, is to change each bit of the gene of each chromosome from 0 to 1 or 1 to 0 with the occurrence probability of the mutation rate. It is.
  • Figure 36 shows an example of mutation. In FIG. 36, mutations occur in the genes enclosed in squares on chromosome TR5, each of which is changed to an allele on chromosome TR6.
  • the above-described genetic programming enables efficient adjustment when the clock signal line has a tree structure.
  • the present invention can be applied to all, a part, or a plurality of parts of a device using a digital system, regardless of the size of the digital system.
  • the adjustment by the method of the present invention hardly hinders even if the accuracy of the delay value of the adjustable delay element 4 is low and monotonicity is not guaranteed. Therefore, the delay element used in the present invention can be manufactured on a semiconductor substrate with a smaller area than before.
  • the present invention is not limited to the above-described examples.
  • the present invention includes other configurations that can be easily modified by those skilled in the art within the scope of the claims. It is.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pulse Circuits (AREA)

Abstract

 単一もしくは複数のクロック信号に従いデジタル処理を行って所定の基本的機能を奏するデジタルシステム1において、デジタルシステム内の、クロック信号を供給する複数のクロック回路にそれぞれ介挿されるとともに、制御信号が示す値に応じて遅延時間を変化させる回路素子で各々構成された複数の遅延素子4と、複数の遅延素子に与える複数の制御信号を保持する複数の保持回路5と、を具える。複数の保持回路は、出力電圧可変の電源装置14からデジタルシステム1が電源を供給された状態で、それらの保持回路が保持する複数の制御信号の値を外部装置6~8により、確率的探索手法に従って、デジタルシステムの基本的機能が所定の仕様を満たすように変更される。  

Description

明 細 書
デジタルシステム、デジタルシステムのクロック信号調整方法および、その 調整方法で実行する処理プログラムを記録した記録媒体
技術分野
[0001] 本発明は、単一あるいは複数のクロック信号に同期して動作する単一あるいは複数 のデジタルシステムおよび、力かるデジタルシステムのクロック信号のタイミング調整 方法、そしてその調整方法で実行する処理プログラムを記録した記録媒体に関する ものである。
本発明は特に、デジタルシステムの構成要素であるデジタル回路素子の数が多ぐ しかも電源電圧が通常より低い場合や電源電圧を通常より高くできる場合に極めて 有効である。
背景技術
[0002] デジタルシステムは、通常、 AND素子、 OR素子、 NOT素子の 3種類の論理素子と、 真と偽の 2通りの状態 (1ビット)を記憶するフリップフロップと呼ばれる記憶素子力 構 成される。
最も基本的なフリップフロップは、各 1本の入出力端子とクロック端子の 3端子力も構 成され、クロック端子に印加されたクロック信号と呼ばれるデジタル信号の立ち上がり に入力端子のデジタル信号を出力端子にコピーし、かつ、次のクロック信号の立ち上 力 Sりまでそのデジタル値を保持する機能を有する。
[0003] 一般に、有限個のクロック信号に従って動作するデジタルシステムを同期回路と呼 び、同期回路では各フリップフロップのクロック端子に到着するクロック信号の時間差 が全体の動作に影響を与える。このクロック信号の時間差をクロックスキューと呼ぶ。 例えば、同じ Insの時間のずれでも、クロック周波数が 10MHzの場合、つまり、クロッ クサイクルが 100nsの場合には 1%のずれであるのに対し、クロック周波数が 100MHzの 場合、つまりクロックサイクルが 10nsの場合には 10%のずれであり、補正が必要となる。 つまり、クロック周波数が高いほど精密なタイミング調整技術が必要となる。
[0004] デジタルシステムのクロックスキューに対する従来の対策としては、 (1)デジタルシステムの設計時に、クロックスキューができるだけ小さくなるように設計 者が手動で調整するという対策手法。
(2)デジタルシステム中のクロック信号線上に、クロックスキューが小さくなるような調 整回路を入れるという対策手法。
の 2通りがあった。
発明の開示
発明が解決しょうとする課題
[0005] しかし、対策 (1)では次のような問題が解決されない。すなわち、トランジスタや抵抗 、コンデンサといった電子回路素子はそれぞれの特性にバラツキを有しており、各素 子のノ ラツキは実際にシステムを作成するまで明らかではない。これは集積回路内 の素子において特に顕著に見られる特性である。
従って、設計時には完全にこれらのバラツキを把握することはできず、ある範囲のバ ラツキを許容して設計、作成するか、もしくは、試作を繰り返して実際のバラツキの度 合いを測定するという手法がとられてきた。
し力しながら、この方法には明らかに限度があり、各素子の持つ特性を限界まで利 用することはできな力つた。このバラツキの問題の影響を最も強く受けるのがクロック スキューであり、デジタル同期システムの動作周波数はこれで決まってくる。
[0006] 別の問題点として、手動での調整では、扱える回路規模に限界があり、コンビユー タシステムのような大規模なデジタルシステム全体に対する調整は、現実問題として 不可能であった。また、大規模問題を扱う際の常套手段である部分問題への切り分 けも、調整範囲を制限してしまい望ましくない。
[0007] 対策 (2)の問題点は、クロックスキューが小さくなる方向にしか調整できないことであ る。
実際のデジタル同期システムでは、意図的にクロック信号のタイミングをずらす設計 手法がとられることがある力 対策 (2)の回路ではそのような例外的なタイミングを持つ ように設計されたシステムには適用できな 、。
[0008] 上記デジタルシステムが集積回路として作製される場合には、以下の 2つの点に特 徴がある。 1つ目は、集積回路内部は修正不能であり、全て設計時に決定しなければならない という点である。従って、後述する本発明のような新たな手法を用いなければ集積回 路チップ作製後にタイミング調整を行うことは不可能である。
2つ目は、集積回路チップ内の素子のバラツキが大きぐ作製後でなければ内部の 素子のパラメータ (抵抗やコンデンサなどの値やトランジスタの特性)の変化が分から ないという点である。従って、正確な素子のパラメータ値が必要な場合には、後述す る本発明のような新たな手法が不可欠である。
[0009] デジタルシステムが、 IPと呼ばれる、知的所有権 (Intellectual Property)の対象とされ るとともに第 3者による使用を目的とされたハードウェア設計データや、通常のハード ウェア設計データライブラリである場合には、その機能やインターフェース諸元は公 開されるが、内部構造は等価回路以上の情報は公開されない場合がある。
クロック周波数が高 、集積回路でそうした IPを使用する場合には、 IPの対象とされ た内部にまで及ぶ精密なタイミング調整が不可欠である力 上述のように権利上内部 がブラックボックスとなって 、ることが多!、ので、そうした権利を維持しつつ高 、クロッ ク周波数で動作する集積回路を作製するには、後述する本発明のような新たな方法 が不可欠である。
[0010] また、現在の大部分のデジタルシステムは、 CMOSテクノロジを用いており、デジタ ルシステムが CMOSテクノロジを用いて構成されて!、る場合、それぞれのデジタル信 号が (「0」から「1」へ、あるいは「1」から「0」へ)変化する時には大きな電源電流が流 れる。
従って、もしも多数のデジタル信号が同時に変化した場合には、瞬間的に大きな電 源電流が流れ、電源容量が不足して電源電圧が変動し、ひいては誤動作の原因に なることちある。
[0011] さらに、瞬間的に大きな電流が流れると、継続的に小さな電流が流れる場合に比べ て、消費電力が増大し、大きな容量の電源と電源供給線を用意する必要があり、これ らがデジタルシステムのサイズを大きくしてしまう。
このデジタル信号の同時変化の影響を減らすには、それぞれの信号のタイミング、 つまり、それぞれのフリップフロップのタイミングを、全体が誤りなく動作する範囲で微 調整することにより達成できるが、こうした精密なタイミング調整には、後述する本発 明のような新たな手法が不可欠である。
[0012] また、デジタルシステム力 発生する不要電磁放射 (EMI)は、周囲の他のデジタル システムを誤動作させるなどの作用を及ぼし、抑制するべきものである。 EMIはデジ タル信号の (「0」から「1」へ、あるいは「1」から「0」への)変化時に発生し、多くのデジ タル信号が一斉に変化するときには大きなピークパワーを持った EMIが発生する。 これを抑制する手段の一つに、デジタル信号の同時変化、つまりフリップフロップの 同時変化を減らす方法があるが、デジタルシステム全体が誤りなく動作する範囲でデ ジタルシステム全体のフリップフロップのタイミングを精密に調整するには、後述する 本発明のような新たな手法が不可欠である。
[0013] さらに、携帯電話を含む低消費電力システム等の、低い電源電圧で動作するデジ タルシステムでは、システムを構成する各論理素子の動作速度が遅いため、タイミン グ不良による障害が起き易くなる。従って、このようなシステムでは、通常より低い電 源電圧にして正常に動作するようにタイミング調整を行えば、低い電源電圧でも安定 して動作するようになるので、デジタルシステムの消費電力を低くすることができる。
[0014] また、デジタルシステムによっては、各素子のバラツキが大きいために通常の電源 電圧では動作しないが、電源電圧を通常よりも高めてカゝらタイミング調整を行えば正 常に動作する場合もある。従ってこのようなシステムでは、通常より高い電源電圧にし て正常に動作するようにタイミング調整を行えば使用可能になるので、デジタルシス テムの生産の歩留まり高めることができる。
[0015] 以上のような理由から、電源電圧を通常と異ならせた状態でクロック信号のタイミン グ調整を個々のデジタルシステムごとに自動で行う新たな方法が必要とされており、 本発明は、かかる課題を有利に解決するためになされたものである。
課題を解決するための手段およびその作用 '効果
[0016] 上記目的を達成するため、請求項 1記載の本発明のデジタルシステムは、単一もし くは複数のクロック信号に従 、デジタル処理を行って所定の基本的機能を奏するデ ジタルシステムにおいて、前記デジタルシステム内の、前記クロック信号を供給する 複数のクロック回路にそれぞれ介挿されるとともに、制御信号が示す値に応じて遅延 時間を変化させる回路素子で各々構成された複数の遅延素子と、前記複数の遅延 素子に与える複数の制御信号を保持する複数の保持回路と、を具え、前記複数の保 持回路が、出力電圧可変の電源装置カゝら前記デジタルシステムが電源を供給された 状態で、それらの保持回路が保持する前記複数の制御信号の値を外部装置により、 確率的探索手法に従って、前記デジタルシステムの基本的機能が所定の仕様を満 たすように変更されるものであることを特徴として 、る。
[0017] そして請求項 14記載の本発明のデジタルシステムのクロック信号調整方法は、単 一もしくは複数のクロック信号に従 、デジタル処理を行って所定の基本的機能を奏 するデジタルシステムの前記クロック信号のタイミングを調整する方法にぉ 、て、前記 デジタルシステム内の、前記クロック信号を供給する複数のクロック回路に、複数の遅 延素子をそれぞれ介挿し、前記複数の遅延素子を各々、制御信号が示す値に応じ て遅延時間を変化させる回路素子で構成し、前記複数の遅延素子に与える複数の 制御信号を、前記デジタルシステムに設けた複数の保持回路で保持するとともに、出 力電圧可変の電源装置カゝら前記デジタルシステムに電源を供給した状態で、前記デ ジタルシステムの基本的機能が所定の仕様を満たすように、前記複数の保持回路が 保持する前記複数の制御信号の値を外部装置により、確率的探索手法に従って変 更することを特徴としている。
[0018] 力かるデジタルシステムおよびデジタルシステムのクロック信号調整方法にあっては 、デジタルシステム内の、単一もしくは複数のクロック信号をそれぞれ供給する複数 のクロック回路に介挿されるとともに、制御信号が示す値に応じて遅延時間を変化さ せる回路素子で構成された遅延素子に、複数の保持回路が保持する複数の制御信 号がそれぞれ与えられ、それらの制御信号が示す値に応じて各遅延素子力 クロック 信号を適宜遅延させて基本的回路に供給する。また、出力電圧可変の電源装置か ら前記デジタルシステムが電源を供給された状態で、上記複数の保持回路が保持す る上記複数の制御信号の値を、外部装置が、デジタルシステムの基本的機能が所定 の仕様を満たすように、確率的探索手法に従って変更する。なお、本発明における「 遅延」は、正の遅延すなわち遅らせることの他、負の遅延すなわち進ませることも含 む。 [0019] 従って、本発明のデジタルシステムおよび、本発明のデジタルシステムのクロック信 号調整方法によれば、上記所定の基本的機能に関連する回路素子の特性が正確に 把握できない場合、あるいは製造プロセス上その回路素子の特性に誤差が生ずるよ うな場合、そしてクロック信号線に品質不均一や設計上の誤差が生ずるような場合、 さらにはデジタルシステム中の基本的回路が前述の IPのようにブラックボックス化して いてその構成が明確でない場合でも、クロック信号のタイミング誤差を吸収して、デジ タルシステムを誤りなく作動するように調整することができるので、従来技術による場 合よりも少ない設計労力で、その基本的機能に関して従来技術による場合よりも高い 機能 ·高 、性能を得ることができ、そして従来技術による場合よりも大規模 ·高速なデ ジタルシステムを得ることもでき、し力も、回路素子等のばらつきに起因するデジタル システムの機能 ·性能の低下を改善することもできる。
[0020] また、本発明のデジタルシステムおよび、本発明のデジタルシステムのクロック信号 調整方法によれば、デジタルシステム全体が誤りなく動作する範囲でデジタルシステ ム全体のフリップフロップのタイミングを精密に調整してフリップフロップ同士の動作タ イミングを僅かにずらすことができるので、デジタル信号の同時変化に起因する、消 費電力の増大によるデジタルシステムのサイズ拡大や、不要電磁放射 (EMI)の発生 を防止することちできる。
さらに、本発明のデジタルシステムおよび、本発明のデジタルシステムのクロック信 号調整方法によれば、出力電圧可変の電源装置からデジタルシステムが電源を供 給された状態で、複数の保持回路が保持する複数の制御信号の値を変更することか ら、請求項 5および請求項 18の記載のように、通常より低い電源電圧にして正常に動 作するようにタイミング調整を行うことで、低 ヽ電源電圧でも安定して動作可能とし得 て、デジタルシステムの消費電力を低くすることができ、また各素子のバラツキが大き V、ために通常の電源電圧では動作しな!、デジタルシステムに対し電源電圧を通常よ り高い電源電圧にして正常に動作するようにタイミング調整を行うことで、そのシステ ムを高 、電源電圧であれば使用可能とし得て、デジタルシステムの生産の歩留まり 高めることができる。
[0021] ここで、デジタルシステムがどの程度誤りなく動作するかは、すべての調整可能な 遅延素子の遅延値をパラメータとする評価関数 Fで表すことができる。デジタルシス テムが誤りなく動作するということは、上記の評価関数 Fの解を求めることと等価であ る。本願発明者はこの点に注目し、デジタルシステムのクロックタイミング調整に遺伝 的ァノレゴリズムを適用可能なことを発見した。
[0022] 遺伝的アルゴリズムは、確率的探索手法の一つであり、(1)広域探索において有効 に作用し、(2)評価関数 F以外には微分値等の派生的な情報が必要でなぐ(3)しかも 容易な実装性を持つ、アルゴリズムである。従って、本発明においては、請求項 2お よび請求項 15の記載のように、上記外部装置による複数の制御信号の変更に、遺 伝的アルゴリズムを用いても良 、。
[0023] また近年、遺伝的アルゴリズムに木構造の染色体を扱えるような工夫を加えた遺伝 的プログラミングも知られている。従って、本発明においては、クロックの信号線が木 構造をなしている場合には、請求項 3および請求項 16の記載のように、上記外部装 置による複数の制御信号の変更に、遺伝的プログラミングを用いても良い。
[0024] そして、本発明においては、請求項 4および請求項 17の記載のように、上記外部装 置による制御信号の変更を、電源装置の出力電圧を段階的に変化すなわち加工ま たは上昇させながら行うようにしても良ぐこのようにすれば、より低い電源電圧や、最 小限に高めた電源電圧でデジタルシステムを動作させることができる。
[0025] また、請求項 6記載の本発明のデジタルシステムは、請求項 1記載のデジタルシス 、て、外部装置を用いる代わりにデジタルシステム自体が設定装置を具え るようにしたことを特徴とするものであり、請求項 19記載の本発明のデジタルシステム のクロック信号調整方法は、請求項 14記載のデジタルシステムのクロック信号調整方 法にぉ 、て、外部装置を用いる代わりにデジタルシステム自体が設定装置を具える ようにしたことを特徴とするものである。
力かる本発明のデジタルシステムおよび、本発明のデジタルシステムのクロック信 号調整方法によれば、先のデジタルシステムおよびデジタルシステムのクロック信号 調整方法と同様の作用効果が得られ、しかも、外部装置に代えてデジタルシステム 自身が持つ設定手段を用いるので、電源装置の点を除けばデジタルシステム単独で 随時に、かつ任意の場所で調整を行い得るというさらなる作用効果が得られる。 [0026] そしてこれらの発明のデジタルシステムおよびクロック信号調整方法においても、請 求項 7および請求項 20の記載のように、上記外部装置による複数の制御信号の変 更に、遺伝的アルゴリズムを用いても良い。
[0027] また、これらの発明のデジタルシステムおよびクロック信号調整方法にお!、ても、請 求項 8および請求項 21の記載のように、上記外部装置による複数の制御信号の変 更に、遺伝的プログラミングを用いても良い。
[0028] さらに、これらの発明のデジタルシステムおよびクロック信号調整方法においても、 請求項 10および請求項 23の記載のように、上記設定手段による制御信号の変更を 、電源装置の出力電圧をデジタルシステムの設計電源電圧値よりも低い状態で行つ てもよいし、請求項 9および請求項 22の記載のように、上記設定手段による制御信号 の変更を、電源装置の出力電圧を段階的に変化させながら行うようにしても良い。
[0029] そして、上述した、本発明のデジタルシステムおよび、本発明のデジタルシステムの クロック信号調整方法におけるデジタルシステムは、請求項 11および請求項 24の記 載のように、出力電圧可変の電源装置を具えていても良ぐこのようにすれば、外部 装置の点を除けばデジタルシステム単独で随時に、かつ任意の場所で調整を行うこ とがでさる。
[0030] また、上述した、本発明のデジタルシステムおよび、本発明のデジタルシステムのク ロック信号調整方法におけるデジタルシステムは、請求項 12および請求項 25の記載 のように、集積回路として構成されていても良ぐこのようにすれば、回路素子のバラ ツキが実際に作成するまで明らかでない集積回路について、クロック信号を最適に 調整することができる。
[0031] さらに、上述した、本発明のデジタルシステムおよび、本発明のデジタルシステムの クロック信号調整方法におけるデジタルシステムは、請求項 13および請求項 26の記 載のように、回路基板として構成されていても良ぐこのようにすれば、デジタル回路 基板製造工程におけるクロック信号線のプロセスの不均一や設計上の誤差等に起因 するクロックタイミングのずれを吸収して、デジタル回路基板が誤動作しな 、ように調 整することができる。
[0032] そして、上述した、本発明のデジタルシステムおよび、本発明のデジタルシステムの クロック信号調整方法における上記外部装置や上記設定手段は、請求項 27および 請求項 28の記載のように、パーソナルコンピュータやマイクロコンピュータ等のコンビ ユータで構成されていても良ぐこのようにすれば、複数の保持回路が保持する複数 の制御信号の値をデジタルシステムの基本的機能が所定の仕様を満たすように確率 的探索手法に従って変更する処理を短時間で容易かつ確実に行うことができる。
[0033] さらに、請求項 29記載の本発明の記録媒体は、請求項 27または 28記載のデジタ ルシステムのクロック信号調整方法にぉ 、てコンピュータが実行する、複数の保持回 路が保持する複数の制御信号の値をデジタルシステムの基本的機能が所定の仕様 を満たすように確率的探索手法に従って変更する処理プログラムを記録したものであ ることを特徴とするちのである。
[0034] 力かる記録媒体によれば、本発明のデジタルシステムおよび、本発明のデジタルシ ステムのクロック信号調整方法のためにコンピュータが実行する処理プログラムを記 録し保存し得て、任意の場所でクロック信号の調整を行うことができる。なお、かかる 記録媒体としては、フレキシブルディスクの他、ハードディスクや CD— ROM、光デイス ク等のデータ記録媒体、そして ROM、 RAM等の記憶素子を用いることができる。 図面の簡単な説明
[0035] [図 1]一般的なデジタルシステムに適用した本発明のデジタルシステムの第 1実施例 を模式的に示す構成図である。
[図 2]デジタルシステムの電源電圧と動作遅れとの関係を示す説明図である。
[図 3]デジタルシステムにおける遅延素子の遅延設定値調整の影響を示す説明図で ある。
[図 4]上記実施例における調整装置の一構成例を示す構成図である。
[図 5]上記実施例におけるデジタル信号観測装置の一構成例を示す構成図である。
[図 6]上記実施例におけるデジタルテスト信号発生装置の一構成例を示す構成図で ある。
[図 7]上記実施例における電源装置の一構成例を示す構成図である。
[図 8]上記実施例に用い得る調整可能な遅延素子の一構成例を示す回路図である。
[図 9]図 8に示す回路での NOT素子への入力信号および NOT素子力 の出力信号 の波形を示す説明図である。
[図 10]上記実施例に用い得る遅延素子の他の一構成例を示す回路図である。
[図 11]上記実施例に用い得る遅延素子のさらに他の一構成例を示す回路図である。
[図 12]上記実施例に用い得る遅延素子のさらに他の一構成例を示す回路図である。
[図 13]上記実施例に用い得る遅延素子のさらに他の一構成例を示す回路図である。
[図 14]上記実施例に用い得る遅延素子のさらに他の一構成例を示す回路図である。 圆 15]上記実施例に用い得て正負の遅延を発生させる調整可能な遅延回路の一構 成例を示す構成図である。
圆 16]図 15に示す回路での調整可能な遅延素子の一構成例を示す構成図である。 圆 17]上記実施例における調整可能な遅延素子とレジスタの最下位ビットとを含んだ 構成の一例を示す回路図である。
圆 18]上記実施例における調整可能な遅延素子とレジスタの最下位ビットとを含んだ 構成の他の一例を示す回路図である。
[図 19]本発明のデジタルシステムのクロック信号調整方法の第 1実施例の処理手順 の概略を示すフローチャートである。
[図 20]—般的な遺伝的アルゴリズムの手順の概略を示すフローチャートである。 圆 21]遺伝的アルゴリズムで用いる染色体を例示する説明図である。
[図 22]上記実施例の方法における遺伝的アルゴリズムを用いた調整装置の処理手 順を示すフローチャートである。
[図 23]上記実施例の方法における遺伝的アルゴリズムで用いる染色体とそこカも定 まるレジスタ値および遅延値とを示す説明図である。
[図 24]上記実施例の方法における遺伝的アルゴリズムで行う選択淘汰処理の手順を 示すフローチャートである。
[図 25]上記実施例の方法における遺伝的アルゴリズムで行う交叉処理の手順を示す 説明図である。
[図 26]上記実施例の方法における遺伝的アルゴリズムで行う突然変異処理の手順を 示す説明図である。
圆 27]上記実施例の方法において電源電圧を段階的に低下させながら調整を行う 場合の処理手順を示すフローチャートである。
圆 28]上記実施例の一変形例を模式的に示す構成図である。
[図 29]本発明のデジタルシステムの第 2実施例としてのメモリテストパターンジエネレ ータ回路を模式的に示す構成図である。
圆 30]上記実施例での実験中の適応度と世代数との関係を示す説明図である。 圆 31]上記実施例の一変形例を模式的に示す構成図である。
[図 32]本発明のデジタルシステムの第 3実施例としてのデジタル回路基板を模式的 に示す構成図である。
圆 33]本発明のデジタルシステムの第 4実施例を模式的に示す構成図である。
[図 34]上記実施例の方法における遺伝的プログラミングで用いる染色体とそこから定 まるレジスタ値および遅延値とを示す説明図である。
[図 35]上記実施例の方法における遺伝的プログラミングで行う交叉処理の手順を示 す説明図である。
[図 36]上記実施例の方法における遺伝的プログラミングで行う突然変異処理の手順 を示す説明図である。
符号の説明
1 デジタノレシステム
2 調整されるフリップフロップ
3 調整されないフリップフロップ
4 調整可能な遅延素子
5 レジスタ
6 調整装置
7 デジタル信号観測装置
8 デジタルテスト信号発生装置
9 クロック信号
10 テスト信号
11 デジタル出力信号
12 デジタルシステム内部状態信号 14 電源装置
93 遅延設定信号
98 電源制御信号
99 電源供給 (線)
発明を実施するための最良の形態
[0037] 以下に、本発明の実施の形態を実施例によって、図面に基づき詳細に説明する。
本発明は、単一もしくは複数のクロック信号を用いて動作する多様なデジタルシス テムに適用可能である。すなわち、調整対象のデジタルシステムのクロック回路中に 複数のタイミング調整箇所を設けることで、本発明によりクロック信号を調整することが 可能となる。また、本発明は、調整時のみ、出力電圧可変の電源装置を用いる。 以下の第 1実施例では、単一もしくは複数のクロック信号を用いて動作するデジタ ルシステム一般に本発明を適用した場合について述べる。
ここに、図 1は、一般的なデジタルシステムに適用した本発明のデジタルシステムの 第 1実施例を模式的に示す構成図である。
[0038] デジタルシステムにおけるクロックスキュー問題 (クロック信号のタイミング不良による 障害)は、デジタルシステムの設計工程を長期化させ、デジタルシステムを構成する 素子の性能を限定的にし力使用できなくするので、デジタルシステムそのものの性能 を制限し、かつ、コストの抑制の障害になっている。特に、携帯電話を含む低消費電 カシステム等の、低い電源電圧で動作するシステムでは、システムを構成する各論 理素子の動作速度が遅いため、タイミング不良による障害が起き易くなる。
従って、クロック信号のタイミング調整を、低い電源電圧の元で個々のデジタルシス テムごとに行う本発明のクロック信号調整方法は必要不可欠なものであり、特に低消 費電力システムにとって重要である。
[0039] 図 1中、符号 1は、例えばマイクロコンピュータ等を構成し、与えられたプログラムに 基づくデータ処理等の所定の基本的機能を奏するデジタルシステム、2はクロック信 号のタイミング調整が必要なフリップフロップ、 3はタイミング調整が不要なフリップフロ ップを示す。また、 4はクロックのタイミングをレジスタの値に応じて変化させ得る調整 可能な遅延素子、 5は遅延素子 4の遅延設定値を保持するレジスタを示す。 遅延素子 4は、フリップフロップ 2のクロック端子と、そのクロック端子〖こクロック信号を 供給するクロック線との間に挿入されている。またレジスタ 5は、遅延素子 4に接続され て、遅延素子 4の遅延値を変化させる。
調整されるフリップフロップ 2および、調整されな!ヽ(調整不要な)フリップフロップ 3 は、上記デジタルシステム 1の構成要素である。
[0040] 図 1中、符号 7はデジタルシステム 1のデジタル出力信号およびデジタルシステム 1 の内部状態を観測するための観測装置であり、 8は本発明の方法に従ってデジタル システム 1を調整するためのテスト信号およびクロック信号を発生する装置である。
[0041] そして符号 6は、デジタルテスト信号発生装置 8に接続されてそのデジタルテスト信 号発生装置 8にデジタルシステム 1に対する信号発生を開始させると同時にデジタル 信号観測装置 7に接続されてそのデジタル信号観測装置 7に後述の如くデジタルシ ステム 1の出力信号 11およびデジタルシステム 1の内部状態を示すデジタルシステム 内部状態信号 12を観測させる調整装置、 14は電源装置である。
[0042] この調整装置 6は、本発明の調整方法に従って、調整可能な遅延素子 4の遅延時 間を算出し、レジスタ 5にその遅延設定値を書き込む。
なお、この実施例では、調整装置 6、デジタル信号観測装置 7、デジタルテスト信号 発生装置 8、および電源装置 14は外部装置となっている。ここで、電源装置 14は、電 源供給 99を通じてデジタルシステム 1に電力を供給するが、その電源装置 14の出力 電圧は電源制御信号 98により制御可能となっており、調整装置 6がその出力電圧の 制御を行う。
[0043] この実施例におけるデジタルシステム 1は、集積回路として構成されていてもよぐま た回路基板として構成されて 、てもよ 、。
さらに、この実施例におけるデジタルシステム 1は、単一システムとして構成されてい てもよく、複数のシステム力 構成されていてもよい。
[0044] さらに、この実施例におけるデジタルシステム 1は、複数のシステムカゝら構成されると ともに内部に通信路を含んで ヽてもよく、単一システムとして構成されるとともに内部 にバス状の通信路を含んで 、てもよ 、。
さらに、この実施例におけるデジタルシステム 1は、マルチチップモジュールやハイ ブリツド集積回路として構成されて 、てもよ 、。
さらに電源装置 14は、デジタルシステム 1に内蔵されていてもよぐその場合は電源 制御信号 98により、内蔵された電源装置 14の出力電圧が可変となる。
[0045] さらに、この実施例におけるデジタルシステム 1は、 IP (知的所有権 (Intellectual
Property)の対象とされるとともに第 3者による使用を目的とされたハードウェア設計デ ータ)やノヽードウエアライブラリとして構成されて 、てもよ 、。
[0046] 調整されるフリップフロップ 2および調整されな!、フリップフロップ 3は、一般的な Dフ リップフロップ、 Tフリップフロップ、 SRフリップフロップあるいは JKフリップフロップや、 Earlゲート回路、レジスタ、その他、クロック信号に従って状態を記憶する記憶素子、 またはループ状の組合せ回路により構成される記憶回路等であり、デジタルシステム 1の構成要素として機能する。
[0047] すなわち、デジタルシステム 1にお!/、て、調整されるフリップフロップ 2および調整さ れな ヽフリップフロップ 3は、デジタルシステム 1内部の組合せ回路に適宜接続され、 クロック信号に従って内部状態を記憶する。
[0048] 上記システムにお 、て、調整されるフリップフロップ 2は、本発明の方法で調整がな されるフリップフロップであり、また、調整されないフリップフロップ 3は、本発明の方法 で調整が行われないフリップフロップであって、他の方法、例えばデジタルシステム 1 の設計時のシミュレーション結果などに基づくタイミング調整や、試作結果に基づくタ イミング調整、固定値遅延素子のデータパスやクロック線への挿入などによるタイミン グ調整など、従来の手法による調整が行われて 、る力否かは問わな 、。
[0049] 調整されるフリップフロップ 2のクロック遅延時間とは、フリップフロップ 2のクロック端 子とクロック線の間に挿入された調整可能な遅延素子 4が加える遅延時間であり、調 整されるフリップフロップ 2のクロック端子に供給されるクロック信号は、調整可能な遅 延素子 4が挿入されて 、な 、場合に比べて、その遅延時間分だけタイミングが遅延し ている。
[0050] 調整対象となるデジタルシステム 1は、上述のように調整されるフリップフロップ 2と 調整されないフリップフロップ 3を具えて構成されており、この実施例では、調整され るフリップフロップ 2の遅延時間、つまり、調整されるフリップフロップ 2のクロック端子 に接続されている調整可能な遅延素子 4の遅延設定値を該デジタルシステム 1の製 造後に微調整することにより、供給される特定の電源電圧の元でデジタルシステム 1 が誤りなく動作するようにすることができるが、特に、電源電圧が高い状態で動作して V、たシステムが低 、電源電圧の元で動作しなくなる場合には、デジタルシステムを構 成する各論理素子の動作速度が、低い電圧によって遅くなり、タイミング不良が発生 している場合が多い。
[0051] 図 2 (a)に示す如き、デジタルシステムを構成する論理素子の 1つであるインバータ IVでは、図 2 (b)に示すように、電源電圧 (図中では Vddと表記)の高さによって、入力 データの変化が出力端子に現れるのにかかる時間が変化する。すなわち、電源電圧 が高いほど出力端子に現れる時間が早くなり (出力 1)、低いほど遅くなる (出力 2)。従 つて、この低い電源電圧の元で上述のクロックタイミング調整を行うことによって、低い 電源電圧の元でも動作するようにすることができる。さらに、高い電源電圧の元ですら 動作しなかったデジタルシステムでも、その原因がわずかなタイミング不良であったも のならば、低い電源電圧のもとで本クロックタイミング調整を行うことにより、低い電源 電圧の元で動作するようにすることができる。
[0052] 同様の仕組みにより、通常の電源電圧の元でクロックタイミング調整を行っても動作 させることができないデジタルシステムに対して、電源電圧をわずかに上昇させること により、デジタルシステムを構成する各論理素子の動作速度を若干上げてタイミング 余裕を増やし、その電源電圧でクロックタイミング調整を行うことで、必要最小限の電 源電圧上昇だけで歩留の向上を達成することができ、ひ ヽてはデジタルシステムのコ ストを削減することができる。
[0053] ところで、一般的に、調整可能な遅延素子 4の遅延設定値は互いに影響を及ぼし あう。すなわち、図 3に示すように、ある調整されるフリップフロップ 2Aに接続された調 整可能な遅延素子 4Aの遅延設定値調整の影響は、このフリップフロップ 2Aの入出力 端子と組合せ回路 20だけを挟んで接続されている他の調整されるフリップフロップ 2 に及ぶ。
このように、多くの場合、調整探索空間が組合せ爆発を起こしてしまう。それゆえ、 本発明に基づく遺伝的アルゴリズムを用いた後述する調整手法が非常に有効である [0054] 本実施例においては、デジタルシステム 1が誤りなく動作するように、調整されるフリ ップフロップ 2のクロック端子に接続されている調整可能な遅延素子 4の遅延設定値 が調整される。
上記調整装置 6の一構成例を図 4に示す。この図 4中、符号 6Aは本発明の方法に 従って調整手順を実行する調整アルゴリズム実行装置、 6Bはデジタルシステム 1のレ ジスタに遅延設定値を書き込む遅延設定装置である。
[0055] 本実施例における調整では、上記遅延設定装置 6Bは、調整アルゴリズム実行装置 6Aが算出した遅延設定値を、遅延設定信号 93を介してレジスタ 5に設定する。遅延 設定信号 93は、レジスタ 5と同じビット幅を持つデジタル値で、調整可能な遅延素子 4 が発生させる遅延時間を制御する。
[0056] 上記の調整アルゴリズム実行装置 6Aは、遺伝的アルゴリズムに従って、レジスタ 5の 遅延設定値として最適な値を探索する。なお、調整装置 6は、具体的にはパーソナル コンピュータあるいはマイクロコンピュータ等の電子計算機により構成することが可能 であり、また、特開平 9-294069号公報に開示されているプログラマブル LSI、あるいは 、梶谷らによる論文「GAによる-ユーラルネットワークの構造学習回路の実現」(日本 神経回路学会誌 vol.
5, No. 4、 pp. 145— 153、 1998年)に記載されている回路を用いて構成することもでき る。
[0057] 上記の電子計算機に於 、ては、調整アルゴルゴリズム実行装置 6Aの機能を実現 するプログラムが、ハードディスク、 ROM (読み出し専用メモリ)、 Flashメモリ、光デイス ク、光磁気ディスク、磁気ディスク等の記録媒体に格納されている。
[0058] 図 1中、符号 9はデジタルテスト信号発生装置 8が生成するクロック信号、 10はデジタ ルテスト信号発生装置 8が生成するテスト信号であり、それらの信号はデジタルシステ ム 1に入力される。
また同図中、 11はデジタルシステム 1が出力するデジタル出力信号、 12は一部ある いは全部のフリップフロップの出力を取り出したデジタルシステム内部状態信号であ り、それらの信号はデジタル信号観測装置 7に入力される。 [0059] 上記デジタル信号観測装置 7の一構成例を図 5に示す。デジタル信号観測装置 7 はロジックアナライザ 7Aのみ力も構成される。ロジックアナライザとは、一般にデジタ ルシステム内のデジタル信号を観測する測定装置である。
ロジックアナライザ 7Aとデジタルシステム 1とは、ロジックアナライザ 7Aの測定用プロ ーブで接続し、ロジックアナライザ 7Aと調整装置 6とは、 GP- IBインターフェース 7Gで 接続する。
なお、デジタル信号観測装置 7は、専用回路で構成してデジタルシステム 1に内蔵 することも可會である。
[0060] 上記ロジックアナライザ 7Aには、デジタルシステム 1が誤りなく動作した場合の、デ ジタル出力信号 11とデジタルシステム内部状態信号 12との値を記憶させておき、デ ジタルシステム 1からの出力と比較させて評価値を算出させる。
[0061] あるいは、デジタルシステム 1が誤りなく動作した場合のデジタル出力信号 11とデジ タルシステム内部状態信号 12との値は調整装置 6に記憶させておき、デジタルシステ ム 1からのデジタル出力信号 11とデジタルシステム内部状態信号 12の値はそのまま 調整装置 6に送って、調整装置 6で評価値を算出するようにしてもよい。
[0062] 上記デジタルテスト信号発生装置 8の一構成例を図 6に示す。デジタルテスト信号 発生装置 8はデジタル信号発生器 8Aのみ力も構成される。
デジタル信号発生器 8Aとデジタルシステム 1とは、デジタル信号発生器 8Aのプロ一 ブで接続し、デジタル信号発生器 8Aと調整装置 6とは、 GP-IPインターフェース 8Gで 接続する。
デジタル信号発生器 8Aは、出力するデジタル信号のデータパターンを内部のメモ リ中に保持し、指定された周波数のクロック信号 9に同期させてデジタルテスト信号 10 としてデジタルシステム 1に出力する。
なお、デジタルテスト信号発生装置 8は、専用回路で構成してデジタルシステム 1に 内蔵することも可能である。
[0063] 上記電源装置 14の一構成例を図 7に示す。電源装置 14は、必要に応じて複数の出 力電圧可変電源装置 97から構成される。電源装置 14は、外部から AC100Vの商用電 源、もしくは、電池から電源供給を受け、内部の出力電圧可変電源装置 97に分配す る。各出力電圧可変電源装置 97は、単一の電源電圧を発生させる回路であり、外部 力もの電源制御信号 98により、その出力電圧を変化させることができる。複数の出力 電圧可変電源装置 97の出力は、電源供給 99として外部に出力される。
なお、電源装置 14の出力の中に固定電圧のものがあってもよぐまた、出力電圧可 変電源装置 97の出力電圧を固定して使ってもよい。
[0064] デジタルシステム 1における調整されるフリップフロップ 2の調整箇所の総数が複数 であり、図 2に例示するように、遅延素子 2の調整箇所において、ある調整箇所 2Aの 調整が他の多数の調整箇所の調整結果に影響を及ぼし、調整探索空間の組合せ 爆発を起こす場合に、本発明は特に有効である。
[0065] 本実施例のデジタルシステム 1は、外部装置からの設定に従って遅延時間を調整 可能な遅延素子 4がクロック端子に接続された調整されるフリップフロップ 2を複数使 用し、調整装置 6が実行する確率的探索アルゴリズムを用いて最適な遅延値を探索 し、かつ、遅延時間そのものは直接測定しないことを大きな特徴としている。
[0066] 回路上の工夫による従来のクロックタイミング調整方法では、デジタルシステム内の 各回路ブロックやフリップフロップに供給されるクロック信号のタイミングを、タイミング 比較回路を用いて測定する方法を用いる。すなわち、参照用のクロック信号と供給さ れるクロック信号のタイミング比較、もしくは、隣接する回路ブロックやフリップフロップ に供給されるクロック信号同士のタイミング比較を行 、、その差異をタイミング調整の ための回路にフィードバックして、測定される差異が少なくなるように調整を行う。
[0067] この方法には、少なくとも 2つの問題点があることが明らかである。 1つ目の問題点 は、比較の正確さの問題である。参照用クロックを用いる方法では、その参照用クロッ ク自体のクロックスキューが問題となる。隣接クロック間の比較を行う場合は、各回路 ブロックやフリップフロップに供給されるクロック信号を比較回路へ導く配線を原因と するクロックスキューが問題となる。
2つ目の問題点は、クロックスキューを理想的に 0にできたとしても、それでデジタル システムの動作歩留が最大になるわけではないという事実である。つまり、クロック信 号を供給するクロック系が理想的な状態だとしても、それ以外の論理回路には依然と してプロセスバラツキ等を原因とする設計仕様力ものタイミングのずれが存在し、デジ タルシステム内の各論理素子は理想状態とは異なるタイミングで動作している。
[0068] クロックスキューを解消する本来の目的は「設計者の意図通りにデジタルシステムが 動作すること」であり、本発明者らはこの本来の目的に立ち返り、クロックタイミングを 直接測るのではなぐデジタルシステムが設計者の意図通り動いている力 意図通り 動!ヽて 、な 、とすればどれぐら!/、の割合で誤って動!、て 、るかを定量的に測定し、 その値に基づ 、てクロックタイミングを調整すると!/、う、本アイデアを思 、っ 、た。
[0069] 調整可能な遅延素子 4で遅延時間 (信号伝達タイミング)を変化させる場合の一構 成例を図 8に示す。 pチャネル FETである Tr9, TrlOおよび、 nチャネル FETである Trll, Trl2が直列接続した回路であり、 TrlO, Trllは NOT素子として機能する。この とき Tr9および Trl2の抵抗値により回路の電流値が変化するので、浮遊容量 (寄生容 量)と負荷容量を充放電する時間が変化する。図 9に、上記 NOT素子への入力信号 (入力クロック信号)およびその NOT素子力 の出力信号(出力クロック信号)の波形 を示す。それぞれ、 T27に入力する制御信号電圧により TAの遅延時間、 T26に入力 する制御信号電圧により TBの遅延時間が調整できる。
クロック信号の立ち上がりあるいは立ち下がりのどちらか一方の遅延調整で済む場 合には、 Tr9および Trl2の一方を省略可能である。
[0070] 調整可能な遅延素子 4で遅延時間 (信号伝達タイミング)を変化させる場合の他の 構成例を図 10乃至図 13に示す。
図 10のように、単位遅延 DNを有する NOT素子 D1を 2個カスケード (縦列)に並べるこ とにより、 2DNの遅延時間を発生させることができる。
また、図 11のように、単位遅延 DNを有する NOT素子を 4個カスケードに並べれば、 4DNの遅延時間を発生させることができる。
同様に、単位遅延 DNを有する NOT素子を 2n個カスケードに並べることにより、 (2n X DN)の遅延時間を発生させることができる。
[0071] そして、サイズのより大きなトランジスタを用いて NOT素子 D2を構成すれば、トランジ スタの寄生容量が増大してより長い遅延が発生し、図 12に示すように、素子の個数を 増やさずに遅延時間を変化させることができる。
[0072] 一方、図 13に示すように、抵抗 Rとコンデンサ Cとを用いて積分回路を構成し、出力 をシュミットトリガー素子 s等で波形整形することによつても、遅延回路を構成すること ができる。この構成では、抵抗 Rとコンデンサ Cとの値の積に比例する遅延を発生させ ることがでさる。
[0073] さらに、配線そのものの遅延を利用して、長い配線を作り出して遅延素子として用 いることもでき、この場合には、配線の長さに比例した遅延を発生させることができる 例えば、図 14では、図中上側に示す長さ LLAの配線 LAは、図中下側に示す同じ 材質'幅で長さ LLBの配線 LBに対して、 LLA/LLB倍の遅延を発生させる。
[0074] 以上の遅延素子は!、ずれもクロック信号を遅らせる機能しか持たな 、が、 PLL (フエ ーズロックトループ)回路や DLL (ディレイロックトループ)回路を用いれば、クロック信 号を進めるような負の遅延を発生させることもできる。
[0075] 図 15に、正負の両方向の遅延を発生させる調整可能な遅延回路の一構成例を示 す。
図 15中、符号 94は上述の PLL回路であり、符号 4は図 16に示す後述の調整可能な 遅延回路 (遅延素子)である。 PLL回路 94が、クロックを 8DT分進める機能を持ち、調 整可能な遅延回路 4が、 0DTから 15DTまでの遅延を発生させる機能を有する場合に は、この回路は全体で 8DTから 7DTまでの遅延を発生させることができる。
[0076] 上記複数の遅延素子を組み合わせて、調整可能な遅延素子 4を構成することもで きる。
図 16は、調整可能な遅延素子 4の構成を例示する構成図であり、この例の調整可 能な遅延素子 4は、図 1中のレジスタ 5が 4ビットのデータを保持するものである場合に 対応している。
この調整可能な遅延素子 4では、レジスタ 5に保持されて 、るレジスタ値の各ビット 1S 図示しな!ヽスィッチ駆動回路を介して各スィッチ回路 Swl— Sw4にそれぞれ対応 し、上記レジスタ値に応じて各スィッチ回路 Swl— Sw4が作動するように構成されてお り、その結果発生する遅延されたクロック信号が、上記調整されるフリップフロップ 2の クロック端子〖こ印カロされる。
[0077] すなわち、図 16に示す調整可能な遅延素子 4は、それぞれ長さの異なる一定の遅 延時間を発生する遅延素子 UD1— UD4と、それら遅延素子 UD1— UD4を選択的に 使用するためのスィッチ回路 Swl— Sw4と力も構成されている。
そしてここでは、クロック線からのクロック人力と、調整されるフリップフロップ 2のクロ ック端子との間に、遅延素子 UD1— UD4と各遅延素子に対応するスィッチ回路 Swl— Sw4が互い違いにカスケード (縦列)接続されており、これにより、遅延素子が発生する 遅延時間がクロック信号に加わり、発生した遅延時間分だけ元のクロック信号よりタイ ミングの遅れたクロック信号力 調整されるフリップフロップ 2のクロック端子に供給され 得るように構成されている。
[0078] ここで、遅延素子 UD1は、設計によって長さが定まる遅延時間を発生させる。そして 遅延素子 UD2は、遅延素子 UD1の 2倍の遅延時間を発生し、同様に、遅延素子 UD3 は、上記遅延素子 UD1の 4倍の遅延時間、遅延素子 UD4は、上記遅延素子 UD1の 8 倍の遅延時間をそれぞれ発生するように構成されて 、る。
そして、これら各遅延素子 UD1— UD4に対応するスィッチ回路 Swl— Sw4は、レジス タ 5のレジスタ値に基づきオンオフ制御され、レジスタ値の 4ビット中のあるビットが「1」 であるとき、そのビットに対応するスィッチ回路が遅延素子側に倒れ、対応する遅延 素子が発生する遅延時間がクロック信号に加わる。また、レジスタ値の 4ビット中のあ るビットが「0」
であるとき、そのビットに対応するスィッチ回路がバイパス側に倒れ、対応する遅延素 子はスキップされて、発生する遅延時間はクロック信号に加わらなくなる。
[0079] 従って、ここでは各遅延素子 UD1— UD4の発生遅延時間がそれぞれ、 1DT、 2DT、 4DT、 8DTに設定されてクロック信号に加わるようにされていることから、上記遅延素 子 4は、スィッチ回路の状態の組合せによって、遅延時間 0から、遅延時間 15DTまで の範囲で、クロック信号に加わる遅延時間を調整することができる。
[0080] 図 17に、調整可能な遅延素子 4と、レジスタ 5の最下位ビット 5Aとを含んだ一構成 例を示す。
図 17中、符号 D1は NOT素子、 D11は AND素子、 D12は OR素子、 UD1は単位遅延 回路、 5Aはレジスタ 5の最下位ビット(一ビット分)、 D15はクロック線からのクロック入 力である。クロック出力 D16は、調整されるフリップフロップのクロック端子に入力され る。 D17はレジスタ 5Aへの遅延設定値入力、 D18はレジスタ 5Aへの書き込み信号であ り、これらをレジスタ 5の全ビット分合わせ、なおかつ全レジスタ分合わせたもの力 遅 延設定信号 93である。
[0081] ここにおけるスィッチは、 AND素子 D11と OR素子 D12を用いた基本的なセレクタ回 路であり、一方の AND素子 D11の出力には遅延 DTを発生させる遅延素子 UD1を揷 入し、もう一方の AND素子 D11の出力は OR素子 D12に直結することで、遅延素子 UD1をスキップしている。
すなわち、レジスタ 5Aの出力が論理値「1」のときは、遅延素子 UD1側の AND素子 D11が働いて遅延 DTを発生させ、レジスタ 5Aの出力が論理値「0」のときは、遅延素 子 UD 1をスキップさせる側の AND素子 D 11が働 、て遅延を発生させな!/、。
[0082] 図 18に、調整可能な遅延素子 4と、レジスタ 5の 1ビット分 D13とを含んだ他の構成 例を示す。
この構成例は、トランスファゲート素子 D20とバッファ D19とからなる。トランスファゲ一 ト素子 D20の働きはスィッチそのものであり、上述の AND素子と OR素子を組合わせた 場合と同様の働きを持つ。
言うまでもなぐこれらの構成例と同一の機能を有する他のデジタル回路を構成す ることは容易であり、上記実施例ではそれらを代わりに用いることもできる。
[0083] デジタルシステム内部状態信号 12は、デジタルシステム 1中の一部もしくは全部の、 調整されるフリップフロップ 2および調整されないフリップフロップ 3の出力力 構成さ れ、デジタル信号観測装置 7に入力される。
デジタルシステム内部状態信号 12をデジタル信号観測装置 7に入力するには、例 えば、それらのフリップフロップの出力をデジタルシステム 1の出力端子として用意し、 デジタル信号観測装置 7に接続すればょ ヽ。
[0084] デジタルシステム内部状態信号 12のビット数が多 、場合には、上記のフリップフロッ プの出力を複数のグループに分けてセレクタ回路に入力し、デジタルシステム 1から 出力するグループを切り替えながら、同じテスト信号 10を繰り返し印加する方法をとつ てもよい。
[0085] あるいは、デジタルシステム 1にスキャンパス回路を内蔵し、テスト信号 10およびクロ ック信号 9を途中で停止して、その時点のデジタルシステム 1の内部状態をスキャンパ ス回路を用いて取り出し、デジタル信号観測装置 7に渡す方法をとつてもよい。
ここにおけるスキャンパス回路とは、デジタルシステム 1内の一部あるいは全部のフリ ップフ口ップを単一もしくは複数のシフトレジスタとして動作させるような動作モードを 実現する回路であり、デジタルシステム 1の動作途中の内部状態を観測したり、外部 力も内部状態を設定したりすることが可能となるものである。
[0086] 図 4に示す遅延設定装置 6Bからレジスタ 5への遅延値設定の一方法につ 、て説明 する。
レジスタ 5の 1ビット分 5Aは、図 17のように設定入力信号 D17と設定 (書き込み)指示 信号 D18とを有しており、遅延設定信号 93は、全てのレジスタについての、この 2種類 の信号から構成されている。遅延設定信号 93は遅延設定装置 6Bから出力され、デジ タルシステム 1に入力される。
例えば、遅延設定装置 6Bはパーソナルコンピュータのパラレルインターフェースボ ードを用いて構成することができ、ビット数は上述の遅延設定信号 93のビット幅分用 意する。
遅延設定装置 6Bのパラレルインターフェース出力信号として出力される遅延設定 信号 93のうち、あるレジスタ 5のあるビットの設定入力端子に接続されている遅延設定 信号に 0か 1の信号を与え、対応する設定信号に接続されているビットに設定を指示 する信号を与えることで、レジスタの書き込みが実現できる。
この時レジスタに書き込む値は、調整アルゴリズム実行装置 6Aが算出した値である
[0087] あるいは、デジタルシステム 1内の全レジスタ 5に番号を振り、遅延設定信号 93をこ のレジスタ番号とそのレジスタに書き込む値と設定指示信号とから構成することもでき る。
この場合には、遅延設定装置 6Bカゝらデジタルシステム 1に送られた遅延設定信号 93は、デジタルシステム 1内でマルチプレクサ回路を用いてレジスタ番号に従って振 り分けられ、レジスタ番号で指定されたレジスタの設定入力端子に遅延設定値を与え 、設定指示信号を指定されたレジスタの設定指示信号として与える。 この場合の遅延設定装置 6Bとデジタルシステム 1との接続にも、同様にパラレルィ ンターフェースボードを用いることができる。
[0088] あるいは、遅延設定装置 6B内で全レジスタ用の設定値を一列に並べ、パラレル-シ リアル変換して生成したシリアル信号 (1ビット幅の信号)を遅延設定信号 93とすること ちでさる。
この場合には、遅延設定信号 93は、デジタルシステム 1の内部でシリアル-パラレル 変換して、各設定値をそれぞれのレジスタに書き込む。遅延設定信号 93が 1ビット幅 の信号であるので、遅延設定装置 6Bとデジタルシステム 1との接続には RS-232Cなど のシリアノレインターフェース回路を用いることができる。
[0089] 次に、上記実施例のデジタルシステム 1の調整のための、本発明の調整方法の第 1 実施例について説明する。
[0090] 上記デジタルシステム 1が製造された後、調整工程で、図 1に示すように、調整装置 6、デジタル信号観測装置 7、デジタルテスト信号発生装置 8、および電源装置 14が そのデジタルシステム 1にそれぞれ接続され、デジタルテスト信号発生装置 8は、デ ジタルシステム 1にデジタルテスト信号 10およびクロック信号 9を入力し、調整装置 6は 、図 19に示す処理手順に従って、レジスタ 5のレジスタ値の設定を行う。
[0091] この処理手順では、先ずステップ S1で、調整装置 6が、あら力じめ定められた初期 設定値をレジスタ 5に書き込んでレジスタ値として保持させ、次のステップ S 2で、デジ タルテスト信号発生装置 8がテスト信号を出力して、そのテスト信号に対しデジタルシ ステム 1を一定周波数のクロック信号 9および一定電圧の電源供給 99の入力のもとに 動作させ、次のステップ S3で、そのデジタルシステム 1の出力およびデジタルシステ ムの内部状態をデジタル信号観測装置 9が観測してその結果を調整装置 6に送り、 次のステップ S4で、調整装置 6が、送られてきた観測値を使用して、デジタルシステ ム 1が、誤りなく動作するか否かを判定する。ここで、電源供給 99の電圧値は、デジタ ルシステム 1の設計電源電圧値より低くすることができる。
[0092] ここで誤った動作をする場合には、ステップ S5で、調整装置 6が、レジスタ 5が保持 しているレジスタ値を変更し、次のステップ S6で、変更の結果が安定するまで一定時 間待機し、次のステップ S7で、終了条件をみたした力否かを判断し、終了条件をみ たしていればステップ S8で不良品処理を行った後に当該処理を終了する力 終了 条件をみたしていなければステップ S 2へ戻る、という一連の処理が繰り返し実行され る。そして上記ステップ S4で、デジタルシステム 1が誤りなく動作したとの判定が得ら れた場合には、ステップ S9で良品処理を行った後に当該処理を終了する。
[0093] 上述した初期設定値力 レジスタ値を変更する方法については、いくつかの方法を 使用することができ、以下にその例を示す。
すなわち、第 1の方法は、想定されるレジスタ値の範囲におけるすべての組合せに ついて、適当な順序で順次設定値を切り替えていく方法であり、第 2の方法は、乱数 的に設定値を発生させる方法である。そして第 3の方法は、設計時に得られる遅延値 を初期設定値とし、その初期設定値から +方向と一方向に設定値を微少に変化させ る方法である。
[0094] 調整対象のデジタルシステム 1内に調整可能な遅延素子 4の数が少なぐレジスタ 値の組合せ爆発を生じない場合は、第 1、第 2の方法を用いることができる。しかし、 本実施例は、調整可能な遅延素子 4の数が多ぐレジスタ値の調整探索空間におい て組合せ爆発の発生が想定される場合であるので、第 3の方法を使用する。このとき 、遺伝的アルゴリズムと呼ばれる方法を使用する。以下では、遺伝的アルゴリズムを 用いたデジタルシステム 1の調整方法にっ 、て説明する。
[0095] 上記遺伝的アルゴリズムの参考文献としては、例えば、出版社 ADDISON-WESLEY
PUBLISHING COMPANY, INC.が 1989年に出版した、 David E.Goldberg著の「 uenetic Algontnms in Search, Optimization, and Machine Learning」力、ある。なお、 本発明でいう遺伝的アルゴリズムとは、進化的計算手法(Evolutionary Computation) のことをいう。
[0096] デジタルシステム 1がどの程度誤りなく動作するかは、すべての調整可能な遅延素 子の遅延値を引数 (入力)とする評価関数 Fで表すことができる。デジタルシステム 1 が誤りなく動作するということは、評価関数 Fを最適にする遅延値を求めることと等価 である。本発明者はこの点に着目し、デジタルシステム 1の調整に上記の遺伝的アル ゴリズムを適用可能なことを発見した。調整装置 6は、この遺伝的アルゴリズムにした がってレジスタ 5のレジスタ値を変更する。 [0097] 遺伝的アルゴリズムでは、先ず遺伝子を持つ仮想的な生物の集団を設定し、あらか じめ定めた環境に適応している個体力 その適応度の高さに応じて生存し、子孫を 残す確率が増えるようにする。そして、遺伝的操作と呼ばれる手順で親の遺伝子を子 に継承させる。このような世代交代を実行し、遺伝子および生物集団を進化させるこ とにより、高い適応度を持つ個体が生物集団の大勢を占めるようになる。そしてその 際の遺伝的操作としては、実際の生物の生殖においても生じる、遺伝子の交叉、お よび突然変異等が用いられる。
[0098] 図 20は、力かる遺伝的アルゴリズムの概略手順を示すフローチャートであり、ここで は、初めにステップ S11で、個体の染色体を決定する。すなわち、世代交代の際に親 の個体力 子孫の個体に、どのような内容のデータをどのような形式で伝えるかを定 める。図 21に染色体を例示する。ここでは、対象とする最適化問題の変数ベクトル X を、 M個の記号 Ai (i= l, 2, · 'Μ)の列で表わすことにし、これを M個の遺伝子座か らなる染色体とみなす。各記号 Aiは遺伝子であり、これらのとりうる値が対立遺伝子で ある。図 21中、 Chは染色体、 Gsは遺伝子座を示し、遺伝子座の個数 Mは 5である。 対立遺伝子としては、ある整数の組、ある範囲の実数値、単なる記号の列などを問題 に応じて定める。図 21の例では、 a— eのアルファベットが対立遺伝子である。このよう にして記号化された遺伝子の集合が個体の染色体である。
[0099] 上記ステップ S11では次に、各個体が環境にどの程度適応しているかを表わす適 応度の計算方法を決定する。その際、対象とする最適化問題の評価関数の値がより 高 ヽ変数あるいはより低 、変数ほど、それに対応する個体の適応度が高くなるように 設計する。またその後に行う世代交代では、適応度の高い個体ほど、生き残る確率 あるいは子孫を作る確率が他の適応度の低 、個体よりも高くなるようにする。逆に、 適応度の低い個体は、環境にうまく適応していない個体とみなして、消滅させる。これ は、進化論における自然淘汰の原理を反映したものである。すなわち適応度は、生 存の可能性という面力も見て各個体がどの程度優れている力を表わす尺度となる。
[0100] 遺伝的アルゴリズムでは、探索開始時においては、対象とする問題は一般にまった くのブラックボックスであり、どのような個体が望ましいかはまったく不明である。このた め通常、初期の生物集団は乱数を用いてランダムに発生させる。従ってここにおける 手順でも、ステップ S12で処理を開始した後のステップ S13では、初期の生物集団は 乱数を用いてランダムに発生させる。なお、探索空間に対して何らかの予備知識があ る場合は、評価値が高いと思われる部分を中心にして生物集団を発生させるなどの 処理を行うこともある。ここで、発生させる個体の総数を、集団の個体数という。
[0101] 次にステップ S14で、生物集団中の各個体の適応度を、先にステップ S11で決めた 計算方法に基づいて計算する。各個体について適応度が求まったら、次にステップ S15で、次の世代の個体の基となる個体を集団から選択淘汰する。しかしながら選択 淘汰を行うだけでは、現時点で最も高 、適応度を持つ個体が生物集団中に占める 割合が高くなるだけで、新しい探索点が生じないことになる。このため、次に述べる交 叉と突然変異と呼ばれる操作を行う。
[0102] すなわち、次のステップ S 16では、選択淘汰によって生成された次世代の個体の中 から、所定の発生頻度で二つの個体のペアをランダムに選択し、染色体を組み変え て子の染色体を作る(交叉)。ここで、交叉が発生する確率を、交叉率と呼ぶ。交叉に よって生成された子孫の個体は、親にあたる個体のそれぞれ力 形質を継承した個 体である。この交叉の処理によって、個体の染色体の多様性が高まり進化が生じる。
[0103] 交叉処理後は、次のステップ S17で、個体の遺伝子を一定の確率で変化させる(突 然変異)。ここで、突然変異が発生する確率を突然変異率と呼ぶ。遺伝子の内容が 低 、確率で書き換えられると!/ヽぅ現象は、実際の生物の遺伝子にお!ヽても見られる 現象である。ただし、突然変異率を大きくしすぎると、交叉による親の形質の遺伝の 特徴が失われ、探索空間中をランダムに探索することと同様になるので注意を必要と する。
[0104] 以上の処理によって次世代の集団が決定され、ここでは次に、ステップ S18で、生 成された次世代の生物集団が探索を終了するための評価基準を満たしている力否 かを調べる。この評価基準は、問題に依存するが、代表的なものとして次のようなもの がある。
•生物集団中の最大の適応度が、あるしきい値より大きくなつた。
•生物集団全体の平均の適応度が、あるしきい値より大きくなつた。
•生物集団の適応度の増加率が、あるしきい値以下の世代が一定の期間以上続いた •世代交代の回数が、あらかじめ定めた回数に到達した。
[0105] 上述の如き終了条件 (評価基準)の何れかが満たされた場合は、ステップ S 19へ進 んで探索を終了し、その時点での生物集団中で最も適応度の高い個体を、求める最 適化問題の解とする。終了条件が満たされない場合は、ステップ S14の各個体の適 応度の計算の処理に戻って探索を続ける。このような世代交代の繰り返しによって、 集団の個体数を一定に保ちつつ、個体の適応度を高めることが出来る。以上が遺伝 的アルゴリズムの概略である。
[0106] 上で述べた遺伝的アルゴリズムの枠組みは、実際のプログラミングの詳細を規定し ない緩やかなものとなっており、個々の問題に対する詳細なアルゴリズムを規定する ものではない。このため、遺伝的アルゴリズムを本実施例のデジタルシステムの調整 に用いるには、以下の項目をデジタルシステムの調整用に実現する必要がある。
(a)染色体の表現方法
(b)個体の評価関数
(c)選択淘汰方法
(d)交叉方法
(e)突然変異方法
(D探索終了条件
[0107] 図 22は、本実施例における遺伝的アルゴリズムを用いた調整装置 6の処理手順を 示すフローチャートである。なお、この図 22の処理は、図 19のステップ S2—ステップ S6の処理を具体的に示すものである。本実施例は、遺伝的アルゴリズムの染色体と して、レジスタ 5のレジスタ値を直接用いることを大きな特徴としており、これにより、染 色体の情報をレジスタ値に変換するための処理等を不要とすることができる。すなわ ち、本実施例における染色体は、図 23に示すように、複数個のレジスタ 5のレジスタ 値から構成されている。
なお、図 23における遅延値で、符号が正 (符号なし)のものはその時間だけ信号を 遅延させ、符号が負のものはその時間だけ信号を進ませるものであり、遅延値の単 位 psはピコ秒を意味する。 [0108] 図 22の処理で使用する、遺伝的アルゴリズムの個体の評価関数 Fとしては、個体の 染色体が表現するレジスタ値でデジタルシステム 1を設定したのち動作させ、デジタ ル信号観測装置 9によって観測されたデジタル出力の論理値が期待値にどのくらい 近いかを表す関数を用いる。
[0109] 図 22に示す処理で用いるために、先に図 19のステップ S1で遺伝的アルゴリズムの 初期集団として、一様乱数を用いて個体を複数作成する。つまりこの場合には、初期 集団の各染色体の各遺伝子の値は確率 0.5で 1の値を、確率 0.5で 0の値をとることを 意味する。但し、クロックタイミングの不均一さの傾向について何らかの予備知識が存 在する場合には、より適応度が高いと思われる個体を初期集団として作成することが できる。
[0110] 初期集団のそれぞれの個体は、デジタル信号観測装置 7から送られてきた観測値( ステップ S3)から、調整装置 6により上記評価関数を用いて適応度を計算する。その 後、デジタルシステム 1の性能が誤りなく動作するか否かをステップ S4で判定し、誤り なく動作する場合には、ステップ S9で良品処理を行った後、調整処理は終了する。
[0111] 初期集団すベての個体において、ステップ S9の良品処理が行われな力つた場合、 ステップ S21— S30の遺伝的処理に進む。ステップ S26もしくはステップ S29の適応度 算出処理時に、デジタルシステム 1の性能が誤りなく動作したと判断された場合にも、 ステップ S9で良品処理を行った後、調整処理は終了する。なお、ステップ S21— S30 を一定世代数繰り返して調整処理を行っても、誤りなく動作する染色体 (レジスタ値) が得られない場合には、調整対象のデジタルシステム 1は不良品と判断され、図 19 のステップ S8で不良品としての処理を行う。
[0112] 遺伝的アルゴリズムの選択淘汰処理は、集団から次世代に残す個体を選択する処 理であり、ステップ S21乃至ステップ S30で行われる。本実施例では、図 22の処理フ ローに示すように、例えば集団力もランダムに二つの個体 1, 2を選び (ステップ S21) 、これに対して交叉、突然変異を適用して子個体 1, 2を生成し (ステップ S22— S29) 、次いで図 24の処理フローに示すように、親個体 1,親個体 2,子個体 1,子個体 2の 4個体のうち適応度の値が高い上位二つの個体 A, Bを選択し (ステップ S31)、集団 内の親個体 1, 2と、個体 A, Bを置換する (ステップ S32)。この置換処理は、一般的 な遺伝的アルゴリズムのように集団全部の個体を一斉に変化させな 、点が大きな特 徴である。これにより、少ない集団の個体数で探索を行うことが可能である。
[0113] ステップ S22の交叉処理では、図 25の説明図に示す方法を用いる。これは染色体 をランダムな位置で部分的に入れ替える操作であり、 1点交叉と呼ばれる手法である 。図 25では、 Chiおよび Ch2が選択淘汰の結果生き残った親 A、 Bの染色体であり、 ここにおける交叉処理では、これらの染色体を、ランダムに選んだ交叉位置 CPで切 断する。図 25の例では、左から 3番目の遺伝子と 4番目の遺伝子との間を交叉位置 としている。そしてここでは、切断した部分的な遺伝子型を入れ替えることによって、 染色体 Ch3および Ch4をそれぞれ持つ子 A'、子 B'を生成し、これらをもとの個体 A、 Bと置き換免る。
[0114] ステップ S22での交叉にひき続いて実行するステップ S23の突然変異は、各染色体 の遺伝子の各ビットを、突然変異率の生起確率で、 0を 1、あるいは 1を 0に変更する 操作である。図 26に突然変異の例を示す。この図 26では、染色体 Ch5の、四角で囲 んで示す左から 2ビット目と右から 3ビット目の遺伝子に突然変異が生じ、それぞれが 染色体 Ch6にお 、て対立遺伝子に変更されて!、る。
[0115] 上述したように、本実施例のデジタルシステム 1では、デジタルシステム 1内の複数 のフリップフロップ素子へのクロック信号に、遅延値が可変である遅延素子 4を使用し 、それらの遅延素子 4の遅延値をデジタルシステム 1が誤りなく動作するように探索す る。従って、デジタルシステム製造工程におけるクロック信号線の品質の不均一、設 計上の誤差等に起因するクロックタイミングの誤差を吸収するとともに、電源電圧を低 下させたことに起因するタイミングマージンの不足を補償して、デジタルシステム 1を 誤りなく動作するように調整することができ、このことは、従来技術による場合より少な V、設計労力で、従来技術による場合より低 、電源電圧で動作するデジタルシステム すなわち消費電力の少ないデジタルシステムが得られることを意味する。
また、元の電源電圧のままで調整を行っても動作させることができな力つたデジタル システム 1の中には、電源電圧を若干上げることで誤りなく動作するように調整するこ とができるものが存在し、従来技術による場合よりも少ない労力と最小限の電源電圧 上昇で動作歩留を向上させることが可能であることも意味する。 [0116] また、本実施例に関しては、以下の調整方法も用いることができる。すなわち、上述 した調整方法では、電源供給 99の電源電圧は一定値であるとしたが、その調整が終 了したのち、電源供給 99の電源電圧を低下させて、同様の調整を行うことで、さら〖こ 動作電圧が低くなるように調整することができる。
[0117] 図 27に、上記の場合の調整方法を示す。この処理手順では、まずステップ S61で デジタルシステム 1に入力される電源供給 99の電源電圧を V0に設定した後、ステップ S62で、調整装置 6が、図 19に示したステップ S1からステップ S9の調整を行う。次の ステップ S63で、ステップ S61の調整の結果、デジタルシステム 1が良品に調整された か否かを判断する。調整の結果、良品にならな力つた場合は当該処理を終了する。 調整の結果、良品になった場合は、ステップ S64で電源供給 99の電源電圧を V0より も小さな値 VI〖こ設定する。その後、ステップ S65でステップ S62と同様にデジタルシス テム 1の調整を行う。ステップ S66ではステップ S63と同様な判断を行い、良品だった 場合にはさらに電源供給 99の電源電圧を小さな値にして調整するということを繰り返 す。繰り返しの結果、ステップ S68で電源供給 99の電源電圧を下限値 Vnに設定した 場合、ステップ S69で調整を行い、当該処理は終了する。
[0118] 前記電源電圧の上限値 V0はデジタルシステム 1の設計値、下限値 Vnは物理的に 許容される電源電圧によって定まる。 nの値および VIから Vn-1の値は、必要とされる 調整の精度によって決定する。この調整方法により、タイミングマージンの減少に応じ て、デジタルシステム 1の動作電源電圧の値を減少させることができる。
[0119] また、 V0を電源電圧の設計値より上方に設定し、徐々に電源電圧 Vi (i= l, · ··, n) をさげて調整した場合、調整に時間は力かるものの確実に調整を行えると 、う利点も ある。
[0120] さらに上記調整方法により、電源電圧 Vjで良品と判定されたデジタルシステムを、シ ステムの使用時には Vi (i<j)の周波数で動作させることにより、デジタルシステムの 安定性を高めることができる。なぜならば、使用時よりも低い電源電圧で動作するよう にクロックタイミングが調整されているために、動作時の電源電圧の変動や、デジタル システムの温度や、外部の電磁ノイズの影響によって、クロックタイミングに微妙な変 化が生じた場合にでも、誤動作が発生しに《なるからである。 なお、上記調整方法のステップ S63において、良品に調整されなかった場合、電源 電圧値を Vh
(当初の Vhは設計値 V0よりわずかに高い)に設定し、再度ステップ S1—ステップ S9の 調整を行うことができる。この電源電圧値 Vhでタイミング調整が成功した場合、必要 最小限の電源電圧上昇だけで歩留の向上を達成することができる。一方、この Vhに おいても良品に調整できな力つた場合、 Vhをさらに段階的に高くして調整を続けるこ とも可能である。
[0121] この調整方法は、デジタルシステム 1の量産工程においても用いることができる。従 来の量産工程では一般的に電源電圧の調整を行わずに動作試験のみをおこない、 良品の選別を行っていた。しかし、上記調整方法によれば、製造されたデジタルシス テムで個別に調整をおこない、電源電圧を低減させることができるので、低い電源電 圧値で動作するデジタルシステムの比率を高めることができる。低 、電源電圧値すな わち低 、消費電力で動作するデジタルシステムは、モパイル機器などの動作時間の 延長につながり商品価値が高いため、本調整方法の工業的な価値は大きい。
また、通常の電源電圧の元で調整を行っても動作させることができな 、デジタルシ ステムに対して、電源電圧を若干上昇させた上で調整を行うことで動作歩留を上げる ことができるので、コストダウンにもつながり、経済的な価値も大きい。
[0122] 次に、本発明の第 1実施例では次のような変形例がある。先の実施例では、調整装 置 6、デジタル信号観測装置 7、デジタルテスト信号発生装置 8、および電源装置 14 は、外部装置としてデジタルシステム 1に脱着可能に接続される。し力しながら本発 明では、前記外部装置に相当する回路を調整手段としてデジタルシステム 1に組み 込んでもよい。特に、電源装置 14に関しては、調整装置 6、デジタル信号観測装置 7 およびデジタルテスト信号発生装置 8とは独立に、デジタルシステム 1に組み込んだり 、外部装置として接続したりしてもよい。
[0123] このように構成された変形例を図 28に示す。ここではデジタルシステム 1内にデジタ ルシステム本体 1Lの他、前記外部装置に相当する回路が組み込まれている。デジタ ルシステム 1Lの入力端子および出力端子と、デジタルシステム 1Lの外部入力端子 32 および外部出力端子 33との間にはそれぞれ、切換スィッチ 30が設置されている。この 切換スィッチ 30は、図示例のようにデジタルシステム 1L内に設けられて!/ヽても良!ヽが 、デジタルシステム 1外に設けられていても良い。
[0124] ここで、切換スィッチ 30を操作すると、デジタルシステム本体 1Lの出力がデジタル信 号観測回路 7Lに入力されるとともに、調整回路 6L、デジタル信号観測回路 7Lおよび デジタルテスト信号発生回路 8Lが動作を開始し、レジスタ値の調整を行う。このとき、 電源装置 14Lは常時デジタルシステム本体 1L内の各部に電源を供給し続ける力 同 時に調整回路 6Lからの電源制御信号 98に従って出力側の電源電圧を変化させる。 調整が終了したら、切換スィッチ 30の操作で、デジタルシステム本体 1Lの出力を出力 端子 33側に切り替える。なお、この例では、デジタルシステム本体 1Lが誤りなく動作 するレジスタ値が得られない場合に警告表示をする発光素子 31が設けられている。
[0125] 力かる変形例によれば、製造時のデジタルシステム 1の調整だけでなぐユーザが デジタルシステム 1を組み込んだ製品を購入した後、ユーザ自身がデジタルシステム 1の調整を随時行うこともできる。また、デジタルシステム 1を製造したのち、調整を業 となすものがデジタルシステム 1をさらに調整することもできる。また、デジタルシステ ム 1Lが置かれた環境の温度その他が変化した場合等に、デジタルシステム本体 1L 内のクロックタイミングやデータノ スのタイミングに変化が生じても、その変化を補償 することができ、デジタルシステム本体 1Lの誤動作の確率を低減できると 、うメリットが ある。特に、電源電圧が変化した場合はクロックタイミングやデータパスのタイミングが 変化するがそれを補償することも同様に可能であり、さらに、消費電力の低減のため に意図的に電源電圧を低下させた場合でも、同様にクロックタイミングやデータノ ス のタイミングの変化を補償することが可能である。なお、切換スィッチ 30は手動に限ら ず、電源投入時に自動切換するように構成することもできる。またクロック信号 9は、デ ジタルシステム 1内にクロック発生回路が設置されている場合には、そのクロック信号 を用いてもよい。
[0126] 次に、本発明のデジタルシステムの第 2実施例について説明する。本実施例は、メ モリテストパターンジェネレータ回路に対して本発明の方法を適用した場合の一構成 例である。
図 29は、メモリテストパターンの発生を基本的機能とする、本発明のデジタルシステ ムの第 2実施例としてのメモリテストパターンジェネレータ回路 1Gを示す構成図であり 、図 1のデジタルシステム 1の部分に対応し、これ以外の装置は図 1と同じものを用い る。
ここでは、調整装置 6、デジタル信号観測装置 7、デジタルテスト信号発生装置 8、お よび電源装置 14は外部装置である。また、図 1に示すものと同様の回路にはそれと同 一の符合を付している。
[0127] 調整されるフリップフロップ 2は通常の Dフリップフロップであり、調整されないフリツ プフロップ 3も同様に通常の Dフリップフロップである。調整されないフリップフロップ 3 のクロック端子〖こは直接クロック線が接続される力 調整されるフリップフロップ 2のクロ ック端子とクロック線の間には、調整可能な遅延素子 4が挿入されている。
[0128] 調整可能な遅延素子 4には、その遅延素子 4の遅延時間を制御するレジスタ 5が接 続されている。ここでレジスタ 5を 4ビットとすれば、調整可能な遅延素子 4は、図 16の ように構成することができる。
さらに、遅延時間の最小単位 DTを 50psとすれば、調整可能な遅延素子 4はレジス タ 5の値に従って Opsから 750psまでの遅延を発生させることができる。
レジスタ 5は、 4ビット幅を有する場合には、通常の Dフリップフロップ 4つで構成でき る。レジスタ 5には、 4ビット分の遅延値設定信号と、 4ビット共通の設定指示信号が入 力される。
[0129] 遅延設定信号 (遅延値設定線) 93は、このレジスタ 5の 4ビット分の遅延値設定信号 と共通の設定信号とを全レジスタ分集めたものである。また、デジタルシステム内部状 態信号 12は、調整されるフリップフロップ 2の出力全てを集めたものである。
[0130] デコーダ回路 20A1は、入力される信号にデコード処理を施すものであり、糸且合せ回 路として構成される (フリップフロップなどの記憶素子は含まない)。
ALU回路 20A2は、 2系統各 4ビットの入力信号と 4ビットの演算指定信号を入力し、 2 系統の入力信号間に演算指定信号に従った演算を施して、演算結果を 4ビットの出 力データとして出力する組合せ回路である。
インバータ回路 20A3は、外部力 の指定により、入力信号を反転、もしくは、非反転 で出力する機能を有し、組合せ回路として構成されている。 [0131] PLL回路 94は、クロック信号 9の入力端子と調整されるフリップフロップ 2に接続され る調整可能な遅延素子 4との間に接続され、調整されるフリップフロップ 2に供給する 、同一周波数で、かつ、タイミング力 S400psだけ進んだクロック信号を生成する。
上述の通り、調整可能な遅延素子 4は Opsから 750psまでの遅延を発生させることが できるため、両者合わせて- 400psから 350psまでの遅延、つまり、 400ps進んだ状態か ら 350ps遅れた状態までのクロックを各調整されるフリップフロップ 2に供給することが できる。
[0132] 従ってこの場合、調整されるフリップフロップ 2のクロックタイミングも、レジスタ 5に設 定される値によって- 400psから 350psまで変化する。例えば、レジスタ 5に 1011が設定 された場合には、対応する調整されるフリップフロップ 2のクロックタイミングは、外部 力 供給されるクロック信号 9に対して 150ps遅れる。
[0133] 調整されないフリップフロップ 3のクロック端子には、クロック信号 9が直接供給され、 調整されな 、フリップフロップ 3は、クロック信号 9と同じタイミングで動作する。
[0134] 本実施例の回路は、 ALU回路 20A2の一方の入力が、調整されるフリップフロップ 2 をはさんでフィードバックされており、単純なパイプライン構造ではな!/、。
[0135] 本実施例では、デジタルシステム 1の外部端子に接続されるフリップフロップを全て 調整されな 、フリップフロップ 3とし、それ以外を調整されるフリップフロップ 2とした力 本発明としては必ずしもこの通りでなくともよい。
また、同様に、デジタルシステム内部状態信号 12を調整されるフリップフロップ 2の 出力のみ力も構成している力 これも必ずしもこの通りでなくともよい。
[0136] 本実施例に登場する各素子の特性値が必ずしも正確なものでなくとも、本発明の 方式は適用可能であり、有効である。
[0137] 本実施例は、高速なメモリ素子のテストに用いられるようなメモリテストパターンジェ ネレータ回路に適用する場合に特に好適である。
さらに、本実施例で取り上げた回路の出力は 4ビットである力 よりビット数の多い出 力を持つメモリテストパターンジェネレータ回路の場合、調整箇所が増え、かつ、フリ ップフロップ間の遅延時間の依存関係が複雑になって、組合せ爆発が起きやす 、の で、本発明は特に好適である。 [0138] 以下に、図 29に示す本実施例のメモリテストパターンジェネレータ回路 1Gに適用さ れる、本発明の第 2実施例の調整方法を述べる。
このメモリテストパターンジェネレータ回路 1Gの性能は、複数の調整可能な遅延素 子 4A1— 4A14の遅延値を引数とする評価関数 Fで表すことができる。メモリテストパタ ーンジェネレータ回路 1Gが誤りなく動作することは、評価関数 Fを最適にする遅延値 を求めることと等価である。
[0139] 本実施例では、調整される遅延素子 4の数が 14個(4A1— 4A14)と多ぐ組合せ爆 発の発生が想定される場合であるので、調整装置 6は、評価関数 Fを用い、遺伝的ァ ルゴリズムに従ってレジスタ 5の値を変更する。
[0140] 遅延素子 4の調整は、第 1実施例の場合と同様、図 19および図 22に示すフローチ ヤートに従って行われる。本実施例は、遺伝的アルゴリズムの染色体として、レジスタ 5の値を直接用いることを大きな特徴とする。これにより、染色体の情報をレジスタ値 に変換するための処理等が不要になる。
[0141] すなわち、本実施例における染色体は、図 23に示すように、 14個の遅延素子に対 応する 14個のレジスタ 5のレジスタ値力も構成されている。そして各素子パラメータに 対応する各レジスタ 5は、 4ビットである。それゆえ、レジスタ長(=染色体長)は、 56ビ ットである。従って、上記実施例のメモリテストパターンジェネレータ回路 1Gにおける 調整探索空間の大きさは、 2"56 10" 17 (10の 17乗)であり、全探索による調整はいう までもなく不可能である。
[0142] 図 16に示す遅延素子 4において本実施例では、 DTの値を 50psとした。なお、この 値は、クロックタイミングのバラツキに応じて定める。例えば、図 23中のレジスタ値 10 11では、スィッチ回路 Sw4、 Sw2および Swlが ONとなって、遅延素子 UD4、 UD2およ び UD1がクロック信号線に接続され、この結果として、レジスタ値 1011に対応する遅 延は、 8 X 50 + 2 X 50 + 50— 400 = 150psとなる。
同様に、レジスタ値 0101に対応する遅延は 4 X 50 + 50— 400=— 150psとなり、レジ スタ値 0001に対応する遅延は— 350psとなる。
[0143] 図 22の処理で使用する、遺伝的アルゴリズムの個体の評価関数 Fとしては、個体の 染色体が表現するレジスタ値でメモリテストパターンジェネレータ回路 1Gを設定した のち動作させ、デジタル信号観測装置 7によって観測された出力が期待値にどのくら い近いかを表す関数を用いる。具体的には、以下の評価関数 Fで計算される値を、 遺伝的アルゴリズムの適応度 (fitness)に用いる。
(数 1)
fitness = F = NC/NT
[0144] ここで NTは、デジタルテスト信号 10の系列に対するメモリテストパターンジエネレー タ回路 1Gの出力数、 NCは該メモリテストパターンジェネレータ回路出力のうち期待ど おりのデジタル値を出力した回数である。上記の評価関数 Fは、 0から 1までの実数 値をとり、 1の値をとつたときに調整対象のメモリテストパターンジェネレータ回路 1Gは 誤りなく動作したことになる。例えば、ある染色体が表現するレジスタ値で設定したデ ジタルシステム 1の出力系列のうち NCが 253、 NT力 500であったとすると、その場合の 評価関数 Fの値は、 0.506になる。
[0145] 図 22に示す処理で用いるために、先に図 19のステップ S1で遺伝的アルゴリズムの 初期集団として、一様乱数を用いて個体を複数作成する。つまりこの場合には、初期 集団の各染色体の各遺伝子の値は確率 0.5で 1の値を、確率 0.5で 0の値をとることを 意味する。本実施例では、集団の個体数は 50とした。
[0146] し力る後、各個体の表現するレジスタ値でメモリテストパターンジェネレータ回路 1G を動作させ、ステップ S3における観測装置 5での観測結果を使用して、ステップ S4 において調整装置 6で、上記評価関数により適応度を計算する。その後、順次に、ス テツプ S21で選択、ステップ S22で交叉、ステップ S23で突然変異の処理を行ない、次 世代の個体の集団 (解の候補の集団)を作り出す。本実施例では、全個体数のうちの 交叉を行う個体数の割合である交叉率は 0.5とし、突然変異率は 0.0125を用いた。
[0147] ステップ S4では、メモリテストパターンジェネレータ回路 1Gが誤りなく動作するかどう 力が判断され、誤りなく動作したときに、良品処理を行い調整処理は終了する。また、 一定世代数繰り返して調整処理をおこなっても、仕様を満たす染色体 (レジスタ値) が得られない場合は、調整対象のメモリテストパターンジェネレータ回路 1Gは不良品 と判断され、ステップ S8で不良品としての処理を行う。なお、本実施例では、繰り返し を打ち切る世代数は 20とした。 [0148] 以下に、図 29に示すメモリテストパターンジェネレータ回路 1Gに本実施例の遺伝 的アルゴリズムを用いた調整方法を適用した場合の実験結果にっ 、て示す。この実 験では、 CMOSテクノロジを用いた LSIチップで回路を作製した。
[0149] 上記実験の結果、クロック周波数力 Sl.OGhz, 1.25Ghz, 1.4Ghzでかつ電源電圧を仕 様の 1.2Vから 0.8Vに低下させた時に、調整をしない場合は誤って動作していた LSIチ ップが、遺伝的アルゴリズムゴリズムを用いた方法で調整を行ったところ、誤りなく動 作することが確認できた。図 30に、実験中の世代中の最良個体の評価関数 Fの値で ある適応度 (ある試行に関する値)と世代数との関係を示す (図中縦軸は適応度の 100倍の値を示している)。遺伝的アルゴリズムの世代が進むにつれて、適応度の値 が上昇しタイミングが調整されていることがわかる。この実験により、本実施例の調整 方法の有効性が確認できた。
なお、本実施例では、通常の集積回路上にメモリテストパターンジェネレータ回路を 実装したが、 FPGAや CPLD等の再構成可能な集積回路を用いて実装することもでき る。この場合、遅延調整素子を通常の論理回路の一部として実装しても、また、遅延 調整素子を中に作りこんだ FPGAや CPLD等の再構成可能な集積回路を開発してそ れを用いて実装してもよい。
[0150] 上述したように、本実施例のメモリテストパターンジェネレータ回路 1Gでは、フリップ フロップ素子へのクロック信号線に遅延素子 4A1— 4A14を挿入し、それらの遅延素 子 3の遅延時間をメモリテストパターンジェネレータ回路 1Gが電源電圧を仕様の(通 常の)電圧よりも低下させた状態でも誤りなく動作するように探索する。従って、本実 施例によれば、集積回路製造工程におけるクロック信号線の品質の不均一、設計上 の誤差等に起因するクロックタイミングの誤差および、電源電圧の低下に基づく回路 内の各論理素子の動作速度の低下を吸収して、メモリテストパターンジェネレータ回 路 1Gを誤りなく動作するように調整することができ、このことは、従来技術による場合 より少ない設計労力で、従来技術による場合より高速でかつ消費電力の少ないデジ タルシステムが得られることを意味する。
[0151] また同時に、本実施例によれば、集積回路製造工程におけるクロック信号線の品 質の不均一、設計上の誤差等に起因するクロックタイミングの誤差を、電源電圧の若 干の上昇により吸収して、メモリテストパターンジェネレータ回路 1Gを誤りなく動作す るように調整することができ、このことは、従来技術による場合より少ない設計労力で、 従来技術による場合より高速でかつ動作歩留の高いデジタルシステムが得られること を意味する。
[0152] 本実施例に関しては、以下の変形例を実施できる。
メモリテストパターンジェネレータ回路 1Gの調整を行う際にデジタル信号観測装置 7 の出力以外に、メモリテストパターンジェネレータ回路 1Gの消費電流量や発熱量も観 測して評価関数に組み込むことができる。一般的に LSIの発熱量や消費電流量は LSI 内部のフリップフロップへ入力されるクロックタイミングによって変動するので、このよう にすれば、多様な要求仕様に対応でき、調整精度を向上させることができる。
[0153] 図 31に上記の場合の構成例を示す。図 31中、符号 13は温度計、 14は電源である 。なお、図 31中、図 1に示すものと同様の部分はそれと同一の符合を付している。こ こで、温度計 13は、メモリテストパターンジェネレータ回路 1Gの LSIの温度を計測し、 その値を AZD変換して、調整装置 6に伝える。電源装置 14Aは、メモリテストパター ンジェネレータ回路 1Gに電源供給 99を行う装置である力 その電流供給値を AZD 変換して調整装置 6に伝える。調整装置 6は、デジタルテスト信号発生装置 8がテスト 信号 10を出力している間に、温度および消費電流量を監視して、その間の平均温度 および平均消費電流量を計算し、さらに電源制御信号 98を電源装置 14Aに与える。
[0154] 本変形例では、例えば、次のような評価関数を用いることができる。
(数 1)
fitness = NC/NT (NC/NT< 1の場合)
fitness= l + l/ (1.0+wl | T— Tm | +w2 | I— Im | )
(NCZNT= 1の場合)
[0155] ここで、 fitnessは遺伝的アルゴリズムにおける適応度、 Tは計測した平均温度、 Iは 計測した平均消費電流量、 Tmは理想的な平均温度、 Imは理想的な平均消費電流 量、 wl、 w2は加重係数である。この評価関数では、メモリテストパターンジエネレー タ回路 1Gが誤動作しなくなるまで調整を行い、誤動作しなくなった後、さらに平均消 費電流量、平均温度を理想的な値に近づけるように調整を行う。 そしてその後、先の実施例と同様、メモリテストパターンジェネレータ回路 1Gが誤動 作しない範囲で電源電圧を引き下げるように調整を行う。
なお、この発明においては、さらに調整精度を高めるために、消費電流量観測中に おけるピーク値を上記評価関数に組み込んでもよい。
[0156] 次に、この発明のデジタルシステムの第 3実施例としてのデジタル回路基板の一構 成例を示す。図 32は、この第 3実施例のデジタル回路基板の構成を示し、図 32中、 1Bはデジタル回路基板であり、この実施例のシステムは、第 1実施例におけるデジタ ルシステム 1の代わりに、そのデジタルシステム 1と同様の基本的機能を奏するデジタ ル回路基板 1Bを用いて構成されている。なお、図 1に示すと同様の構成要素にはそ れと同一の符合を付して 、る。
[0157] このデジタル回路基板 1B内には、クロック信号 9が入力される LSI1L1— 1L10および クロック信号を入力されない電子部品 16が複数個実装されている。また、それらの LSI および電子部品は、図示しないデータ信号線で互いに接続されている。 4B1— 4B10 は遅延時間を調整可能な遅延素子であり、各々、レジスタ 5B1— 5B10の示す値に応 じてその遅延時間が調整される。本実施例では、その調整箇所は 10力所である。ま た、符号 15は外部装置である電磁波測定装置である。
[0158] デジタル回路基板においては、基板上のクロック信号線内のインピーダンス不整合 、浮遊容量等によりクロック信号が各 LSI1L1— 1L10に入力されるタイミングが不均一 になることに起因して、誤動作を生じる LSIが存在し、デジタル回路基板の出力 11が 期待値にならない場合が多い。さらに、デジタル回路基板の消費電力を抑えるため に低 ヽ電源電圧で動作させる場合には、デジタル回路基板を構成する各論理素子 の動作速度が遅くなりタイミングを正しく保つことがより困難になる。
それゆえ、誤動作対策としては、各 LSIへのクロック信号のタイミングを調整するのが 有効であるが、 LSI1L1— LSI1L10のデータ信号は互いに依存関係をもっているので 、遅延素子 4B1から 4B10までの調整箇所を総合的に調整する必要がある。
[0159] また、デジタル回路基板にお 、ては、基板上を高!、周波数の高調波成分を含んだ デジタル信号電流が流れるので、基板力 放射される電磁ノイズのパワーが大き 、。 そのため、 EMIノイズとして、人体や近傍にある他の電子装置に影響を与える。この放 射ノイズは、各 LSIへの入力クロックタイミングを微小にずらすことにより、そのパワーの ピーク値を下げることができる。よって、上記放射ノイズを観測しクロックタイミングを調 整することで、その放射ノイズによる外部への影響を低減することができる。さらに、デ ジタル回路基板を低!、電源電圧で駆動することは、基板から放射される電磁ノイズの 総パワーを低減することができ、 EMI対策として有効である。
[0160] 上記電磁波測定装置 15は、基板から放射される電磁波のパワーを計測し、その値 を AZD変換して、調整装置 6に伝える。調整装置 6では、デジタルテスト信号発生装 置 8がテスト信号を出力している間に、電磁波パワーを監視して、その間のピーク値 を算出する。
[0161] 上記デジタル回路基板 1Bの調整のための、本発明の調整方法の第 3実施例につ いて説明する。この実施例の調整方法も、基本的には先の第 1実施例の調整方法と 同様である。
[0162] デジタル回路基板 1Bが製造された後、検査工程で、図 32に示すように、調整装置 6、デジタル信号観測装置 7、デジタルテスト信号発生装置 8、電源装置 14および電 磁波測定装置 15がそのデジタル回路基板 1Bにそれぞれ接続される。電源装置 14は 、デジタル回路基板 1Bに電源を供給する。デジタルテスト信号発生装置 8は、デジタ ル回路基板 1Bにテスト信号 10およびクロック信号 9を入力する。デジタル信号観測装 置 7はデジタル回路基板 1Bの出力値を観測し、電磁波測定装置 15はデジタル回路 基板 1Bの放射ノイズを観測して、それぞれ調整装置 6に与え、調整装置 6は、例えば 下記に示す評価関数を用いて評価を行う。
(数 3)
fitness = NC/NT (NC/NT< 1の場合)
fitness= l + 1/ (1.0+ | P | ) (NC/NT= 1の場合)
[0163] ここで、 fitnessは遺伝的アルゴリズムにおける適応度、 Pは計測した電磁波のピーク ノ^ーである。この評価関数では、デジタル回路基板 1Bが誤動作しなくなるまで調整 を行い、誤動作しなくなった後、さらに放射ノイズのパワーのピーク値をなるベく低減 するように調整を行う。あるいは、電源装置 14がデジタル回路基板 1Bに供給する電 源電圧を評価関数に加えて、できるだけ低い電源電圧で動作するとともに電磁波の ピークパワー pが低くなるように調整することも可能である。この場合、まず、電源電圧 を先に考慮して、デジタル回路基板 1Bが動作する最も低い電源電圧に電源装置 14 の出力を設定した後に上記 [数 3]の評価関数に基づ!/、て電磁波のピークパワー Pが 低くなるように調整することも可能であり、あるいは、 Pとして電磁波のピークパワーと 電源装置 14が出力する各電源電圧の加重平均を取って調整を行うことも可能である
[0164] ここにおける染色体とレジスタ値とは、第 1実施例の方法の場合と同様に一対一で 対応している。すなわち、図 23に示すと同様に、染色体は、上記実施例の 10力所の 調整箇所に対応する 10個のレジスタ 5のレジスタ値力 構成されている。そして各調 整箇所に対応する各レジスタ 5は、ここでは 4ビットのものとされている。それゆえ、染 色体長は、 40ビットである。従って、上記実施例のデジタル回路基板 1Bの調整探索 空間の大きさは、 2"40 10" 12 (10の 12乗)であり、全探索による調整はいうまでもなく 不可能である。
[0165] 本実施例の方法によれば、デジタル回路基板 1B内のクロック信号 9上に複数の調 整可能な遅延素子 4B1— 4B10を使用し、それらの遅延値を、デジタル回路基板 の 出力が誤動作をしないように調整するので、デジタル回路基板製造工程におけるク ロック信号線のプロセスの不均一や設計上の誤差等に起因するクロックタイミングの ずれを吸収して、デジタル回路基板 1Bが誤動作しな 、ように調整することができる。 また、本実施例では、デジタル回路基板 1Bから電磁波として放射される放射ノイズ をも考慮にいれた調整を行えるので、デジタル回路基板 1Bの周囲に人体や他の電 子装置が存在する場合に特に好適である。
[0166] なお、本実施例においては基板上に実装される LSIを 10個とした力 本発明におい ては、いうまでもなく LSIの個数を問わない。また、回路基板の周囲に人体や他の電 子装置が存在しない場合など、放射ノイズのパワーの大小を問わないときには、上記 評価関数で Pの値を考慮しなくてもょ 、のは 、うまでもな 、。
[0167] 本実施例の方法は、クロック周波数が高 、場合に特に好適である。なぜなら、クロッ ク周波数が高い場合、クロック信号のタイミング調整がより困難になり、なおかつ、電 磁放射ノイズの高周波成分のパワーがより強くなるからである。 [0168] 上述した第 1一第 3実施例では、レジスタ 5の初期設定値の取り方、および初期設 定値からレジスタ値を変更する方法にっ 、ては遺伝的アルゴリズムを用いた。しかし ながら、クロックの信号線が木構造をなしている場合には、遺伝的プログラミングとよ ばれるアルゴリズムを遺伝的アルゴリズムの代わりに用いることもできる。
[0169] 遺伝的プログラミングの詳細は、例えば、 MIT Pressが 1992年に出版した、 J.Koza 著の「Genetic Programming」を参照されたい。遺伝的プログラミングは、遺伝的アル ゴリズムに木構造の染色体を扱えるような工夫をカ卩えたものである。
[0170] 次に述べる本発明の第 4実施例のデジタルシステムおよびその調整方法では、図 3 3に示すシステム構成において、調整装置 6で、この遺伝的プログラミングにしたがつ てレジスタ 5の値を変更する。本実施例では特に、遺伝的プログラミングの染色体とし て、クロック信号線の木構造をそのまま遺伝的プログラミングの染色体構造に写像す ることを大きな特徴とする。このようにすれば、第 1実施例と同様に、染色体の情報を レジスタ値に変換するための回路等を不要とすることができる。
[0171] 図 33に示すデジタルシステム 1Tは、デジタルシステム 1と同様の基本的機能を奏 するが、このデジタルシステム 1Tにおいては、クロック信号 9Tがデジタルシステム 1T に入力され、それが木構造状に分岐して、デジタルサブシステム 1TS1— 1TS6に入力 される。それらのデジタルサブシステム内では、上記クロック信号がすべてのフリップ フロップにクロック信号として与えられる。クロック信号線の各分岐には遅延素子 4T1 一 4T5が挿入されており、それぞれの遅延値は対応するレジスタ値 5RT1— 5RT5に応 じて変更可能である。なお、各デジタルサブシステム同士は、図示しないデータライ ンによって接続されている。
[0172] 次に、遺伝的プログラミングに従った本発明の第 4実施例の調整方法を述べる。こ の調整方法でも、第 1実施例と同様に図 19のフローチャートに従う。また、遺伝的プ ログラミングの処理手順は図 22に示したフローチャートと同じであり、染色体の表現 方法、交叉方法のみが異なる。
[0173] 遺伝的プログラミングの染色体としては、図 34に示す木構造を用いる。つまり、図 3 3に示したクロック信号線の接続状態をそのまま表現した木構造を用い、染色体のノ ード CS1— CS5のそれぞれのビット列が各レジスタ 5RT1— 5RT5の値に対応する。図 34では、各レジスタ長を 3として説明した力 いうまでもなく任意のビット数の場合に 本調整方法は適用できる。
[0174] 図 22の処理で使用する、遺伝的プログラミングの個体の評価関数 Fとしては、個体 の染色体が表現するレジスタ値でデジタルシステム 1Tを設定したのち動作させ、デジ タル信号観測装置 7によって観測されたデジタル出力が期待値にどのくらい近いか を表す関数を用いる。
[0175] 図 22に示す処理で用いるために、先に図 19のステップ S1で遺伝的プログラミング の初期集団として、一様乱数を用いて個体を複数作成する。つまりこの場合には、初 期集団の各染色体の各遺伝子の値は確率 0.5で 1の値を、確率 0.5で 0の値をとること を意味する。但し、クロックタイミングの不均一さの傾向について何らかの予備知識が 存在する場合には、より適応度が高いと思われる個体を初期集団として作成すること ができる。
[0176] 初期集団のそれぞれの個体は、デジタル信号観測装置 7から送られてきた観測値( ステップ S3)から、調整装置 6により上記評価関数を用いて適応度を計算する。その 際に、デジタルシステム 1Tの性能が誤りなく動作する力否かをステップ S4で判定し、 誤りなく動作をする場合には、ステップ S9で良品処理を行った後、調整処理は終了 する。
[0177] 初期集団すベての個体において、ステップ S9の良品処理が行われな力つた場合、 ステップ S21— S30の遺伝的処理に進む。ステップ S26もしくはステップ S29の適応 度算出処理時に、デジタルシステム 1Tの性能が誤りなく動作したと判断された場合 にも、ステップ S9で良品処理を行った後、調整処理は終了する。なお、ステップ S21 一 S30を一定世代数繰り返し調整処理をおこなっても、誤りなく動作する染色体 (レ ジスタ値)が得られない場合には、調整対象のデジタルシステム 1Tは不良品と判断 され、図 19のステップ S8で不良品としての処理を行う。
[0178] 遺伝的プログラミングの遺伝的処理においては、実施例 1の場合と同様に図 22の フローチャートに示す方法を用いる。
[0179] ステップ S22の交叉処理では、図 35の説明図に示す方法を用いる。これは染色体 の木構造をランダムな位置で部分的に入れ替える操作であり、遺伝的プログラミング 固有の操作である。図 35では、 TR1および TR2がステップ S21の選択処理の結果選 ばれた親 A、 Bの染色体であり、ここにおける交叉処理では、これらの染色体を、ラン ダムに選んだ交叉位置 CPで切断する。そして、切断した部分的な遺伝子型を入れ 替えること〖こよって、染色体 TR3よび TR4をそれぞれ持つ子 A'、子 B'を生成する。こ の方法を用いることにより、調整のために有効な染色体の部分情報を破壊することな く交叉を行うことができる。
[0180] ステップ S22での交叉にひき続いて実行するステップ S23の突然変異は、各染色体 の遺伝子の各ビットを、突然変異率の生起確率で、 0を 1、あるいは 1を 0に変更する 操作である。図 36に突然変異の例を示す。この図 36では、染色体 TR5の、四角で囲 んで示す遺伝子に突然変異が生じ、それぞれが染色体 TR6において対立遺伝子に 変更されている。
[0181] 一般的な遺伝的プログラミングでは、交叉、突然変異のほかに、木構造を挿入、削 除する遺伝的操作も行われる。しかしながら、それらの操作は染色体長を変化させる ので、それらの操作を使用すると染色体情報を直接レジスタ 5の値に変換できなくな るため、本実施例では用いない。
[0182] 本実施例によれば、上記の遺伝的プログラミングにより、クロック信号線が木構造を なしているときに、調整を効率的に行うことができる。
[0183] 本発明は、いうまでもなぐデジタルシステムを用いる装置の全体、一部、あるいは 複数の部分の何れにも適用可能であり、デジタルシステムの規模を問わな 、。
[0184] また、本発明の方法による調整は、調整可能な遅延素子 4の遅延値の精度が低ぐ 単調'性が保証されないものであっても、ほとんど支障がない。それゆえ、本発明で用 いる遅延素子は、半導体基板上で従来よりも小さい面積で作製することができる。
[0185] 以上、図示例に基づき説明した力 この発明は上述の例に限定されるものでなぐ 特許請求の範囲の記載の範囲内で当業者が容易に改変し得る他の構成をも含むも のである。

Claims

請求の範囲
[1] 単一もしくは複数のクロック信号に従 、デジタル処理を行って所定の基本的機能を 奏するデジタルシステムにお 、て、
前記デジタルシステム内の、前記クロック信号を供給する複数のクロック回路にそれ ぞれ介挿されるとともに、制御信号が示す値に応じて遅延時間を変化させる回路素 子で各々構成された複数の遅延素子と、
前記複数の遅延素子に与える複数の制御信号を保持する複数の保持回路と、 を具え、
前記複数の保持回路が、出力電圧可変の電源装置カゝら前記デジタルシステムが 電源を供給された状態で、それらの保持回路が保持する前記複数の制御信号の値 を外部装置により、確率的探索手法に従って、前記デジタルシステムの基本的機能 が所定の仕様を満たすように変更されるものであることを特徴とする、デジタルシステ ム。
[2] 前記保持回路が保持する制御信号の値は、前記外部装置が、遺伝的アルゴリズム に従って前記制御信号の値を順次に変更して探索した、前記デジタルシステムの基 本的機能が所定の仕様を満たす状態となる最適値に変更されることを特徴とする、 請求項 1記載のデジタルシステム。
[3] 前記保持回路が保持する制御信号の値は、前記外部装置が、遺伝的プログラミング に従って前記制御信号の値を順次に変更して探索した、前記デジタルシステムの基 本的機能が所定の仕様を満たす状態となる最適値に変更されることを特徴とする、 請求項 1記載のデジタルシステム。
[4] 前記外部装置による前記複数の制御信号の変更は、前記電源装置の出力電圧を段 階的に変化させながら行われることを特徴とする、請求項 1から 3までの何れか記載 のデジタルシステム。
[5] 前記外部装置による前記複数の制御信号の変更は、前記電源装置の出力電圧が前 記デジタルシステムの設計値よりも低 、状態で行われることを特徴とする、請求項 1か ら 3までの何れか記載のデジタルシステム。
[6] 単一もしくは複数のクロック信号に従 、デジタル処理を行って所定の基本的機能を 奏するデジタルシステムにお 、て、
前記デジタルシステム内の、前記クロック信号を供給する複数のクロック回路にそれ ぞれ介挿されるとともに、制御信号が示す値に応じて遅延時間を変化させる回路素 子で各々構成された複数の遅延素子と、
前記複数の遅延素子に与える複数の制御信号を保持する複数の保持回路と、 出力電圧可変の電源装置カゝら前記デジタルシステムが電源を供給された状態で、 前記デジタルシステムの基本的機能が所定の仕様を満たすように、前記複数の保持 回路が保持する前記複数の制御信号の値を確率的探索手法に従って変更する設 定手段と、
を具えることを特徴とする、デジタルシステム。
[7] 前記設定手段は、遺伝的アルゴリズムに従って前記制御信号の値を順次に変更し、 前記デジタルシステムの基本的機能が所定の仕様を満たす状態となる制御信号の 最適値を探索するものであることを特徴とする、請求項 6記載のデジタルシステム。
[8] 前記設定手段は、遺伝的プログラミングに従って前記制御信号の値を順次に変更し
、前記デジタルシステムの基本的機能が所定の仕様を満たす状態となる制御信号の 最適値を探索するものであることを特徴とする、請求項 6記載のデジタルシステム。
[9] 前記設定手段による前記複数の制御信号の変更は、前記電源装置の出力電圧を段 階的に変化させながら行われることを特徴とする、請求項 6から 8までの何れか記載 のデジタルシステム。
[10] 前記設定手段による前記複数の制御信号の変更は、前記電源装置の出力電圧が前 記デジタルシステムの設計電源電圧値よりも低い状態で行われることを特徴とする、 請求項 6から 8までの何れか記載のデジタルシステム。
[11] 前記デジタルシステムは、前記電源装置を具えていることを特徴とする、請求項 1か ら 10までの何れか記載のデジタルシステム。
[12] 前記デジタルシステムは、集積回路として構成されて!ヽることを特徴とする、請求項 1 力 10までの何れか記載のデジタルシステム。
[13] 前記デジタルシステムは、回路基板として構成されていることを特徴とする、請求項 1 力 10までの何れか記載のデジタルシステム。
[14] 単一もしくは複数のクロック信号に従 、デジタル処理を行って所定の基本的機能を 奏するデジタルシステムの前記クロック信号のタイミングを調整する方法において、 前記デジタルシステム内の、前記クロック信号を供給する複数のクロック回路に、複 数の遅延素子をそれぞれ介挿し、
前記複数の遅延素子を各々、制御信号が示す値に応じて遅延時間を変化させる 回路素子で構成し、
前記複数の遅延素子に与える複数の制御信号を、前記デジタルシステムに設けた 複数の保持回路で保持するとともに、
出力電圧可変の電源装置カゝら前記デジタルシステムに電源を供給した状態で、前 記デジタルシステムの基本的機能が所定の仕様を満たすように、前記複数の保持回 路が保持する前記複数の制御信号の値を外部装置により、確率的探索手法に従つ て変更することを特徴とする、デジタルシステムのクロック信号調整方法。
[15] 前記外部装置は、遺伝的アルゴリズムに従って前記制御信号の値を順次に変更し、 前記デジタルシステムの基本的機能が所定の仕様を満たす状態となる制御信号の 最適値を探索することを特徴とする、請求項 14記載のデジタルシステムのクロック信 号調整方法。
[16] 前記外部装置は、遺伝的プログラミングに従って前記制御信号の値を順次に変更し 、前記デジタルシステムの基本的機能が所定の仕様を満たす状態となる制御信号の 最適値を探索することを特徴とする、請求項 14記載のデジタルシステムのクロック信 号調整方法。
[17] 前記外部装置による前記複数の制御信号の変更は、前記電源装置の出力電圧を段 階的に変化させながら行うことを特徴とする、請求項 14から 16までの何れか記載の デジタルシステムのクロック信号調整方法。
[18] 前記外部装置による前記複数の制御信号の変更は、前記電源装置の出力電圧が前 記デジタルシステムの設計電源電圧値よりも低い状態で行われることを特徴とする、 請求項 14から 16までの何れか記載のデジタルシステムのクロック信号調整方法。
[19] 単一もしくは複数のクロック信号に従 、デジタル処理を行って所定の基本的機能を 奏するデジタルシステムの前記クロック信号のタイミングを調整する方法において、 前記デジタルシステム内の、前記クロック信号を供給する複数のクロック回路に、複 数の遅延素子をそれぞれ介挿し、
前記複数の遅延素子を各々、制御信号が示す値に応じて遅延時間を変化させる 回路素子で構成し、
前記複数の遅延素子に与える複数の制御信号を、前記デジタルシステムに設けた 複数の保持回路で保持するとともに、
出力電圧可変の電源装置カゝら前記デジタルシステムに電源を供給した状態で、前 記デジタルシステムの基本的機能が所定の仕様を満たすように、前記複数の保持回 路が保持する前記複数の制御信号の値を、前記デジタルシステムに設けた設定手 段で、確率的探索手法に従って変更することを特徴とする、デジタルシステムのクロッ ク信号調整方法。
[20] 前記設定手段は、遺伝的アルゴリズムに従って前記制御信号の値を順次に変更し、 前記デジタルシステムの基本的機能が所定の仕様を満たす状態となる制御信号の 最適値を探索するものであることを特徴とする、請求項 19記載のデジタルシステムの クロック信号調整方法。
[21] 前記設定手段は、遺伝的プログラミングに従って前記制御信号の値を順次に変更し 、前記デジタルシステムの基本的機能が所定の仕様を満たす状態となる制御信号の 最適値を探索するものであることを特徴とする、請求項 19記載のデジタルシステムの クロック信号調整方法。
[22] 前記設定手段による前記複数の制御信号の変更は、前記電源装置の出力電圧を段 階的に変化させながら行われることを特徴とする、請求項 19から 21までの何れか記 載のデジタルシステムのクロック信号調整方法。
[23] 前記設定手段による前記複数の制御信号の変更は、前記電源装置の出力電圧が前 記デジタルシステムの設計電源電圧値よりも低い状態で行われることを特徴とする、 請求項 19から 21までの何れか記載のデジタルシステムのクロック信号調整方法。
[24] 前記電源装置を、前記デジタルシステムに設けたことを特徴とする、請求項 19から 2 3までの何れか記載のデジタルシステムのクロック信号調整方法。
[25] 前記デジタルシステムは、集積回路として構成されて!ヽることを特徴とする、請求項 1 4から 24までの何れか記載のデジタルシステムのクロック信号調整方法。
[26] 前記デジタルシステムは、回路基板として構成されていることを特徴とする、請求項 1
4から 24までの何れか記載のデジタルシステムのクロック信号調整方法。
[27] 前記外部装置は、コンピュータを具えていることを特徴とする、請求項 14から 18まで の何れか記載のデジタルシステムのクロック信号調整方法。
[28] 前記設定手段は、コンピュータを具えていることを特徴とする、請求項 19から 23まで の何れか記載のデジタルシステムのクロック信号調整方法。
[29] 請求項 27または 28記載のデジタルシステムのクロック信号調整方法にぉ 、て前記コ ンピュータが実行する、前記複数の保持回路が保持する前記複数の制御信号の値 を前記デジタルシステムの基本的機能が所定の仕様を満たすように確率的探索手 法に従って変更する処理プログラムを記録した記録媒体。
PCT/JP2004/007683 2003-06-06 2004-06-03 デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体 Ceased WO2004109916A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005506771A JP4281015B2 (ja) 2003-06-06 2004-06-03 デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体
US10/559,672 US20060236146A1 (en) 2003-06-06 2004-06-03 Digital system, clock signal adjusting method for digital system, recording medium recording processing program executed in the adjusting method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003162118 2003-06-06
JP2003-162118 2003-06-06

Publications (1)

Publication Number Publication Date
WO2004109916A1 true WO2004109916A1 (ja) 2004-12-16

Family

ID=33508655

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/007683 Ceased WO2004109916A1 (ja) 2003-06-06 2004-06-03 デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体

Country Status (3)

Country Link
US (1) US20060236146A1 (ja)
JP (1) JP4281015B2 (ja)
WO (1) WO2004109916A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217350A (ja) * 2007-03-02 2008-09-18 National Institute Of Advanced Industrial & Technology ディジタルシステムの設計システムおよびディジタルシステムの製造方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070240013A1 (en) * 2006-01-27 2007-10-11 Sony Computer Entertainment Inc. Methods And Apparatus For Managing Defective Processors Through Clock Programming
US8677171B2 (en) * 2008-04-14 2014-03-18 Teklatech A/S Method for controlling the dynamic power signature of a circuit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744519A (ja) * 1993-08-03 1995-02-14 Mitsubishi Electric Corp 遺伝的アルゴリズム実装方法、およびそれを用いたネットワーク最適化方法
JPH0981615A (ja) * 1995-09-14 1997-03-28 Sony Corp 回路設計装置および方法
JP2000207038A (ja) * 1999-01-13 2000-07-28 New Japan Radio Co Ltd 定電圧出力回路の抵抗値決定方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428764A (en) * 1992-04-24 1995-06-27 Digital Equipment Corporation System for radial clock distribution and skew regulation for synchronous clocking of components of a computing system
US5475690A (en) * 1994-11-10 1995-12-12 Digital Equipment Corporation Delay compensated signal propagation
US6192092B1 (en) * 1998-06-15 2001-02-20 Intel Corp. Method and apparatus for clock skew compensation
US6658581B1 (en) * 1999-03-29 2003-12-02 Agency Of Industrial Science & Technology Timing adjustment of clock signals in a digital circuit
US6539491B1 (en) * 1999-11-08 2003-03-25 International Business Machines Corporation Method and apparatus for implementing IEEE 1149.1 compliant boundary scan
US6721892B1 (en) * 2000-05-09 2004-04-13 Palmone, Inc. Dynamic performance adjustment of computation means

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744519A (ja) * 1993-08-03 1995-02-14 Mitsubishi Electric Corp 遺伝的アルゴリズム実装方法、およびそれを用いたネットワーク最適化方法
JPH0981615A (ja) * 1995-09-14 1997-03-28 Sony Corp 回路設計装置および方法
JP2000207038A (ja) * 1999-01-13 2000-07-28 New Japan Radio Co Ltd 定電圧出力回路の抵抗値決定方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217350A (ja) * 2007-03-02 2008-09-18 National Institute Of Advanced Industrial & Technology ディジタルシステムの設計システムおよびディジタルシステムの製造方法

Also Published As

Publication number Publication date
US20060236146A1 (en) 2006-10-19
JPWO2004109916A1 (ja) 2006-07-20
JP4281015B2 (ja) 2009-06-17

Similar Documents

Publication Publication Date Title
US9536038B1 (en) Method and algorithm for functional critical paths selection and critical path sensors and controller insertion
TWI547950B (zh) 在記憶體裝置內配置資料選通信號的裝置與操作方法
US6658581B1 (en) Timing adjustment of clock signals in a digital circuit
JP2014194838A (ja) ローカル・クロック生成器の自己タイミング型較正を用いた拡張された電圧又はプロセス範囲にわたるsram性能の最適化
US6763513B1 (en) Clock tree synthesizer for balancing reconvergent and crossover clock trees
JP3893147B2 (ja) デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体
EP3852027B1 (en) Optimization device, control method of optimization device, and control program of optimization device
JP4642417B2 (ja) 半導体集積回路装置
JP4281015B2 (ja) デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体
US7167035B2 (en) Delay circuitry and method therefor
US7301378B2 (en) Circuit and method for determining optimal power and frequency metrics of an integrated circuit
US7644385B1 (en) Programmable logic device with performance variation compensation
JP2003346498A (ja) Bist回路
JP4798505B2 (ja) ディジタルシステムの設計システムおよびディジタルシステムの製造方法
US7164998B2 (en) Method for determining programmable coefficients to replicate frequency and supply voltage correlation in an integrated circuit
TWI236217B (en) Apparatus and method for adjusting the impedance of an output driver
JP4063830B2 (ja) 半導体記憶装置
JP3533401B2 (ja) 不要電磁放射を低減するデジタルシステム、インピーダンス調整方法、およびその方法を実行する処理プログラム
JP7737328B2 (ja) 半導体装置
CN121303019B (zh) 自下而上时钟树综合方法及系统
US7847595B2 (en) Input circuit and semiconductor integrated circuit comprising the input circuit
Sitik et al. Multi-corner multi-voltage domain clock mesh design
Růžička et al. Technology Mapping for PAIG Optimised Polymorphic Circuits
Dasgupta et al. A Novel Algorithm for Interconnect-aware Two level Optimization of Multi-output SOP functions
Djupdal et al. The route to a defect tolerant LUT through artificial evolution

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005506771

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2006236146

Country of ref document: US

Ref document number: 10559672

Country of ref document: US

122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 10559672

Country of ref document: US