WO2010100830A1 - 半導体装置、回路修正方法、設計支援装置及び設計支援プログラムが格納された記録媒体 - Google Patents

半導体装置、回路修正方法、設計支援装置及び設計支援プログラムが格納された記録媒体 Download PDF

Info

Publication number
WO2010100830A1
WO2010100830A1 PCT/JP2010/000794 JP2010000794W WO2010100830A1 WO 2010100830 A1 WO2010100830 A1 WO 2010100830A1 JP 2010000794 W JP2010000794 W JP 2010000794W WO 2010100830 A1 WO2010100830 A1 WO 2010100830A1
Authority
WO
WIPO (PCT)
Prior art keywords
trigger
wiring
additional supply
supply element
branch
Prior art date
Application number
PCT/JP2010/000794
Other languages
English (en)
French (fr)
Inventor
中村祐一
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US13/203,197 priority Critical patent/US20120013373A1/en
Priority to JP2011502611A priority patent/JPWO2010100830A1/ja
Publication of WO2010100830A1 publication Critical patent/WO2010100830A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees

Definitions

  • the present invention relates to a semiconductor device, a circuit correction method, a design support apparatus, and a design support program, and in particular, a semiconductor device having a clock wiring for distributing a clock signal to a trigger signal driving element, a circuit correction method for a semiconductor device, a design support apparatus, and Related to design support program.
  • Patent Document 1 discloses an example of a design technique for reducing the time required for the design back-up process.
  • Patent Document 1 a circuit is cut and divided in advance, and the circuit is corrected in units of division. As a result, it is possible to perform the correction process only on the division unit that requires the circuit correction while maintaining the current design information (for example, layout information) for the division unit that does not need correction. That is, in Patent Document 1, the time required for the return process is reduced by minimizing the area where the re-layout is performed.
  • the clock signal is broadly included in the trigger signal, and the trigger signal includes a set signal, a reset signal, a request signal in asynchronous communication, an acknowledge signal, and the like in addition to the clock signal.
  • the flip-flop is broadly included in the trigger signal driving element, and the trigger signal driving element includes a latch, a memory, and the like in addition to the flip-flop. Furthermore, timing design is also performed for data signals transmitted and received between a plurality of flip-flops.
  • Patent Document 2 describes a method of reducing the backward work as much as possible by dealing with the change in the parasitic capacitance of the existing clock wiring only by adjusting the clock wiring.
  • One aspect of the semiconductor device includes a plurality of trigger signal driving elements that operate based on a trigger signal, a trigger wiring that distributes the trigger signal to the plurality of trigger signal driving elements, and a branch from the clock wiring.
  • An additional trigger wiring provided; and an additional supply element that is supplied via the additional trigger wiring and is provided separately from the plurality of trigger signal driving elements.
  • a circuit correction method for a semiconductor device is a circuit correction method for a semiconductor device, comprising: a trigger wiring that transmits a trigger signal; and a plurality of trigger signal drive elements that operate based on the trigger signal.
  • An additional supply element connected to the wiring via an additional trigger wiring and not connected to any of the plurality of trigger driving elements is provided in advance, and a correction target element to be corrected is searched for among the plurality of trigger signal driving elements.
  • the correction target element and the additional supply element are connected.
  • One aspect of the design support apparatus is an additional trigger for connecting an additional supply element to a trigger wiring for distributing a trigger signal to a trigger signal driving element and the additional supply element and the trigger wiring in a design process of a semiconductor device.
  • a design support apparatus that arranges wiring, and generates additional supply element statistical information indicating the number of additional supply elements for each constraint condition based on the number of the additional supply elements and the constraint condition of the additional supply elements
  • the additional supply element condition setting unit to extract the trigger wiring information from the first netlist describing the connection information of the circuit including the plurality of trigger driving elements, and based on the number of branch stages of the extracted trigger wiring Determines the position to place the additional supply element included in the additional supply element statistical information, and outputs branch position information describing the position information of the additional supply element
  • a branch position determination unit that adds a connection information of the additional supply element and the additional trigger line to the first netlist based on the branch position information, and generates a second netlist, Have
  • One aspect of the design support apparatus includes a trigger signal driving element that operates based on a trigger signal included in a first netlist generated after layout completion, a trigger wiring that transmits the trigger signal, and an additional trigger wiring And an additional supply element that is not connected to the trigger signal driving element, and is located at both ends of the element addition node to be corrected from the first netlist.
  • the trigger signal drive element is searched, the correction target element search unit for registering the searched trigger signal drive element as a correction target element, and the number of branch stages of the trigger wiring connected to the correction target element are analyzed and analyzed.
  • a clock supply source analysis unit that outputs clock supply source analysis information indicating the number of branch stages, and the correction based on the clock supply source analysis information
  • the additional supply element connected to the trigger wiring having the number of branch stages that matches or approximates the trigger wiring that supplies the trigger signal to the elephant element is searched, and the searched additional supply element is the additional supply element to be added
  • a circuit correction unit that generates a second netlist in which the additional supply element determined by the addition destination determination part and the trigger signal driving element are connected to each other.
  • One aspect of the design support program according to the present invention is executed by an arithmetic device, and in a design process of a semiconductor device, an additional supply element, a supply element, and a trigger wiring are added to a trigger wiring that distributes a trigger signal to a trigger signal driving element
  • a design support apparatus program for arranging an additional trigger wiring for connecting the additional supply element number information indicating the number of the additional supply elements from the memory, and additional supply element constraint information indicating the constraint condition of the additional supply elements; , And an additional supply element condition setting unit for storing additional supply element statistical information indicating the number of the additional supply elements for each of the constraint conditions in the memory, and connection information of a circuit including a plurality of the trigger drive elements is described.
  • the first netlist is read from the memory, and the trigger wiring information is extracted from the first netlist and extracted.
  • a branch position that determines a position where the additional supply element included in the additional supply element statistical information is arranged based on the number of branch stages of the trigger wiring, and stores branch position information describing the position information of the additional supply element in the memory
  • the connection information of the additional supply element and the additional trigger wiring is added to the first netlist to generate a second netlist, and the memory is stored in the memory.
  • a trigger wiring correction unit for storing the second netlist.
  • One aspect of the design support program according to the present invention is a trigger signal driving element that is executed by an arithmetic device and operates based on a trigger signal included in a first netlist generated after completion of layout, and transmits the trigger signal.
  • a design support program for connecting an additional supply element that is connected via a trigger wiring and an additional trigger wiring and that is not connected to the trigger signal driving element reads the first netlist from a memory, and Search for the trigger signal drive element located at both ends of the element addition node to be corrected from one netlist, and store the correction target element analysis information indicating the searched trigger signal drive element in the memory
  • the first netlist and the correction target element analysis information from the memory, and the correction pair Analyzes the number of branch stages of the trigger wiring connected to the element, stores the clock supply source analysis information indicating the analyzed branch stage number in the memory, and reads the clock supply source analysis information from the memory
  • the semiconductor device According to the semiconductor device, the circuit correction method, the design support apparatus, and the design support program according to the present invention, it is possible to reduce the time for the return process accompanying the circuit correction.
  • FIG. 1 is a block diagram of a semiconductor device according to a first embodiment
  • 3 is a circuit example of an additional supply element according to the first embodiment
  • 10 is another circuit example of the additional supply element according to the first embodiment
  • 10 is another circuit example of the additional supply element according to the first embodiment.
  • FIG. 2 is a block diagram of a semiconductor device obtained by performing circuit correction on the semiconductor device shown in FIG. 1.
  • 6 is a flowchart showing a circuit design procedure of the semiconductor device according to the second embodiment
  • FIG. 3 is a block diagram of a semiconductor device design support apparatus according to a second embodiment
  • 10 is a flowchart showing an operation procedure of the design support apparatus according to the second exemplary embodiment
  • 10 is a flowchart illustrating a circuit correction procedure of the semiconductor device according to the third embodiment
  • FIG. 4 is a block diagram of a semiconductor device design support apparatus according to a third embodiment
  • 10 is a flowchart illustrating an operation procedure of the design support apparatus according to the third exemplary embodiment.
  • FIG. 9 is a block diagram illustrating an example of a semiconductor device that has been subjected to circuit correction by a design support apparatus according to a third embodiment
  • FIG. 11 is a block diagram illustrating another example of a semiconductor device that has been subjected to circuit correction by the design support apparatus according to the third embodiment;
  • FIG. 1 a block diagram of the semiconductor device 1 according to the first embodiment is shown in FIG.
  • the semiconductor device 1 includes a clock generation circuit 10, a logic circuit 20, an additional supply element 30, trigger wirings CW0 to CW3, and an additional trigger wiring CWb.
  • the semiconductor device 1 has a plurality of logic circuits 20.
  • the clock generation circuit 10 distributes a trigger signal (for example, a clock signal) to the logic circuit 20 via trigger lines (for example, clock lines) CW0 to CW3.
  • the logic circuit 20 includes a plurality of trigger signal driving elements that operate based on a trigger signal supplied via a trigger wiring.
  • one of the logic circuits 20 includes flip-flop circuits FFa and FFb.
  • a flip-flop circuit is used as an example of the trigger signal driving element.
  • a clock signal is used as the trigger signal, and the trigger wiring is referred to as clock wiring.
  • the trigger signal driving element may be a circuit element that operates based on the trigger signal, and includes a latch circuit, a memory circuit, and the like in addition to the flip-flop circuit.
  • the trigger signal includes a set signal, a reset signal, a request signal in asynchronous communication, an acknowledge signal, and the like.
  • a number is added to the clock wiring after the symbol CW. This number indicates the number of branch stages of the clock wiring.
  • the clock wiring CW0 connected to the output terminal of the clock generation circuit 10 is used as a reference. Note that the starting point of the number of branch stages of the clock wiring can be arbitrarily set.
  • ND0 to ND3 are added to the branch points of the clock wiring.
  • the branch point is numbered after the symbol ND, and this number indicates the number of branch stages of the clock wiring.
  • the output terminal of the clock generation circuit 10 is the start point of the branch point. Note that the start point of the number of branch points can be arbitrarily set.
  • a constraint condition (for example, a skew value) is set for each of the clock wirings CW0 to CW3. That is, a constant skew value is set for the clock wiring CW1 with respect to the clock wiring CW0.
  • the skew value of the clock wiring CW2 is constant with respect to the clock wiring CW0 and is set to a value different from that of the clock wiring CW1.
  • the skew value of the clock wiring CW3 is constant with respect to the clock wiring CW0 and is set to a value different from that of the clock wirings CW1 and CW2.
  • the additional supply element 30 is supplied with a clock signal via an additional trigger wiring (for example, an additional clock wiring), and is provided separately from a plurality of flip-flop circuits. And in circuit correction, it is connected with a plurality of flip-flop circuits.
  • An example of this additional supply element 30 is shown in FIGS.
  • the additional trigger wiring CWb is a wiring provided by branching from the clock wiring, and the same constraint condition (for example, skew value) as that of the branching clock wiring is set.
  • the additional supply element 30 is set in advance with a constraint condition (for example, a skew value) in consideration of a later use state, and is arranged based on the constraint condition. That is, the additional supply element 30 is arranged at a place where the constraint condition of the additional supply element and the constraint condition of the clock wirings CW0 to CW3 coincide.
  • the example shown in FIG. 2A uses a buffer BUF as an additional supply element.
  • the buffer BUF has an input terminal connected to the clock wiring via the additional clock wiring CWb, and an output terminal is an open end when not used for circuit correction.
  • the example shown in FIG. 2B uses a buffer BUF and a flip-flop circuit FF as additional supply elements.
  • the buffer BUF has an input terminal connected to the clock line via the additional clock line CWb, and an output terminal connected to the clock input terminal of the flip-flop circuit FF.
  • the flip-flop circuit FF has an input terminal and an output terminal connected to each other when not used for circuit correction.
  • FIG. 2C uses a flip-flop circuit FF as an additional supply element. In a state where the flip-flop circuit FF is not used for circuit correction, an input terminal and an output terminal are connected to each other, and a clock input terminal is connected to a clock wiring via an additional clock wiring CWb.
  • FIG. 3 shows a block diagram of the semiconductor device 1a in which the semiconductor device 1 shown in FIG. 1 is corrected by using the circuit correcting method according to this embodiment.
  • the flip-flop circuit FFc included in the additional supply element 30 is connected between the flip-flop circuits FFa and FFb originally used in the logic circuit 20. Is done.
  • the flip-flop circuit FFc is supplied with a clock signal via an additional clock line CWb that branches off from the clock line CW1 and a buffer BUF.
  • the circuit correction of the semiconductor device is a circuit correction method for a semiconductor device having a clock wiring for transmitting a clock signal and a plurality of flip-flop circuits that operate based on the clock signal.
  • the additional supply element 30 that is connected to the clock wirings CW0 to CW3 via the additional clock wiring and is not connected to any of the plurality of flip-flop circuits is provided in advance, and the correction target element (to be corrected) among the plurality of flip-flop circuits ( In the example shown in FIG. 3, the flip-flop circuits FFa and FFb) are searched and the flip-flop circuits FFa and FFb are connected to the additional supply element 30.
  • the additional clock wiring and the additional supply element 30 are incorporated in advance, and the additional supply element 30 is used in the subsequent circuit correction.
  • the skew values of the clock wirings CW0 to CW3 including the parasitic capacitance caused by the additional supply element 30 and the additional clock wiring CWb are set at the initial stage of design.
  • the parasitic capacitance values of the clock wirings CW0 to CW3 are kept constant by using the additional supply elements. be able to.
  • the skew values of the clock wirings CW0 to CW3 do not vary due to circuit correction as long as additional supply elements are used. Therefore, in the semiconductor device according to the present embodiment, even if the additional supply element 30 and the additional clock wiring CWb are used in the circuit correction process, it is not necessary to calculate the clock signal skew value (timing design) again. That is, in the semiconductor device according to the present embodiment, it is possible to reduce the time required for the return process accompanying circuit correction.
  • the additional supply element 30 is a small circuit such as one or two buffer circuits or flip-flop circuits FFa, and even if the additional supply element 30 is added, the chip area is hardly increased. Absent. In the miniaturized process in recent years, there is a tendency that the demerit due to the cost and time increase due to the return process accompanying the circuit correction is larger than the demerit due to the increase in the small chip area.
  • the reticle corresponding to the lower layer (circuit formation layer) of the wafer must be corrected, and in this case, all the reticles must be remanufactured.
  • enormous time and cost are required to remanufacture all the reticles.
  • only the reticle corresponding to the circuit wiring layer may be manufactured again. For this reason, in the semiconductor device according to the present embodiment, it is possible to reduce the cost and time of reticle manufacturing associated with circuit correction. That is, in recent miniaturized processes, the effects of shortening the design time and cost reduction according to the present invention become more prominent.
  • the designer can arbitrarily arrange the additional supply element 30 and the additional clock wiring CWb.
  • Embodiment 2 In the second embodiment, the design procedure of the semiconductor device 1 described in the first embodiment will be described. Therefore, a flowchart of the setting procedure of the semiconductor device 1 is shown in FIG.
  • circuit design is performed (step S1).
  • the circuit is designed based on the functions and specifications of the semiconductor device 1.
  • a design using HDL (Hardware Description Language) such as Verilog (this design is referred to as RTL (Register Transfer Level) design) is performed.
  • logic synthesis of the circuit designed in step S1 is performed to generate a first design verification netlist M1 (step S2).
  • the logic synthesis process generates a first design verification netlist M1 in which a specific circuit configuration (including connection between elements) is described based on the description created by the design performed in step S1.
  • step S3 the additional clock wiring CWb and the additional supply element 30 are added to the first design verification netlist M1 to generate the second design verification netlist M2 (step S3).
  • step S3 the additional supply element 30 and the additional clock wiring CWb of the semiconductor device 1 are added to the circuit.
  • the additional clock wiring CWb and the additional supply element 30 are added in step S3.
  • the process of adding the additional clock wiring CWb and the additional supply element 30 is performed in the reticle netlist (manufacturing) of the semiconductor device 1. Any process may be performed as long as it is a stage before the generation of a net list that serves as a reference for the reticle used in the process.
  • the additional supply element 30 can be added in the circuit design in step S1, or can be added to a circuit after layout processing performed later.
  • Synthesis) buffer is inserted with respect to the 2nd design verification netlist M2 produced
  • the CTS buffer is a buffer inserted into the clock wirings CW0 to CW3, and adjusts the skew values of the clock wirings CW0 to CW3.
  • This verification is one of timing verification and verification performed on the skew value of the clock signal is particularly referred to as clock skew verification.
  • step S6 if the timing verification result is not valid (NO branch of step S6), the second design verification netlist is corrected (step S7), and the verification work in steps S5 and S6 is performed again. On the other hand, if the timing verification result is valid in step S6 (YES branch in step S6), a layout netlist M3 is generated by adding the CTS buffer information to the second design verification netlist.
  • a layout pattern of the semiconductor device is generated based on the layout netlist (step S8).
  • step S8 the circuit layout and the wiring length and wiring width for connecting the circuit elements are determined.
  • signal delay verification (back annotation) is performed in consideration of the parasitic resistance and parasitic capacitance of the wiring extracted from the layout pattern in step S8 (step S9).
  • This back annotation mainly verifies whether the setup time and hold time of the flip-flop circuit etc. meet the standard. If the back annotation verification result is not valid (NO in step S10), the layout netlist is corrected (step S11), and the layout (step S8) and back annotation (step S9) are performed again. On the other hand, if the back annotation verification result is valid (YES in step S10), a reticle netlist M4 is generated based on the layout netlist. Then, the semiconductor device 1 is manufactured based on the reticle netlist.
  • the additional supply element 30 and the additional clock wiring CWb are added in step S3.
  • the process of step S3 is performed using the design support apparatus 100.
  • a block diagram of the design support apparatus 100 is shown in FIG. Note that the design support apparatus 100 may be a computer or the like in which a design support program for executing the process of step S3 is mounted, or may be a dedicated apparatus that performs the process of step S3.
  • the design support apparatus 100 may be a computer or the like in which a design support program for executing the process of step S3 is mounted, or may be a dedicated apparatus that performs the process of step S3.
  • a description will be given of a design support program for executing the processing of step S3 on a computer or the like.
  • the design support apparatus 100 includes a computing device (for example, CPU: Central Processing40Unit) 40, an input device 41, a display device 42, a program memory 50, and a database memory 60.
  • the arithmetic device 40 performs processing according to the program based on the various programs read from the program memory 50 and the various information read from the database memory 60, and stores the information generated by the processing in the database memory 60.
  • the arithmetic device 40 is connected to the program memory 50 and the database memory 60 via bus wiring.
  • the input device 41 gives an operation instruction to the arithmetic device 40.
  • the display device 42 displays an interface screen of a program executed in the arithmetic device 40.
  • the program memory 50 includes an additional supply element 30 and an additional clock for connecting the additional supply element 30 and the clock wiring to the clock wiring for distributing the clock signal to the flip-flop circuit in the semiconductor device design process (for example, step S3).
  • a design support program for arranging wiring is stored.
  • the design support program includes an additional supply element condition setting unit 51, a branch position determination unit 52, and a trigger wiring correction unit 53. In the design support program, these three parts may be implemented as one program, or may be implemented as individual programs.
  • the database memory 60 also includes additional supply element number information 61, additional supply element restriction information 62, additional supply element statistical information 63, branch position information 64, a first design verification netlist 65, and a second design verification.
  • a netlist 66 is stored.
  • the additional supply element number information 61 and the additional supply element restriction information 62 are information input by the designer via the input device 41 and the arithmetic device 40.
  • the additional supply element statistical information 63 is information generated by the additional supply element condition setting unit 51.
  • the branch position information 64 is information generated by the branch position determination unit 52.
  • the first design verification netlist 65 is a netlist generated in step S2 of FIG. 4. In the description of the design support apparatus 100 and the design support program executed by the design support apparatus 100, the first list for design verification is the first.
  • the second design verification netlist 66 is a netlist generated by the trigger wiring correction unit 53.
  • the second list for design verification is a second. Called the netlist.
  • the additional supply element condition setting unit 51 reads the additional supply element number information 61 indicating the number of additional supply elements from the database memory 60 and the additional supply element constraint information 62 indicating the constraint condition of the additional supply elements, and for each constraint condition.
  • the additional supply element statistical information 63 indicating the number of additional supply elements is generated. This additional supply element statistical information 63 is stored in the memory.
  • the branch position determination unit 52 reads a first net list (for example, the first design verification net list 65) describing connection information of a circuit including a plurality of flip-flop circuits from the database memory 60, and performs the first design. Clock wiring information is extracted from the verification netlist 65. Then, the branch position determination unit 52 determines a position where the additional supply element included in the additional supply element statistical information is arranged based on the extracted number of branch stages of the clock wiring. More specifically, the branch position determination unit 52 searches for the number of branch stages of the clock wiring satisfying the constraint included in the statistical information, and determines the position of the clock wiring corresponding to the searched branch stage number as an additional supply element and an additional trigger. Determine as wiring.
  • a first net list for example, the first design verification net list 65
  • Clock wiring information is extracted from the verification netlist 65.
  • the branch position determination unit 52 determines a position where the additional supply element included in the additional supply element statistical information is arranged based on the extracted number of branch stages of the clock wiring. More specifically, the
  • the branch position determination unit 52 stores the branch position information 64 describing the position information of the additional supply element 30 in the database memory.
  • a constraint condition is set for each number of branch stages of the clock wiring. Therefore, the branch position determination unit 52 determines the position to add the additional supply element 30 based on the consistency between the constraint condition set for the clock wiring and the constraint condition set for the additional supply element 30. Details of this determination process will be described later.
  • the trigger wiring correction unit 51 adds the connection information of the additional supply element 30 and the additional clock wiring CWb to the first design verification net list 65 based on the branch position information 64 read from the database memory 60, and thereby adds the second net list. (For example, the second design verification netlist 66) is generated.
  • the trigger wiring correction unit 51 stores the second design verification netlist in the database memory 60.
  • the additional supply element condition setting unit 51 is executed in the arithmetic device 40.
  • the additional supply element condition setting unit 51 reads the additional supply element number information 61 and the additional supply element restriction information 62 and generates additional supply element statistical information 63 (step S21).
  • the additional supply element statistical information 63 includes information such as 30 additional supply elements 30 having a constraint condition (for example, skew value) of 100 ps and 100 additional supply elements having a skew value of 50 ps. That is, the additional supply element statistical information 63 includes statistical information of additional supply elements having the same constraint condition.
  • the design support apparatus 100 executes the branch position determination unit 52 in the arithmetic unit 40.
  • the branch position determination unit 52 first reads the additional supply element statistical information 63 and the first design verification netlist 65. Then, the branch position determination unit 52 analyzes the number of branch stages of the existing clock wiring from the first design verification netlist 65 (step S22). More specifically, in the example of the present embodiment, the number of branch points ND through which the clock wiring to be calculated passes from the clock wiring CW0 is calculated based on the clock wiring CW0.
  • the branch position determination unit 52 determines the distribution of additional supply elements (step S23). Specifically, based on the information included in the additional supply element statistical information 63, the additional supply element having a constraint condition that can be permitted by the constraint condition set for the clock wiring for each branch stage number is distributed to the clock wiring.
  • the additional supply element having a constraint condition that can be permitted by the constraint condition set for the clock wiring for each branch stage number is distributed to the clock wiring.
  • n is an integer indicating the number of branch stages of the clock wiring.
  • is a skew value set for the clock wiring, and is different for each number of stages of the clock wiring (for example, the clock skew value of the clock wiring having n stages of branching is represented by ⁇ n).
  • the additional supply element 30 in which 100 ps is set as the maximum clock skew value Skew_max and 40 ps is set as the minimum clock skew value Skew_min is supplied to the clock wiring having three branch stages.
  • equation (32) has the smallest number of stages and satisfies the condition represented by the equation. Therefore, the clock wiring CW2 having two branch stages is determined as the branch destination of this additional supply element.
  • the branch position determining unit 52 outputs the position of the additional clock wiring CWb and the information of the additional supply element determined by the process of step S23 as the branch position information 64 (step S24).
  • the trigger wiring correcting unit 53 adds the element information and connection information of the additional supply element 30 and the additional clock wiring CWb to the first design verification netlist 65 based on the branch position information 64, thereby performing the second design verification.
  • a netlist 66 for use is generated (step S25).
  • the design support apparatus 100 appropriately inputs a plurality of additional supply elements and clock wirings by inputting the constraint condition of the additional supply element 30 to be added for each additional supply element (restriction condition). Can be inserted).
  • the design support apparatus 100 can shorten the design time as the number of additional supply elements to be added increases. That is, when a designer searches for a clock wiring to be added by himself and provides an additional supply element there, if the clock wiring to be added becomes enormous, the search takes time.
  • the design support apparatus 100 according to the present embodiment by inputting the constraint condition of the additional supply element 30 to be added for each additional supply element, the clock wiring having the constraint condition satisfying the constraint condition of the additional supply element is calculated.
  • Judgment can be made instantaneously, and an additional supply element can be automatically provided in the corresponding clock wiring. That is, by using the design support apparatus 100, it is possible to reduce the time required for the insertion process of the additional supply element (the time required for step S3 in FIG. 4).
  • Embodiment 3 In the third embodiment, a circuit correction procedure of the semiconductor device 1 described in the first embodiment will be described. Therefore, a flowchart of the circuit correction procedure of the semiconductor device 1 is shown in FIG. As shown in FIG. 7, in the circuit correction of the semiconductor device 1, first, the reticle netlist M ⁇ b> 4 used in the manufacture of the semiconductor device 1 is read. Then, circuit correction using the additional clock wiring CWb and the additional supply element 30 is performed on the reticle netlist M4 (step S12). The corrected layout netlist M5 is generated by the circuit correction in step S12.
  • step S13 to S16 layout and back annotation processing (steps S13 to S16) is performed based on the corrected layout netlist to generate a corrected reticle netlist M6.
  • steps S13 to S16 correspond to steps S8 to S11 described with reference to FIG.
  • the semiconductor device 1a shown in FIG. 3 is manufactured based on the corrected reticle netlist.
  • step S12 circuit correction using the additional supply element 30 and the additional clock wiring CWb is performed in step S12.
  • the process of step S12 is performed using the design support apparatus 200.
  • a block diagram of the design support apparatus 200 is shown in FIG. Note that the design support apparatus 200 may be a computer or the like mounted with a design support program for executing the process of step S12, or may be a dedicated apparatus that performs the process of step S12.
  • a design support program for executing the process of step S12 is installed on a computer or the like will be described as an example of the design support apparatus 200.
  • the design support apparatus 200 includes an arithmetic device (for example, CPU: Central Processing Unit) 40, an input device 41, a display device 42, a program memory 70, and a database memory 80.
  • the arithmetic device 40 performs processing according to the program based on various programs read from the program memory 70 and various information read from the database memory 80, and stores information generated by the processing in the database memory 80.
  • the arithmetic device 40 is connected to the program memory 70 and the database memory 80 via bus wiring.
  • the input device 41 gives an operation instruction to the arithmetic device 40.
  • the display device 42 displays an interface screen of a program executed in the arithmetic device 40.
  • the program memory 70 includes a flip-flop circuit that operates based on a clock signal included in a first netlist (for example, reticle netlist M4) generated after layout completion, a clock wiring that transmits the clock signal, and an additional clock.
  • a design support program for connecting an additional supply element 30 that is connected via wiring and not connected to the flip-flop circuit is stored.
  • the design support program includes a correction target element search unit 71, a clock supply source analysis unit 72, an addition destination determination unit 73, and a circuit correction unit 74. In the design support program, these four portions may be implemented as one program, or may be implemented as individual programs.
  • the database memory 80 stores a reticle netlist 81, a corrected layout netlist 82, correction target element analysis information 83, and clock supply source analysis information 84.
  • the reticle netlist 81 is generated according to the design flow described with reference to FIG.
  • the corrected layout netlist is a netlist that is finally output by the design support apparatus 200, and is the basis of the semiconductor device after the circuit correction.
  • the correction target element analysis information 83 is information generated by the correction target element search unit 71.
  • the clock supply source analysis information 84 is information generated by the clock supply source analysis unit 72.
  • the reticle net list 81 is referred to as a first net list depending on the case.
  • the corrected layout netlist 82 is referred to as a second netlist according to circumstances.
  • the correction target element search unit 71 reads the reticle netlist 81 from the database memory 80. Then, the correction target element search unit 71 searches for flip-flop circuits located at both ends of the addition target node to be corrected (hereinafter, this flip-flop circuit is referred to as a correction target element), and the position of the searched flip-prop circuit. Is stored in the database memory 80.
  • the clock supplier analysis unit 72 reads the first netlist (for example, the reticle netlist 81) and the correction target element analysis information 83 from the database memory 80. Then, the clock source analysis unit 72 analyzes the number of branch stages of the clock wiring connected to the correction target element, and stores the clock source analysis information 84 indicating the analyzed number of branch stages in the database memory 80.
  • the first netlist for example, the reticle netlist 81
  • the correction target element analysis information 83 from the database memory 80. Then, the clock source analysis unit 72 analyzes the number of branch stages of the clock wiring connected to the correction target element, and stores the clock source analysis information 84 indicating the analyzed number of branch stages in the database memory 80.
  • the addition destination determination unit 73 reads the clock supply source analysis information 84 from the database memory 80, and the additional supply element connected to the clock wiring having the number of branch stages that matches or approximates the clock wiring that supplies the clock signal to the correction target element And the searched additional supply element is determined as an additional supply element to be added.
  • the circuit correction unit 74 generates a second netlist (for example, a corrected layout netlist) in which the additional supply element determined by the addition destination determination unit 73 is connected to the flip-flop circuit, and the second netlist is generated. Is stored in the memory.
  • a second netlist for example, a corrected layout netlist
  • the correction target element search unit 71 is executed in the arithmetic device 40.
  • the correction target element search unit 71 reads the reticle netlist 81.
  • the correction target element search unit 71 is a flip-flop circuit disposed at both ends of an element addition node for inserting an additional supply element based on the circuit information described in the reticle netlist 81 (this flip-flop circuit is used as the correction target element). Is specified) (step S31). That is, the correction target element includes at least two flip-flop circuits.
  • the correction target element search unit 71 outputs correction target element analysis information 83 including information on the specified correction target element.
  • the design support apparatus 200 executes the clock supply source analysis unit 72.
  • the clock supply source analysis unit 72 analyzes the number of branch stages of the clock wiring that supplies the clock signal to the correction target element based on the correction target element analysis information 83 and the reticle netlist 81 (step S32).
  • step S32 for example, when the correction target element includes two flip-flop circuits, the number of branch stages of the clock wiring that supplies the clock signal to one flip-flop circuit, and the clock signal to the other flip-flop circuit Analyze the number of branches of the clock wiring to be supplied.
  • the clock supply source analysis unit 72 generates clock supply source analysis information 84 including information on the number of branch stages of the clock wiring that supplies the clock signal to the correction target element obtained by the analysis.
  • the design support apparatus 200 executes the addition destination determination unit 73.
  • the addition destination determination unit 73 first reads the clock supply source analysis information 84. Then, it is determined whether or not the number of branch stages of the clock wiring that supplies the clock signal to the plurality of flip-flop circuits included in the correction target element is the same in the plurality of flip-flop circuits (step S33). If it is determined in step S33 that the clock signal is supplied from the clock wiring having the same branch stage number to the plurality of flip-flop circuits included in the correction target element (YES branch in step S33), the correction target element The clock line to be connected and the first selected clock line are set (step S34).
  • step S35 it is determined whether or not there is an additional clock wiring in the first clock wiring (step S35). If there is an additional clock wiring in the first clock wiring in step S35 (YES branch of step S35), an additional supply element connected to the additional clock wiring provided in the first selected clock wiring is added as an element. decide.
  • the circuit correction unit 74 includes a second netlist (for example, corrected) including connection information between the additional supply element determined as the addition target and the existing flip-flop circuit. A layout netlist 82) is generated (step S36).
  • step S33 when it is determined in step S33 that a clock signal is supplied from a clock wiring having a different number of branch stages to a plurality of flip-flop circuits included in the correction target element (NO branch in step S33), and in step S35, If there is no additional clock wiring in the one clock wiring (NO branch of step S35), the clock wiring considered to be optimal next to the first selected clock wiring selected in step S34 is searched (step S37).
  • the addition destination determination unit 73 sequentially searches for a clock wiring having the number of branch stages close to the number of branch stages of the clock wiring that supplies the clock signal to the correction target element, and detects the clock wiring having the additional clock wiring. To do.
  • the addition destination determination unit 73 selects the detected clock wiring as the second selected clock wiring. Then, the addition destination determination unit 73 determines the additional supply element that is closest to the correction target element among the additional supply elements connected to the second selected clock wiring as an additional supply element. That is, the addition destination determination unit 73 preferentially selects the additional supply element connected to the clock wiring having the number of branch stages close to the clock wiring that supplies the clock signal to the correction target element as the addition destination.
  • the circuit correction unit 74 generates a second netlist (for example, a corrected layout netlist 82) to which the connection information between the additional supply element determined based on the determination of the addition destination determination unit 73 and the correction target element is added. (Step S38).
  • FIG. 10 shows an example of a block diagram of the semiconductor device 1b in which an additional supply element has been determined through the processing of steps S33 to S36.
  • the flip-flop circuits FFa and FFb included in the logic circuit 20 are supplied with the clock signal from the clock wiring CW1 having the same number of branch stages, and the additional supply element 30 is connected to the clock wiring CW1. If it is, the flip-flop circuit FFc included in the additional supply element 30 is inserted between the existing flip-flop circuits FFa and FFb.
  • FIG. 11 shows an example of a block diagram of the semiconductor device 1c in which additional supply elements are determined through the processes of steps S33 to S38.
  • the flip-flop circuits FFa and FFb included in the logic circuit 20 are supplied with clock signals from the clock lines CW1 and CW3 having different branch stages, respectively, and the clock lines CW1 and CW3.
  • the additional supply element 30 is not connected to the clock line CW1, the clock line CW1 and the clock line CW3 are searched for different clock lines.
  • the flip-flop circuit FFc included in the additional supply element 30 connected to the clock wiring CW2 is replaced with the existing flip-flop circuit FFa. , FFb.
  • the design support apparatus 200 when the circuit correction using the additional supply element 30 is performed, the determination of the additional supply element after specifying the correction target element can be performed by calculation. . This eliminates the need for the designer to search for additional supply elements to be used, thereby shortening the design period.
  • additional supply elements used for circuit correction are sequentially selected from those connected to a clock wiring having the number of branch stages close to the clock wiring for supplying a clock signal to the correction target element. Therefore, it is possible to reduce the possibility that the circuit operation becomes unstable compared to the additional supply element used for circuit correction.
  • the present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit of the present invention.
  • how to use the additional supply element 30 in circuit correction can be selected by a designer.
  • the designer may select from a plurality of selection candidates.
  • the circuit correction methods described in the first to third embodiments can also be provided as a program that is executed by a computer.
  • This program can be provided by being recorded on a recording medium, or can be provided by being transmitted via the Internet or other communication media.
  • the storage medium includes, for example, a flexible disk, a hard disk, a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD, a ROM cartridge, a battery-backed RAM memory cartridge, a flash memory cartridge, and a nonvolatile RAM cartridge.
  • the communication medium includes a wired communication medium such as a telephone line, a wireless communication medium such as a microwave line, and the like.
  • the present invention relates to a semiconductor device, a circuit correction method, a design support apparatus, and a design support program, and in particular, a semiconductor device having a clock wiring for distributing a clock signal to a trigger signal driving element, a circuit correction method for a semiconductor device, a design support apparatus, and It can be used for design support programs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

 従来の半導体装置は、回路修正に伴う後戻り工程に膨大な時間が必要になる問題があった。本発明にかかる半導体装置は、トリガ信号に同期して動作する複数のトリガ信号駆動素子(FFa、FFb)と、トリガ信号を複数のトリガ信号駆動素子に分配するトリガ配線(CW0~CW3)と、トリガ配線(CW0~CW3)から分岐して設けられる追加トリガ配線(CWb)と、追加トリガ配線(CWb)を介してトリガ信号が供給され、複数のトリガ信号駆動素子から分離して設けられる追加供給素子(30)と、を有する。

