WO2010101029A1 - 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム - Google Patents

半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム Download PDF

Info

Publication number
WO2010101029A1
WO2010101029A1 PCT/JP2010/052508 JP2010052508W WO2010101029A1 WO 2010101029 A1 WO2010101029 A1 WO 2010101029A1 JP 2010052508 W JP2010052508 W JP 2010052508W WO 2010101029 A1 WO2010101029 A1 WO 2010101029A1
Authority
WO
WIPO (PCT)
Prior art keywords
falling
buffer
unit
hold error
integrated circuit
Prior art date
Application number
PCT/JP2010/052508
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/254,300 priority Critical patent/US8438518B2/en
Priority to JP2011502710A priority patent/JPWO2010101029A1/ja
Publication of WO2010101029A1 publication Critical patent/WO2010101029A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Definitions

  • the present invention relates to a design technique for a semiconductor integrated circuit.
  • a synchronous semiconductor integrated circuit is generally realized by a method in which a flip-flop circuit in a circuit is synchronized with a clock.
  • the longest propagation delay time between flip-flop circuits in the circuit determines the frequency of the clock to be synchronized.
  • the shorter the propagation delay between flip-flop circuits the better.
  • a propagation delay of a predetermined time (a time longer than a certain time) is necessary.
  • Non-Patent Document 1 For example, if there is no delay of the predetermined time between flip-flop circuits connected by a propagation signal, the flip-flop circuit takes in the signal of the previous clock as data. As a result, a malfunction occurs. Such a malfunction is called a hold error. Techniques for preventing this hold error have been proposed (Patent Documents 1 to 8, Non-Patent Document 1).
  • the semiconductor integrated circuit design system of Non-Patent Document 1 includes semiconductor integrated circuit data, a circuit delay measurement system, a delay buffer insertion determination system, and a delay buffer insertion system.
  • a circuit delay measurement system first measures the delay of a pair of flip-flop circuits through which a signal propagates.
  • the delay buffer insertion determination system determines a portion where a hold error may occur using the measurement result.
  • the delay buffer insertion system inserts a delay buffer that causes a delay so that a hold error does not occur. For example, in the case where two flip-flop circuits are directly connected without a circuit element causing a delay and a generation of a hold error is expected, a delay gate is inserted by the semiconductor integrated circuit design system. This eliminates the hold error (see FIG. 9).
  • the semiconductor integrated circuit design system disclosed in Patent Document 1 includes semiconductor integrated circuit data, a circuit delay measurement system, a latch circuit insertion determination system, and a latch circuit insertion system.
  • a circuit delay measurement system first measures the delay of a pair of flip-flop circuits through which a signal propagates.
  • the latch circuit insertion determination system determines a portion where a hold error may occur using the measurement result.
  • the latch circuit insertion system inserts a latch circuit that prevents signal transmission during the half cycle of the clock and permits signal transmission during the half cycle of the clock. As a result, a half-cycle delay of the clock is given to the hold error signal line.
  • Patent Document 2 proposes a design method using a latch circuit. However, it is very difficult to apply a design method applied to a general flip-flop based synchronization circuit.
  • Patent Document 3 states that “when a flip-flop circuit under any condition can be divided into latch circuits, the flip-flop circuit is determined by conditions such as the delay of the preceding path and the delay of the succeeding path”. There is a description. Also, in the design of pipeline flip-flop circuits, a logic circuit is arranged with a clock cycle lengthened by a predetermined value, and a flip-flop circuit related to an error path that causes an error with respect to the target value of the clock cycle is replaced with a latch circuit. The logic circuit is rearranged and the maximum allowable logic delay time of the logic path can be increased, and the pipeline design can be easily performed. "
  • Patent Document 4 states that “the signal wiring connection system of the present embodiment creates a new via connection wiring pattern by analyzing the logic design data storage unit storing the logic design data of the semiconductor device and the timing of the signal wiring. Different from a program storage unit that stores programs and the like, a placement and routing information storage unit that stores logic element placement and wiring path information, and a timing information storage unit that stores timing analysis information related to signal propagation delay time of signal wiring A via information storage unit for storing via information relating to signal wirings formed in the wiring layer and connected to each other through the vias; a processing control unit having means for executing a series of signal wiring connection processing; and input / output It consists of an output device that outputs processing results via the control unit and an input device that inputs instructions to the processing control unit. The description of the "there is. Further, there is a description that “a signal wiring connection method and a signal wiring connection system capable of obtaining a signal propagation delay time sufficient for timing control between logic elements can be provided”.
  • Patent Document 5 “in hierarchical design, block information related to the function of a circuit is inputted from a plurality of timing information databases provided corresponding to each of a plurality of design hierarchies and having netlist information related to the wiring form.
  • the timing distribution value obtained by allocating the delay value generated by the delay element can be output, and the timing distribution value can be output, and the connection between each of the timing distribution generation units can be dynamically changed, and the timing distribution
  • It is configured to include an inter-layer cooperation manager that transmits and receives correction information related to the timing distribution value” between each of the creation units.
  • the affected range can be referred to immediately, and there is no reference error in the specification change.
  • the combination of temporary wiring and actual wiring improves the execution speed and accuracy of the floor plan.
  • the hierarchical specification can be used, a distributed design environment can be constructed, only the necessary parts can be refined in the top-down design, and the timing specifications divided by trial examination in one design team are good or bad There is also a statement that "Implementation can be predicted, problems during implementation can be predicted, and rework can be reduced.”
  • the delay optimizing unit includes a step of inserting a level latch circuit into a signal path that violates the minimum delay constraint, and this inserting step is performed for each output terminal included in the sequence synchronization circuit. Calculating the degree of duplication of signal paths that violate the minimum delay constraint; inserting the level latch circuit so that the LSI layout pattern area of the sequence synchronization circuit is minimized in order from the signal path having the largest degree of duplication; and There is a description of " There is also a statement that “the maximum delay time is not affected, so that the calculation processing time can be shortened. Further, the increase in the LSI layout pattern area of the sequence synchronization circuit can be reduced”.
  • Patent Document 7 states that “from a flip-flop configuration unit to which a clock signal and a data signal are input, an output signal from the flip-flop configuration unit and a latch configuration unit to which the clock signal is input, and from the flip-flop configuration unit.
  • a method for designing a semiconductor integrated circuit using pattern data of a flip-flop functional element having a first output terminal for outputting a signal and a second output terminal for outputting a signal from the latch constituting means A step of designing a circuit by forming a data path using the first output terminal, a step of inspecting a hold time in a subsequent element of the data path, and a case in which a hold time violation may occur in the inspection
  • the step of connecting the latter element to the second output terminal instead of the first output terminal is performed.
  • Semiconductor flip-flop configuration means to which a clock signal and a data signal are input, latch configuration means to which an output signal of the flip-flop configuration means and the clock signal are input, and the flip-flop
  • a design processing means for designing a circuit by forming a data path using the first output terminal; a hold time inspection means for inspecting a hold time in a subsequent element of the data path; If there is a possibility of time violation, replace the subsequent element with the first output terminal.
  • the semiconductor integrated circuit design apparatus is characterized in that a data path modifying means connected to said second output terminal. "There description.
  • Patent Document 8 states that “If there is no buffer placement space for hold error elimination on the hold error path, there is a buffer placement space, but if a setup error is caused, another cell's placement space.
  • the initial placement / wiring means performs initial placement / wiring to create layout information, and based on the layout information, RC extraction / delay calculation / static timing Extraction of wiring resistance and wiring capacity, delay calculation and static timing analysis by analysis means Based on the process of creating wiring resistance / wiring capacity information and hold error path / slack information, and based on the hold error path / slack information, the presence / absence of the hold error is determined by the means for determining whether there is a hold error, If there is a hold error, the penalty information creation means creates penalty information necessary for searching for the
  • a layout design method for a semiconductor integrated circuit comprising: a step, and a step of searching, determining and delaying the insertion point by a buffer insertion point search / determination / delay adjustment unit based on the penalty information.
  • Patent registration No. 2677256 JP 2005-277909 A Japanese Patent Laid-Open No. 2003-234463 JP 2005-26390 A JP 2007-188517 A JP 09-008143 A JP 2007-142094 A JP 2008-217642 A
  • Patent Document 1 to Patent Document 8 and the Non-Patent Document 1 do not show specific solutions for the following two problems.
  • the first problem is that a design technique for eliminating a hold error by inserting a delay gate into a semiconductor integrated circuit in which a hold error occurs causes a significant increase in area.
  • a delay gate that intentionally generates a delay is formed by stacking ordinary gate circuit elements in order to intentionally generate a delay. Therefore, a large area is required. This trend is expected to become even greater in future ultrafine processes.
  • Even at the current process level in order to eliminate the hold error, the circuit area is increased to about twice. In particular, when two flip-flops are directly connected, in order to eliminate a relatively large value hold error, it is necessary to generate a large number of delays (that is, to insert a gate that requires a large area). Yes. When the speed of a transistor is increased by a future fine process, it is necessary to insert a delay gate having a larger area.
  • a method of inserting a latch element into a semiconductor integrated circuit often eliminates a hold error between two flips.
  • the method of inserting the latch element causes a second problem. That is, if the timing of the clock supplied to the inserted latch circuit itself does not match, the delay value cannot be inserted at the correct timing. Further, it is difficult to control the clock timing of the latch element to be inserted.
  • the problem to be solved by the present invention is that even if a relatively large delay insertion value is required for a propagation signal between flip-flop circuits or a relatively large delay insertion is performed on a semiconductor integrated circuit.
  • the problem is An apparatus for designing a semiconductor integrated circuit including a flip-flop circuit, Detecting a hold error according to timing analysis data including values of the input and output nodes of the flip-flop circuit, and identifying a node where the hold error has occurred; Based on the analysis result by the timing analysis unit, a falling FF / buffer insertion determination unit that determines a falling FF or buffer insertion in the hold error unit, Based on the falling FF insertion position data by the falling FF / buffer insertion determining unit, the falling FF is inserted into the hold error unit determined to insert the falling FF, and the inserted falling FF is inserted.
  • a falling FF insertion section for connecting a clock line to the FF; And a buffer insertion unit that inserts a buffer into the hold error unit that is positioned to insert a buffer based on buffer insertion position data by the falling FF / buffer insertion determination unit. Solved by integrated circuit design equipment.
  • the problem is A method for designing a semiconductor integrated circuit including a flip-flop circuit in which a countermeasure against a hold error is taken,
  • the timing analysis unit detects a hold error based on the semiconductor integrated circuit design data, and an analysis step for specifying a node where the hold error has occurred,
  • a falling FF / buffer insertion determining unit based on the analysis result of the timing analysis step, a falling FF / buffer insertion determining step for determining whether to insert a falling FF or a buffer into the hold error unit;
  • the falling FF insertion unit inserts the falling FF into the hold error unit positioned to insert the falling FF based on the falling FF insertion position data in the falling FF / buffer insertion determining step.
  • a falling FF insertion step of connecting a clock line to the inserted falling FF A buffer insertion unit comprising: a buffer insertion step of inserting a buffer into the hold error unit positioned to insert a buffer based on the buffer insertion position data obtained by the falling FF / buffer insertion determination step; This is solved by a method for designing a semiconductor integrated circuit.
  • the problem is A program for causing a computer to design a semiconductor integrated circuit including a flip-flop circuit,
  • the program is a computer,
  • a timing analysis unit for detecting a hold error according to timing analysis data including values of the input and output nodes of the flip-flop circuit and identifying a node where the hold error has occurred;
  • a falling FF / buffer insertion determination unit that determines the insertion of a falling FF or a buffer in the hold error unit, Based on the falling FF insertion position data by the falling FF / buffer insertion determining unit, the falling FF is inserted into the hold error unit determined to insert the falling FF, and the inserted falling FF is inserted.
  • Falling FF insertion part that connects clock line to FF
  • the program is caused to function as a buffer inserting unit that inserts a buffer into the hold error unit that is positioned to insert a buffer. Solved.
  • the hold error that occurs in the signal line having a delay value smaller than the individually set delay value is eliminated. There is little increase in the area required to eliminate this hold error. When inserting a large delay, it is easy to control the arrival time of the clock signal to the insertion element.
  • FIG. 1 is a schematic diagram of an apparatus for designing a semiconductor integrated circuit according to an embodiment of the present invention. Schematic diagram when the semiconductor integrated circuit design apparatus of FIG. 1 is implemented by a computer The flowchart of the semiconductor integrated circuit design method of one Embodiment which becomes this invention Flow chart of falling FF insertion unit Flowchart of buffer insertion unit Explanatory drawing showing an example of falling FF insertion Timing chart of falling FF insertion Explanatory drawing showing an example of buffer insertion Illustration of conventional hold error countermeasures Timing chart of conventional hold error countermeasure (in case of latch insertion)
  • a semiconductor integrated circuit design apparatus is an apparatus for designing a semiconductor integrated circuit including a flip-flop circuit.
  • the apparatus has a timing analysis unit.
  • the timing analysis unit detects a hold error according to timing analysis data including values of input and output nodes of the flip-flop circuit, and specifies a node where the hold error has occurred.
  • the timing analysis unit preferably detects a hold error in accordance with timing analysis data including values of input and output nodes of the flip-flop circuit and arrival time of a clock supplied to the flip-flop, and the hold Identify the node between flip-flops where the error occurred.
  • the timing analysis unit preferably detects a hold error based on the semiconductor integrated circuit design data and identifies a node where the hold error has occurred.
  • the apparatus has a falling FF / buffer insertion determining unit.
  • the falling FF / buffer insertion determining unit determines whether to insert a falling FF or a buffer into the hold error unit based on the analysis result by the timing analyzing unit.
  • the falling FF / buffer insertion determining unit inserts a falling FF based on whether or not a setup error occurs even if all hold error units insert a delay of half the clock period. Decide whether to insert a buffer.
  • the device has a falling FF insert.
  • the falling FF insertion unit inserts a falling FF into the hold error unit that is positioned to insert a falling FF based on the falling FF insertion position data by the falling FF / buffer insertion determining unit Then, a clock line is connected to the inserted falling FF.
  • the falling FF insertion unit preferably inserts a falling FF into the hold error unit based on the semiconductor integrated circuit design data and the falling FF insertion position data by the falling FF / buffer insertion determining unit. Then, a clock line is connected to the inserted falling FF.
  • the device has a buffer insert.
  • the buffer insertion unit inserts a buffer into the hold error unit determined to insert a buffer based on the buffer insertion position data by the falling FF / buffer insertion determination unit.
  • the buffer insertion unit preferably inserts a buffer into the hold error unit based on the semiconductor integrated circuit design data and the buffer insertion position data by the falling FF / buffer insertion determination unit.
  • the apparatus preferably further includes a database in which semiconductor integrated circuit design data is stored.
  • the semiconductor integrated circuit design method is a method for designing a semiconductor integrated circuit including a flip-flop circuit in which a countermeasure against a hold error is taken.
  • the method includes an analysis step.
  • the analysis step is a step in which the timing analysis unit detects a hold error based on the semiconductor integrated circuit design data and specifies a node where the hold error has occurred.
  • the timing analysis unit detects a hold error according to timing analysis data including values of input and output nodes of the flip-flop circuit and arrival times of clocks supplied to the flip-flops. This is a step of identifying the node between flip-flops where the hold error has occurred.
  • the method includes a falling FF / buffer insertion determining step.
  • the falling FF / buffer insertion determining step is a step in which the falling FF / buffer insertion determining unit determines whether to insert a falling FF or a buffer into the hold error unit based on the analysis result of the analyzing step.
  • the method includes a falling FF insertion step.
  • the hold error is determined such that the falling FF insertion unit inserts the falling FF based on the falling FF insertion position data in the falling FF / buffer insertion determination step.
  • This is a step of inserting a falling FF into the part and connecting a clock line to the inserted falling FF.
  • the method includes a buffer insertion step.
  • the buffer insertion step is a step in which the buffer insertion unit inserts a buffer into the hold error unit that is positioned so as to insert a buffer based on the buffer insertion position data obtained by the falling FF / buffer insertion determination step. is there.
  • the method is preferably performed by the semiconductor integrated circuit design apparatus of the present invention.
  • the semiconductor integrated circuit design program according to the present invention is a program for causing a computer to design a semiconductor integrated circuit including a flip-flop circuit.
  • This program is a program that causes a computer to function as the timing analysis unit, the falling FF / buffer insertion determination unit, the falling FF insertion unit, and the buffer insertion unit. Or it is a program which makes a computer implement the said method.
  • the program is written on a storage medium.
  • the present invention has a great effect in eliminating the hold error.
  • the area increase necessary for eliminating the hold error is small.
  • the present invention in which a falling flip-flop is inserted has a relatively large delay of half a clock cycle compared to a delay gate insertion method in which a circuit element is simply inserted or a latch circuit insertion method. It can be realized in a small area called “P”.
  • P a small area
  • the method of the present invention can cope with a very small area. Since a small area is sufficient, less power consumption is required.
  • a flip-flop for latching falling data is inserted. For this reason, it is not necessary to adjust the deviation of the clock arrival time of the insertion element itself. That is, the clock falls at half the clock cycle. For this reason, even if the arrival time of the clock fall is slightly deviated, a delay of a half cycle of the clock can be correctly given to the insertion portion. Theoretically, there is no failure due to a shift that occurs in the case of latch insertion unless an early arrival of a clock arrival time of half or more of the clock period occurs, compared to an ideal state where there is no shift at all.
  • FIG. 1 is a schematic diagram of a semiconductor integrated circuit design apparatus according to an embodiment of the present invention.
  • the semiconductor integrated circuit design apparatus (semiconductor integrated circuit design support system) of this embodiment includes a functional block 102, a functional block 104, a functional block 106, and a functional block 107. It also has database (memory) 101, 103, 105, 108 associated with the functional blocks 102, 104, 106, 107.
  • the functional block 102 is a timing analysis unit.
  • the function block 104 is a falling FF / buffer insertion determining unit.
  • the function block 106 is a falling FF insertion unit.
  • the function block 107 is a buffer insertion unit.
  • the database 101 is a semiconductor integrated circuit design database. Data stored in the database 101 is data output to the timing analysis unit 102, the falling FF insertion unit 106, and the buffer insertion unit 107.
  • the database 103 is a timing analysis database. Data stored in the database 103 is data output from the timing analysis unit 102. The data stored in the database 103 is data output to the falling FF / buffer insertion determining unit 104.
  • the database 105 is a falling FF / buffer insertion position database. Data stored in the database 105 is data output from the falling FF / buffer insertion determining unit 104. The data stored in the database 105 is data output to the falling FF insertion unit 106 (or the buffer insertion unit 107).
  • the database 108 is a hold error countermeasure semiconductor integrated circuit design database. Data stored in the database 108 is an output result from the function blocks 106 and 107. The semiconductor integrated circuit design data is a measure against hold errors.
  • the timing analysis unit 102 obtains the propagation delay of each circuit element of the semiconductor integrated circuit and the propagation delay between flip-flop circuits. Specifically, the timing analysis method described below is used. That is, the delay of the adjacent circuit element gate and the delay of the wiring are respectively calculated. Using these calculated values, the delay value between the circuit element gates, the propagation delay value of the connection between the connected flip-flop circuits, and the arrival time difference of the clock to the flip-flop are analyzed. Then, a delay position and a delay value on the circuit arrangement at the gate or circuit block level are specified and output as timing analysis data. This timing analysis data is stored in a timing analysis database (memory) 103. As a timing analysis method, element level simulation, gate level simulation with delay, post layout simulation, or the like is used. Specifically, Primetime (trademark), TimeMill (trademark), and SPICE (trademark) of Synopsys, USA are used.
  • the falling FF / buffer insertion determining unit 104 determines two inter-flip-flop wirings into which the falling FF can be inserted based on the data from the timing analysis database 103. Specifically, all hold errors are detected from the timing analysis database 103. When a delay of about half a clock cycle is inserted with respect to the hold error, it is determined whether or not a setup error occurs. If no setup error occurs, it is decided to insert a falling FF. If a setup error occurs, it is decided to insert a buffer. The falling FF / buffer insertion determining unit 104 outputs the determination to the falling FF / buffer insertion position database 105. The determination is to determine whether to insert a falling FF or a buffer for each hold error.
  • the falling FF insertion unit 106 determines whether a falling FF is determined to be inserted based on the data from the semiconductor integrated circuit design database 101 and the data from the falling FF / buffer insertion position database 105. A falling FF is inserted at the position. If the insertion position is determined before the flip-flop on the output side, the processing is simple. However, the insertion position may be any number. It may be inserted at an arbitrary position on the output side. The same clock signal as the flip-flops at both ends is connected to the clock input of the flip-flop. The result is output to the hold error countermeasure semiconductor integrated circuit design database 108.
  • the buffer insertion unit 107 sets the buffer at the position of the hold error at which the buffer is determined to be inserted. Insert. If the insertion position is determined to be before the flip-flop on the output side, the processing is simple. However, the insertion position may be any number. For example, it may be inserted at an arbitrary position on the output side. This insertion is a buffer in which the hold error is eliminated (or the number of buffers necessary for eliminating the hold error). The result is output to the hold error countermeasure semiconductor integrated circuit design database 108.
  • Each database is roughly configured as follows.
  • the semiconductor integrated circuit design database 101 stores a gate level netlist for designing and manufacturing a semiconductor integrated circuit, HDL, and library data including delay data and process data.
  • data of one chip or core level is stored.
  • data that can be simulated for example, data such as delay information including wiring length and wiring capacitance extracted from layout data
  • data necessary for designing and manufacturing a semiconductor integrated circuit is stored.
  • the timing analysis database 103 stores result data of timing analysis by the timing analysis unit 102. For example, test input signals and potential displacement information on the time axis of each node are stored.
  • the falling FF / buffer insertion position database 105 stores all hold error data. In addition, data for inserting either a falling FF or a buffer for a hold error is stored. The data is data determined by the falling FF / buffer insertion determining unit 104.
  • the hold error countermeasure semiconductor integrated circuit design database 108 stores semiconductor integrated circuit design data. This data is data in which a hold error countermeasure is applied to the semiconductor integrated circuit design data by the falling FF insertion unit 106 (or the buffer insertion unit 107).
  • FIG. 2 shows a block diagram when the present invention is constituted by a central processing element (computer).
  • the semiconductor integrated circuit design apparatus (semiconductor integrated circuit design support system) of the present invention includes a central processing element (CPU) 3, a program memory 5, and a database memory 7.
  • the program memory 5 stores a timing analysis unit 102, a falling FF / buffer insertion determination unit 104, a falling FF insertion unit 106, and a buffer insertion unit 107. In a state where the functional blocks 102, 104, 106, and 107 are stored in the program memory 5, they may operate in cooperation with the central processing element 3, or may be operated after being transferred to another memory device. good.
  • the database memory 7 stores a semiconductor integrated circuit design database 101, a timing analysis database 103, a falling FF / buffer insertion position database 105, and a hold error countermeasure semiconductor integrated circuit design database 108.
  • the memory used for the program memory 5 and the database memory 7 may be a magnetic memory, a semiconductor memory, or a memory using another technique.
  • the central processing element (CPU) 3 executes a computer program (software) read from the program memory 5.
  • a computer program software
  • FIGS. 1 and 2 Next, the operation of the semiconductor integrated circuit design apparatus shown in FIGS. 1 and 2 will be described (see FIGS. 3 to 8).
  • the timing analysis unit 102 requests data necessary for the semiconductor integrated circuit design database 101.
  • the semiconductor integrated circuit design database 101 stores design data used at the time of designing the semiconductor integrated circuit (before manufacturing the semiconductor integrated circuit). Based on the data obtained from the semiconductor integrated circuit design database 101, the timing analysis unit 102 uses the appropriate test pattern to determine the propagation delay between the logic element gates and the propagation delay between the flip-flop circuits. (S1).
  • the timing analysis unit 102 determines whether or not a hold error has occurred from the calculated propagation delay between the logic element gates and between the flip-flop circuits (S2: (see FIG. 3)).
  • the timing analysis unit 102 ends the timing analysis (S3).
  • the falling FF / buffer insertion determination unit 104 uses the timing analysis result in which the propagation delay information in the timing analysis database 103 is stored, Measure the timing when a delay of half the clock period is inserted in the hold error part. Then, it is determined whether a setup error occurs (S4, 5, 6).
  • step S7 If there is no setup error, a falling FF is inserted in the hold error part (S7). Then, the presence or absence of a hold error is confirmed (S2). The process proceeds to step S3 or step S4 depending on whether there is an error.
  • step S8 If there is a setup error, a buffer is inserted in the hold error part (S8). Then, the presence or absence of a hold error is confirmed (S2). The process proceeds to step S3 or step S4 depending on whether there is an error.
  • the falling FF insertion unit 106 stands up on the wiring in which the hold error has occurred in response to each hold error stored in the falling FF / buffer insertion position database 105 with respect to the one in which the falling FF is inserted. A downstream FF is inserted and the same clock as the flip-flops at both ends is supplied (see FIG. 4).
  • the buffer insertion unit 107 inserts a buffer capable of eliminating the hold error on the wiring that has generated the hold error.
  • a buffer is inserted into (see FIG. 5).
  • FIG. 9 shows an example of a hold error and a conventional method of countermeasures for improving the hold error. If the signal propagation value between the flip-flops is too small including the clock arrival times of both flip-flops, a hold error occurs. In order to solve this problem, there is known a method of blocking a signal for a half cycle by using the techniques of “buffer insertion” and “latch insertion” as proposed in the prior art document.
  • the “buffer insertion” technique of the prior art document requires a large number of buffers to be inserted in the case of a relatively large value hold error due to an increase in semiconductor speed.
  • the “latch insertion” technique of the prior art document it is necessary to strictly supply the clock to the latch to be inserted (see FIG. 10). In the case of the clock waveform shown in FIG. 10, data passes through. As a result, it is impossible to take measures against hold errors.
  • the technique of the above embodiment eliminates a cause of design malfunction caused by a propagation delay including a clock arrival time between two flip-flop circuits called a hold error being too small for a semiconductor integrated circuit. Moreover, the required area increase is small. And it's simple.
  • An apparatus for designing a semiconductor integrated circuit including a flip-flop circuit, Detecting a hold error according to timing analysis data including values of the input and output nodes of the flip-flop circuit, and identifying a node where the hold error has occurred; Based on the analysis result by the timing analysis unit, a falling FF / buffer insertion determination unit that determines a falling FF or buffer insertion in the hold error unit, Based on the falling FF insertion position data by the falling FF / buffer insertion determining unit, the falling FF is inserted into the hold error unit determined to insert the falling FF, and the inserted falling FF is inserted.
  • a falling FF insertion section for connecting a clock line to the FF;
  • a semiconductor integrated circuit design apparatus comprising: a buffer insertion unit that inserts a buffer into the hold error unit that is positioned to insert a buffer based on buffer insertion position data by the falling FF / buffer insertion determination unit.
  • the timing analysis unit is a unit that detects a hold error based on the semiconductor integrated circuit design data and identifies a node where the hold error has occurred.
  • the falling FF inserting unit inserts a falling FF into the hold error unit based on the semiconductor integrated circuit design data and the falling FF insertion position data by the falling FF / buffer insertion determining unit, and this insertion
  • the clock line is connected to the falling FF,
  • the semiconductor according to appendix 1 wherein the buffer insertion unit is a unit that inserts a buffer into the hold error unit based on the semiconductor integrated circuit design data and the buffer insertion position data by the falling FF / buffer insertion determination unit. Integrated circuit design equipment.
  • the falling FF / buffer insertion determining unit inserts a falling FF on the basis of whether or not a setup error occurs even if all hold error units insert a delay of half the clock period. 3.
  • the timing analysis unit detects a hold error based on the semiconductor integrated circuit design data, and an analysis step for specifying a node where the hold error has occurred,
  • a falling FF / buffer insertion determining unit based on the analysis result of the timing analysis step, a falling FF / buffer insertion determining step for determining whether to insert a falling FF or a buffer into the hold error unit;
  • the falling FF insertion unit inserts the falling FF into the hold error unit positioned to insert the falling FF based on the falling FF insertion position data in the falling FF / buffer insertion determining step.
  • a falling FF insertion step of connecting a clock line to the inserted falling FF A buffer insertion step in which a buffer insertion unit inserts a buffer into the hold error unit positioned to insert a buffer based on the buffer insertion position data obtained by the falling FF / buffer insertion determination step.
  • a program for causing a computer to design a semiconductor integrated circuit including a flip-flop circuit The program is a computer, A timing analysis unit for detecting a hold error according to timing analysis data including values of the input and output nodes of the flip-flop circuit and identifying a node where the hold error has occurred; Based on the analysis result by the timing analysis unit, a falling FF / buffer insertion determination unit that determines the insertion of a falling FF or a buffer in the hold error unit, Based on the falling FF insertion position data by the falling FF / buffer insertion determining unit, the falling FF is inserted into the hold error unit determined to insert the falling FF, and the inserted falling FF is inserted.
  • Falling FF insertion part that connects clock line to FF
  • a program that functions as a buffer insertion unit that inserts a buffer into the hold error unit that is positioned to insert a buffer based on buffer insertion position data by the falling FF / buffer insertion determination unit.
  • Central processing unit CPU
  • Program Memory Program Memory
  • Timing Analysis Unit 104 Falling FF / Buffer Insertion Determination Unit 106 Falling FF Insertion Unit 107 Buffer Insertion Unit 7 Database Memory 101 Semiconductor Integrated Circuit Design Database 103 Timing Analysis Database 105 Falling FF / Buffer Insertion Position Database 108 Hold Error countermeasure semiconductor integrated circuit design database