Description

半導体装置、回路修正方法、設計支援装置及び設計支援プログラムが格納された記録媒体
 本発明は、半導体装置、回路修正方法、設計支援装置及び設計支援プログラムに関し、特にトリガ信号駆動素子にクロック信号を分配するクロック配線を有する半導体装置と、半導体装置の回路修正方法、設計支援装置及び設計支援プログラムに関する。
 半導体装置の設計においては、回路の不具合や改良のために、機能上又は性能上の回路修正が発生する場合がある。これらの回路修正が設計前期に発生する場合は特に問題はないが、半導体装置の設計が進んだ段階(例えば、レイアウト設計が完了した段階)で回路修正が発生すると修正のために設計工程に大きな戻り工程が発生する。すなわち、レイアウトが完了した回路に対して修正を行う場合、既存のレイアウトを維持したままでは不具合を改善できず、再レイアウトを必要とすることが多い。そこで、特許文献1において、設計の後戻り工程にかかる時間を削減する設計手法の例が開示されている。
 特許文献1では、予め回路に切れ目を入れて分割しておき、分割単位で回路修正を行う。これにより、修正が必要のない分割単位を現在の設計情報(例えばレイアウト情報)を維持したまま、回路修正が必要になった分割単位に対してのみ修正処理を行うことができる。つまり、特許文献1では再レイアウトを行う領域を最小限とすることで戻り工程にかかる時間を削減する。
 また、近年の半導体装置では、クロック信号に応じて駆動されるフリップフロップ等を用いた論理回路が多く用いられている。半導体装置では、クロック信号を伝達するクロック配線の寄生容量により、複数のフリップフロップ間でクロック信号の到達時間に誤差が生じる。そこで、論理回路の設計では、クロック信号の到着時刻の遅延量や、互いに接続されるトリガ信号駆動素子間のトリガ信号の到着時刻差を事前に見積もり、クロック信号の伝搬遅延に起因する不具合を回避するタイミング設計が行われる。このタイミング設計によって、論理回路では、トリガ信号の伝搬遅延に起因する不具合を回避している。なお、クロック信号は、広くはトリガ信号に含まれ、トリガ信号はクロック信号以外にも、セット信号、リセット信号、非同期通信におけるリクエスト信号、アクノリッジ信号等が含まれる。また、フリップフロップは、広くはトリガ信号駆動素子に含まれ、トリガ信号駆動素子には、フリップフロップ以外にもラッチ、メモリ等が含まれる。さらに、タイミング設計は、複数のフリップフロップの間で送受信されるデータ信号についても行われる。
 このような論理回路を用いた半導体装置では、レイアウト終了後にフリップフロップを追加すると、クロック信号のタイミング設計を再度行う必要がなる。これは、追加したフリップフロップ(例えば、追加フリップフロップ)及び追加フリップフロップにクロック信号を供給する追加クロック配線を既存のクロック配線に追加することで、既存のクロック配線の寄生容量が変化し、この変化に伴いクロック信号の遅延量が変化するためである。そこで、特許文献2では、既存のクロック配線の寄生容量の変化をクロック配線の調整のみにより対応し、後戻り作業を極力削減する方法が記載されている。
特開平11-250121号公報 特開平8-50604号公報
 上述したように、レイアウト又はクロック配線の設計が完了した後に、フリップフロップ等を追加場合、追加のタイミング設計及びレイアウトのやり直しのための戻り工程が発生する。この戻り工程にかかる時間は非常に膨大であり、設計期間が大幅に増大する問題が発生する。しかし、特許文献1、2に記載の設計手法ではこの設計期間の増大する問題に対処することができない。
 より具体的には、特許文献1に記載の設計手法であっても、フリップフロップを追加した場合、該当分割単位に対してタイミング設計及びレイアウトのやり直しを行わなければならないためである。戻り工程においてチップの一部のみを修正する場合であってもこの戻り工程は、多くの時間を必要とする。そのため、特許文献1に記載の設計手法では、戻り工程の時間を十分に削減できない問題がある。
 また、特許文献2に記載の設計手法を用いてフリップフロップを追加した場合、クロック配線の調整だけでは追加フリップフロップに対するクロック信号の到達時刻を適切に設定することができず、不具合を十分に解決できない問題がある。このような問題が発生した場合、特許文献2においても、適切なタイミング設計及びレイアウトのために初期段階から設計をやり直す必要があり、戻り工程に多くの時間を必要とする。つまり、特許文献2に記載の設計手法においても、戻り工程の時間を十分に削減できない問題がある。
 本発明にかかる半導体装置の一態様は、トリガ信号に基づき動作する複数のトリガ信号駆動素子と、前記トリガ信号を前記複数のトリガ信号駆動素子に分配するトリガ配線と、前記クロック配線から分岐して設けられる追加トリガ配線と、前記追加トリガ配線を介して前記クロック信号が供給され、前記複数のトリガ信号駆動素子から分離して設けられる追加供給素子と、を有する。
 本発明にかかる半導体装置の回路修正方法は、トリガ信号を伝達するトリガ配線と、前記トリガ信号に基づき動作する複数のトリガ信号駆動素子と、を有する半導体装置の回路修正方法であって、前記トリガ配線に追加トリガ配線を介して接続され、かつ、前記複数のトリガ駆動素子のいずれとも接続されない追加供給素子を予め設け、前記複数のトリガ信号駆動素子のうち修正対象とする修正対象素子を検索し、前記修正対象素子と前記追加供給素子とを接続する。
 本発明にかかる設計支援装置の一態様は、半導体装置の設計工程において、トリガ信号駆動素子にトリガ信号を分配するトリガ配線に追加供給素子及び前記追加供給素子と前記トリガ配線とを接続する追加トリガ配線を配置する設計支援装置であって、前記追加供給素子の個数と、前記追加供給素子の制約条件と、に基づき前記制約条件毎の前記追加供給素子の個数を示す追加供給素子統計情報を生成する追加供給素子条件設定部と、複数の前記トリガ駆動素子を含む回路の接続情報を記述した第1のネットリストから前記トリガ配線の情報を抽出し、抽出した前記トリガ配線の分岐段数に基づき前記追加供給素子統計情報に含まれる前記追加供給素子を配置する位置を決定し、前記追加供給素子の位置情報を記述した分岐位置情報を出力する分岐位置決定部と、前記分岐位置情報に基づき前記第1のネットリストに前記追加供給素子及び前記追加トリガ配線の接続情報を追加して第2のネットリストを生成するトリガ配線修正部と、を有する。
 本発明にかかる設計支援装置の一態様は、レイアウト完了後に生成される第1のネットリストに含まれるトリガ信号に基づき動作するトリガ信号駆動素子と、前記トリガ信号を伝達するトリガ配線と追加トリガ配線を介して接続され、かつ、前記トリガ信号駆動素子と接続されない追加供給素子と、を接続する設計支援装置であって、前記第1のネットリストから修正対象とする素子追加ノードの両端に位置する前記トリガ信号駆動素子を検索し、検索した前記トリガ信号駆動素子を修正対象素子として登録する修正対象素子検索部と、前記修正対象素子に接続される前記トリガ配線の分岐段数を解析し、解析した分岐段数を示すクロック供給元解析情報を出力するクロック供給元解析部と、前記クロック供給元解析情報に基づき前記修正対象素子に前記トリガ信号を供給する前記トリガ配線と一致する又は近似する前記分岐段数を有するトリガ配線に接続された前記追加供給素子を検索し、検索した前記追加供給素子を追加対象の追加供給素子として決定する追加先決定部と、前記追加先決定部において決定された前記追加供給素子と前記トリガ信号駆動素子とを接続した第2のネットリストを生成する回路修正部と、を有する。
 本発明にかかる設計支援プログラムの一態様は、演算装置で実行され、半導体装置の設計工程において、トリガ信号駆動素子にトリガ信号を分配するトリガ配線に追加供給素子及び前記追加供給素子と前記トリガ配線とを接続する追加トリガ配線を配置する設計支援装置プログラムであって、メモリから前記追加供給素子の個数を示す追加供給素子個数情報と、前記追加供給素子の制約条件を示す追加供給素子制約情報と、を読み出して前記制約条件毎の前記追加供給素子の個数を示す追加供給素子統計情報を前記メモリに格納する追加供給素子条件設定部と、複数の前記トリガ駆動素子を含む回路の接続情報を記述した第1のネットリストを前記メモリから読み出して前記第1のネットリストから前記トリガ配線の情報を抽出し、抽出した前記トリガ配線の分岐段数に基づき前記追加供給素子統計情報に含まれる前記追加供給素子を配置する位置を決定し、前記追加供給素子の位置情報を記述した分岐位置情報を前記メモリに格納する分岐位置決定部と、前記メモリから読み出した前記分岐位置情報に基づき前記第1のネットリストに前記追加供給素子及び前記追加トリガ配線の接続情報を追加して第2のネットリストを生成し、前記メモリに第2のネットリストを格納するトリガ配線修正部と、を有する。
 本発明にかかる設計支援プログラムの一態様は、演算装置で実行され、レイアウト完了後に生成される第1のネットリストに含まれるトリガ信号に基づき動作するトリガ信号駆動素子と、前記トリガ信号を伝達するトリガ配線と追加トリガ配線を介して接続され、かつ、前記トリガ信号駆動素子と接続されない追加供給素子と、を接続する設計支援プログラムであって、メモリから前記第1のネットリストを読み出し、前記第1のネットリストから修正対象とする素子追加ノードの両端に位置する前記トリガ信号駆動素子を検索し、検索した前記トリガ信号駆動素子を示す修正対象素子解析情報を前記メモリに格納する修正対象素子検索部と、前記メモリから前記第1のネットリスト及び前記修正対象素子解析情報を読み出し、前記修正対象素子に接続される前記トリガ配線の分岐段数を解析し、解析した分岐段数を示すクロック供給元解析情報を前記メモリに格納するクロック供給元解析部と、前記メモリから前記クロック供給元解析情報を読み出し、前記修正対象素子に前記トリガ信号を供給する前記トリガ配線と一致する又は近似する前記分岐段数を有するトリガ配線に接続された前記追加供給素子を検索し、検索した前記追加供給素子を追加対象の追加供給素子として決定する追加先決定部と、前記追加先決定部が決定した前記追加供給素子と前記トリガ信号駆動素子とを接続した第2のネットリストを生成し、前記第2のネットリストを前記メモリに格納する回路修正部と、を有する。
 本発明にかかる半導体装置、回路修正方法、設計支援装置及び設計支援プログラムによれば、回路修正に伴う戻り工程の時間を短縮することができる。