Landscapes

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

Abstract

 フリップフロップ回路を含む半導体集積回路を設計する装置であって、前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、ホールドエラーが発生したノードを特定するタイミング解析部と、前記タイミング解析部による解析結果に基づいて、ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部と、前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定されたホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部と、前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、立下りFFを挿入するように位置決定されたホールドエラー部にバッファを挿入するバッファ挿入部とを具備する。

Description

半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム
 本発明は半導体集積回路の設計技術に関する。
 同期式半導体集積回路は、一般に、回路中のフリップフロップ回路がクロックに同期する方式で実現される。この同期式半導体集積回路においては、回路中のフリップフロップ回路間の伝播遅延時間の最長値が、同期されるクロックの周波数を決定する。フリップフロップ回路間の伝播遅延は短ければ短いほど良いものでは無い。すなわち、フリップフロップ回路がデータを読み取れるようになるまでの時間や、伝播信号で接続された2個のフリップフロップ回路間に供給されるクロックの時間差などの影響で、個別のフリップフロップ回路間に規定される所定時間(或る時間以上の時間)の伝播遅延が必要で有る。例えば、伝播信号で接続されたフリップフロップ回路間に前記所定時間の遅延が無いと、前のクロックの信号をフリップフロップ回路がデータとして取り込んでしまう。この結果、誤動作が発生する。このような誤動作はホールドエラーと呼ばれる。このホールドエラーを防止する為の技術が提案(特許文献1~8、非特許文献1)されている。
 前記非特許文献1の半導体集積回路設計システムは、半導体集積回路データと、回路遅延測定システムと、遅延バッファ挿入判断システムと、遅延バッファ挿入システムとを具備する。このシステムにあっては、回路遅延測定システムが、先ず、信号が伝播するフリップフロップ回路対の遅延を測定する。次に、遅延バッファ挿入判断システムが、前記測定結果を用いて、ホールドエラーが発生する可能性が有る部位を判断する。そして、遅延バッファ挿入システムが、ホールドエラーが発生しないように遅延を生じさせる遅延バッファを挿入する。例えば、遅延を生じさせる回路素子なしに2個のフリップフロップ回路間が直結されていてホールドエラーの発生が予想される場合は、本半導体集積回路設計システムによって、遅延ゲートが挿入される。これによりホールドエラーが解消される(図9参照)。
 特許文献1の半導体集積回路設計システムは、半導体集積回路データと、回路遅延測定システムと、ラッチ回路挿入判断システムと、ラッチ回路挿入システムとを具備する。このシステムにあっては、回路遅延測定システムが、先ず、信号が伝播するフリップフロップ回路対の遅延を測定する。次に、ラッチ回路挿入判断システムが、前記測定結果を用いて、ホールドエラーが発生する可能性が有る部位を判断する。そして、ラッチ回路挿入システムが、クロックの半周期は信号の伝達を阻止し、クロックの半周期は信号の伝達を許すラッチ回路を挿入する。その結果、クロックの半周期の遅延がホールドエラー信号線に与えられる。例えば、遅延を生じさせる回路素子なしに2個のフリップフロップ回路間が直結されていてホールドエラーの発生が予想される場合は、本半導体集積回路設計システムによって、ラッチ回路が挿入される。これによりクロック周期の半分の遅延が挿入される。この結果、ホードエラーが解消される(図9,10参照)。
 特許文献2には、ラッチ回路を使った設計手法が提案されている。但し、一般的なフリップフロップベースの同期回路で適用される設計手法の適用が非常に困難で有る。
 特許文献3には、「いずれの条件下でのフリップフロップ回路もラッチ回路へ分割することが可能な場合には、前段のパスの遅延と後段のパスの遅延などの条件によって決定する。」の記載が有る。又、「パイプラインのフリップフロップ回路設計において、クロック周期を所定値長くして論理回路を配置し、クロック周期の目標値に対してエラーを生じるエラーパスに関連するフリップフロップ回路をラッチ回路で置換して論理回路を再配置しており、論理パスの許容最大論理遅延時間を長くすることができ、パイプライン設計を容易に行なうことができる。」の記載も有る。
 特許文献4には、「本実施の形態の信号配線の接続システムは、半導体装置の論理設計データを格納した論理設計データ記憶部と、信号配線のタイミングを解析して新しいビア接続配線パターンを作成するプログラムなどを格納したプログラム格納部と、論理素子の配置および配線経路情報を格納する配置配線情報記憶部と、信号配線の信号伝播遅延時間に関するタイミング解析情報を格納するタイミング情報記憶部と、異なる配線層にそれぞれ形成され、且つビアを通して互いに接続する信号配線に関するビア情報を格納するビア情報記憶部と、一連の信号配線の接続処理を実行するための手段を備えた処理制御部と、入出力制御部を介して処理結果を出力する出力装置と、処理制御部への指示等を入力する入力装置とで構成されている。」の記載が有る。又、「論理素子間のタイミング制御に十分な信号伝播遅延時間が得られる信号配線の接続方法、該信号配線の接続システムを提供することができる。」の記載も有る。
 特許文献5には、「階層設計において、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力し得る複数のタイミング配分作成部と、複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、複数のタイミング配分作成部のそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャとを備えて構成されている。」の記載が有る。又、「タイミング仕様が変更されたときに、その影響範囲を即座に参照でき、仕様変更の参照ミスがなくなる。また、仮配線と実配線との組み合わせにより、フロアプランの実行速度向上と精度の向上の両立が図れる。さらに、階層エンティティを用いることができ分散設計環境が構築でき、トップダウン設計において、必要部分のみ詳細化でき、一つの設計チームにおいて、試行検討で分割されたタイミング仕様の良否を検討でき、インプリメント時の問題を予測でき、手戻りを削減できる。」の記載も有る。
 特許文献6には、「遅延最適化部では、前記最小遅延制約に違反した信号経路にレベルラッチ回路を挿入するステップを備え、この挿入するステップは、前記順序同期回路に含まれる出力端毎に最小遅延制約に違反した信号経路の重複度を計算するステップと、この重複度が大きい信号経路から順に前記順序同期回路のLSIレイアウトパターン面積が最小となるように前記レベルラッチ回路を挿入するステップとを備えたところに有る。」の記載が有る。又、「最大遅延時間に影響を与えることがないため、計算処理時間を短縮することができる。また、順序同期回路のLSIレイアウトパターン面積増加を低減させることができる。」の記載も有る。
 特許文献7には、「クロック信号及びデータ信号が入力されるフリップフロップ構成手段と、前記フリップフロップ構成手段の出力信号及び前記クロック信号が入力されるラッチ構成手段と、前記フリップフロップ構成手段からの信号を出力する第1出力端子、及び前記ラッチ構成手段からの信号を出力する第2出力端子とを備えたフリップフロップ機能素子のパターンデータを用いて、半導体集積回路を設計する方法であって、前記第1出力端子を用いてデータパスを形成して回路を設計する段階と、前記データパスの後段素子におけるホールドタイムの検査を行なう段階と、前記検査においてホールドタイム違反を起こす可能性がある場合には、前記後段素子を前記第1出力端子に代えて前記第2出力端子に接続する段階を実行することを特徴とする半導体集積回路設計方法。」「クロック信号及びデータ信号が入力されるフリップフロップ構成手段と、前記フリップフロップ構成手段の出力信号及び前記クロック信号が入力されるラッチ構成手段と、前記フリップフロップ構成手段からの信号を出力する第1出力端子、及び前記ラッチ構成手段からの信号を出力する第2出力端子とを備えたフリップフロップ機能素子のパターンデータを用いて、半導体集積回路の設計装置であって、前記第1出力端子を用いてデータパスを形成して回路を設計する設計処理手段と、前記データパスの後段素子におけるホールドタイムの検査を行なうホールドタイム検査手段と、前記検査においてホールドタイム違反を起こす可能性がある場合には、前記後段素子を前記第1出力端子に代えて前記第2出力端子に接続するデータパス修正手段とを備えたことを特徴とする半導体集積回路設計装置。」の記載が有る。
 特許文献8には、「ホールド・エラー・パス上にホールド・エラー解消の為のバッファの配置スペースが無い場合、バッファの配置スペースは有るが、セットアップ・エラーを招いてしまう場合、他のセルの移動や配線の二重化や配線経路の変更により、新たに遅延エラーを発生させないバッファ挿入ポイントの探索を可能にし、ECOレイアウトの繰り返しを回避できるようにした半導体集積回路のレイアウト設計方法の提供」を目的として、「半導体集積回路のネットリストに基づいて、初期配置・配線手段により初期配置・配線を行い、レイアウト情報を作成する工程と、前記レイアウト情報に基づいて、RC抽出・遅延計算・静的タイミング解析手段により配線抵抗および配線容量の抽出と遅延計算と静的タイミング解析とを行い、配線抵抗・配線容量情報およびホールド・エラー・パス/スラック情報を作成する工程と、前記ホールド・エラー・パス/スラック情報に基づいて、ホールド・エラー有無判定手段によりホールド・エラー有無の判定を行い、ホールド・エラーがある場合、前記レイアウト情報および前記ホールド・エラー・パス/スラック情報に基づいて、ペナルティ情報作成手段によりホールド・エラー解消のためのバッファの挿入ポイントの探索に必要なペナルティ情報を作成する工程と、前記ペナルティ情報に基づいて、バッファ挿入ポイント探索・決定・遅延調整手段により前記挿入ポイントの探索および決定と遅延調整を行う工程を有することを特徴とする半導体集積回路のレイアウト設計方法。」の記載が有る。しかしながら、特許文献8には、フリップフロップ回路についての記載は無い。
特許登録第2677256号公報 特開2005-277909号公報 特開2003-234643号公報 特開2005-26390号公報 特開2007-188517号公報 特開平09-008143号公報 特開2007-142094号公報 特開2008-217642号公報
VLSIシステム設計 回路と実装の基礎、中澤喜三郎、中村宏監訳、丸善株式会社、356~358頁
 前記特許文献1~特許文献8、及び前記非特許文献1は、次の二つの問題点の具体的な解決手法を示していない。
 第1の問題点は、ホールドエラーを発生している半導体集積回路に対して遅延ゲートを挿入することによってホールドエラーを解消させる設計手法は、面積の大幅な増大を招くことである。遅延を故意に発生させる遅延ゲートは、遅延を故意に発生させる為に、通常のゲート回路素子を積み重ねて作成する。従って、大きな面積を必要とする。この傾向は、将来の超微細プロセスでは更に大きくなると予想される。現状のプロセスレベルでも、ホールドエラーを解消する為、回路面積が2倍程度まで大きくなる。特に、2個のフリップフロップが直結の場合、比較的大きな値のホールドエラーを解消させる為には、多数の遅延を発生(即ち、多大な面積を必要とするようなゲートを挿入)させる必要が有る。将来の微細プロセスによってトランジスタが高速化すると、更なる巨大な面積を持つ遅延ゲートを挿入する必要が有る。
 ところで、半導体集積回路に対してラッチ素子を挿入する手法(上記特許文献参照)は、2個のフリップ間のホールドエラーを解消する場合が多い。しかしながら、ラッチ素子挿入の手法は第2の問題点を引き起こす。すなわち、挿入されたラッチ回路自体に供給されるクロックのタイミングが合ってなければ、正しいタイミングで遅延値を挿入できないと言うことである。そして、挿入されるラッチ素子のクロックタイミング制御が困難である。
 従って、本発明が解決しようとする課題は、半導体集積回路に対して、フリップフロップ回路間の伝播信号に関して、比較的大きな遅延挿入値を必要とする場合、又は比較的大きな遅延挿入を行っても遅延値が大き過ぎることによるエラー(セットアップエラー)を起こさないような場合、ホールドエラーを解消する為に必要な面積増加が小さく、かつ、制御が容易な設計装置(設計システム)を提供供することである。
 前記課題は、
 フリップフロップ回路を含む半導体集積回路を設計する装置であって、
 前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部と、
 前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部と、
 前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部と、
 前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