実施の形態1にかかる半導体装置のブロック図である。 実施の形態1にかかる追加供給素子の回路例である。 実施の形態1にかかる追加供給素子の他の回路例である。 実施の形態1にかかる追加供給素子の他の回路例である。 図1に示す半導体装置に対して回路修正を行った半導体装置のブロック図である。 実施の形態2にかかる半導体装置の回路設計手順を示すフローチャートである。 実施の形態2にかかる半導体装置の設計支援装置のブロック図である。 実施の形態2にかかる設計支援装置の動作手順を示すフローチャートである。 実施の形態3にかかる半導体装置の回路修正手順を示すフローチャートである。 実施の形態3にかかる半導体装置の設計支援装置のブロック図である。 実施の形態3にかかる設計支援装置の動作手順を示すフローチャートである。 実施の形態3にかかる設計支援装置による回路修正が行われた半導体装置の一例を示すブロック図である。 実施の形態3にかかる設計支援装置による回路修正が行われた半導体装置の別の例を示すブロック図である。
 実施の形態1
 以下、図面を参照して本発明の実施の形態について説明する。まず、実施の形態1にかかる半導体装置1のブロック図を図1に示す。図1に示すように半導体装置1は、クロック生成回路10、論理回路20、追加供給素子30、トリガ配線CW0~CW3及び追加トリガ配線CWbを有する。を有する。また、半導体装置1では、論理回路20を複数有する。
 クロック生成回路10は、トリガ配線(例えば、クロック配線)CW0~CW3を介して論理回路20にトリガ信号(例えば、クロック信号)を分配する。論理回路20は、トリガ配線を介して供給されるトリガ信号に基づき動作する複数のトリガ信号駆動素子を有する。図1では、論理回路20の1つがフリップフロップ回路FFa、FFbを有する。ここで、本実施の形態では、トリガ信号駆動素子の一例としてフリップフロップ回路を用いる。また、トリガ信号としては、クロック信号を用い、トリガ配線をクロック配線と称す。しかし、トリガ信号駆動素子は、トリガ信号に基づき動作する回路素子であれば良く、フリップフロップ回路の他にもラッチ回路、メモリ回路などがある。また、トリガ信号には、クロック信号の他にセット信号、リセット信号、非同期通信におけるリクエスト信号、アクノリッジ信号等が含まれる。
 また、図1においては、クロック配線には符号CWの後ろに数字が付されている。この数字は、クロック配線の分岐段数を示すものであり、本実施の形態では、クロック生成回路10の出力端子に接続されるクロック配線CW0を基準とした。なお、クロック配線の分岐段数の始点は任意に設定することができる。
 また、図1においては、クロック配線の分岐点にND0~ND3を付した。分岐点は、符号NDの後ろに数字が付されているが、この数字はクロック配線の分岐段数を示すものである。本実施の形態では、クロック生成回路10の出力端子を分岐点の始点とした。なお、分岐点の段数の始点は任意に設定することができる。
 また、本実施の形態にかかる半導体装置1では、クロック配線CW0~CW3毎に制約条件(例えば、スキュー値)が設定される。つまり、クロック配線CW1は、クロック配線CW0に対して一定のスキュー値が設定される。クロック配線CW2のスキュー値は、クロック配線CW0に対して一定であって、クロック配線CW1とは異なる値で設定される。クロック配線CW3のスキュー値は、クロック配線CW0に対して一定であって、クロック配線CW1、CW2とは異なる値で設定される。
 追加供給素子30は、追加トリガ配線(例えば、追加クロック配線)を介してクロック信号が供給され、複数のフリップフロップ回路から分離して設けられる。そして、回路修正において複数のフリップフロップ回路と接続される。この追加供給素子30の例を図2A乃至Cに示す。追加トリガ配線CWbは、クロック配線から分岐して設けられる配線であって、分岐元のクロック配線と同一の制約条件(例えば、スキュー値)が設定される。また、追加供給素子30は、後の利用状態を考慮した制約条件(例えば、スキュー値)が予め設定されており、この制約条件に基づき配置される。つまり、追加供給素子30は、追加供給素子の制約条件とクロック配線CW0~CW3の制約条件が一致する場所に配置される。
 図2Aに示す例は、追加供給素子としてバッファBUFを用いたものである。バッファBUFは、入力端子が追加クロック配線CWbを介してクロック配線に接続され、出力端子は回路修正に用いられないときに開放端となる。図2Bに示す例は、追加供給素子としてバッファBUFとフリップフロップ回路FFを用いたものである。バッファBUFは、入力端子が追加クロック配線CWbを介してクロック配線に接続され、出力端子はフリップフロップ回路FFのクロック入力端子に接続される。フリップフロップ回路FFは、回路修正に用いられない状態において入力端子と出力端子が互いに接続される。図2Cに示す例は、追加供給素子としてフリップフロップ回路FFを用いたものである。フリップフロップ回路FFは、回路修正に用いられない状態において入力端子と出力端子が互いに接続され、クロック入力端子が追加クロック配線CWbを介してクロック配線に接続される。
 本実施の形態にかかる半導体装置1は、回路修正を行う場合に追加供給素子30を用いる。そこで、図1に示す半導体装置1を本実施の形にかかる回路修正方法を用いて修正した半導体装置1aのブロック図を図3に示す。図3に示すように、本実施の形にかかる回路修正方法では、論理回路20において元々利用されていたフリップフロップ回路FFa、FFbとの間に追加供給素子30に含まれるフリップフロップ回路FFcが接続される。このフリップフロップ回路FFcには、クロック配線CW1から分岐して設けられる追加クロック配線CWbと、バッファBUFを介してクロック信号が供給される。
 このように、本実施の形態にかかる半導体装置の回路修正は、クロック信号を伝達するクロック配線と、クロック信号に基づき動作する複数のフリップフロップ回路と、を有する半導体装置の回路修正方法であって、クロック配線CW0~CW3に追加クロック配線を介して接続され、かつ、複数のフリップフロップ回路のいずれとも接続されない追加供給素子30を予め設け、複数のフリップフロップ回路うち修正対象とする修正対象素子(図3に示す例では、フリップフロップ回路FFa、FFb)を検索し、フリップフロップ回路FFa、FFbと追加供給素子30とを接続するものである。
 このように、本実施の形態にかかる半導体装置では、予め追加クロック配線及び追加供給素子30を組み込んでおき、その後の回路修正においてこの追加供給素子30を用いる。このとき、半導体装置1では、追加供給素子30及び追加クロック配線CWbに起因する寄生容量を含めてクロック配線CW0~CW3のスキュー値を設計の初期段階で設定する。これにより、回路修正に伴い、クロック配線CW0~CW3からクロック信号の供給を受ける回路素子が追加され場合においても、追加供給素子を用いることでクロック配線CW0~CW3の寄生容量の値を一定に保つことができる。言い換えれば、クロック配線CW0~CW3のスキュー値は、追加供給素子を用いている限り、回路修正により変動することがない。従って、本実施の形態にかかる半導体装置では、追加供給素子30及び追加クロック配線CWbを回路修正工程で用いたとしても、再度クロック信号のスキュー値の計算(タイミング設計)を行う必要がない。つまり、本実施の形態にかかる半導体装置では、回路修正に伴う戻り工程にかかる時間を短縮することができる。
 また、一般的には、半導体装置に利用しない素子を追加することはチップ面積の増大を招くため行われない。しかし、本実施の形態にかかる追加供給素子30は、バッファ回路又はフリップフロップ回路FFa等を1つ又は2つ程度の小さな回路であり、追加供給素子30を追加してもチップ面積の増大はほとんどない。近年の微細化されたプロセスでは、このような小さなチップ面積の増大によるデメリットよりも回路修正に伴う戻り工程によるコスト及び時間の増大によるデメリットの方が大きい傾向がある。例えば、半導体装置に元々なかった回路素子を後に追加する場合、ウェハの下層(回路形成層)に対応するレチクルを修正しなければならならず、この場合全てのレチクルを製造し直す必要がある。近年の微細化された半導体素子では、全てのレチクルを製造し直すためには莫大な時間とコストが必要になる。しかし、本実施の形態にかかる半導体装置では、回路配線層に対応するレチクルのみを製造し直せば良い。そのため、本実施の形態にかかる半導体装置では、回路修正に伴うレチクル製造のコストの抑制及び時間の抑制が可能になる。つまり、近年の微細化されたプロセスでは、本発明による設計時間の短縮及びコスト抑制の効果はより顕著なものとなる。
 追加供給素子30及び追加クロック配線CWbは、設計者が任意に配置することができる。しかし、近年の半導体装置の設計では、コンピュータ等の設計支援装置を用いて、複雑な処理を自動化することが一般的である。そこで、以下の実施の形態2では、設計支援装置を用いた半導体装置1の設計手順を説明し、実施の形態3において設計支援装置を用いた回路修正方法を説明する。
 実施の形態2
 実施の形態2では、実施の形態1において説明した半導体装置1の設計手順について説明する。そこで、半導体装置1の設定手順のフローチャートを図3に示す。図3に示すように、半導体装置1の設計では、まず、回路設計が行われる(ステップS1)。この回路設計では、半導体装置1の機能及び仕様に基づき回路の設計が行われる。ステップS1の設計では、Velirog等のHDL(Hardware Description Language)を用いた設計(この設計をRTL(Register Transfer Level)設計と称す)が行われる。続いて、ステップS1で設計した回路の論理合成を行い第1の設計検証用ネットリストM1を生成する(ステップS2)。論理合成処理は、ステップS1で行った設計により作成された記述に基づき具体的な回路構成(素子間の接続を含む)を記述した第1の設計検証用ネットリストM1を生成する。
 続いて、第1の設計検証用ネットリストM1に追加クロック配線CWb及び追加供給素子30を追加し、第2の設計検証用ネットリストM2を生成する(ステップS3)。このステップS3により、半導体装置1の追加供給素子30及び追加クロック配線CWbが回路に追加されるが、ステップS3の詳細な処理手順については後述する。また、本実施の形態では、ステップS3において追加クロック配線CWb及び追加供給素子30を追加したが、追加クロック配線CWb及び追加供給素子30を追加する処理は、半導体装置1のレチクル用ネットリスト(製造工程において用いられるレチクルの基準となるネットリスト)が生成される前の段階であれば、いずれの工程において行われても良い。例えば、追加供給素子30は、ステップS1の回路設計において追加することも可能であるし、後に行われるレイアウト処理後の回路に対して追加することも可能である。
 次いで、ステップS3において生成された第2の設計検証用ネットリストM2に対してCTS(Clock Tree Synthesis)バッファを挿入する(ステップS4)。CTSバッファは、クロック配線CW0~CW3に挿入されるバッファであって、クロック配線CW0~CW3のスキュー値を調節する。そして、ステップS4において挿入されたCTSバッファによるスキュー値の調節が適切に行われているかを検証する(ステップS5、S6)。この検証は、タイミング検証と1つであって、クロック信号のスキュー値に対して行われる検証を特にクロックスキュー検証と称す。
 ステップS6において、タイミング検証結果が妥当でなければ(ステップS6のNOの枝)、第2の設計検証用ネットリストを修正し(ステップS7)、再度ステップS5及びステップS6の検証作業を行う。一方、ステップS6において、タイミング検証結果が妥当なものであれば(ステップS6のYESの枝)、第2の設計検証用ネットリストにCTSバッファの情報を加えたレイアウト用ネットリストM3を生成する。
 レイアウト工程では、レイアウト用ネットリストに基づき半導体装置のレイアウトパターンを生成する(ステップS8)。このステップS8により回路配置及び回路素子間を接続する配線長及び配線幅が決定する。続いて、ステップS8のレイアウトパターンから抽出される配線の寄生抵抗及び寄生容量を加味した信号遅延検証(バックアノテーション)を行う(ステップS9)。このバックアノテーションでは主にフリップフロップ回路等のセットアップタイム及びホールドタイムが基準を満たしているかを検証する。バックアノテーションの検証結果が妥当でない場合(ステップS10のNOの枝)、レイアウト用ネットリストを修正し(ステップS11)、再度レイアウト(ステップS8)及びバックアノテーション(ステップS9)を行う。一方、バックアノテーションの検証結果が妥当であった場合(ステップS10のYESの枝)、レイアウト用ネットリストに基づきレチクル用ネットリストM4を生成する。そして、レチクル用ネットリストに基づき半導体装置1が製造される。
 上記のように、実施の形態2では、ステップS3において追加供給素子30及び追加クロック配線CWbを追加する。このとき、実施の形態2では、ステップS3の処理を設計支援装置100を用いて行う。そこで、設計支援装置100のブロック図を図5に示す。なお、設計支援装置100は、コンピュータ等にステップS3の処理を実行するための設計支援プログラムを実装したものでも良く、ステップS3の処理を行う専用の装置であっても良い。以下では、設計支援装置100の例としてコンピュータ等にステップS3の処理を実行するための設計支援プログラムを実装したもの説明する。
 図5に示すように、設計支援装置100は、演算装置(例えば、CPU:Central Processing Unit)40、入力装置41、表示装置42、プログラムメモリ50、データベースメモリ60を有する。演算装置40は、プログラムメモリ50から読み出した各種プログラム及びデータベースメモリ60から読み出した各種情報に基づきプログラムに応じた処理を行うと共に、処理により生成された情報をデータベースメモリ60に格納する。演算装置40は、プログラムメモリ50及びデータベースメモリ60とバス配線を介して接続される。入力装置41は、演算装置40に動作の指示を与えるものである。表示装置42は、演算装置40において実行されるプログラムのインタフェース画面を表示するものである。
 プログラムメモリ50には、半導体装置の設計工程(例えば、上記ステップS3)において、フリップフロップ回路にクロック信号を分配するクロック配線に追加供給素子30及び追加供給素子30とクロック配線とを接続する追加クロック配線を配置する設計支援プログラムが格納される。設計支援プログラムは、追加供給素子条件設定部51、分岐位置決定部52、トリガ配線修正部53を有する。設計支援プログラムは、これら3つの部分が1つのプログラムとして実装されていても良く、個別のプログラムとして実装されていても構わない。
 また、データベースメモリ60には、追加供給素子個数情報61、追加供給素子制約情報62、追加供給素子統計情報63、分岐位置情報64、第1の設計検証用ネットリスト65、第2の設計検証用ネットリスト66が格納される。追加供給素子個数情報61、及び、追加供給素子制約情報62は、入力装置41及び演算装置40を介して設計者が入力する情報である。追加供給素子統計情報63は、追加供給素子条件設定部51が生成する情報である。分岐位置情報64は、分岐位置決定部52が生成する情報である。第1の設計検証用ネットリスト65は、図4のステップS2において生成されるネットリストであって、設計支援装置100及び設計支援装置100で実行される設計支援プログラムの説明では場合に応じて第1のネットストと称す。第2の設計検証用ネットリスト66は、トリガ配線修正部53が生成するネットリストであって、設計支援装置100及び設計支援装置100で実行される設計支援プログラムの説明では場合に応じて第2のネットリストと称す。
 追加供給素子条件設定部51は、データベースメモリ60から追加供給素子の個数を示す追加供給素子個数情報61と、追加供給素子の制約条件を示す追加供給素子制約情報62と、を読み出して制約条件毎の追加供給素子の個数を示す追加供給素子統計情報63を生成する。この追加供給素子統計情報63はメモリに格納される。
 分岐位置決定部52は、複数のフリップフロップ回路を含む回路の接続情報を記述した第1のネットリスト(例えば、第1の設計検証用ネットリスト65)をデータベースメモリ60から読み出して第1の設計検証用ネットリスト65からクロック配線の情報を抽出する。そして、分岐位置決定部52は、抽出したクロック配線の分岐段数に基づき追加供給素子統計情報に含まれる追加供給素子を配置する位置を決定する。より具体的には、分岐位置決定部52は、統計情報に含まれる制約条件を満たすクロック配線の分岐段数を検索し、検索された分岐段数に該当するクロック配線の位置を追加供給素子及び追加トリガ配線として決定する。その後、分岐位置決定部52は、追加供給素子30の位置情報を記述した分岐位置情報64をデータベースメモリに格納する。本実施の形態では、クロック配線は分岐段数毎に制約条件が設定される。そこで、分岐位置決定部52は、クロック配線に設定された制約条件と追加供給素子30に設定された制約条件との整合性に基づき追加供給素子30を追加する位置を決定する。この決定処理の詳細は後述する。
 トリガ配線修正部51は、データベースメモリ60から読み出した分岐位置情報64に基づき第1の設計検証用ネットリスト65に追加供給素子30及び追加クロック配線CWbの接続情報を追加して第2のネットリスト(例えば、第2の設計検証用ネットリスト66)を生成する。そしてトリガ配線修正部51は第2の設計検証用ネットリストをデータベースメモリ60に格納する。
 続いて、設計支援装置100による処理手順について説明する。設計支援装置100による処理手順のフローチャートを図6に示す。設計支援装置100では、まず、演算装置40において追加供給素子条件設定部51が実行される。追加供給素子条件設定部51は、追加供給素子個数情報61と追加供給素子制約情報62とを読み込み追加供給素子統計情報63を生成する(ステップS21)。追加供給素子統計情報63には、制約条件(例えば、スキュー値)が100psの追加供給素子30が30個、スキュー値が50psの追加供給素子が100個などの情報を含む。つまり、追加供給素子統計情報63には、同一の制約条件を有する追加供給素子の統計情報が含まれる。
 続いて、設計支援装置100では、演算装置40において分岐位置決定部52を実行する。分岐位置決定部52は、まず、追加供給素子統計情報63及び第1の設計検証用ネットリスト65を読み込む。そして、分岐位置決定部52は、第1の設計検証用ネットリスト65から既存のクロック配線の分岐段数を解析する(ステップS22)。より具体的には、本実施の形態の例では、クロック配線CW0を基準として、計算対象のクロック配線がクロック配線CW0から何段の分岐点NDを経由しているかを計算する。
 次いで、分岐位置決定部52は、追加供給素子の分布を決定する(ステップS23)。具体的には、追加供給素子統計情報63に含まれる情報に基づき、分岐段数毎にクロック配線に設定された制約条件により許容できる制約条件を有する追加供給素子を当該クロック配線に分配する。ここで、分配方法の一例を以下において説明する。
 まず、追加供給素子の制約条件には、最大クロックスキュー値Skew_maxと最小クロックスキュー値Skew_minが含まれる。そこで、係数δを式(1)により定める。