とを具備することを特徴とする半導体集積回路設計装置によって解決される。
 前記課題は、
 ホールドエラーの対策が施されたフリップフロップ回路を含む半導体集積回路を設計する方法であって、
 タイミング解析部が、半導体集積回路設計データを基にして、ホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する解析工程と、
 立下りFF・バッファ挿入決定部が、前記タイミング解析工程による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定工程と、
 立下りFF挿入部が、前記立下りFF・バッファ挿入決定工程による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入工程と、
 バッファ挿入部が、前記立下りFF・バッファ挿入決定工程によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入工程
とを具備することを特徴とする半導体集積回路設計方法によって解決される。
 前記課題は、
 フリップフロップ回路を含む半導体集積回路をコンピュータに設計させるプログラムであって、
 前記プログラムは、コンピュータを、
  前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部、
  前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部、
  前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部、
  前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
として機能させる
ことを特徴とするプログラムによって解決される。
 フリップフロップ回路間の伝播信号に関して、個別に設定される遅延値よりも小さな遅延値となっている信号線に発生するホールドエラーが解消される。このホールドエラー解消に必要な面積の増加は少ない。大きな遅延の挿入に際して、挿入素子に対するクロック信号の到着時刻の制御が容易である。
本発明になる一実施形態の半導体集積回路設計装置の概略図 図1の半導体集積回路設計装置をコンピュータで実施する際の概略図 本発明になる一実施形態の半導体集積回路設計方法のフローチャート 立下りFF挿入部のフローチャート バッファ挿入部のフローチャート 立下りFF挿入の一例を表す説明図 立下りFF挿入のタイミング図 バッファ挿入の一例を表す説明図 従来のホールドエラー対策の説明図 従来のホールドエラー対策(ラッチ挿入の場合)のタイミング図
 本発明になる半導体集積回路設計装置は、フリップフロップ回路を含む半導体集積回路を設計する装置である。前記装置はタイミング解析部を有する。前記タイミング解析部は、前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する。前記タイミング解析部は、好ましくは、前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データと、前記フリップフロップに供給されるクロックの到着時刻に応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したフリップフロップ間ノードを特定する。前記タイミング解析部は、好ましくは、半導体集積回路設計データを基にしてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する。前記装置は立下りFF・バッファ挿入決定部を有する。前記立下りFF・バッファ挿入決定部は、前記タイミング解析部による解析結果に基づいて、ホールドエラー部に立下りFF又はバッファの挿入を決定する。前記立下りFF・バッファ挿入決定部は、好ましくは、全てのホールドエラー部がクロック周期の半分の遅延を挿入してもセットアップエラーを発生するか否を基準にして、立下りFFを挿入するかバッファを挿入するかを決定する。前記装置は立下りFF挿入部を有する。前記立下りFF挿入部は、前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する。前記立下りFF挿入部は、好ましくは、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データとを基にして、前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する。前記装置はバッファ挿入部を有する。前記バッファ挿入部は、前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入する。前記バッファ挿入部は、好ましくは、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データとを基にして、前記ホールドエラー部にバッファを挿入する。前記装置は、好ましくは、半導体集積回路設計データが格納されたデータベースを更に有する。
 本発明になる半導体集積回路設計方法は、ホールドエラーの対策が施されたフリップフロップ回路を含む半導体集積回路を設計する方法である。前記方法は解析工程を有する。前記解析工程は、タイミング解析部が、半導体集積回路設計データを基にして、ホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する工程である。前記解析工程は、好ましくは、タイミング解析部が、前記フリップフロップ回路の入力および出力ノードの値、各フリップフロップに供給されるクロックの到着時刻を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したフリップフロップ間ノードを特定する工程である。前記方法は立下りFF・バッファ挿入決定工程を有する。前記立下りFF・バッファ挿入決定工程は、立下りFF・バッファ挿入決定部が、前記解析工程による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する工程である。前記方法は立下りFF挿入工程を有する。前記立下りFF挿入工程は、立下りFF挿入部が、前記立下りFF・バッファ挿入決定工程による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する工程である。前記方法はバッファ挿入工程を有する。前記バッファ挿入工程は、バッファ挿入部が、前記立下りFF・バッファ挿入決定工程によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入する工程である。前記方法は、好ましくは、前記本発明の半導体集積回路設計装置が行う方法である。
 本発明になる半導体集積回路設計プログラムは、フリップフロップ回路を含む半導体集積回路をコンピュータに設計させるプログラムである。本プログラムは、コンピュータを、前記タイミング解析部、前記立下りFF・バッファ挿入決定部、前記立下りFF挿入部、前記バッファ挿入部として機能させるプログラムである。或いは、コンピュータに前記方法を実施させるプログラムである。前記プログラムは記憶媒体に書き込まれている。
 本発明は、ホールドエラーの解消に大きな効果を奏する。例えば、ホールドエラー解消に必要な面積増加が少ない。大きな遅延の挿入に際して、挿入素子に対するクロック信号の到着時刻の制御が容易である。
 例えば、立下りフリップフロップを挿入する本発明は、単純に回路素子を挿入する遅延ゲート挿入法や、ラッチ回路挿入法と比較して、クロック周期の半分と言う比較的大きな遅延を1個のフリップフロップと言う小さな面積で実現できる。特に、将来、微細化して容量の増大する配線と、微細化により動作速度が向上する回路素子とを原因とするタイミング不一致の問題の調整を図る為、遅延ゲートを用いる場合、クロック周期の半分程度の遅延を挿入しようとすると、数十個のバッファが必要である。このことを鑑みると、本発明の手法は、非常に小さい面積で対応できる。小面積で済むことから、消費電力も少なくて済む。
 本発明は、立下りデータをラッチするフリップフロップを挿入する。この為、挿入素子自体のクロック到着時刻のズレの調整が無くても済む。すなわち、クロックの立下りはクロック周期の半周期で行われる。この為、このクロック立下りの到着時刻が多少ずれても、正しくクロックの半周期の遅延を挿入箇所に与えることが出来る。理論上、全くズレが無い理想的な状態と比較して、クロック周期の半分以上のクロック到着時刻の早着が発生しない限り、ラッチ挿入の場合に起きるズレによる破綻が発生しない。
 立下りデータをラッチするフリップフロップを挿入する為、この挿入する立下りフリップフロップに関しては、良品選抜の為のテストを考慮する必要が無い。例えば、この立下りフリップフロップは遅延挿入の目的のみに利用される。この為、外部からスキャンによって値を与えてテストを行う必要が無い。
 以下本発明について更に詳しく説明する。
 尚、本発明は、下記の実施の形態に限定されず、本発明の技術思想の範囲内において、適宜、変更される。
  [第1実施形態]
 図1は本発明になる一実施形態の半導体集積回路設計装置の概略図である。
 本実施形態の半導体集積回路設計装置(半導体集積回路の設計支援システム)は、機能ブロック102と、機能ブロック104と、機能ブロック106と、機能ブロック107とを有する。又、機能ブロック102,104,106,107と関連するデータベース(メモリ)101,103,105,108を有する。
 機能ブロック102はタイミング解析部である。機能ブロック104は立下りFF・バッファ挿入決定部である。機能ブロック106は立下りFF挿入部である。機能ブロック107はバッファ挿入部である。
 データベース101は半導体集積回路設計データベースである。データベース101に格納されているデータは、タイミング解析部102、立下りFF挿入部106、及びバッファ挿入部107に出力されるデータである。データベース103はタイミング解析データベースである。データベース103に格納されているデータは、タイミング解析部102から出力されたデータである。データベース103に格納されているデータは、立下りFF・バッファ挿入決定部104に出力されるデータである。データベース105は立下りFF・バッファ挿入位置データベースである。データベース105に格納されているデータは、立下りFF・バッファ挿入決定部104から出力されたデータである。データベース105に格納されているデータは、立下りFF挿入部106(又はバッファ挿入部107)に出力されるデータである。データベース108はホールドエラー対策半導体集積回路設計データベースである。データベース108に格納されているデータは、機能ブロック106,107からの出力結果である。そして、ホールドエラー対策済みの半導体集積回路設計データである。
 上記機能ブロックは、各々、大略、次のように動作する。
 タイミング解析部102は、半導体集積回路の各回路素子の伝播遅延とフリップフロップ回路間の伝播遅延とを求める。詳細には、次に説明されるタイミング解析手法が使われる。すなわち、隣接する回路素子ゲートの遅延、配線の遅延が、各々、計算される。これ等の計算値を用いて、回路素子ゲート間の遅延値、接続されたフリップフロップ回路間の接続の伝播遅延値、フリップフロップへのクロックの到着時刻差が解析される。そして、ゲートまたは回路ブロックレベルでの回路配置上の遅延位置と遅延値とが特定され、タイミング解析データとして出力される。このタイミング解析データはタイミング解析データベース(メモリ)103に格納される。タイミング解析手法としては、素子レベルシミュレーション、遅延付ゲートレベルシミュレーション、ポストレイアウトシミュレーション等が用いられる。具体的には、米国Synopsys社のPrimetime(商標)や、TimeMill(商標)、SPICE(商標)が用いられる。
 立下りFF・バッファ挿入決定部104は、タイミング解析データベース103からのデータを基にして、立下りFFを挿入可能な2つのフリップフロップ間配線を決定する。詳細には、全てのホールドエラーがタイミング解析データベース103から検出される。前記ホールドエラーに対して、クロックの半周期程度の遅延が挿入された場合、セットアップエラーが生じるか否かが判断される。セットアップエラーが生じない場合、立下がりFFを挿入することが決定される。セットアップエラーが生じる場合、バッファを挿入することが決定される。立下りFF・バッファ挿入決定部104は、決定を立下りFF・バッファ挿入位置データベース105に出力する。前記決定は、各ホールドエラーに対して、立下りFFを挿入するか、バッファを挿入するかの決定である。
 立下りFF挿入部106は、半導体集積回路設計データベース101からのデータと、立下りFF・バッファ挿入位置データベース105からのデータとを基にして、立下りFFが挿入と決定されているホールドエラーの位置に、立下りFFを挿入する。挿入位置が出力側のフリップフロップの前と決定されていると、処理が簡単である。但し、挿入位置は何所でも良い。出力側の任意の位置に挿入されれば良い。両端のフリップフロップと同じクロック信号がフリップフロップのクロック入力に接続される。結果がホールドエラー対策半導体集積回路設計データベース108に出力される。
 バッファ挿入部107は、半導体集積回路設計データベース101からのデータと、立下りFF・バッファ挿入位置データベース105からのデータとを基にして、バッファが挿入と決定されているホールドエラーの位置に、バッファを挿入する。挿入位置を出力側のフリップフロップの前と決定しておくと処理が簡単である。但し、挿入位置は何所でも良い。例えば、出力側の任意の位置に挿入されれば良い。この挿入は、ホールドエラーが解消されるバッファ(又はホールドエラー解消に必要な数のバッファ)である。結果がホールドエラー対策半導体集積回路設計データベース108に出力される。
 データベースは、各々、大略、次のように構成される。
 半導体集積回路設計データベース101には、半導体集積回路を設計・製造するゲートレベルネットリストと、HDLと、遅延データやプロセスデータを含むライブラリデータとが格納されている。又、1チップ又はコアレベルのデータが格納されている。更に、シミュレート可能なデータ(例えば、レイアウトデータより抽出された配線長と配線容量等を含む配線まで含めた遅延情報と言ったデータ)が格納されている。すなわち、半導体集積回路を設計・製造するに必要なデータが格納されている。
 タイミング解析データベース103には、タイミング解析部102によるタイミング解析の結果データが格納されている。例えば、テスト用入力信号や各ノードの時間軸上の電位変位情報が格納されている。
 立下りFF・バッファ挿入位置データベース105には、全てのホールドエラーのデータが格納されている。又、ホールドエラーに対する立下りFFかバッファの何れかを挿入するデータが格納されている。前記データは立下りFF・バッファ挿入決定部104が決定したデータである。
 ホールドエラー対策半導体集積回路設計データベース108には、半導体集積回路設計のデータが格納されている。このデータは、半導体集積回路設計データに対して、立下りFF挿入部106(又はバッファ挿入部107)によってホールドエラー対策が施されたデータである。
 本発明が中央演算素子(コンピュータ)で構成された場合のブロック図が図2に示される。
 本発明の半導体集積回路設計装置(半導体集積回路の設計支援システム)は、中央演算素子(CPU)3と、プログラムメモリ5と、データベースメモリ7とを有する。プログラムメモリ5には、タイミング解析部102と、立下りFF・バッファ挿入決定部104と、立下りFF挿入部106と、バッファ挿入部107とが格納されている。前記機能ブロック102,104,106,107がプログラムメモリ5に格納された状態において、中央演算素子3と協働して動作しても良く、或いは他のメモリ装置に転送してから動作させても良い。データベースメモリ7には、半導体集積回路設計データベース101と、タイミング解析データベース103と、立下りFF・バッファ挿入位置データベース105と、ホールドエラー対策半導体集積回路設計データベース108とが格納されている。上記プログラムメモリ5やデータベースメモリ7に用いられるメモリは、磁気メモリ、半導体メモリ又は他の手法によるメモリの何れでも良い。
 中央演算素子(CPU)3は上記プログラムメモリ5から読み出したコンピュータ・プログラム(ソフトウェア)を実行する。これによって、図2の半導体集積回路設計装置は図1の各機能ブロックの機能を実現する。
 次に、図1,2の半導体集積回路設計装置の動作を説明する(図3~図8参照)。
 先ず、タイミング解析部102は、半導体集積回路設計データベース101に必要なデータの要求を行う。半導体集積回路設計データベース101には、半導体集積回路の設計時(半導体集積回路の製造前)において利用される設計データが格納されている。この半導体集積回路設計データベース101から得たデータを基にして、タイミング解析部102は、適切なテストパターンを用いて、各論理素子ゲート間の伝播遅延、フリップフロップ回路間の伝播遅延をタイミング解析データとして算出する(S1)。
 タイミング解析部102は、算出された各論理素子ゲート間、フリップフロップ回路間の伝播遅延からホールドエラーの発生の有無を判定する(S2:(図3参照))。
 ホールドエラーの発生が無の場合、タイミング解析部102は、タイミング解析を終了させる(S3)。
 ホールドエラーの発生が有の場合、立下りFF・バッファ挿入決定部104は、タイミング解析データベース103における伝播遅延情報が格納されているタイミング解析結果を使って、ホールドエラー発生箇所の各々に対して、ホールドエラー部にクロック周期の半分の遅延を挿入した場合のタイミングを計測する。そして、セットアップエラーが発生するか否かを判定する(S4,5,6)。
 セットアップエラーが無の場合、ホールドエラー部に立下りFFが挿入される(S7)。そして、ホールドエラーの有無が確認される(S2)。
エラーの有無に応じて、上記S3のステップ又はS4のステップに移る。
 セットアップエラーが有の場合、ホールドエラー部にバッファが挿入される(S8)。そして、ホールドエラーの有無が確認される(S2)。
エラーの有無に応じて、上記S3のステップ又はS4のステップに移る。
 立下りFF挿入部106は、立下りFF・バッファ挿入位置データベース105に格納された各ホールドエラーに対する対策として、立下りFFを挿入するものに対して、ホールドエラーが発生している配線上に立下りFFを挿入し、両端のフリップフロップと同じクロックを供給する(図4参照)。
 バッファ挿入部107は、立下りFF・バッファ挿入位置データベース105に格納された各ホールドエラーに対する対策として、ホールドエラーを解消可能なバッファを挿入するものに対して、ホールドエラーを発生している配線上にバッファを挿入する(図5参照)。
 この結果、大きな値のホールドエラーが解消される。
 図9は、ホールドエラーの一例と、ホールドエラーを改善する為の対策の従来手法である。フリップフロップ間の信号伝播値が両方のフリップフロップのクロック到着時刻込みで小さ過ぎる場合、ホールドエラーが発生する。この問題に対しては、前記先行技術文献が提案した如きの「バッファ挿入」「ラッチ挿入」の技術を用いて信号を半周期ブロックする手法が知られている。
 しかしながら、先行技術文献の「バッファ挿入」技術は、半導体の高速化によって、比較的大きな値のホールドエラーの場合には、多数のバッファを挿入する必要が有る。先行技術文献の「ラッチ挿入」技術は、挿入するラッチへのクロック供給を厳密に行う必要が有る(図10参照)。図10に示されるクロック波形の場合、データがすり抜ける。この結果、ホールドエラーの対策が出来ない。
 そこで、2個のFF間に立下りFFを挿入し、挿入する立下りFFに両端のFFと同じクロックを供給する(図6参照)。こうすると、立下りFFのクロック供給に対してクロック周期の半分の前後マージンがある。従って、両端のFFのクロック到着時刻と、挿入する立下りFFのクロック到着時刻とに多少のズレが有っても、このズレがクロック周期の半分程度の場合には、クロック周期の半分の遅延を挿入できる(図7参照)。
 尚、立下りFFの挿入ではクロック周期の半分の遅延が挿入される。この為、クロック周期以上の遅延がフリップフロップ間に発生する恐れが有る。このような場合には、バッファが必要に応じて挿入される(図8参照)。
 上記実施形態の技術は、半導体集積回路に対して、ホールドエラーと呼ばれる2個のフリップフロップ回路間のクロックの到着時刻を含めた伝播遅延が小さ過ぎることに起因する設計誤動作要因を解消する。しかも、必要な面積増加が小さい。かつ、簡単である。
 上記においては、セットリセットフリップフロップ回路のセット信号としてCLK(クロック)信号を何れのFFにも入力することで各回路の同期式回路に適用した例について説明した。しかし、セット信号をCLKでなく他回路の入力データと認識して作動させる非同期式回路についても適用可能であることは言うまでもない。又、本明細書では「回路配置上の位置」という表現を用いているが、これはスケマティック回路配置上の位置とレイアウト上の物理的な位置である。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)フリップフロップ回路を含む半導体集積回路を設計する装置であって、
 前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部と、
 前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部と、
 前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部と、
 前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