δ=(Skew_max-Skew_min) ・・・(1)
また、式(2)において係数θを求める。なお、式(2)においてBRCHは、クロック配線の分岐段数のうち最も大きな値(つまり、クロック配線の総分岐段数)である。
θ=δ/BRCH ・・・(2)
 そして、追加供給素子を追加供給素子の制約条件に応じて式(31)~(3n)を用いて分類する。なお、式(31)~(3n)においてnはクロック配線の分岐段数を示す整数である。また、λはクロック配線に設定されたスキュー値であって、クロック配線の段数毎に異なる値となる(例えば、n段の分岐数を有するクロック配線のクロックスキュー値はλnで表される)。
Skew_min≦λ1≦Skew_min+θ ・・・(31)
Skew_min≦λ2≦Skew_min+2θ ・・・(32)
Skew_min≦λ3≦Skew_min+3θ ・・・(33)
・・・・・
Skew_min≦λn≦Skew_min+nθ ・・・(3n)
 上記式(1)~(3)を用いて、例えば、最大クロックスキュー値Skew_maxとして100ps、最小クロックスキュー値Skew_minとして40psが設定される追加供給素子30を3段の分岐段数を有するクロック配線に供給する場合について説明する。この場合、δ=60psとなり、かつ、θ=20psとなる。このとき、λ1~λ3が、それぞれ30ps、60ps、90psと設定されていた場合、式(32)が最も少ない段数であって、かつ、式で表される条件を満たすものとなる。そこで、2段の分岐段数を有するクロック配線CW2がこの追加供給素子の分岐先として決定される。
 そして、分岐位置決定部52は、ステップS23の処理により決定された追加クロック配線CWbの位置及び追加供給素子の情報を分岐位置情報64として出力する(ステップS24)。続いて、トリガ配線修正部53は、分岐位置情報64に基づき第1の設計検証用ネットリスト65に追加供給素子30と追加クロック配線CWbの素子情報及び接続情報を追加して第2の設計検証用ネットリスト66を生成する(ステップS25)。
 上記説明より、実施の形態2にかかる設計支援装置100では、追加したい追加供給素子30の制約条件を追加供給素子毎に入力することで、複数の追加供給素子とクロック配線とを適切(制約条件を満たす状態)に挿入することができる。この設計支援装置100は、追加する追加供給素子の個数が増加するほどに設計時間を短縮することができる。つまり、設計者が自ら追加するクロック配線を探し、そこに追加供給素子を設ける場合、追加対象とするクロック配線が膨大になるとその探索に時間がかかる。一方、本実施の形態にかかる設計支援装置100では、追加したい追加供給素子30の制約条件を追加供給素子毎に入力ことで、追加供給素子の制約条件を満たす制約条件を有するクロック配線を計算により瞬時に判断し、該当クロック配線に追加供給素子を自動で設けることができる。つまり、設計支援装置100を用いることで、追加供給素子の挿入処理にかかる時間(図4のステップS3にかかる時間)を短縮することが可能になる。
 実施の形態3
 実施の形態3では、実施の形態1において説明した半導体装置1の回路修正手順について説明する。そこで、半導体装置1の回路修正手順のフローチャートを図7に示す。図7に示すように、半導体装置1の回路修正では、まず、半導体装置1の製造において用いられたレチクル用ネットリストM4が読み込まれる。そして、レチクル用ネットリストM4に対して追加クロック配線CWb及び追加供給素子30を用いた回路修正が行われる(ステップS12)。ステップS12の回路修正により修正済みレイアウト用ネットリストM5が生成される。
 そして、回路修正工程では、修正済みレイアウト用ネットリストに基づきレイアウト及びバックアノテーション処理(ステップS13~S16の処理)が行われ、修正済みレチクル用ネットリストM6が生成される。ステップS13~S16の処理は、それぞれ図4において説明したステップS8~S11の処理に対応するものである。回路修正工程を経て、修正済みレチクル用ネットリストに基づき、例えば、図3において示した半導体装置1aが製造される。
 上記のように、実施の形態3では、ステップS12において追加供給素子30及び追加クロック配線CWbを用いた回路修正を行う。このとき、実施の形態3では、ステップS12の処理を設計支援装置200を用いて行う。そこで、設計支援装置200のブロック図を図8に示す。なお、設計支援装置200は、コンピュータ等にステップS12の処理を実行するための設計支援プログラムを実装したものでも良く、ステップS12の処理を行う専用の装置であっても良い。以下では、設計支援装置200の例としてコンピュータ等にステップS12の処理を実行するための設計支援プログラムを実装したもの説明する。
 図8に示すように、設計支援装置200は、演算装置(例えば、CPU:Central Processing Unit)40、入力装置41、表示装置42、プログラムメモリ70、データベースメモリ80を有する。演算装置40は、プログラムメモリ70から読み出した各種プログラム及びデータベースメモリ80から読み出した各種情報に基づきプログラムに応じた処理を行うと共に、処理により生成された情報をデータベースメモリ80に格納する。演算装置40は、プログラムメモリ70及びデータベースメモリ80とバス配線を介して接続される。入力装置41は、演算装置40に動作の指示を与えるものである。表示装置42は、演算装置40において実行されるプログラムのインタフェース画面を表示するものである。
 プログラムメモリ70には、レイアウト完了後に生成される第1のネットリスト(例えば、レチクル用ネットリストM4)に含まれるクロック信号に基づき動作するフリップフロップ回路と、クロック信号を伝達するクロック配線と追加クロック配線を介して接続され、かつ、フリップフロップ回路と接続されない追加供給素子30と、を接続する設計支援プログラムが格納される。設計支援プログラムは、修正対象素子検索部71、クロック供給元解析部72、追加先決定部73、回路修正部74を有する。設計支援プログラムは、これら4つの部分が1つのプログラムとして実装されていても良く、個別のプログラムとして実装されていても構わない。
 また、データベースメモリ80には、レチクル用ネットリスト81、修正済みレイアウト用ネットリスト82、修正対象素子解析情報83、クロック供給元解析情報84が格納される。レチクル用ネットリスト81は、図4において説明した設計フローに従って生成されるものである。修正済みレイアウト用ネットリストは、設計支援装置200が最終的に出力するネットリストであって、回路修正後の半導体装置の基礎となるものである。修正対象素子解析情報83は、修正対象素子検索部71が生成する情報である。クロック供給元解析情報84は、クロック供給元解析部72が生成する情報である。なお、設計支援装置200及び設計支援装置200で実行される設計支援プログラムの説明では場合に応じてレチクル用ネットリスト81を第1のネットストと称す。また、設計支援装置200及び設計支援装置200で実行される設計支援プログラムの説明では場合に応じて修正済みレイアウト用ネットリスト82を第2のネットリストと称す。
 修正対象素子検索部71は、データベースメモリ80からレチクル用ネットリスト81を読み出す。そして、修正対象素子検索部71は、修正対象とする追加対象ノードの両端に位置するフリップフロップ回路(以下、このフリップフロップ回路を修正対象素子と称す)を検索し、検索したフリッププロップ回路の位置を示す修正対象素子解析情報83をデータベースメモリ80に格納する。
 クロック供給元解析部72は、データベースメモリ80から第1のネットリスト(例えば、レチクル用ネットリスト81)及び修正対象素子解析情報83を読み出す。そしてクロック供給元解析部72は、修正対象素子に接続されるクロック配線の分岐段数を解析し、解析した分岐段数を示すクロック供給元解析情報84をデータベースメモリ80に格納する。
 追加先決定部73は、データベースメモリ80からクロック供給元解析情報84を読み出し、修正対象素子にクロック信号を供給するクロック配線と一致する又は近似する分岐段数を有するクロック配線に接続された追加供給素子を検索し、検索した追加供給素子を追加対象の追加供給素子として決定する。
 回路修正部74は、追加先決定部73が決定した追加供給素子とフリップフロップ回路とを接続した第2のネットリスト(例えば、修正済みレイアウト用ネットリスト)を生成し、前記第2のネットリストを前記メモリに格納する。
 続いて、設計支援装置200による処理手順について説明する。設計支援装置200による処理手順のフローチャートを図9に示す。設計支援装置200では、まず、演算装置40において修正対象素子検索部71が実行される。修正対象素子検索部71は、レチクル用ネットリスト81を読み込む。そして、修正対象素子検索部71は、レチクル用ネットリスト81に記述された回路情報に基づき追加供給素子を挿入する素子追加ノードの両端に配置されたフリップフロップ回路(このフリップフロップ回路を修正対象素子と称す)を特定する(ステップS31)。つまり、修正対象素子は、少なくとも2つのフリップフロップ回路を含む。そして、修正対象素子検索部71は、特定された修正対象素子の情報を含む修正対象素子解析情報83を出力する。
 続いて、設計支援装置200は、クロック供給元解析部72を実行する。クロック供給元解析部72は、修正対象素子解析情報83とレチクル用ネットリスト81とに基づき修正対象素子にクロック信号を供給するクロック配線の分岐段数を解析する(ステップS32)。ステップS32では、例えば、修正対象素子に2つのフリップフロップ回路が含まれている場合に、一方のフリップフロップ回路にクロック信号を供給するクロック配線の分岐段数と、他方のフリップフロップ回路にクロック信号を供給するクロック配線の分岐段数とを解析する。そして、クロック供給元解析部72は、解析によって得られた修正対象素子にクロック信号を供給するクロック配線の分岐段数情報を含むクロック供給元解析情報84を生成する。
 続いて、設計支援装置200は、追加先決定部73を実行する。追加先決定部73は、まず、クロック供給元解析情報84を読み込む。そして、修正対象素子に含まれる複数のフリップフロップ回路にクロック信号を供給するクロック配線の分岐段数が、複数のフリップフロップ回路で同じか否かを判断する(ステップS33)。このステップS33において修正対象素子に含まれる複数のフリップフロップ回路に同じ分岐段数を有するクロック配線からクロック信号が供給されていると判断された場合(ステップS33のYESの枝)、この修正対象素子に接続されるクロック配線と第1の選択クロック配線として設定する(ステップS34)。そして、第1のクロック配線に追加クロック配線があるか否かを判断する(ステップS35)。ステップS35において第1のクロック配線に追加クロック配線があった場合(ステップS35のYESの枝)、第1の選択クロック配線に設けられた追加クロック配線に接続された追加供給素子を追加する素子として決定する。そして、追加先決定部73の決定を受けて、回路修正部74は、追加対象として決定された追加供給素子と既存のフリップフロップ回路との接続情報を含む第2のネットリスト(例えば、修正済みレイアウト用ネットリスト82)を生成する(ステップS36)。
 一方、ステップS33において修正対象素子に含まれる複数のフリップフロップ回路に異なる分岐段数を有するクロック配線からクロック信号が供給されていると判断された場合(ステップS33のNOの枝)及びステップS35において第1のクロック配線に追加クロック配線がなかった場合(ステップS35のNOの枝)、ステップS34において選択される第1の選択クロック配線に次いで最適と考えられるクロック配線を検索する(ステップS37)。このステップS37の処理では、追加先決定部73は、修正対象素子にクロック信号を供給するクロック配線の分岐段数に近い分岐段数を有するクロック配線を順に検索し、追加クロック配線を有するクロック配線を検出する。そして、追加先決定部73は、検出されたクロック配線を第2の選択クロック配線として選択する。そして、追加先決定部73は、第2の選択クロック配線に接続される追加供給素子のうち修正対象素子に最も近いものを追加する追加供給素子として決定する。つまり、追加先決定部73は、修正対象素子にクロック信号を供給するクロック配線に近い分岐段数を有するクロック配線に接続された追加供給素子を優先的に追加先として選択する。回路修正部74は、追加先決定部73の決定に基づき決定された追加供給素子と修正対象素子との接続情報を追加した第2のネットリスト(例えば、修正済みレイアウト用ネットリスト82)を生成する(ステップS38)。
 ここで、上記ステップS33~S36の処理を経て追加供給素子が決定された半導体装置1bのブロック図の例を図10に示す。図10に示すように、論理回路20に含まれるフリップフロップ回路FFa、FFbが同じ分岐段数を有するクロック配線CW1からクロック信号の供給を受けており、かつ、クロック配線CW1に追加供給素子30が接続されている場合、当該追加供給素子30に含まれるフリップフロップ回路FFcを既存のフリップフロップ回路FFa、FFbの間に挿入する。
 また、上記ステップS33~S38の処理を経て追加供給素子が決定された半導体装置1cのブロック図の例を図11に示す。図11に示すように、論理回路20に含まれるフリップフロップ回路FFa、FFbが異なる分岐段数を有するクロック配線CW1、CW3からそれぞれクロック信号の供給を受けており、かつ、クロック配線CW1及びクロック配線CW3に追加供給素子30が接続されてない場合、クロック配線CW1とクロック配線CW3とは異なるクロック配線が検索される。このとき、図11に示す例では、クロック配線CW2に追加供給素子30が設けられているため、クロック配線CW2に接続される追加供給素子30に含まれるフリップフロップ回路FFcを既存のフリップフロップ回路FFa、FFbの間に挿入する。
 上記説明より、実施の形態3にかかる設計支援装置200では、追加供給素子30を用いた回路修正を行う場合に、修正対象素子を特定した後の追加供給素子の決定を計算により行うことができる。これにより、設計者は利用する追加供給素子を検索する必要がなくなるため設計期間を短縮することができる。また、設計支援装置200では、回路修正に利用する追加供給素子を修正対象素子にクロック信号を供給するクロック配線に近い分岐段数を有するクロック配線に接続されたものから順に選択する。そのため、回路修正に用いられる追加供給素子より回路動作が不安定になる可能性を低くすることができる。
 なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、追加供給素子30を回路修正においてどのように利用するかは設計者の選択により可能である。また、図9に示した回路修正手順のステップS37において、第2の選択クロック配線が複数検出された場合には、設計者が複数の選択候補の中から選択しても良い。
 また実施の形態1乃至3において説明した回路修正方法は、コンピュータに実行させるプログラムとして提供することもできる。このプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の通信媒体を介して伝送することにより提供することも可能である。また、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD-ROM、DVD、ROMカートリッジ、バッテリバックアップ付きRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれる。
 この出願は、2009年3月5日に出願された日本出願特願2009-051880を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、半導体装置、回路修正方法、設計支援装置及び設計支援プログラムに関し、特にトリガ信号駆動素子にクロック信号を分配するクロック配線を有する半導体装置と、半導体装置の回路修正方法、設計支援装置及び設計支援プログラムに利用することができる。
1、1a~1c  半導体装置
10  クロック生成回路
20  論理回路
30  追加供給素子
40  演算装置
41  入力装置
42  表示装置
50  プログラムメモリ
51  追加供給素子条件設定部
51  追加供給素子条件設定部
52  分岐位置決定部
53  トリガ配線修正部
60  データベースメモリ
61  追加供給素子個数情報
62  追加供給素子制約情報
63  追加供給素子統計情報
64  分岐位置情報
65  第1の設計検証用ネットリスト
66  第2の設計検証用ネットリスト
70  プログラムメモリ
71  修正対象素子検索部
72  クロック供給元解析部
73  追加先決定部
74  回路修正部
80  データベースメモリ
81  レチクル用ネットリスト
82  修正済みレイアウト用ネットリスト
83  修正対象素子解析情報
84  クロック供給元解析情報
100  設計支援装置
200  設計支援装置
BUF  バッファ
CW0~CW3  クロック配線
CWb  追加クロック配線
FF、FFa~FFc  フリップフロップ回路

Claims (24)

  1.  トリガ信号に同期して動作する複数のトリガ信号駆動素子と、
     前記トリガ信号を前記複数のトリガ信号駆動素子に分配するトリガ配線と、
     前記トリガ配線から分岐して設けられる追加トリガ配線と、
     前記追加トリガ配線を介して前記トリガ信号が供給され、前記複数のトリガ信号駆動素子から分離して設けられる追加供給素子と、
     を有する半導体装置。
  2.  前記追加供給素子は、出力端子が他の素子に接続されないバッファ回路である請求項1に記載の半導体装置。
  3.  前記追加供給素子は、出力端子と入力端子とがループ接続され、トリガ信号入力端子に前記追加クロック配線を介して前記クロック信号が入力されるフリップフロップ回路である請求項1に記載の半導体装置。
  4.  前記追加供給素子は、出力端子と入力端子とがループ接続されるフリップフロップ回路と、前記追加クロック配線を介して入力される前記クロック信号を前記フリップフロップ回路のトリガ信号入力端子に供給するバッファ回路と、を有する請求項1に記載の半導体装置。
  5.  トリガ信号を伝達するトリガ配線と、前記トリガ信号に基づき動作する複数のトリガ信号駆動素子と、を有する半導体装置の回路修正方法であって、
     前記トリガ配線に追加トリガ配線を介して接続され、かつ、前記複数のトリガ駆動素子のいずれとも接続されない追加供給素子を予め設け、
     前記複数のトリガ信号駆動素子のうち修正対象とする修正対象素子を検索し、
     前記修正対象素子と前記追加供給素子とを接続する
     回路修正方法。
  6.  前記追加供給素子は、予め設定された制約条件に応じて前記トリガ配線のいずれの位置に接続されるか決定される請求項5に記載の回路修正方法。
  7.  前記トリガ配線は、複数の分岐配線を有し、前記分岐配線毎に制約条件が設定される請求項5又は6に記載の回路修正方法。
  8.  前記制約条件は、トリガ信号のスキュー値である請求項5乃至7のいずれか1項に記載の回路修正方法。
  9.  この設計支援装置は、
     半導体装置の設計工程において、トリガ信号駆動素子にトリガ信号を分配するトリガ配線に追加供給素子及び前記追加供給素子と前記トリガ配線とを接続する追加トリガ配線を配置する、
     ここで、前記設計支援装置は、
     前記追加供給素子の個数と、前記追加供給素子の制約条件と、に基づき前記制約条件毎の前記追加供給素子の個数を示す追加供給素子統計情報を生成する追加供給素子条件設定手段と、
     複数の前記トリガ駆動素子を含む回路の接続情報を記述した第1のネットリストから前記トリガ配線の情報を抽出し、抽出した前記トリガ配線の分岐段数に基づき前記追加供給素子統計情報に含まれる前記追加供給素子を配置する位置を決定し、前記追加供給素子の位置情報を記述した分岐位置情報を出力する分岐位置決定手段と、
     前記分岐位置情報に基づき前記第1のネットリストに前記追加供給素子及び前記追加トリガ配線の接続情報を追加して第2のネットリストを生成するトリガ配線修正手段と、を有する。
  10.  前記分岐位置決定手段は、前記統計情報に含まれる前記制約条件を満たす前記トリガ配線の前記分岐段数を検索し、検索された前記分岐段数に該当する前記トリガ配線の位置を前記追加供給素子及び前記追加トリガ配線として決定する請求項9に記載の設計支援装置。
  11.  前記トリガ配線は、複数の分岐配線を有し、前記分岐配線毎に制約条件が設定される請求項9又は10に記載の設計支援装置。
  12.  前記制約条件は、トリガ信号のスキュー値である請求項9乃至11のいずれか1項に記載の設計支援装置。
  13.  この設計支援装置は、レイアウト完了後に生成される第1のネットリストに含まれるトリガ信号に基づき動作するトリガ信号駆動素子と、前記トリガ信号を伝達するトリガ配線と追加トリガ配線を介して接続され、かつ、前記トリガ信号駆動素子と接続されない追加供給素子と、を接続する、
     ここで、前記設計支援装置は、
     前記第1のネットリストから修正対象とする素子追加ノードの両端に位置する前記トリガ信号駆動素子を検索し、検索した前記トリガ信号駆動素子を修正対象素子として登録する修正対象素子検索手段と、
     前記修正対象素子に接続される前記トリガ配線の分岐段数を解析し、解析した分岐段数を示すクロック供給元解析情報を出力するクロック供給元解析手段と、
     前記クロック供給元解析情報に基づき前記修正対象素子に前記トリガ信号を供給する前記トリガ配線と一致する又は近似する前記分岐段数を有するトリガ配線に接続された前記追加供給素子を検索し、検索した前記追加供給素子を追加対象の追加供給素子として決定する追加先決定手段と、
     前記追加先決定手段において決定された前記追加供給素子と前記トリガ信号駆動素子とを接続した第2のネットリストを生成する回路修正手段と、を有する。
  14.  前記追加先決定手段は、前記修正対象素子に前記トリガ信号を供給する前記トリガ配線に近い前記分岐段数を有するトリガ配線に接続された前記追加供給素子を優先的に追加先として選択する請求項13に記載の設計支援装置。
  15.  前記トリガ配線は、複数の分岐配線を有し、前記分岐配線毎に制約条件が設定される請求項13又は14に記載の設計支援装置。
  16.  前記制約条件は、トリガ信号のスキュー値である請求項13乃至15のいずれか1項に記載の設計支援装置。
  17.  この記録媒体は、演算装置で実行され、半導体装置の設計工程において、トリガ信号駆動素子にトリガ信号を分配するトリガ配線に追加供給素子及び前記追加供給素子と前記トリガ配線とを接続する追加トリガ配線を配置する設計支援プログラムが格納されている、
     ここで、前記設計支援プログラムは、
     メモリから前記追加供給素子の個数を示す追加供給素子個数情報と、前記追加供給素子の制約条件を示す追加供給素子制約情報と、を読み出して前記制約条件毎の前記追加供給素子の個数を示す追加供給素子統計情報を前記メモリに格納する追加供給素子条件設定手段と、
     複数の前記トリガ駆動素子を含む回路の接続情報を記述した第1のネットリストを前記メモリから読み出して前記第1のネットリストから前記トリガ配線の情報を抽出し、抽出した前記トリガ配線の分岐段数に基づき前記追加供給素子統計情報に含まれる前記追加供給素子を配置する位置を決定し、前記追加供給素子の位置情報を記述した分岐位置情報を前記メモリに格納する分岐位置決定手段と、
     前記メモリから読み出した前記分岐位置情報に基づき前記第1のネットリストに前記追加供給素子及び前記追加トリガ配線の接続情報を追加して第2のネットリストを生成し、前記メモリに第2のネットリストを格納するトリガ配線修正手段と、を有する。
  18.  前記分岐位置決定手段は、前記統計情報に含まれる前記制約条件を満たす前記トリガ配線の前記分岐段数を検索し、検索された前記分岐段数に該当する前記トリガ配線の位置を前記追加供給素子及び前記追加トリガ配線として決定する請求項17に記載の設計支援プログラムが格納された記録媒体。
  19.  前記トリガ配線は、複数の分岐配線を有し、前記分岐配線毎に制約条件が設定される請求項17又は18に記載の設計支援プログラムが格納された記録媒体。
  20.  前記制約条件は、トリガ信号のスキュー値である請求項17乃至19のいずれか1項に記載の設計支援プログラムが格納された記録媒体。
  21.  この記録媒体は、設計支援プログラム演算装置で実行され、レイアウト完了後に生成される第1のネットリストに含まれるトリガ信号に基づき動作するトリガ信号駆動素子と、前記トリガ信号を伝達するトリガ配線と追加トリガ配線を介して接続され、かつ、前記トリガ信号駆動素子と接続されない追加供給素子と、を接続する設計支援プログラムが格納されている、
     ここで、前記設計支援プログラムは、
     メモリから前記第1のネットリストを読み出し、前記第1のネットリストから修正対象とする素子追加ノードの両端に位置する前記トリガ信号駆動素子を検索し、検索した前記トリガ信号駆動素子を示す修正対象素子解析情報を前記メモリに格納する修正対象素子検索手段と、
     前記メモリから前記第1のネットリスト及び前記修正対象素子解析情報を読み出し、前記修正対象素子に接続される前記トリガ配線の分岐段数を解析し、解析した分岐段数を示すクロック供給元解析情報を前記メモリに格納するクロック供給元解析手段と、
     前記メモリから前記クロック供給元解析情報を読み出し、前記修正対象素子に前記トリガ信号を供給する前記トリガ配線と一致する又は近似する前記分岐段数を有するトリガ配線に接続された前記追加供給素子を検索し、検索した前記追加供給素子を追加対象の追加供給素子として決定する追加先決定手段と、
     前記追加先決定手段が決定した前記追加供給素子と前記トリガ信号駆動素子とを接続した第2のネットリストを生成し、前記第2のネットリストを前記メモリに格納する回路修正手段と、を有する。
  22.  前記追加先決定手段は、前記修正対象素子に前記トリガ信号を供給する前記トリガ配線に近い前記分岐段数を有するトリガ配線に接続された前記追加供給素子を優先的に追加先として選択する請求項21に記載の設計支援プログラムが格納された記録媒体。
  23.  前記トリガ配線は、複数の分岐配線を有し、前記分岐配線毎に制約条件が設定される請求項21又は22に記載の設計支援プログラムが格納された記録媒体。
  24.  前記制約条件は、トリガ信号のスキュー値である請求項21乃至23のいずれか1項に記載の設計支援プログラムが格納された記録媒体。