とを具備する半導体集積回路設計装置。
 (付記2)半導体集積回路設計データが格納されたデータベースを更に具備し、
 前記タイミング解析部は、前記半導体集積回路設計データを基にしてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する部であり、
 前記立下りFF挿入部は、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データとを基にして前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する部であり、
 前記バッファ挿入部は、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データとを基にして前記ホールドエラー部にバッファを挿入する部である
付記1に記載の半導体集積回路設計装置。
 (付記3)前記立下りFF・バッファ挿入決定部は、全てのホールドエラー部がクロック周期の半分の遅延を挿入してもセットアップエラーを発生するか否を基準にして、立下りFFを挿入するかバッファを挿入するかを決定する部である
付記1又は付記2に記載の半導体集積回路設計装置。
 (付記4)ホールドエラーの対策が施されたフリップフロップ回路を含む半導体集積回路を設計する方法であって、
 タイミング解析部が、半導体集積回路設計データを基にして、ホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する解析工程と、
 立下りFF・バッファ挿入決定部が、前記タイミング解析工程による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定工程と、
 立下りFF挿入部が、前記立下りFF・バッファ挿入決定工程による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入工程と、
 バッファ挿入部が、前記立下りFF・バッファ挿入決定工程によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入工程
とを具備する半導体集積回路設計方法。
 (付記5)フリップフロップ回路を含む半導体集積回路をコンピュータに設計させるプログラムであって、
 前記プログラムは、コンピュータを、
  前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部、
  前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部、
  前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部、
  前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
として機能させるプログラム。
 この出願は、2009年3月3日に出願された日本出願特願2009-49916を基礎とする優先権を主張し、その開示の全てをここに取り込む。
3   中央演算素子(CPU)
5   プログラムメモリ
102 タイミング解析部
104 立下りFF・バッファ挿入決定部
106 立下りFF挿入部
107 バッファ挿入部
7   データベースメモリ
101 半導体集積回路設計データベース
103 タイミング解析データベース
105 立下りFF・バッファ挿入位置データベース
108 ホールドエラー対策半導体集積回路設計データベース
 

Claims (5)

  1.  フリップフロップ回路を含む半導体集積回路を設計する装置であって、
     前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部と、
     前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部と、
     前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部と、
     前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
    とを具備することを特徴とする半導体集積回路設計装置。
  2.  半導体集積回路設計データが格納されたデータベースを更に具備し、
     前記タイミング解析部は、前記半導体集積回路設計データを基にしてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する部であり、
     前記立下りFF挿入部は、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データとを基にして前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する部であり、
     前記バッファ挿入部は、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データとを基にして前記ホールドエラー部にバッファを挿入する部である
    ことを特徴とする請求項1の半導体集積回路設計装置。
  3.  前記立下りFF・バッファ挿入決定部は、全てのホールドエラー部がクロック周期の半分の遅延を挿入してもセットアップエラーを発生するか否を基準にして、立下りFFを挿入するかバッファを挿入するかを決定する部である
    ことを特徴とする請求項1の半導体集積回路設計装置。
  4.  ホールドエラーの対策が施されたフリップフロップ回路を含む半導体集積回路を設計する方法であって、
     タイミング解析部が、半導体集積回路設計データを基にして、ホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する解析工程と、
     立下りFF・バッファ挿入決定部が、前記タイミング解析工程による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定工程と、
     立下りFF挿入部が、前記立下りFF・バッファ挿入決定工程による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入工程と、
     バッファ挿入部が、前記立下りFF・バッファ挿入決定工程によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入工程
    とを具備することを特徴とする半導体集積回路設計方法。
  5.  フリップフロップ回路を含む半導体集積回路をコンピュータに設計させるプログラムであって、
     前記プログラムは、コンピュータを、
      前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部、
      前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部、
      前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部、
      前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
    として機能させる
    ことを特徴とするプログラム。
     