PCT/JP2010/000794 2009-03-05 2010-02-09 半導体装置、回路修正方法、設計支援装置及び設計支援プログラムが格納された記録媒体 WO2010100830A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/203,197 US20120013373A1 (en) 2009-03-05 2010-02-09 Semiconductor device, circuit correction method, design support device, and recording medium storing design support program
JP2011502611A JPWO2010100830A1 (ja) 2009-03-05 2010-02-09 半導体装置、回路修正方法、設計支援装置及び設計支援プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-051880 2009-03-05
JP2009051880 2009-03-05

Publications (1)

Publication Number Publication Date
WO2010100830A1 true WO2010100830A1 (ja) 2010-09-10

Family

ID=42709403

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/000794 WO2010100830A1 (ja) 2009-03-05 2010-02-09 半導体装置、回路修正方法、設計支援装置及び設計支援プログラムが格納された記録媒体

Country Status (3)

Country Link
US (1) US20120013373A1 (ja)
JP (1) JPWO2010100830A1 (ja)
WO (1) WO2010100830A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684642B2 (en) * 2018-03-20 2020-06-16 International Business Machines Corporation Adaptive clock mesh wiring

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131747A (ja) * 1997-07-10 1999-02-02 Toshiba Corp 半導体集積回路のクロック設計装置及び半導体集積回路の設計方法ならびに半導体集積回路のクロック供給回路網
JP2001308186A (ja) * 2000-04-24 2001-11-02 Nec Microsystems Ltd フリップフロップ追加修正が可能なレイアウト方法およびレイアウトプログラムを記録した記録媒体
JP2002329784A (ja) * 2001-05-07 2002-11-15 Matsushita Electric Ind Co Ltd 半導体回路
JP2005116793A (ja) * 2003-10-08 2005-04-28 Toshiba Corp 半導体集積回路及びそのクロック配線方法
JP2006128635A (ja) * 2004-09-30 2006-05-18 Matsushita Electric Ind Co Ltd 半導体集積回路
JP2006518095A (ja) * 2002-10-25 2006-08-03 アトメル・コーポレイション 製造された集積回路の設計ミスを修正するための予備のセル構造
JP2007311485A (ja) * 2006-05-17 2007-11-29 Matsushita Electric Ind Co Ltd 標準セル

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022816A (ja) * 1999-07-12 2001-01-26 Matsushita Electric Ind Co Ltd 半導体集積回路装置のレイアウト方法
US6910195B2 (en) * 2003-02-05 2005-06-21 Intel Corporation Flip-flop insertion in a circuit design
US7363606B1 (en) * 2005-08-23 2008-04-22 Sun Microsystems, Inc. Flip-flop insertion method for global interconnect pipelining
US7546568B2 (en) * 2005-12-19 2009-06-09 Lsi Corporation Automation of tie cell insertion, optimization and replacement by scan flip-flops to increase fault coverage
US8164345B2 (en) * 2008-05-16 2012-04-24 Rutgers, The State University Of New Jersey Spectral and information theoretic method of test point, partial-scan, and full-scan flip-flop insertion to improve integrated circuit testability

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131747A (ja) * 1997-07-10 1999-02-02 Toshiba Corp 半導体集積回路のクロック設計装置及び半導体集積回路の設計方法ならびに半導体集積回路のクロック供給回路網
JP2001308186A (ja) * 2000-04-24 2001-11-02 Nec Microsystems Ltd フリップフロップ追加修正が可能なレイアウト方法およびレイアウトプログラムを記録した記録媒体
JP2002329784A (ja) * 2001-05-07 2002-11-15 Matsushita Electric Ind Co Ltd 半導体回路
JP2006518095A (ja) * 2002-10-25 2006-08-03 アトメル・コーポレイション 製造された集積回路の設計ミスを修正するための予備のセル構造
JP2005116793A (ja) * 2003-10-08 2005-04-28 Toshiba Corp 半導体集積回路及びそのクロック配線方法
JP2006128635A (ja) * 2004-09-30 2006-05-18 Matsushita Electric Ind Co Ltd 半導体集積回路
JP2007311485A (ja) * 2006-05-17 2007-11-29 Matsushita Electric Ind Co Ltd 標準セル