PCT/JP2010/052508 2009-03-03 2010-02-19 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム WO2010101029A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/254,300 US8438518B2 (en) 2009-03-03 2010-02-19 Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
JP2011502710A JPWO2010101029A1 (ja) 2009-03-03 2010-02-19 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-049916 2009-03-03
JP2009049916 2009-03-03

Publications (1)

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

Family

ID=42709590

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/052508 WO2010101029A1 (ja) 2009-03-03 2010-02-19 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム

Country Status (3)

Country Link
US (1) US8438518B2 (ja)
JP (1) JPWO2010101029A1 (ja)
WO (1) WO2010101029A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014109453A (ja) * 2012-11-30 2014-06-12 Renesas Electronics Corp 半導体装置
US10394987B2 (en) * 2017-03-21 2019-08-27 International Business Machines Corporation Adaptive bug-search depth for simple and deep counterexamples

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH098143A (ja) * 1995-06-26 1997-01-10 Nec Corp 遅延最適化方法
JP2004186515A (ja) * 2002-12-05 2004-07-02 Matsushita Electric Ind Co Ltd 集積回路およびその設計方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205566B1 (en) * 1997-07-23 2001-03-20 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit, method for designing the same, and storage medium where design program for semiconductor integrated circuit is stored
JP2003099495A (ja) * 2001-09-25 2003-04-04 Fujitsu Ltd 集積回路の設計システム、集積回路の設計方法およびプログラム
JP2003234643A (ja) 2002-02-07 2003-08-22 Mitsubishi Electric Corp 半導体集積回路装置の設計方法および半導体集積回路装置
JP2005026390A (ja) 2003-07-01 2005-01-27 Toshiba Microelectronics Corp 半導体集積回路装置の信号配線接続方法、信号配線接続システム、および半導体集積回路装置の製造方法
JP4419633B2 (ja) 2004-03-25 2010-02-24 日本電気株式会社 論理回路設計システム、論理回路設計方法およびそのプログラム
JP4264436B2 (ja) * 2005-11-17 2009-05-20 フリースケール セミコンダクター インコーポレイテッド フリップフロップ機能素子、半導体集積回路、半導体集積回路設計方法及び半導体集積回路設計装置
JP2007188517A (ja) 2007-02-26 2007-07-26 Fujitsu Ltd タイミング配分装置
JP4803078B2 (ja) 2007-03-07 2011-10-26 富士通セミコンダクター株式会社 半導体集積回路のレイアウト設計方法およびレイアウト設計用プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH098143A (ja) * 1995-06-26 1997-01-10 Nec Corp 遅延最適化方法
JP2004186515A (ja) * 2002-12-05 2004-07-02 Matsushita Electric Ind Co Ltd 集積回路およびその設計方法

Also Published As

Publication number Publication date
US20110320994A1 (en) 2011-12-29
US8438518B2 (en) 2013-05-07
JPWO2010101029A1 (ja) 2012-09-06

Similar Documents

Publication Publication Date Title
US9117044B2 (en) Hierarchical verification of clock domain crossings
US7552409B2 (en) Engineering change order process optimization
US8238190B2 (en) Clock-gated model transformation for asynchronous testing of logic targeted for free-running, data-gated logic
US6651230B2 (en) Method for reducing design effect of wearout mechanisms on signal skew in integrated circuit design
KR20090077692A (ko) 반도체 장치의 제조 방법, 반도체 장치의 제조 프로그램 및반도체 장치의 제조 시스템
US11347917B2 (en) Determining and verifying metastability in clock domain crossings
US7885801B2 (en) Modeling asynchronous behavior from primary inputs and latches
WO2014105804A1 (en) Automatic clock tree routing rule generation
CN112069763A (zh) 修正电路的方法
US8539413B1 (en) Frequency optimization using useful skew timing
US11003821B1 (en) Deterministic loop breaking in multi-mode multi-corner static timing analysis of integrated circuits
US7254793B2 (en) Latch modeling technique for formal verification
US11907631B2 (en) Reset domain crossing detection and simulation
US9449127B1 (en) System for verifying timing constraints of IC design
JP5444985B2 (ja) 情報処理装置
US20130036394A1 (en) Vectorless IVD Analysis Prior to Tapeout to Prevent Scan Test Failure Due to Voltage Drop
WO2010101029A1 (ja) 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム
WO2009110615A1 (ja) 半導体集積回路の設計装置、半導体集積回路の設計方法、並びに半導体集積回路を設計するコンピュータ・プログラム
US8762915B1 (en) System and method for integrated circuit die size reduction
JP7069608B2 (ja) 半導体設計支援装置、半導体設計支援方法及びプログラム
US20230066423A1 (en) Accounting for steady state noise in bit response superposition based eye diagram simulation
US6405336B1 (en) Device and method for testing a semiconductor
US20220335187A1 (en) Multi-cycle test generation and source-based simulation
Dhar et al. A Technique to Optimize Clock Latency after CCOpt exploiting Useful Skew
Golshan Design Verification

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011502710

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13254300

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

Country of ref document: EP

Kind code of ref document: A1