Also Published As

Publication number Publication date
US20120013373A1 (en) 2012-01-19
JPWO2010100830A1 (ja) 2012-09-06

Similar Documents

Publication Publication Date Title
US7809971B2 (en) Clock distribution circuit, semiconductor integrated circuit and method of designing clock distribution circuit
JP2010146047A (ja) バッファ回路挿入方法、バッファ回路挿入装置及びバッファ回路挿入プログラム
US8255851B1 (en) Method and system for timing design
US6763513B1 (en) Clock tree synthesizer for balancing reconvergent and crossover clock trees
JP4918934B2 (ja) 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム
JP2003271689A (ja) 半導体集積回路の設計方法および設計プログラム
JP5040758B2 (ja) シミュレーション装置、シミュレーション方法及びプログラム
JP5444985B2 (ja) 情報処理装置
US8510693B2 (en) Changing abstraction level of portion of circuit design during verification
JP4736822B2 (ja) 半導体集積回路の設計支援装置、設計支援方法および設計支援プログラム
WO2010100830A1 (ja) 半導体装置、回路修正方法、設計支援装置及び設計支援プログラムが格納された記録媒体
JP2010073136A (ja) ホールドタイムエラーの収束方法、収束装置、及び収束プログラム
JP4017583B2 (ja) 半導体集積回路の設計データの回路表示方法
JP4831375B2 (ja) 検証装置、検証方法、及びプログラム
US8060845B2 (en) Minimizing impact of design changes for integrated circuit designs
JP2005136286A (ja) 半導体集積回路の設計方法、及びその装置
JP2006268165A (ja) 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体
JP2012150631A (ja) 半導体集積回路の設計方法および設計装置
JP3116915B2 (ja) クロックネットのレイアウト設計変更方式
JP2008152329A (ja) 回路解析方法、及び回路解析プログラム、回路シミュレーション装置
JP2001308186A (ja) フリップフロップ追加修正が可能なレイアウト方法およびレイアウトプログラムを記録した記録媒体
JP2008226069A (ja) 論理回路、半導体設計支援装置および半導体設計支援方法
JP5515757B2 (ja) スキャンフリップフロップ追加システム及びスキャンフリップフロップ追加方法
JP2006085595A (ja) クロック合成方法、半導体装置及びプログラム
JP2005215934A (ja) Lsi設計システム及びlsi設計プログラム及びlsi設計装置

Legal Events

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

Ref document number: 10748434

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011502611

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13203197

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10748434

Country of ref document: EP

Kind code of ref document: A1