WO2004046975A1 - Electronic circuit design timing improvement method, program, and apparatus - Google Patents

Electronic circuit design timing improvement method, program, and apparatus Download PDF

Info

Publication number
WO2004046975A1
WO2004046975A1 PCT/JP2002/012001 JP0212001W WO2004046975A1 WO 2004046975 A1 WO2004046975 A1 WO 2004046975A1 JP 0212001 W JP0212001 W JP 0212001W WO 2004046975 A1 WO2004046975 A1 WO 2004046975A1
Authority
WO
WIPO (PCT)
Prior art keywords
net
cell
timing
delay
value
Prior art date
Application number
PCT/JP2002/012001
Other languages
French (fr)
Japanese (ja)
Inventor
Hiroyuki Sugiyama
Hiroshi Ikeda
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to JP2004553102A priority Critical patent/JPWO2004046975A1/en
Priority to PCT/JP2002/012001 priority patent/WO2004046975A1/en
Publication of WO2004046975A1 publication Critical patent/WO2004046975A1/en

Links

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

Definitions

  • the present invention relates to a method, a program, and an apparatus for improving timing of an electronic circuit design of an LSI or VLSI automatically designed by computer assistance, and particularly to an electronic circuit design that has been subjected to logic design, cell arrangement and wiring processing.
  • the present invention relates to a method, a program, and a device for improving timing of electronic circuit design for checking and improving timing errors.
  • timing analysis of the automatically created electronic circuit design is performed after the logic design, cell placement, and wiring processing are completed, and the analysis results are analyzed. ing.
  • the present invention utilizes the slack information of cells obtained as a result of timing verification. It is an object of the present invention to provide a timing improvement method, a program, and a device capable of efficiently eliminating a evening-imaging error by specifying and changing a cell / net that does not satisfy the evening-imaging condition.
  • the present invention relates to a method for improving timing of an electronic circuit design after logic design, cell placement, and wiring processing.
  • the cell search unit focuses on the slack information at the pins of the cells on the path that does not satisfy the evening-imaging constraint.
  • a cell replacement unit that replaces a cell searched as a replacement candidate with a cell that satisfies a timing constraint
  • the present invention focuses on the slack information of the pins of the cells on the path that does not satisfy the timing constraint, and replaces the cell.
  • the error is improved, and a timing error does not occur in another path through the replaced cell, so that the timing error in the final stage of electronic circuit design can be efficiently improved.
  • the input step input the slack value, which is the margin value of the setup time check, obtained from the timing verification result in the electronic circuit design, and the slack value, which is the margin value of the hold time check,
  • a cell having a positive slack value of a setup time check of all pins that is equal to or greater than a predetermined value is searched for as a replacement candidate.
  • the input step enter the slack value, which is the margin value for the setup time check, and the slack value, which is the margin value for the hold time check.
  • a cell having a positive slack value of the hold time check of all pins that is equal to or greater than a predetermined value is searched as a replacement candidate for a path that causes a setup time error due to delay over,
  • the cell switching step is characterized in that cells searched as replacement candidates are replaced with cells having a small delay time.
  • the net search step determines the timing error by temporarily calculating the net delay after changing the delay parameter of the cell searched as an exchange candidate to the value of the cell after the exchange, and if no timing error occurs, the exchange candidate is determined. To decide.
  • the present invention relates to a method for improving timing of an electronic circuit design after logic design, cell placement, and wiring processing.
  • the input section inputs the slack value, which is the margin value of the hold time check obtained from the timing verification result in the electronic circuit design, and the net search section causes a setup time error due to delay overlap
  • the target net is limited by the wiring length of the net and the driving capability of the driver.
  • many nets that are not very effective when viewed as a whole path are targeted, resulting in a shortage of wiring channels, and an increase in wiring capacity due to the thicker wiring, resulting in an increase in delay for drivers with small driving capacity. It is possible to eliminate the inconvenience that occurs.
  • the line capacitance and the line resistance of the nets searched as candidates for thickening are changed to the thickened values, then the net delay is temporarily calculated to determine the setup time error, and errors can be eliminated.
  • the net is determined as a thick line candidate. By repeating the verification on the nets searched as candidates in this way, it is possible to improve only the nets that are most needed.
  • delay calculation can be performed without actually thickening the nets and output at the same time
  • the present invention relates to a method for improving timing of an electronic circuit design after logic design, cell placement, and wiring processing.
  • the net search step is performed from the nets that cause setup time errors. Search for nets whose net wiring length, driver driving capacity, net delay, waveform dullness on the receiver side, and fan count are larger than the specified values as thickening candidates. For this reason, among the paths causing timing errors, the effect of improvement is expected in the selected error path by the specified conditions of the wiring length, driver driving capability, net delay, waveform dullness on the receiver side, and the number of fan bits One possible net can be determined.
  • the net search step a predetermined number of high-order worst paths having a large delay time are selected from nets in which a setup time error has occurred, and the search for a thick line candidate is repeated. For this reason, by thickening the net from the path where the improvement effect is large, the timing error can be improved with the necessary minimum net thickening.
  • the present invention provides a program for improving the timing of electronic circuit design after logic design, cell placement, and wiring processing.
  • a net search step of searching for a set as a thick line candidate is specified.
  • the program of the present invention which is another form of improving evening imitation by thickening the net, has a computer
  • the present invention provides an apparatus for improving the timing of electronic circuit design after logic design, cell placement, and wiring processing.
  • the device of the present invention which improves evening timing by cell optimization, comprises an input unit for inputting slack information obtained from a timing verification result in an electronic circuit design, and a pin at a cell pin on a path that does not satisfy timing constraints. Focusing on slack information, even if cells are exchanged to improve evening, a cell search unit that searches for cells that do not cause timing errors on other routes through the exchanged cells as replacement candidates, and a replacement candidate And a cell replacement unit that replaces the searched cell with a cell satisfying the timing constraint.
  • the device of the present invention for improving evening imaging by thickening the net has an input unit for inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in an electronic circuit design, and a delay overlap.
  • a slack value which is a margin value of a hold time check obtained from a timing verification result in an electronic circuit design, and a delay overlap.
  • the nets on the path that causes the setup time error there is a pin whose slack value is positive and A net search unit that searches for a net satisfying one specified condition as a thick line candidate, and a thick line unit that replaces a wire of the net searched as a thick line candidate with a thick line having a small delay time. .
  • the apparatus of the present invention as another mode for improving evening imaging by thickening the net has an input unit for inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in electronic circuit design. From all nets on the path where a setup time error has occurred due to delay overrun, a net search unit that searches nets satisfying the specified conditions as thickening candidates and searches as net thickening candidates And a thick line replacing section for replacing the net wiring with a thick line having a small delay time.
  • FIG. 1 is a block diagram of a functional configuration showing an embodiment of the present invention
  • FIG. 2 is a flowchart of an electronic circuit design to which the present invention is applied;
  • FIG. 3 is an explanatory diagram of hardware resources of a computer to which the embodiment of FIG. 1 is applied;
  • FIG. 4 is a block diagram of a cell size optimizing unit of FIG. 2;
  • Figure 5 is a schematic diagram of a basic cell net generated by electronic circuit design
  • Figure 6 is an illustration of the setup time check in the circuit of Figure 5;
  • Figure 7 is an explanatory diagram of the hold time check in the circuit of Figure 5;
  • Fig. 8 is an illustration of the electronic circuit and the slack value to which the cell size optimization processing of Fig. 4 is applied;
  • Figure 9 is an illustration of the calculation method of setup slack value in Figure 8.
  • FIG. 10 is an explanatory view of the calculation method of the hold slack value in FIG. 8;
  • FIG. 11 is a flowchart of the cell size optimizing process according to the present invention.
  • FIG. 12 is a flowchart of the cell size optimization process following FIG. 11;
  • Figure 13 is a block diagram of the net thickening part in Figure 2;
  • FIG. 14 is a flowchart of the net thickening process according to the present invention.
  • FIG. 15 is a flow chart of the net thickening process following FIG. 14;
  • FIG. 16 is a flowchart of another embodiment of the net thickening process according to the present invention;
  • FIG. 17 is a flowchart of the net thickening process following FIG. 16;
  • FIG. 1 is a block diagram of a functional configuration of an electronic circuit design system to which the timing improvement method of the present invention is applied.
  • the electronic circuit design system includes a logic design unit 10, a cell placement unit 11, a wiring processing unit 12, an evening analysis unit 14, and an evening analysis result analysis unit 16.
  • the present invention further includes a cell size optimizing unit 18 and a net thickening unit 20.
  • a cell size optimizing unit 18 a cell parameter library 24 and a cell replacement information file 22 are provided.
  • the net thickening unit 20 is provided with a thick net information file 26.
  • the logic design unit 10 is provided with an output file 28 for storing the created electronic circuit design data.
  • FIG. 2 is a schematic flowchart of a processing procedure in the electronic circuit design system of FIG.
  • logic design is performed based on the design information input in step S1, cell placement is performed in step S2, and wiring processing is performed in step S3.
  • steps S1 to S3 are the basic processing of electronic circuit design usually performed.
  • step S4 the timing analysis is performed on the created electronic circuit design.After that, the timing analysis result is analyzed in step S5. If a racing error or an over-delay error occurs, According to the present invention, as part of the process associated with the cell arrangement adjustment in step S6, the slack-based cell optimization process in step S7 and the thickening of the net on the worst path in step S8 are performed. Perform processing to improve timing errors.
  • the slack-based cell optimization processing according to the present invention in step S7 is performed by inputting slack information obtained from timing verification results in electronic circuit design, and slack information at a pin of a cell on a path that does not satisfy the timing constraint. Focusing on, if even if a cell is exchanged to improve the evening, if other routes through the exchanged cell do not cause timing errors, this cell is searched for as an exchange candidate and is searched for as an exchange candidate. Replaced cells with cells that satisfy the timing constraints. Specifically, hold evenings where there is insufficient delay A cell candidate to be exchanged is searched for the route causing the error based on slack information, and the searched cell is replaced with a cell having a long delay time.
  • the slack value which is the margin value of the hold time check obtained from the timing verification result in the electronic circuit design, is inputted, and the setup due to the delay over time is performed. From the nets on the path causing the time error, search the nets to be bolded to reduce the delay time as candidates for bolding to reduce the delay time, and find the routing of the searched nets with a small delay time. Replace with a bold line.
  • steps S7 and S8 the cell exchange and the net thickening are performed without changing the cells or making the net thicker, and changing the parameters of the cell and making the net thicker.
  • Provisional calculation of the delay by changing the capacitance and resistance value accompanying the above checks whether the timing error can be eliminated by cell exchange and net thickening, and if the timing error can be eliminated, replaces the cell or thickens the line. Has been determined as a candidate.
  • Steps S7 and S8 when the cell replacement candidate and the net thickening candidate are determined, finally, based on the cell change macro information and the thickened net information, Steps S9, S10, S 11 Perform logic design, cell placement and wiring processing in step 1. After performing timing analysis in step S12, analyze the timing analysis result in step S13.
  • the system of the present invention in FIG. 1 is realized by hardware resources of a computer as shown in FIG. 3, for example.
  • the CPU 100 has a bus 101 with a RAM 102, a hard disk controller (software) 104, a floppy disk driver (software) 110, and a CD-ROM.
  • Driver (software) 114, mouse controller 118, keyboard controller 122, display controller 126, communication port 130 are connected.
  • the hard disk controller 104 connects the hard disk drive 106 to the electronic circuit of the present invention.
  • the application program that executes the design is spoken.
  • a floppy disk drive (hardware) 112 is connected to the floppy disk driver 110, which can read from and write to a floppy disk (R).
  • a CD drive (hardware) 116 is connected to the CD-ROM driver 114 so that data and programs stored in the CD can be read.
  • the mouse controller 118 communicates the input operation of the mouse 120 to the CPU 100.
  • the keyboard controller 122 transmits the input operation of the keyboard 124 to the CPU 100.
  • the display controller 1 26 performs display on the display section 1 28.
  • the communication board 130 uses a communication line 132 including wireless, and communicates with other users and servers via a network such as the Internet.
  • FIG. 4 is a block diagram of a functional configuration of the cell size optimizing unit 18 of the present invention provided in the electronic circuit design system of FIG.
  • the cell size optimizing unit 18 includes input units 3 and 6, a cell searching unit 38, and a cell replacing unit 40.
  • the input unit 36 inputs slack information obtained from the timing verification result in the electronic circuit design.
  • the cell search unit 38 focuses on the slack information at the pins of the cells on the path that does not satisfy the timing constraint, and even if cells are exchanged to improve timing, other paths that pass through the exchanged cells may have timing errors.
  • the cell is searched as a replacement candidate, provided that it does not wake up.
  • the cell replacement unit 40 replaces the cell searched as a replacement candidate with a cell satisfying the timing constraint.
  • the cell replacement section 40 is provided with a cell parameter overnight library 24 and a cell replacement information file 22 in order to perform a provisional delay calculation for a cell replacement candidate.
  • cell replacement for eliminating a hold time error and cell replacement for eliminating a setup time error are performed using slack information. .
  • step S7 the current timing verification of the already processed electronic circuit design is performed, and the slack of each pin in the cell is determined. Information (margin value in timing verification) is required.
  • the slack information referred to here is calculated based on the MAX delay in the setup time check, and calculated based on the MIN delay in the hold time check. In both cases, the slack value has a positive value when there is room. .
  • each slack information in the setup time check and the hold time check will be described.
  • Figure 5 shows an example of a basic circuit generated by electronic circuit design, in which DFF 30, 32 cells are connected in two stages.
  • the delay time of the net from the clock terminal CK1 to the clock input terminal CK in the preceding DFF 30 is Tc1
  • the delay time of the net between the input D of the preceding DFF 30 and the subsequent input D is Suppose that the delay time from the clock terminal CK2 to the clock input terminal CK in the subsequent DFF 32 is Tc2.
  • Tc2 the delay time from the clock terminal CK2 to the clock input terminal CK in the subsequent DFF 32
  • Tc2 the delay time from the clock terminal CK2 to the clock input terminal CK in the subsequent DFF 32
  • the signal change with respect to the input D of the DFF 32 at the latter stage of FIG. 6C has a delay time Td from the rise of the clock CK1.
  • the clock CK 2 in FIG. 6D is input to the clock terminal CK of the DFF 32 with a delay time Tc 2.
  • the setup time T setup of the clock CK2 in Fig. 6 (D) is defined as the time for preparing data for the clock edge, and when the setup time T setup is shorter than this, When data arrives, DFF 32 will not work.
  • the circuit in Fig. 5 operates normally without generating a setup error. From the conditions in Fig.
  • FIG. 7 is a time chart showing the time for the hold time check in the circuit of FIG. 5, and FIG. The waveform in D) is the same as in Figs. 6 (A) to 6 (D).
  • the hold time Thold is set for the clock CK2 with respect to the rising edge of the clock at the clock input terminal CK of DFF 32.
  • the hold time Thold is a time for holding data with respect to a clock edge. In this hold time check, if the condition as shown in Fig.
  • the setup slack value sX is shown above the output lines of cells A to H, and the hold slack value sn is shown below the output lines. Further, an end point 50 indicates a set-up constraint value and a hold constraint value in this circuit. This set-up constraint value is calculated based on the MAX delay as shown in the timing chart of FIG. The hold constraint value is calculated based on the MIN delay as shown in the timing chart of FIG. In this example, the setup constraint value is 12 and the hold constraint value is 8.
  • Each numerical value in FIG. 8 has a unit of time, for example, a unit of microsecond. In the circuit of Fig. 8, the following three paths are provided between the starting point 48 and the ending point 50.
  • the path 2 is the MAX path and the path delay is 10
  • the path 3 is the MIN path and the path delay is 7.
  • FIG. 9 is an explanatory diagram of a calculation procedure of the setup slack s X in FIG. This setup slack s X is calculated by the following equation.
  • cells A to H in FIG. 9 show numerical values of the parameters shown in box 54 at the lower left. That is, the cells A to H show the cell name X and the cell delay d, the setup slack s X is shown above the cell output line, and the integrated delay from the starting point 48 is shown below the output line. Is shown.
  • the setup slack for determining the setup error due to the delay over, the path 2 indicated by the arrow 56 at which the path delay becomes the maximum becomes a problem. Therefore, a specific example of the setup slack calculation for cells A, C, F, G, and H that make up path 2 is as follows. It is easier to calculate the setup slack from the end point 50 side. Focusing on cell H now,
  • setup slack can be calculated for the remaining cells B, E, and D.
  • FIG. 10 is an explanatory diagram of the calculation procedure of the hold slack in the circuit of FIG.
  • the hold slack has a margin when it is larger than the hold constraint value, so the calculation is opposite to the setup slack. That is, the hold slack is calculated by the following equation.
  • Hx (Start point integration delay) 1 Hold constraint value) 1 (End point integration delay) ⁇
  • the set-up slack information calculated based on the MAX delay in the setup time check and the hold slack information calculated based on the MIN delay in the hold time check are input as described above. If this is the case, improve the timing by switching cells for the path that has a hold time error. For a path with a hold time error, the timing can be improved by increasing the delay time of the path. In other words, cells existing in the path where a hold time error has occurred have a large delay time. By replacing the cell with a new one, the hold time error can be eliminated. In this case, when a cell is replaced, the delay of another route passing through the replaced cell changes.
  • an optimum replacement cell that does not cause a new evening error is obtained by replacing the cell using slack information of the cell. Specifically, for the pins of cells that are present in the path where a hold time error has occurred, check the setup slack determined by the setup time check, and check that this set-up slack is a positive value equal to or greater than the specified value. Are replaced.
  • the hold time error caused by insufficient delay is improved.
  • the setup time check on the other hand, the timing constraint becomes stricter due to the increase in the delay time.However, in the setup time check, cells that originally had a margin, that is, cells with a positive slack value in the setup time check, are targeted. Therefore, even if the delay time increases due to cell exchange, there is no setup time error due to over-delay.
  • path 1 (A, B, E, G, H), path 2 (A, C, F, G, H), and path 3 (A, D, G, H) in FIG. 8
  • the path delay is the smallest.
  • FIGS. 11 and 12 are flowcharts showing the procedure of the cell size optimizing process by the cell size optimizing unit 18 in FIG. 4.
  • the flowchart shows a program for the cell size optimizing process according to the present invention. It is shown at the same time.
  • step S1 the hold slack value and the setup slack value of all nets are measured and saved in a file.
  • steps S2 to S7 a cell size optimization process for improving the hold time error is performed. That is, a path is selected in step S2 to calculate a delay time, and in step S3, the path delay time is compared with a hold constraint value to determine a hold time error. Path delay time If the value is less than the hold constraint value, a hold time error occurs.
  • step S4 a cell having the minimum hold slack value and the maximum set-up slack value is determined as a temporary candidate.
  • step S5 a temporary delay calculation is performed without actually performing cell exchange. That is, the delay parameter of the cell having a larger delay time is obtained from the cell parameter library 24 for the temporary candidate cell, and the delay of the cell is changed. Find the total delay. Subsequently, based on the result of the delay provisional calculation, it is checked in step S6 whether the hold time error has been eliminated, the setup time error has not occurred, and the timing constraint has been satisfied. If the timing constraint is satisfied in step S6, the provisional candidate determined in step S4 is determined as a candidate cell for increasing the delay time in step S7. If the timing constraint condition is not satisfied in step S6, the processing from step S2 is repeated until the end of all paths is determined in step S13.
  • step S6 If the timing constraint condition is not satisfied in step S6, the delay time of the temporary candidate cell is further increased and a temporary delay calculation is performed in step S5 to meet the timing constraint. In such a case, a candidate cell for increasing the delay time is determined in step S7.
  • step S8 the cell size optimizing process for improving the setup time error in steps S8 to S12 in FIG. 12 is performed. That is, in step S8, the path delay time is compared with the setup constraint value. If the setup constraint value is exceeded, a setup time error is determined, and the process proceeds to step S9.
  • step S9 a cell having a minimum setup slack value and a maximum hold slack value is determined as a tentative candidate for cells existing on a path where a setup time error has occurred.
  • step S10 the parameter of the temporary candidate cell having a small delay time is obtained by referring to the cell parameter library 24, and the delay temporary calculation is performed.
  • step S11 it is determined whether or not the total delay based on the delay provisional calculation satisfies both timing constraints based on the set-up constraint value. If the timing constraint is satisfied, the delay time is reduced in step S12. Determine as a candidate cell. If the timing constraints are not satisfied in step S11, the process returns to step S2 until all paths are completed in step S13, and the next Similar processing is repeated for the path. If the timing constraint is not satisfied in step S11, the process returns to step S10, and the parameter is temporarily changed to a parameter with a smaller delay time of the temporary candidate cell, and delay temporary calculation is performed to satisfy the timing constraint. The process of judging whether or not may be repeated.
  • FIG. 13 is a block diagram of a functional configuration of the net thickening unit 20 of FIG.
  • the net thickening unit 20 includes an input unit 42, a net search unit 44, and a thickening unit 46.
  • the input unit 42 inputs the slack value of the hold time obtained from the timing verification result in the electronic circuit design.
  • the net search unit 44 has a pin having a positive slack value among the nets on the path where the setup time error occurs due to the delay over, and the net satisfying the specified condition is set as a thick line candidate. Search for.
  • the two are set.
  • the bolding section 46 replaces the wiring of the net searched as a bolding candidate by the net search section 44 with a bold line in order to reduce the delay time.
  • the improvement of the setup time error in the thickening of the net shown in FIG. 13 is intended to reduce the delay time by thickening the net having a positive hold slack in the path in which the setup time error has occurred.
  • the timing improvement was performed to increase the delay time by thickening the nets with positive hold slack by targeting the nets, many nets that were not very effective as a whole path were targeted for improvement, and as a result, the routing channel Insufficient driver performance, and the increase in wiring capacitance due to the use of thick lines with the intention of reducing delay may make it impossible to properly improve timing with a driver with a small driving capability.
  • FIGS. 14 and 15 are flowcharts showing the procedure of the net thickening process by the net thickening unit in FIG. 13. This flowchart simultaneously shows the program of the net thickening process.
  • step S1 the hold slack value and setup slack value of all nets are calculated and saved in a file.
  • step S2 a path is selected, and the delay time, that is, the total delay of the path is calculated. Subsequently, in step S3, the path delay time is compared with the setup constraint value. If the setup delay value is exceeded, it is determined that a setup time error has occurred, and in step S4, the error is stored in a file as an error pass. Such an error pass determination in steps S2 to S4 is repeated in step S5 until all passes are completed. Next, one error path stored in the file is selected in step S6, one net on the error path is selected in step S7, and the hold slack value of the net is positive in step S8. Check if.
  • step S9 If it is positive, it is checked in step S9 whether the net wiring length is larger than a predetermined value Ln, and if it is larger, it is checked in step S10 whether the driver driving capability is not less than a predetermined value Dn. If the driver driving capacity is equal to or greater than the predetermined value Dn, a duplicate check is performed in step S11 to determine whether or not the same net that has already been processed exists. To decide.
  • step S13 in FIG. 15 the process proceeds to step S13 in FIG. 15 to obtain the values of the wiring capacitance C and the wiring resistance R according to the assumed wiring thickness from the thick line net information file 26, and to obtain the thickened values of the temporary candidate net. Change and perform delay tentative calculation.
  • the timing state after the thickening of the net can be analyzed without returning to the wiring process and actually performing the wiring in order to perform the thickening.
  • step S14 a setup time check is performed on the total delay of the path after thickening the net obtained from the temporary delay calculation, and in step S15, the total delay of the path is determined to be less than the hold constraint value. Check that the setup time error has been resolved.
  • step S16 If the setup time error has been eliminated, the current tentative candidate is determined as a thick line candidate net in step S16. If the setup time error has not been resolved, the provisional candidate is discarded, and it is checked in step S17 whether all nets on the path have been completed. After that, the process returns to step S7 in FIG. The same processing is repeated for the net. In step S17 in Fig. 15, all If all the nets have been processed, it is checked in step S18 whether all the paths have been processed.If not, the process returns to step S6 in Fig. 14 and selects the next error path. Then, the same processing is repeated. When the processing is completed for all error paths in step S18, net thickening processing is performed on the candidate nets determined in step S19. The net thickening process is actually performed through the processes of logic design, cell placement, wiring, timing analysis, and timing analysis result analysis in steps S9 to S14 as shown in the flowchart of FIG.
  • FIGS. 16 and 17 are flowcharts showing another embodiment of the net thickening process according to the present invention.
  • the basic configuration is the same as that of the net thickening unit 20 in FIG. 12, but is composed of the input unit 42, the net search unit 44, and the thickening unit 46.
  • the conditions for narrowing the net to be thickened in Part 4 are different. That is, in this embodiment, a predetermined number of worst paths in the upper order are selected from the worst paths for which the setup time error has been determined, and the net thickening process is performed. As a condition for narrowing down birds
  • step S1 the hold slack value and set-up slack value of all nets are calculated and saved in a file.
  • step S2 a path is selected and a delay time, that is, a total delay of the path is calculated.
  • Step S 3 Judge the setup time error by comparing the path delay time with the setup constraint value. When a set-up time error is determined, this is stored in a file as a past path in step S4. The processing of steps S2 to S4 is repeated until all the paths are completed in step S5.
  • step S5 one worst path is selected from the worst paths stored in the file in step S6 in the order of the difference in path delay time with respect to the setup constraint value.
  • step S7 one net on the worst path selected in step S7 is selected. If the net length is larger than the predetermined value Ln in step S8, the process proceeds to step S9.
  • step S10 If the driver driving ability is larger than the predetermined value Dn, the process proceeds to step S10.
  • step S11 if the net delay is larger than the predetermined value Tn, the process proceeds to step S11.
  • step S12 if the receiver-side waveform bluntness is greater than a predetermined value (T sin) n, the process proceeds to step S12.
  • the fan-out number is equal to or greater than the predetermined value Fn, the bolding is regarded as a net, and in step S13, it is checked whether or not the same net is targeted. Register as a net.
  • step S17 the wiring capacity C and the wiring resistance R based on the wiring thickness assumed for the tentative candidate net from the thick line net information 24 in the thick line net information 24 are obtained from the thick line net information file 26, and the thick line is formed. After that, the delay is calculated temporarily.
  • step S16 a setup time check using the result of the delay provisional calculation is performed, and if the setup time error is eliminated in step S17, the provisional candidate is changed to a thick candidate net in step S18. To decide. Subsequently, the process returns to step S7 in FIG. 16 and the same processing is repeated until all nets on the path are completed in step S19.
  • step S20 When all nets on the path have been completed in step S19, it is checked in step S20 whether a predetermined number of upper worst paths have been completed, and if not completed, the process proceeds to step S6 in Fig. 16. Return The next worst path is selected, and the same processing is repeated. If it is determined in step S20 that a predetermined number of upper worst paths have been completed, the flow advances to step S21 to bold the determined candidate net. This net thickening is actually processed through the logic design, cell placement, wiring, timing analysis, and timing analysis result analysis shown in steps S9 to S13 as shown in the flowchart of FIG.
  • step S8 one of the cell optimization processing and the thickening processing may be performed.
  • the present invention is not limited to the above embodiments, but includes appropriate modifications without impairing the objects and advantages thereof. Further, the present invention is not limited by the numerical values shown in the above embodiments.
  • a hold time error as a racing error or a setup error as an over-delay error is obtained.
  • the timing error is efficiently eliminated because the optimum cell is selected and replaced so that the improvement of the timing error in the cell exchange does not cause the timing error on another path. be able to.
  • setup time error that causes over-delay error is reduced by reducing the delay time for thickening the net wiring. At that time, the thickest line is used for the net with the minimum necessary and most effective effect. Timing errors can be eliminated by thickening the net without causing shortage of the wiring channel.
  • the timing error is eliminated by the delay calculation using the improved cell and net parameters without actually performing cell exchange or net thickening. Actual cell replacement after verifying whether or not the network is thickened, the repetition of cell replacement, net thickening and timing verification is minimized, and processing time is reduced. Can be shortened.

Abstract

It is possible to improve the electronic circuit design timing after cell arrangement and wiring are complete. Firstly, slack information indicating a delay shortage and delay over obtained from the timing verification result in the electronic circuit design is input. Next, attention is paid on the slack information on a pin of a cell on a route not satisfying the timing constrain and search is made for an object candidate, i.e., such a cell that after replacement of the cell, another route passing through the replacing cell will not cause a timing error. The cell searched as the object candidate is replaced by a cell satisfying the timing constrain, thereby eliminating the timing error. Furthermore, nets on the error path are narrowed down by a plurality of specification conditions and are searched as a candidate, thereby thickening the line and improving the timing.

Description

電子回路設計のタイミング改善方法、 プログラム及び装置 技術分野 Method and program for improving timing of electronic circuit design
本発明は、 コンピュータ支援により自動設計された L S Iや V L S Iの電子回 路設計のタイミング改善方法、 プログラム及び装置に関し、 特に、 論理設計、 セ ル配置及び配線処理の済んだ電子回明路設計に対しタイミングエラーをチェックし て改善する電子回路設計のタイミング改細 1善方法、 プログラム及び装置に関する。 書  The present invention relates to a method, a program, and an apparatus for improving timing of an electronic circuit design of an LSI or VLSI automatically designed by computer assistance, and particularly to an electronic circuit design that has been subjected to logic design, cell arrangement and wiring processing. The present invention relates to a method, a program, and a device for improving timing of electronic circuit design for checking and improving timing errors. book
背景技術 Background art
従来、 L S Iや V L S Iのコンピュータ支援による自動電子回路設計にあって は、 論理設計、 セル配置及び配線処理が済んだ段階で、 自動作成された電子回路 設計のタイミング解析を行い、 解析結果を分析している。  Conventionally, in automatic electronic circuit design with LSI or VLSI computer assistance, timing analysis of the automatically created electronic circuit design is performed after the logic design, cell placement, and wiring processing are completed, and the analysis results are analyzed. ing.
このタイミング解析結果の分析にあっては、 タイミング条件を満たしていない 経路、 例えばレーシングエラーもしくはオーバ一ディレイエラーを起こしている 経路が見つかった場合、 その経路上に存在するセルの中のエラー原因となってい るセルを特定し、 タイミング条件を満たすようセルを交換する必要がある。 しかしながら、 従来のタイミング解析結果の分析にあっては、 タイミング条件 を満たしていない経路上に存在するセルを特定することはできるが、 その経路上 のどのセルを交換すればタイミングを改善できるかがわからないという問題があ る。 このためタイミング条件を満たしていない経路上のセルを無作為に選択して 交換することになるが、 交換したセルを通過する別の経路がタイミングエラーを 起こすことがあり、 回路全体のタイミング制約を満たすまでに何回もセル交換と タイミング解析の試行を繰り返す必要があり、 タイミング改善の処理負担が大き く時間もかかる問題があった。 発明の開示  In analyzing the timing analysis results, if a path that does not satisfy the timing conditions, for example, a path that causes a racing error or an over-delay error, is found, the error cause in the cells existing on the path is determined. It is necessary to identify the defective cell and replace the cell to meet the timing requirements. However, in the analysis of the conventional timing analysis results, it is possible to identify the cells existing on the path that does not satisfy the timing conditions, but it is necessary to determine which cell on the path can be replaced to improve the timing. There is a problem of not knowing. For this reason, cells on a path that does not satisfy the timing conditions are randomly selected and exchanged.However, another path passing through the exchanged cell may cause a timing error, and the timing constraint of the entire circuit may be reduced. It was necessary to repeat the trials of cell exchange and timing analysis many times to satisfy this, and there was a problem that the processing load of timing improvement was large and time-consuming. Disclosure of the invention
本発明は、 タイミング検証の結果として得られるセルのスラック情報を利用し て夕イミング条件を満たしていないセルゃネットを特定して変更することで効率 良く夕イミングエラーを解消可能なタイミング改善方法、 プログラム及び装置を 提供することを目的とする。 The present invention utilizes the slack information of cells obtained as a result of timing verification. It is an object of the present invention to provide a timing improvement method, a program, and a device capable of efficiently eliminating a evening-imaging error by specifying and changing a cell / net that does not satisfy the evening-imaging condition.
(セル最適化)  (Cell optimization)
本発明は、 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミン グ改善方法に於いて、  The present invention relates to a method for improving timing of an electronic circuit design after logic design, cell placement, and wiring processing.
入力部により、 電子回路設計におけるタイミング検証結果から得られたスラッ ク情報を入力する入力ステップと、  An input step of inputting slack information obtained from a timing verification result in an electronic circuit design by an input unit;
セル検索部により、 夕イミング制約を満たさない経路上のセルのピンにおける スラック情報に着目し、 タイミング改善のためにセルを交換しても、 交換したセ ルを通る他の経路が夕イミングエラ一を起さないセルを交換候補として検索する セル検索ステップと、 '  The cell search unit focuses on the slack information at the pins of the cells on the path that does not satisfy the evening-imaging constraint. A cell search step to search for cells that do not occur as replacement candidates;
セル置換部により、 交換候補として検索されたセルをタイミング制約を満たす セルに置き換えるセル置換ステップと、  A cell replacement unit that replaces a cell searched as a replacement candidate with a cell that satisfies a timing constraint,
を備えたことを特徴とする。 It is characterized by having.
このように本発明は、 タイミング制約を満たさない経路上のセルのピンのスラ ック情報に着目してセルを置き換えることで、 セルの置き換えによって最初に着 目したタイミング制約を満たさない経路のタイミングエラーが改善され、 且つ置 き換えたセルを通る他の経路についてもタイミングエラーを起こすことがなく、 電子回路設計の最終段階でのタイミングエラーを効率よく改善することができる。  As described above, the present invention focuses on the slack information of the pins of the cells on the path that does not satisfy the timing constraint, and replaces the cell. The error is improved, and a timing error does not occur in another path through the replaced cell, so that the timing error in the final stage of electronic circuit design can be efficiently improved.
ここでレーシングエラーに含まれるホールドタイムエラーを改善するセル最適 化のため、  Here, for cell optimization to improve the hold time error included in the racing error,
入力ステップは、 電子回路設計におけるタイミング検証結果から得られたセッ トアツプタイムチェックの余裕値であるスラック値と、 ホールドタイムチェック の余裕値であるスラック値を入力し、  In the input step, input the slack value, which is the margin value of the setup time check, obtained from the timing verification result in the electronic circuit design, and the slack value, which is the margin value of the hold time check,
セル検索ステップは、 遅延不足によるホールドタイムエラーを起こしている経 路について、 全てのピンのセットアップタイムチェックのスラック値が所定値以 上の正の値を持つセルを交換候補として検索し、  In the cell search step, for a path in which a hold time error has occurred due to insufficient delay, a cell having a positive slack value of a setup time check of all pins that is equal to or greater than a predetermined value is searched for as a replacement candidate.
セル交換ステップは、 交換候補として検索されたセルを遅延時間の大きなセル に置き換える。 In the cell switching step, cells searched as replacement candidates are replaced with cells having a large delay time. Replace with
またオーバーディレイエラーに含まれるセットアップタイムエラーを改善する セル最適化のため、  In addition, for cell optimization to improve setup time errors included in overdelay errors,
入力ステップは、 セットアップタイムチェックの余裕値であるスラック値と、 ホールドタイムチェックの余裕値であるスラック値を入力し、  In the input step, enter the slack value, which is the margin value for the setup time check, and the slack value, which is the margin value for the hold time check.
セル検索ステップは、 遅延オーバ一によるセットアップタイムエラ一を起こし ている経路について、 全てのピンのホールドタイムチエツクのスラック値が所定 値以上の正の値を持つセルを交換候補として検索し、  In the cell search step, a cell having a positive slack value of the hold time check of all pins that is equal to or greater than a predetermined value is searched as a replacement candidate for a path that causes a setup time error due to delay over,
セル交換ステップは、 交換候補として検索されたセルを遅延時間の小さなセル に置き換えることを特徴とする。  The cell switching step is characterized in that cells searched as replacement candidates are replaced with cells having a small delay time.
またネット検索ステップは、 交換候補として検索されたセルの遅延パラメータ を交換後のセルの値に変更した後にネットディレイを仮計算してタイミングエラ 一を判定し、 タイミングエラーを起こさない場合に交換候補に決定する。  In addition, the net search step determines the timing error by temporarily calculating the net delay after changing the delay parameter of the cell searched as an exchange candidate to the value of the cell after the exchange, and if no timing error occurs, the exchange candidate is determined. To decide.
このように候補として検索されたセルに対し検証を繰り返すことで、 最も必要 とされる回路のみを改善することが可能となる。 またセル置き換えの検証を、 論 理が同じで遅延の異なるセルパラメ一夕のライブラリを用意することで、 実際に セルを置き換えることなくディレイ計算を可能とし、 同時に出力される変更マク , 口情報を基に、 最終的に論理変更、 セル配置及び配線処理を行う。  By repeating the verification for cells searched as candidates in this way, it is possible to improve only the circuits that are most needed. In addition, by preparing a library of cell parameters with the same logic and different delays for cell replacement verification, delay calculation can be performed without actually replacing cells, and based on the change mac and mouth information output simultaneously. Finally, logic change, cell placement and wiring processing are performed.
(ネット太線化その 1 )  (Net thickening part 1)
本発明は、 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミン グ改善方法に於いて、  The present invention relates to a method for improving timing of an electronic circuit design after logic design, cell placement, and wiring processing.
入力部により、 電子回路設計におけるタイミング検証結果から得られたホール ドタイムチェックの余裕値であるスラック値を入力する入力ステップと、 ネット検索部により、 遅延ォ一バーによるセットアップタイムエラーを起こし ているパス上のネットの中から、 スラック値が正となるピンをもち且つ所定の指 定条件を満たすネットを太線化候補として検索するネット検索ステップと、 太線化部により、 太線化候補として検索されたネットの配線を遅延時間の小さ い太線に置き換える太線化ステップと、  The input section inputs the slack value, which is the margin value of the hold time check obtained from the timing verification result in the electronic circuit design, and the net search section causes a setup time error due to delay overlap A net search step of searching nets having pins with positive slack values and satisfying a predetermined condition from among nets on the path as thickening candidates; and searching by the thickening unit as thickening candidates. A bolding step to replace the net routing with a bold line with a small delay time;
を備えたことを特徴とする。 ここでネット検索ステップは、 指定条件を満たすネットとして、 ネット配線長 とドライバ駆動能力が指定された値以上のネットを太線化候補として検索する。 このように遅延ォ一バ一となるセットアップタイムエラ一をネットの太線化に よる遅延削減で改善する場合、 本発明によれば、 ネットの配線長及びドライバ駆 動能力により対象ネットを制限することにより、 パス全体としてみた時にあまり 効果的でないネットを数多く対象とし、結果的に配線チャネルの不足を招いたり、 太線化に伴う配線容量の増加により駆動能力の小さドライバでは結果としてディ レイが増加してしまう不都合を解消することが可能となる。 It is characterized by having. Here, in the net search step, nets whose net wiring length and driver driving capability are equal to or greater than the specified values are searched as nets satisfying the specified conditions as thick line candidates. According to the present invention, in order to improve the setup time error resulting in delay overlap by reducing the delay by thickening the net, according to the present invention, the target net is limited by the wiring length of the net and the driving capability of the driver. As a result, many nets that are not very effective when viewed as a whole path are targeted, resulting in a shortage of wiring channels, and an increase in wiring capacity due to the thicker wiring, resulting in an increase in delay for drivers with small driving capacity. It is possible to eliminate the inconvenience that occurs.
またネット検索ステップは、 太線化候補として検索したネッ卜の線路容量と線 路抵抗を太線化した値に変更した後にネットディレイを仮計算してセットアップ タイムエラーを判定し、 エラ一を解消可能なネットを太線化候補に決定する。 こ のように候補として検索されたネッ卜に対し検証を繰り返すことで、 最も必要と されるネットのみを改善することが可能となる。またネット太線化の検証として、 候補となったネットの配線抵抗と配線容量を太線化した値に変更することで、 実 際にネットを太線化することなくディレイ計算を可能し、 同時に出力される太線 化ネット情報と基に、 最終的に論理変更、 セル配置及び配線処理を行う。  In the net search step, the line capacitance and the line resistance of the nets searched as candidates for thickening are changed to the thickened values, then the net delay is temporarily calculated to determine the setup time error, and errors can be eliminated. The net is determined as a thick line candidate. By repeating the verification on the nets searched as candidates in this way, it is possible to improve only the nets that are most needed. In addition, as a verification of net thickening, by changing the wiring resistance and wiring capacitance of candidate nets to values with thicker lines, delay calculation can be performed without actually thickening the nets and output at the same time Finally, based on the bold net information, logic change, cell placement and wiring processing are performed.
(ネット太線化その 2 ) ,  (Net thickening 2),
本発明は、 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミン グ改善方法に於いて、  The present invention relates to a method for improving timing of an electronic circuit design after logic design, cell placement, and wiring processing.
入力部により、 電子回路設計におけるタイミング検証結果から得られたホール ドタイムチェックの余裕値であるスラック値を入力する入力ステップと、  An input step of inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in an electronic circuit design by an input unit;
ネット検索部により、 遅延オーバーによるセットアップタイムエラーを起こし ているパス上の全てのネットの中から、 所定の指定条件を満たすネットを太線化 候補として検索するネット検索ステップと、  A net search step of searching a net satisfying a predetermined condition as a bold line candidate from all nets on the path where a setup time error due to delay over has occurred by a net search unit;
太線化部により、 太線化候補として検索されたネットの配線を遅延時間の小さ い太線に置き換える太線化ステップと、  A bolding step in which the bolding unit replaces the wiring of the net searched as a bolding candidate with a bold line having a small delay time;
を備えたことを特徴とする。 It is characterized by having.
ここで、 ネット検索ステップは、 セットアップタイムエラ一を起こしているネ ッ卜の中から、 ネット配線長、 ドライバ駆動能力、 ネットディレイ、 レシーバ側の波形鈍り及び ファンァゥト数が指定された値より大きいネットを太線化候補として検索する。 このためタイミングエラーを起こしているパスの中から、 配線長、 ドライバ駆動 能力、 ネットディレイ、 レシーバ側の波形鈍り及びファンァゥト数の指定条件に より、 選択されたエラーパス内で最も改善の効果が期待できるネットを 1つ決定 することが可能となる。 Here, the net search step is performed from the nets that cause setup time errors. Search for nets whose net wiring length, driver driving capacity, net delay, waveform dullness on the receiver side, and fan count are larger than the specified values as thickening candidates. For this reason, among the paths causing timing errors, the effect of improvement is expected in the selected error path by the specified conditions of the wiring length, driver driving capability, net delay, waveform dullness on the receiver side, and the number of fan bits One possible net can be determined.
またネット検索ステップは、 セットアップタイムエラーを起こしているネット の中から、 遅延時間の大きな上位のワーストパスを所定数選択して太線化候補の 検索を繰り返す。 このため改善効果の大きなパスからネットの太線化を行うこと で、 必要最小限のネットの太線化でタイミングエラーが改善できる。  In the net search step, a predetermined number of high-order worst paths having a large delay time are selected from nets in which a setup time error has occurred, and the search for a thick line candidate is repeated. For this reason, by thickening the net from the path where the improvement effect is large, the timing error can be improved with the necessary minimum net thickening.
(プログラム)  (Program)
本発明は、 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミン グを改善するプログラムを提供する。  The present invention provides a program for improving the timing of electronic circuit design after logic design, cell placement, and wiring processing.
まずセル最適化により夕イミングを改善する本発明のプログラムは、 コンビュ 一夕に、  First of all, the program of the present invention that improves evening imaging by cell optimization
電子回路設計におけるタイミング検証結果から得られたスラック情報を入力す る入力ステップと、  An input step of inputting slack information obtained from a timing verification result in an electronic circuit design;
タイミング制約を満たさない経路上のセルのピンにおけるスラック情報に着目 し、 タイミング改善のためにセルを交換しても、 交換したセルを通る他の経路が タイミングエラーを起さないセルを交換候補として検索するセル検索ステップと、 交換候補として検索されたセルをタイミング制約を満たすセルに置き換えるセ ル置換ステップと、  Focusing on slack information at the pins of the cells on the path that does not satisfy the timing constraints, cells that do not cause timing errors on other paths that pass through the replaced cell even if cells are replaced to improve timing are considered as replacement candidates. A cell search step for searching; a cell replacement step for replacing cells searched as replacement candidates with cells satisfying timing constraints;
とを実行させる。 And execute.
またネット太線化によりタイミングを改善する本発明のプログラムは、 コンビ ユー夕に、  Also, the program of the present invention that improves the timing by thickening the net
電子回路設計におけるタイミング検証結果から得られたホールドタイムチエツ クの余裕値であるスラック値を入力する入力ステップと、  An input step of inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in an electronic circuit design;
遅延オーバーによるセットアップタイムエラ一を起こしているパス上のネット の中から、 前記スラック値が正となるピンをもち且つ所定の指定条件を満たすネ ットを太線化候補として検索するネット検索ステップと、 Of the nets on the path where the setup time error occurs due to the delay over, the net having the pin whose slack value is positive and satisfying the specified condition is specified. A net search step of searching for a set as a thick line candidate,
太線化候補として検索されたネットの配線を遅延時間の小さい太線に置き換え る太線化ステップと、  A bolding step of replacing the wiring of the net searched as a bolding candidate with a bold line having a small delay time;
を実行させる。 Is executed.
またネット太線化により夕イミングを改善する他の形態となる本発明のプログ ラムは、 コンピュータに、  In addition, the program of the present invention, which is another form of improving evening imitation by thickening the net, has a computer
電子回路設計におけるタイミング検証結果から得られたホールドタイムチエツ クの余裕値であるスラック値を入力する入力ステップと、  An input step of inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in an electronic circuit design;
遅延オーバーによるセットアップタイムエラーを起こしているパス上の全ての ネットの中から、 所定の指定条件を満たすネットを太線化候補として検索するネ ット検索ステップと、  A net search step of searching, as a bold line candidate, a net satisfying a predetermined condition from all nets on the path where a setup time error due to delay over has occurred;
太線化候補として検索されたネットの配線を遅延時間の小さい太線に置き換え る太線化ステップと、  A bolding step of replacing the wiring of the net searched as a bolding candidate with a bold line having a small delay time;
を実行させることを特徴とする。 なお、 本発明のプログラムの詳細はタイミング 改善方法と基本的に同じになる。 Is executed. The details of the program of the present invention are basically the same as those of the timing improvement method.
(装置)  (Equipment)
本発明は、 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミン グを改善するための装置を提供する。  The present invention provides an apparatus for improving the timing of electronic circuit design after logic design, cell placement, and wiring processing.
まずセル最適化により夕イミングを改善する本発明の装置は、 電子回路設計に おけるタイミング検証結果から得られたスラック情報を入力する入力部と、 タイ ミング制約を満たさない経路上のセルのピンにおけるスラック情報に着目し、 夕 ィミング改善のためにセルを交換しても、 交換したセルを通る他の経路がタイミ ングエラーを起さないセルを置き換え候補として検索するセル検索部と、 置き換 え候補として検索されたセルをタイミング制約を満たすセルに置き換えるセル置 換部とを備えたことを特徴とする。  First, the device of the present invention, which improves evening timing by cell optimization, comprises an input unit for inputting slack information obtained from a timing verification result in an electronic circuit design, and a pin at a cell pin on a path that does not satisfy timing constraints. Focusing on slack information, even if cells are exchanged to improve evening, a cell search unit that searches for cells that do not cause timing errors on other routes through the exchanged cells as replacement candidates, and a replacement candidate And a cell replacement unit that replaces the searched cell with a cell satisfying the timing constraint.
またネット太線化により夕イミングを改善する本発明の装置は、 電子回路設計 におけるタイミング検証結果から得られたホールドタイムチェックの余裕値であ るスラック値を入力する入力部と、 遅延ォ一バーによるセットアップタイムエラ 一を起こしているパス上のネットの中から、 スラック値が正となるピンをもち且 つ所定の指定条件を満たすネットを太線化候補として検索するネット検索部と、 太線化候補として検索されたネットの配線を遅延時間の小さい太線に置き換える 太線化部とを備えたことを特徴とする。 In addition, the device of the present invention for improving evening imaging by thickening the net has an input unit for inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in an electronic circuit design, and a delay overlap. Among the nets on the path that causes the setup time error, there is a pin whose slack value is positive and A net search unit that searches for a net satisfying one specified condition as a thick line candidate, and a thick line unit that replaces a wire of the net searched as a thick line candidate with a thick line having a small delay time. .
またネット太線化により夕イミングを改善する他の形態としての本発明の装置 は、 電子回路設計におけるタイミング検証結果から得られたホールドタイムチェ ックの余裕値であるスラック値を入力する入力部と、 遅延オーバ一によるセット アップタイムエラーを起こしているパス上の全てのネットの中から、 所定の指定 条件を満たすネットを太線化候補として検索するネット検索部と、 太線化候補と して検索されたネットの配線を遅延時間の小さい太線に置き換える太線化部とを 備えたことを特徴とする。  In addition, the apparatus of the present invention as another mode for improving evening imaging by thickening the net has an input unit for inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in electronic circuit design. From all nets on the path where a setup time error has occurred due to delay overrun, a net search unit that searches nets satisfying the specified conditions as thickening candidates and searches as net thickening candidates And a thick line replacing section for replacing the net wiring with a thick line having a small delay time.
なお、 本発明の装置の詳細はタイミング改善方法と基本的に同じになる。 図面の簡単な説明  The details of the device of the present invention are basically the same as those of the timing improvement method. BRIEF DESCRIPTION OF THE FIGURES
図 1は本発明の実施形態を示した機能構成のブロック図; FIG. 1 is a block diagram of a functional configuration showing an embodiment of the present invention;
図 2は本発明が適用される電子回路設計のフローチャート ; FIG. 2 is a flowchart of an electronic circuit design to which the present invention is applied;
図 3は図 1の実施形態が適用されるコンピュータのハ一ドウエア資源の説明図; 図 4は図 2のセルサイズ最適化部のプロック図; FIG. 3 is an explanatory diagram of hardware resources of a computer to which the embodiment of FIG. 1 is applied; FIG. 4 is a block diagram of a cell size optimizing unit of FIG. 2;
図 5は電子回路設計で生成される基本的なセルネットの回路図; Figure 5 is a schematic diagram of a basic cell net generated by electronic circuit design;
図 6は図 5の回路におけるセットアップタイムチェックの説明図; Figure 6 is an illustration of the setup time check in the circuit of Figure 5;
図 7は図 5の回路におけるホールドタイムチェックの説明図; Figure 7 is an explanatory diagram of the hold time check in the circuit of Figure 5;
図 8は図 4のセルサイズ最適化処理が適用される電子回路部とスラック値の説明 図; Fig. 8 is an illustration of the electronic circuit and the slack value to which the cell size optimization processing of Fig. 4 is applied;
図 9は図 8におけるセットアップスラック値の計算方法の説明図; Figure 9 is an illustration of the calculation method of setup slack value in Figure 8;
図 1 0は図 8におけるホールドスラック値の計算方法の説明図; FIG. 10 is an explanatory view of the calculation method of the hold slack value in FIG. 8;
図 1 1は本発明によるセルサイズ最適化処理のフローチャート ; FIG. 11 is a flowchart of the cell size optimizing process according to the present invention;
図 1 2は図 1 1に続くセルサイズ最適化処理のフロ一チヤ一ト ; FIG. 12 is a flowchart of the cell size optimization process following FIG. 11;
図 1 3は図 2のネット太線化部のブロック図; Figure 13 is a block diagram of the net thickening part in Figure 2;
図 1 4は本発明によるネット太線化処理のフローチャート ; FIG. 14 is a flowchart of the net thickening process according to the present invention;
図 1 5は図 1 4に続くネット太線化処理のフロ一チャート ; 図 1 6は本発明によるネット太線化処理の他の実施形態のフローチャート ; 図 1 7は図 1 6に続くネット太線化処理のフローチヤ一ト ; 発明を実施するための最良の形態 FIG. 15 is a flow chart of the net thickening process following FIG. 14; FIG. 16 is a flowchart of another embodiment of the net thickening process according to the present invention; FIG. 17 is a flowchart of the net thickening process following FIG. 16;
図 1は、 本発明のタイミング改善方法が適用される電子回路設計システムの機 能構成のブロック図である。 図 1において、 電子回路設計システムは、 論理設計 部 1 0、 セル配置部 1 1、 配線処理部 1 2、 夕イミング解析部 1 4及び夕イミン グ解析結果分析部 1 6を備えており、 これに加えて本発明にあっては更に、 セル サイズ最適化部 1 8とネット太線化部 2 0を新たに設けている。 セルサイズ最適 化部 1 8に対しては、 セルパラメ一夕ライブラリ 2 4とセル置き換え情報フアイ ル 2 2が設けられる。 またネット太線化部 2 0には、 太線ネット情報ファイル 2 6が設けられる。 更に論理設計部 1 0には、 作成の済んだ電子回路設計データを 格納する出力ファイル 2 8が設けられている。  FIG. 1 is a block diagram of a functional configuration of an electronic circuit design system to which the timing improvement method of the present invention is applied. In FIG. 1, the electronic circuit design system includes a logic design unit 10, a cell placement unit 11, a wiring processing unit 12, an evening analysis unit 14, and an evening analysis result analysis unit 16. In addition to the above, the present invention further includes a cell size optimizing unit 18 and a net thickening unit 20. For the cell size optimizing unit 18, a cell parameter library 24 and a cell replacement information file 22 are provided. The net thickening unit 20 is provided with a thick net information file 26. Further, the logic design unit 10 is provided with an output file 28 for storing the created electronic circuit design data.
図 2は、 図 1の電子回路設計システムにおける処理手順の概略的なフローチヤ —トである。 図 2において、 ステップ S 1で入力された設計情報に基づいた論理 設計が行われ、 ステップ S 2でセル配置が行われ、 更にステップ S 3で配線処理 が行われる。 このステップ S 1〜S 3が、 通常行われる電子回路設計の基本的な 処理である。 次にステップ S 4で、 作成された電子回路設計を対象にタイミング 解析を行った後、 ステップ S 5でタイミング解析結果の分析を行い、 レ一シング エラーやオーバーディレイエラーなどが生じた場合には、 ステップ S 6でセルの 配置調整に伴う処理の一環として、 本発明にあっては、 ステップ S 7でスラック ベースのセル最適化処理と、 ステップ S 8におけるワーストパス上のネッ卜の太 線化処理を行って、 タイミングエラーの改善を図る。 ステップ S 7における本発 明によるスラックベースのセル最適化処理は、 電子回路設計におけるタイミング の検証結果から得られたスラック情報を入力し、 夕イミング制約を満たさない経 路上のセルのピンにおけるスラック情報に着目し、 夕イミング改善のためにセル を交換しても、 交換したセルを通る他の経路がタイミングエラ一を起こさない場 合に、 このセルを交換候補として検索し、 交換候補として検索されたセルを、 夕 イミング制約を満たすセルに置き換える。 具体的に、 遅延不足となるホールド夕 ィムエラーを起こしている経路についてスラック情報に基づいて交換するセル候 補を検索し、 検索されたセルを遅延時間の大きなセルに置き換える。 また、 遅延 オーバーによるセットアップタイムエラーを起こしている経路について交換候補 としてのセルを検索し、 検索されたセルを遅延時間の小さなセルに置き換える。 一方、ステップ S 8におけるワーストパス上のネットの太線化処理にあっては、 電子回路設計におけるタイミング検証結果から得られたホールドタイムチェック の余裕値であるスラック値を入力し、 遅延オーバ一によるセットアップタイムェ ラ一を起こしているパス上のネットの中から、 遅延時間を小さくするための太線 化の対象となるネットを太線化候補として検索し、 検索されたネットの配線を遅 延時間の小さい太線に置き換える。 更に、 ステップ S 7, S 8におけるセル交換 及びネットの太線化にあっては、実際にセルを交換したりネットを太線化せずに、 セルのパラメ一夕の変更、 及びネッ卜の太線化に伴う容量と抵抗値の変更により ディレイ仮計算を行って、 セル交換及びネット太線化によりタイミングエラ一が 解消できるか否かチェックし、 タイミングエラ一が解消できる場合にセル交換あ るいは太線化の候補に決定している。 ステップ S 7, S 8において、 セルの交換 候補及びネットの太線化候補が決定されると、 セル変更マクロ情報と太線化ネッ ト情報に基づいて、 最終的にステップ S 9, S 1 0 , S 1 1で論理設計、 セル配 置及び配線処理を行い、 ステップ S 1 2でタイミング解析を行った後に、 ステツ プ S 1 3でタイミング解析結果を分析し、 ステップ S 1 4ディレイシングエラー もしくはオーバ一ディレイエラーが改善されてなくなっていれば、 一連の処理を 終了する。 万一、 ステップ S 1 4でタイミングエラーが判別された場合には、 再 びステップ S 6のセル配置調整に戻って、 ステップ S 7からの処理を繰り返す。 図 1における本発明のシステムは、 例えば図 3のようなコンピュータのハード ウェア資源により実現される。 図 3のコンピュータにおいて、 C P U 1 0 0のバ ス 1 0 1には R AM 1 0 2、 ハードディスクドコントロ一ラ (ソフ卜) 1 0 4、 フロッピィディスクドライバ (ソフト) 1 1 0、 C D - R O Mドライバ (ソフト) 1 1 4、 マウスコントローラ 1 1 8、 キ一ボードコントローラ 1 2 2、 ディスプ レイコントローラ 1 2 6、 通信用ポ一ド 1 3 0が接続される。 ハードディスクコ ントローラ 1 0 4はハードディスクドライブ 1 0 6を接続し、 本発明の電子回路 設計を実行するアプリケーションプログラムを口一ディングしており、 コンビュFIG. 2 is a schematic flowchart of a processing procedure in the electronic circuit design system of FIG. In FIG. 2, logic design is performed based on the design information input in step S1, cell placement is performed in step S2, and wiring processing is performed in step S3. These steps S1 to S3 are the basic processing of electronic circuit design usually performed. Next, in step S4, the timing analysis is performed on the created electronic circuit design.After that, the timing analysis result is analyzed in step S5. If a racing error or an over-delay error occurs, According to the present invention, as part of the process associated with the cell arrangement adjustment in step S6, the slack-based cell optimization process in step S7 and the thickening of the net on the worst path in step S8 are performed. Perform processing to improve timing errors. The slack-based cell optimization processing according to the present invention in step S7 is performed by inputting slack information obtained from timing verification results in electronic circuit design, and slack information at a pin of a cell on a path that does not satisfy the timing constraint. Focusing on, if even if a cell is exchanged to improve the evening, if other routes through the exchanged cell do not cause timing errors, this cell is searched for as an exchange candidate and is searched for as an exchange candidate. Replaced cells with cells that satisfy the timing constraints. Specifically, hold evenings where there is insufficient delay A cell candidate to be exchanged is searched for the route causing the error based on slack information, and the searched cell is replaced with a cell having a long delay time. It also searches for a cell as a replacement candidate for a path that causes a setup time error due to delay over, and replaces the searched cell with a cell with a small delay time. On the other hand, in the thickening processing of the net on the worst path in step S8, the slack value, which is the margin value of the hold time check obtained from the timing verification result in the electronic circuit design, is inputted, and the setup due to the delay over time is performed. From the nets on the path causing the time error, search the nets to be bolded to reduce the delay time as candidates for bolding to reduce the delay time, and find the routing of the searched nets with a small delay time. Replace with a bold line. Furthermore, in steps S7 and S8, the cell exchange and the net thickening are performed without changing the cells or making the net thicker, and changing the parameters of the cell and making the net thicker. Provisional calculation of the delay by changing the capacitance and resistance value accompanying the above, checks whether the timing error can be eliminated by cell exchange and net thickening, and if the timing error can be eliminated, replaces the cell or thickens the line. Has been determined as a candidate. In Steps S7 and S8, when the cell replacement candidate and the net thickening candidate are determined, finally, based on the cell change macro information and the thickened net information, Steps S9, S10, S 11 Perform logic design, cell placement and wiring processing in step 1. After performing timing analysis in step S12, analyze the timing analysis result in step S13. If the delay error has not been improved, the series of processing ends. If a timing error is determined in step S14, the process returns to step S6 to adjust the cell arrangement again, and repeats the processing from step S7. The system of the present invention in FIG. 1 is realized by hardware resources of a computer as shown in FIG. 3, for example. In the computer shown in Fig. 3, the CPU 100 has a bus 101 with a RAM 102, a hard disk controller (software) 104, a floppy disk driver (software) 110, and a CD-ROM. Driver (software) 114, mouse controller 118, keyboard controller 122, display controller 126, communication port 130 are connected. The hard disk controller 104 connects the hard disk drive 106 to the electronic circuit of the present invention. The application program that executes the design is spoken.
—夕の起動時にハードディスクドライブ 1 0 6から必要なプログラムを呼び出し て、 R A M I 0 2上に展開し、 C P U 1 0 0により実行する。 フロッピイデイス クドライバ 1 1 0にはフロッピィディスクドライブ(ハード) 1 1 2が接続され、 フロッピィディスク (R ) に対する読み書きができる。 C D— R O Mドライバ 1 1 4に対しては、 C Dドライブ (ハード) 1 1 6が接続され、 C Dに記憶された データやプログラムを読み込むことができる。 マウスコントローラ 1 1 8はマウ ス 1 2 0の入力操作を C P U 1 0 0に伝える。 キーボ一ドコントローラ 1 2 2は キーポ一ド 1 2 4の入力操作を C P U 1 0 0に伝える。 ディスプレイコント口一 ラ 1 2 6は表示部 1 2 8に対して表示を行う。 通信用ボード 1 3 0は無線を含む 通信回線 1 3 2を使用し、 インタ一ネット等のネットワークを介して他のコンビ ユー夕やサーバとの間で通信を行う。 — At the start-up in the evening, call up the necessary program from the hard disk drive 106, expand it on the RAM 102, and execute it with the CPU 100. A floppy disk drive (hardware) 112 is connected to the floppy disk driver 110, which can read from and write to a floppy disk (R). A CD drive (hardware) 116 is connected to the CD-ROM driver 114 so that data and programs stored in the CD can be read. The mouse controller 118 communicates the input operation of the mouse 120 to the CPU 100. The keyboard controller 122 transmits the input operation of the keyboard 124 to the CPU 100. The display controller 1 26 performs display on the display section 1 28. The communication board 130 uses a communication line 132 including wireless, and communicates with other users and servers via a network such as the Internet.
図 4は、 図 1の電子回路設計システムに設けている本発明のセルサイズ最適化 部 1 8の機能構成のブロック図である。 このセルサイズ最適化部 1 8は、 入力部 3 ,6、 セル検索部 3 8及びセル置き換え部 4 0を備える。 入力部 3 6は、 電子回 路設計におけるタイミング検証結果から得られたスラック情報を入力する。 セル 検索部 3 8は夕イミング制約を満たさない経路上のセルのピンにおけるスラック 情報に着目し、 タイミング改善のためにセルを交換しても、 交換したセルを通る 他の経路がタイミングエラ一を起こさないことを条件に、 セルを交換候補として 検索する。 セル置き換え部 4 0は、 交換候補として検索されたセルをタイミング 制約を満たすセルに置き換える。 更にセル置き換え部 4 0に対しては、 セル交換 候補についてディレイ仮計算を行うため、 セルパラメ一夕ライブラリ 2 4とセル 置き換え情報ファイル 2 2が設けられている。 このような本発明のセルサイズ最 適化部 1 8にあっては、 スラック情報を用いてホールドタイムエラーを解消する ためのセル置き換えと、 セットアップタイムエラーを解消するためのセル置き換 えを行う。  FIG. 4 is a block diagram of a functional configuration of the cell size optimizing unit 18 of the present invention provided in the electronic circuit design system of FIG. The cell size optimizing unit 18 includes input units 3 and 6, a cell searching unit 38, and a cell replacing unit 40. The input unit 36 inputs slack information obtained from the timing verification result in the electronic circuit design. The cell search unit 38 focuses on the slack information at the pins of the cells on the path that does not satisfy the timing constraint, and even if cells are exchanged to improve timing, other paths that pass through the exchanged cells may have timing errors. The cell is searched as a replacement candidate, provided that it does not wake up. The cell replacement unit 40 replaces the cell searched as a replacement candidate with a cell satisfying the timing constraint. Further, the cell replacement section 40 is provided with a cell parameter overnight library 24 and a cell replacement information file 22 in order to perform a provisional delay calculation for a cell replacement candidate. In such a cell size optimizing unit 18 of the present invention, cell replacement for eliminating a hold time error and cell replacement for eliminating a setup time error are performed using slack information. .
セットアップタイムエラ一を解消するためのセル最適化の処理は次の手順で行 われる。'  Cell optimization processing to eliminate setup time errors is performed in the following procedure. '
( 1 ) 電子回路設計におけるタイミング検証結果から得られたセットアツプタ ィムチェックの余裕値であるスラック値と、 ホールドタイムチェックの余裕値で あるスラック値を入力する。 (1) Set adapter obtained from timing verification results in electronic circuit design Enter the slack value, which is the margin for the time check, and the slack value, which is the margin for the hold time check.
(2) 遅延オーバーによるセットアップタイムエラーを起こしている経路につ いて、 全てのピンのホールドタイムチェックのスラック値が所定値以上の正の値 を持つセルを交換候補として検索する。  (2) For the path in which a setup time error has occurred due to delay over, cells with slack values of the hold time check of all pins that are positive or more than a predetermined value are searched as replacement candidates.
(3) 交換候補として検索されたセルを遅延時間の小さなセルに置き換える。 また、 ホールドタイムエラーを解消するためのセル最適化処理は次の手順で行 われる。  (3) Replace the cell searched as a replacement candidate with a cell having a small delay time. The cell optimization process for eliminating the hold time error is performed in the following procedure.
(1) セットアップタイムチェックの余裕値であるスラック値とホールドタイ ムチェックの余裕地であるスラック値を入力する。  (1) Enter the slack value that is the margin for the setup time check and the slack value that is the margin for the hold time check.
(2) 遅延不足によるホールドタイムエラーを起こしている経路について、 全 てのピンのセットアップタイムチェックのスラック値が所定値以上の正の値を持 つセルを交換候補として検索する。  (2) For the path where a hold time error has occurred due to insufficient delay, search for cells whose slack values in all pins' setup time checks have positive values equal to or greater than a predetermined value as replacement candidates.
(3) 交換候補として検索されたセルを遅延時間の大きなセルに置き換える。 ■ そこで、 まずディレイ不足によるホールドタイムエラーを改善する場合につい て説明する。 図 2のフローチャートに示したように、 ステップ S 7でセル最適化 処理を行う段階では、 既に処理の済んだ電子回路設計に対する現時点でのタイミ ング検証が行われており、 セルにおける各ピンのスラック情報 (タイミング検証 における余裕値) が求められている。 ここで言うスラック情報は、 セットアップ タイムチェックでは MAXディレイを基に計算され、 ホールドタイムチェックで は M I Nディレイを基に計算され、 どちらの場合も、 余裕のある場合にスラック 値は正の値を持つ。 ここで、 セットアップタイムチェック及びホールドタイムチ エックにおけるそれぞれのスラック情報を説明する。  (3) Replace the cell searched as a replacement candidate with a cell having a long delay time. ■ Therefore, the case of improving the hold time error due to insufficient delay will be described first. As shown in the flowchart of FIG. 2, at the stage of performing the cell optimization processing in step S7, the current timing verification of the already processed electronic circuit design is performed, and the slack of each pin in the cell is determined. Information (margin value in timing verification) is required. The slack information referred to here is calculated based on the MAX delay in the setup time check, and calculated based on the MIN delay in the hold time check. In both cases, the slack value has a positive value when there is room. . Here, each slack information in the setup time check and the hold time check will be described.
図 5は、 電子回路設計で生成された基本的な回路の一例であり、 セルとなる D F F 30 , 32を 2段接続している。 図 5において、 前段の DFF 30において クロック端子 CK1からクロック入力端子 CKのネットの遅延時間が T c 1であ り、 前段の DFF 30の入力 Dから後段の入力 Dの間のネットの遅延時間が Td であり、 更に後段の DFF 32におけるクロック端子 CK 2からクロック入力端 子 CKの遅延時間が T c 2であるとする。 この場合のセットアップタイムチエツ クの対象となるパラメータは、 図 6 (A) 〜 (D) のようになる。即ち、 図 6 (A) の基本クロックに対し図 6 (B)の CK 1は遅延時間 T c 1を持つ。また図 6 (C) の後段の DFF 32の入力 Dに対する信号変化は、 クロック CK 1の立ち上がり から遅延時間 Tdを持つ。 更に図 6 (D) のクロック CK 2は、 遅延時間 Tc 2 をもって DF F 32のクロック端子 CKに入力される。 ここで図 6 (D) におけ るクロック CK2のセッ卜アップタイム T s e t u pは、 クロックエッジに対し データを用意する時間として定義されており、 このセットアップタイム T s e t u pがこれより短い時間となるタイミングでデータが到達しても、 DF F 32は 動作しないことになる。 ここで、 このセットアップタイムチェックにおける各時 間の間には図 6 (E) のような条件が成立していれば、 セットアップエラーを生 ずることなく正常に図 5の回路は動作する。 また図 6 (E) の条件から、 次式で 与えられるセットアップタイムチェックにおけるマ一ジンが求まる。 マージン = (Tc2max + r ) 一 (Tclmax + Tdmax + Tsetupmax) 図 7は、 図 5の回路におけるホールドタイムチェックのための時間を表わした タイムチャートであり、 図 7 (A) 〜 (D) の波形は図 6 (A) 〜 (D) と同じ である。 この場合、 図 6 (D) のように、 クロック CK2について DFF 32の クロック入力端子 C Kにおけるクロック立ち上がりに対しホールドタイム Thold が設定される。 このホールドタイム Tholdは、 クロックエッジに対しデータを保 持する時間である。 このホールドタイムチェックにあっては、 図 7 (E) のよう な条件が成立すれば、 図 5の回路は正常に動作することができる。 また図 7 (E) の条件から、 ホールドタイムチェックにおけるマ一ジンは次式で与えられる。 マージン = (Tclmin+Tholdmin) - (Tclmi n + Tdmi n) 図 8は本発明のホールドタイムエラ一を改善するセル最適化及びセットアップ タイムエラーを改善するセル最適化が適用される回路の具体例である。 なお、 説 明を簡単にするため、 ネットのディレイは 0としている。 図 8において、 回路の 始点 4 8と終点 5 0の間に 8個のセル A〜Hが配置されている。 セル A〜Hのそ れぞれは左下のブロック 5 2に示したパラメータを表示している。 即ち、 セル A 〜Hの内部にセル名 Xとセル自身のディレイ dを示している。 またセル A〜Hの 出力ラインの上部にセットアップスラック値 s Xの値を示し、 出力ラインの下側 にホールドスラック値 s nを示している。 更に終点 5 0には、 この回路における セットアツプ制約値及びホールド制約値を示している。 このセットアツプ制約値 は、 図 6のタイミングチャートに示したように、 MA Xディレイを基に計算され る。 またホールド制約値は、 図 7のタイミングチャートに示したように、 M I N ディレイを基に計算される。 この例ではセットアップ制約値を 1 2とし、 ホール ド制約値を 8としている。 また図 8における各数値は時間の単位を持ち、 例えば マイクロ秒の単位を持つことになる。 図 8の回路にあっては、 始点 4 8と終点 5 0の間に次の 3つのパスを持っている。 Figure 5 shows an example of a basic circuit generated by electronic circuit design, in which DFF 30, 32 cells are connected in two stages. In FIG. 5, the delay time of the net from the clock terminal CK1 to the clock input terminal CK in the preceding DFF 30 is Tc1, and the delay time of the net between the input D of the preceding DFF 30 and the subsequent input D is Suppose that the delay time from the clock terminal CK2 to the clock input terminal CK in the subsequent DFF 32 is Tc2. Setup time check in this case The parameters to be checked are as shown in Figs. 6 (A) to 6 (D). That is, CK1 in FIG. 6B has a delay time Tc1 with respect to the basic clock in FIG. In addition, the signal change with respect to the input D of the DFF 32 at the latter stage of FIG. 6C has a delay time Td from the rise of the clock CK1. Further, the clock CK 2 in FIG. 6D is input to the clock terminal CK of the DFF 32 with a delay time Tc 2. Here, the setup time T setup of the clock CK2 in Fig. 6 (D) is defined as the time for preparing data for the clock edge, and when the setup time T setup is shorter than this, When data arrives, DFF 32 will not work. Here, if the conditions as shown in Fig. 6 (E) are satisfied during each time in this setup time check, the circuit in Fig. 5 operates normally without generating a setup error. From the conditions in Fig. 6 (E), the margin in the setup time check given by the following equation can be obtained. Margin = (Tc2 max + r) One (Tcl max + Td max + Tsetup max ) FIG. 7 is a time chart showing the time for the hold time check in the circuit of FIG. 5, and FIG. The waveform in D) is the same as in Figs. 6 (A) to 6 (D). In this case, as shown in Fig. 6 (D), the hold time Thold is set for the clock CK2 with respect to the rising edge of the clock at the clock input terminal CK of DFF 32. The hold time Thold is a time for holding data with respect to a clock edge. In this hold time check, if the condition as shown in Fig. 7 (E) is satisfied, the circuit in Fig. 5 can operate normally. From the condition of FIG. 7 (E), the margin in the hold time check is given by the following equation. Margin = (Tcl min + Thold min) - (Tcl mi n + Td mi n) Figure 8 is circuit cell optimization is applied to improve the cell optimization and set-up time error to improve the hold time error aspect of the present invention This is a specific example. Note that the net delay is set to 0 for simplicity. In Figure 8, the circuit Eight cells A to H are arranged between the start point 48 and the end point 50. Each of cells A to H displays the parameters shown in block 52 at the lower left. That is, the cell name X and the delay d of the cell itself are shown inside the cells A to H. The setup slack value sX is shown above the output lines of cells A to H, and the hold slack value sn is shown below the output lines. Further, an end point 50 indicates a set-up constraint value and a hold constraint value in this circuit. This set-up constraint value is calculated based on the MAX delay as shown in the timing chart of FIG. The hold constraint value is calculated based on the MIN delay as shown in the timing chart of FIG. In this example, the setup constraint value is 12 and the hold constraint value is 8. Each numerical value in FIG. 8 has a unit of time, for example, a unit of microsecond. In the circuit of Fig. 8, the following three paths are provided between the starting point 48 and the ending point 50.
パス 1 (A , B , E , G , H)  Pass 1 (A, B, E, G, H)
パス 2 (A, C , F , G , H)  Pass 2 (A, C, F, G, H)
パス 3 (A, D , G, H)  Pass 3 (A, D, G, H)
また、 パスのディレイ時間を見ると  Also, if you look at the delay time of the path,
パス 1 = 9  Pass 1 = 9
パス 2 = 1 0  Pass 2 = 1 0
パス 3 = 7  Pass 3 = 7
となる。 したがって、 パスディレイについて、 パス 2が MA Xパスでパスディレ ィが 1 0であり、 パス 3が M I Nパスでパスディレイが 7となっている。 It becomes. Therefore, regarding the path delay, the path 2 is the MAX path and the path delay is 10, and the path 3 is the MIN path and the path delay is 7.
図 9は、 図 8におけるセットアップスラック s Xの計算手順の説明図である。 このセットアップスラック s Xは次式で算出される。  FIG. 9 is an explanatory diagram of a calculation procedure of the setup slack s X in FIG. This setup slack s X is calculated by the following equation.
s x= { (セットアップ制約値一 (終点側積算ディレイ))  s x = {(setup constraint value one (end point integrated delay))
一 (始点側積算ディレイ) (1 ) ここで図 9のセル A〜Hには、 左下のボックス 5 4に示すパラメータを数値で 示している。 即ち、 セル A〜Hにはセル名 Xとセルのディレイ dが示され、 セル の出力ラインの上側にはセットアップスラック s Xを示し、 出力ラインの下側に は始点 4 8からの積算ディレイを示している。 遅延オーバーによるセッ卜アップエラーを判断するためのセットアップスラッ クの計算にあっては、 パスディレイが最大となる矢印 56で示すパス 2が問題に なる。 そこで、 パス 2を構成するセル A, C, F, G, Hについてセットアップ スラックの具体的な計算例を見ると次のようになる。 セットアップスラックは終 点 50側から計算していくほうが分かり易い。 いまセル Hに着目すると、 1. (Starting point accumulated delay) (1) Here, cells A to H in FIG. 9 show numerical values of the parameters shown in box 54 at the lower left. That is, the cells A to H show the cell name X and the cell delay d, the setup slack s X is shown above the cell output line, and the integrated delay from the starting point 48 is shown below the output line. Is shown. In the calculation of the setup slack for determining the setup error due to the delay over, the path 2 indicated by the arrow 56 at which the path delay becomes the maximum becomes a problem. Therefore, a specific example of the setup slack calculation for cells A, C, F, G, and H that make up path 2 is as follows. It is easier to calculate the setup slack from the end point 50 side. Focusing on cell H now,
セットアップ制約値 = 1 2、  Setup constraint value = 1 2,
終点側積算ディレイ =0  End point integration delay = 0
始点側積算ディレイ = 1 0  Start-side accumulated delay = 1 0
であることから、 スラック値は Therefore, the slack value is
s x= 1 2 - 1 0 = 2  s x = 1 2-1 0 = 2
として算出される。 Is calculated as
次のセル Gにあっては、  In the next cell G,
セットアップ制約値 = 1 2、  Setup constraint value = 1 2,
終点側積算ディレイ = 2  End point integration delay = 2
始点側積算ディレイ =8  Start point integration delay = 8
であることから、 セットアップスラック値は Therefore, the setup slack value is
s x= (12— 2) — 8 = 2  s x = (12— 2) — 8 = 2
となる。 It becomes.
次のセル Fにあっては、  In the next cell F,
セットアツプ制約値 = 1 2、  Set-up constraint = 1 2,
終点側積算ディレイ =2 + 1  End point total delay = 2 + 1
始点側積算ディレイ = 7  Start-side accumulated delay = 7
であることから、 セットアップスラック値は Therefore, the setup slack value is
s x= (1 2 - 2 - 1) - 7 = 2  s x = (1 2-2-1)-7 = 2
となる。 It becomes.
次のセル Cは  The next cell C
セットアップ制約値 = 12、  Setup constraint value = 12,
終点側積算ディレイ = 2 + 1 + 2  End point total delay = 2 + 1 + 2
始点側積算ディレイ = 5 であることから、 セットアップスラック値は Start point integrated delay = 5 Therefore, the setup slack value is
s x= (12 - 2 - 1 - 2) - 5 = 2  s x = (12-2-1-2)-5 = 2
となる。 更にセル Aにあっては、  It becomes. In cell A,
セットアップ制約値 = 12、  Setup constraint value = 12,
終点側積算ディレイ =2 + 1 + 2 + 3  End point total delay = 2 + 1 + 2 + 3
始点側積算ディレイ =2  Starting point integrated delay = 2
であることから、 セットアップスラック値は Therefore, the setup slack value is
s x= (1 2 - 2 - 1 - 2 - 3) - 2 = 2  s x = (1 2-2-1-2-3)-2 = 2
となる。 同様にして、 残りのセル B, E, Dについてもセットアップスラックを 計算することができる。  It becomes. Similarly, the setup slack can be calculated for the remaining cells B, E, and D.
図 10は、 図 8の回路におけるホールドスラックの計算手順の説明図である。 ホールドスラックはホールド制約値より大きい場合に余裕があることになるため、 セットアップスラックとは計算が逆になる。 即ち、 ホールドスラックは次式で計 算される。  FIG. 10 is an explanatory diagram of the calculation procedure of the hold slack in the circuit of FIG. The hold slack has a margin when it is larger than the hold constraint value, so the calculation is opposite to the setup slack. That is, the hold slack is calculated by the following equation.
Hx= (始点側積算ディレイ) 一 ホールド制約値) 一 (終点側積算ディレイ) }  Hx = (Start point integration delay) 1 Hold constraint value) 1 (End point integration delay)}
(2) 図 10のセル A〜Hにあっては、 左下のボックス 58のように、 セル内にセル '名 Xとセルのディレイ dを示し、 出力ラインの上側にホールドスラック h Xを示 し、 出力ラインの下側に始点 48からの積算ディレイ Tdを示している。 またホ 一ルドスラックを利用するホ一ルドタイムチェックにおけるホ一ルドタイムエラ 一は、 パスディレイが最小となる矢印 60で示すパス 3 (A, D, G, H) につ いて問題となる。 そこで、 パス 60のセル A, D, G, Hについてホ一ルドスラ ックの具体的な計算例を示すと次のようになる。このホールドスラックの計算は、 終点 50側から計算していくと分かり易い。 まずセル Hにあっては  (2) For cells A to H in Fig. 10, the cell's name X and cell delay d are shown in the cell, and the hold slack hX is shown above the output line, as shown in box 58 at the lower left. The total delay Td from the starting point 48 is shown below the output line. Hold time error in hold time check using hold slack is a problem for path 3 (A, D, G, H) indicated by arrow 60 where the path delay is minimized. Therefore, a specific example of hold slack calculation for cells A, D, G, and H on path 60 is as follows. This hold slack calculation is easier to understand if you start from the end point 50 side. First, in cell H
ホ一ルド制約値 = 8  Hold constraint value = 8
始点側積算ディレイ = 7  Start-side accumulated delay = 7
終点側積算ディレイ =0  End point integration delay = 0
であることから、 この場合のセットアップスラックは Therefore, the setup slack in this case is
hx= 7 - 8=- l となる。 hx = 7-8 =-l It becomes.
次のセル Gにあっては、  In the next cell G,
ホールド制約値 =8  Hold constraint value = 8
始点側積算ディレイ =5  Start point integrated delay = 5
終点側積算ディレイ =2  End point integration delay = 2
であることから、 ホールドスラックは Hold slack is
h x= 5 - (8— 2) =- 1  h x = 5-(8— 2) =-1
となる。 It becomes.
次のセル Dにあっては、  In the next cell D,
ホールド制約値 =8  Hold constraint value = 8
始点側積算ディレイ =4  Start point integration delay = 4
終点側積算ディレイ =2 + 1  End point total delay = 2 + 1
であることから、 ホールドスラックは Hold slack is
h x = 4— (8— 2— 1) =_ 1  h x = 4— (8— 2— 1) = _ 1
となる。 It becomes.
更にセル Aにあっては In cell A
ホールド制約値 = 8  Hold constraint value = 8
始点終点側積算ディレイ = 2  Start and end integration delay = 2
終点側積算ディレイ = 2 + 1 + 2  End point total delay = 2 + 1 + 2
であることから、 ホールドスラックは Hold slack is
h x= (2 - 8 - 2 - 1 - 2) =— 1  h x = (2-8-2-1-2) = — 1
となる。 It becomes.
再び図 8を参照するに、 このようにしてセットアップタイムチェックにおいて MAXディレイを基に計算されたセットアツブスラック情報及びホールドタイム チェックにおいて、 M I Nディレイを基に計算されたホールドスラック情報が入 力されたならば、 ホールドタイムエラーを起こしている経路を対象にセル交換に よるタイミング改善を行う。 ホールドタイムエラーを起こしている経路について は、その経路の遅延時間を大きくすることでタイミングを改善することができる。 即ち、 ホールドタイムエラーを起こしている経路に存在するセルを遅延時間の大 きなセルに置き換えることにより、 ホールドタイムエラーを解消することができ る。 この場合、 セルの置き換えを行うと、 置き換えを行ったセルを通過する別の 経路についても遅延が変化する。 したがって、 置き換えるセルの選択を誤ると、 ホールドタイムエラ一を改善しょうとした経路のホールドタイムエラーを改善す ることができても、 セルの置き換えによって遅延が変化した別の経路に新たな夕 イミングエラーを生ずることがある。 そこで本発明にあっては、 セルのスラック 情報を使用して置き換えることで、 新たな夕イミングエラ一を生じさせない最適 な置き換えセルを求める。 具体的には、 ホールドタイムエラーを起こしている経 路に存在するセルのピンについて、 セットアップタイムチェックで求められたセ ットアップスラックをチェックし、 このセットアツブスラックが所定値以上の正 の値を持つセルを置き換え対象とする。 このようにセットアップタイムスラック の大きなセル、 即ち遅延時間の増加に対しディレイオーバーとなるセットアップ タイムエラーに余裕のあるセルを置き換え対象とすることによって、 遅延不足に より生じていたホールドタイムエラーが改善され、 一方、 セットアップタイムチ エックでは遅延時間の増加によりタイミング制約に対し厳しくなるが、 セットァ ップタイムチェックにおいて、 もともと余裕のあったセル、 即ちセットアップ夕 ィムチェックのスラック値が正であつたセルを対象としているため、 セルの交換 により遅延時間が増加しても、 遅延オーバーによるセットアップタイムエラーを 起こすことはない。 Referring again to FIG. 8, the set-up slack information calculated based on the MAX delay in the setup time check and the hold slack information calculated based on the MIN delay in the hold time check are input as described above. If this is the case, improve the timing by switching cells for the path that has a hold time error. For a path with a hold time error, the timing can be improved by increasing the delay time of the path. In other words, cells existing in the path where a hold time error has occurred have a large delay time. By replacing the cell with a new one, the hold time error can be eliminated. In this case, when a cell is replaced, the delay of another route passing through the replaced cell changes. Therefore, if the cell to be replaced is selected incorrectly, even if the hold time error of the path for which the hold time error was to be improved can be improved, a new timing for another path whose delay has changed due to the cell replacement can be performed. An error may occur. Therefore, in the present invention, an optimum replacement cell that does not cause a new evening error is obtained by replacing the cell using slack information of the cell. Specifically, for the pins of cells that are present in the path where a hold time error has occurred, check the setup slack determined by the setup time check, and check that this set-up slack is a positive value equal to or greater than the specified value. Are replaced. In this way, by replacing cells with a large setup time slack, that is, cells that have a margin for setup time error that causes delay over with an increase in delay time, the hold time error caused by insufficient delay is improved. In the setup time check, on the other hand, the timing constraint becomes stricter due to the increase in the delay time.However, in the setup time check, cells that originally had a margin, that is, cells with a positive slack value in the setup time check, are targeted. Therefore, even if the delay time increases due to cell exchange, there is no setup time error due to over-delay.
このホールドタイムエラーを改善するセル最適化処理を図 8について具体的に 説明すると、 次のようになる。 図 8におけるパス 1 ( A, B , E, G , H ) 、 パス 2 ( A , C, F , G, H ) 、 及びパス 3 ( A , D , G , H ) のうち、 パスディ レイが最小となる M I Nパスはパス 3 ( A , D , G , H ) であり、 トー夕ルディ レイが 7 となっている。 このトータルディ レイ = 7はホール ド制約値 = 8より小さいことから、ホールドエラーを起こしていることが 判定される。 そこで、 ホールドエラ一を起こしているパス 3 ( A , D, G , H ) において、 これを改善するための最適なセルとして、 ホ一ルドスラッ ク s hが最小でセッ トアップスラック s Xが最大となるセルを検索する。 この場合、 パス 3 ( A , D , G , H ) にあっては、 セル A〜Hの出力側の ネッ トに示すホールドスラック h Xは全て一 1である。 これに対しセッ ト アップスラック s Xはセル Dのネッ トが 5と最大であり、最も余裕のある ネッ トであることが分かる。 このため、 ホールドエラ一を解消するために セル Dのディ レイ dを 1つ大きく して D == 2 + 1 = 3とすると、セッ トァ ップスラック s xは 1つ減って、 s x = 5— l = 4となる。 このようなセ ル Dのディ レイ dを 1つ増やした場合のパスのトータルディ レイは 8 と なり、 ホールド制約値を満足することでホ一ルドエラーが解消できる。 同 時に、 トータルディ レイ 8はセッ トアツプ制約値 = 1 2を超えないことか ら、 セッ トアップエラーを生ずることはない。 The cell optimizing process for improving the hold time error will be specifically described with reference to FIG. Among path 1 (A, B, E, G, H), path 2 (A, C, F, G, H), and path 3 (A, D, G, H) in FIG. 8, the path delay is the smallest. The MIN pass is pass 3 (A, D, G, H), with a 7 for toe evening delay. Since this total delay = 7 is smaller than the hold constraint value = 8, it is determined that a hold error has occurred. Therefore, in path 3 (A, D, G, H) that causes a hold error, the optimal cell for improving this is to have the minimum hold slack sh and the maximum setup slack s X Search for a cell. In this case, in path 3 (A, D, G, H), the output side of cells A to H The hold slack h X shown in the net is all 1 1. On the other hand, the setup slack s X has the largest net of 5 in cell D, indicating that it is the net with the most margin. Therefore, if the delay d of cell D is increased by one to eliminate hold errors and D == 2 + 1 = 3, the setup slack sx is reduced by one, and sx = 5-l = It becomes 4. If the delay d of cell D is increased by one, the total delay of the path is 8, and the hold error can be eliminated by satisfying the hold constraint value. At the same time, since the total delay 8 does not exceed the setup constraint value = 12, no setup error occurs.
次に、 オーバーディレイによるセットアップタイムエラーを改善する場合につ いて説明する。 セットアップタイムエラーを改善するためのセルの交換について も、 ホ一ルドタイムエラーの改善とほぼ同様、 セットアップスラック及びホール ドスラックを計算しすこ後にトータルディレイが最大となる MA Xパスについてト 一タルディレイがセットアップ制約値を超えている場合にセットアップタイムェ ラ一を判定し、 このセットアップタイムエラーを発生しているパス上のセルを対 象に、 セットアップスラックが最小でホールドスラックが最大となるセルを検索 する。 このようにして検索したセルについて、 遅延時間の小さなセルに置き換え ることによってトータルディレイを減らすことで、 セットアップエラーを解消す ることができる。 同時に、 トータルディレイが減ることでホールド制約値に近づ くが、 ホールドスラック値が最大のネットを持つセルを交換していることから、 ホールドタイムエラーを発生することはない。  Next, a case where the setup time error due to the overdelay is improved will be described. Cell replacement to improve setup time error is almost the same as that for hold time error, and the total delay becomes the maximum after calculating the setup slack and hold slack. When the setup constraint value is exceeded, the setup time error is determined, and the cell on the path where the setup time error has occurred is searched for the cell with the smallest setup slack and the largest hold slack. I do. By replacing cells searched in this way with cells having a small delay time, the total delay is reduced, thereby eliminating setup errors. At the same time, the total delay approaches the hold constraint value by reducing, but since the cell with the net with the largest hold slack value is exchanged, no hold time error occurs.
図 1 1及び図 1 2は、 図 4のセルサイズ最適化部 1 8によるセルサイズ最適化 処理の手順を示したフローチャートであり、 このフローチャートが本発明による セルサイズ最適化処理のためのプログラムを同時に表している。  FIGS. 11 and 12 are flowcharts showing the procedure of the cell size optimizing process by the cell size optimizing unit 18 in FIG. 4. The flowchart shows a program for the cell size optimizing process according to the present invention. It is shown at the same time.
図 1 1において、 まずステップ S 1で全てのネットのホールドスラック値とセ ットアップスラック値を計箅してファイルに保存する。 続いてステップ S 2〜S 7においてホールドタイムエラ一を改善するセルサイズ最適化処理を行う。 即ち ステ,ップ S 2でパスを選択して遅延時間を計算し、 ステップ S 3でパス遅延時間 とホ一ルド制約値を比較し、 ホ一ルドタイムエラーを判定する。 パス遅延時間が ホールド制約値未満であればホールドタイムエラ一となり、 ステップ S 4でホ一 ルドスラック値が最小で、 セットアツブスラック値が最大となるセルを仮候補に 決定する。 続いてステップ S 5で実際にセル交換を行わずにディレイ仮計算を行 う。 即ち仮候補となったセルについてそれより大きな遅延時間を持つセルの遅延 パラメータをセルパラメータライブラリ 2 4から取得し、 セルのディレイを変え ることで、 ディレイ仮計算を行い、 セル交換後のパスのトータルディレイを求め る。 続いてディレイ仮計算の結果に基づいてステップ S 6でホールドタイムエラ 一が解消され、 且つセットアップタイムエラーを起こさず、 タイミング制約を満 足するか否かチェックする。 ステップ S 6でタイミング制約を満足すれば、 ステ ップ S 7でステップ S 4で決定した仮候補を遅延時間増加の候補セルに決定する。 ステップ S 6でタイミング制約条件を満たさない場合にはステップ S 1 3で全パ スの終了を判別するまで、 ステップ S 2からの処理を繰り返す。 尚、 ステップ S 6でタイミング制約条件を満たさなかった場合にはステップ S 5において可能範 囲で、 更に仮候補セルの遅延時間を増加させてディレイ仮計算を行い、 これによ つてタイミング制約を満たした場合にはステップ S 7で遅延時間を増加させるた めの候補セルに決定する。 In FIG. 11, first, in step S1, the hold slack value and the setup slack value of all nets are measured and saved in a file. Subsequently, in steps S2 to S7, a cell size optimization process for improving the hold time error is performed. That is, a path is selected in step S2 to calculate a delay time, and in step S3, the path delay time is compared with a hold constraint value to determine a hold time error. Path delay time If the value is less than the hold constraint value, a hold time error occurs. In step S4, a cell having the minimum hold slack value and the maximum set-up slack value is determined as a temporary candidate. Subsequently, in step S5, a temporary delay calculation is performed without actually performing cell exchange. That is, the delay parameter of the cell having a larger delay time is obtained from the cell parameter library 24 for the temporary candidate cell, and the delay of the cell is changed. Find the total delay. Subsequently, based on the result of the delay provisional calculation, it is checked in step S6 whether the hold time error has been eliminated, the setup time error has not occurred, and the timing constraint has been satisfied. If the timing constraint is satisfied in step S6, the provisional candidate determined in step S4 is determined as a candidate cell for increasing the delay time in step S7. If the timing constraint condition is not satisfied in step S6, the processing from step S2 is repeated until the end of all paths is determined in step S13. If the timing constraint condition is not satisfied in step S6, the delay time of the temporary candidate cell is further increased and a temporary delay calculation is performed in step S5 to meet the timing constraint. In such a case, a candidate cell for increasing the delay time is determined in step S7.
一方、 ステップ S 3でホールドタイムエラーが判定されなかった場合には図 1 2のステップ S 8〜S 1 2のセットアップタイムエラーを改善するセルサイズ最 適化処理を行う。 即ち、 ステップ S 8でパス遅延時間とセットアップ制約値を比 較し、セットアップ制約値を超えた場合にはセットアップタイムエラーと判定し、 ステップ S 9に進む。 ステップ S 9にあってはセットアップタイムエラ一を起こ したパスに存在するセルを対象に、 セットアップスラック値が最小で、 ホ一ルド スラック値が最大となるセルを仮候補に決定する。 続いてステップ S 1 0でセル パラメ一夕ライブラリ 2 4の参照で小さな遅延時間を持つ仮候補セルのパラメ一 夕を取得し、 ディレイ仮計算を行う。 このディレイ仮計算によるトータルディレ ィがセットアツプ制約値による両方のタイミング制約を満たすか否かをステップ S 1 1で判断し、 タイミング制約を満たす場合にはステップ S 1 2で遅延時間を 減少される候補セルに決定する。 またステップ S 1 1でタイミング制約を満たさ ない場合にはステップ S 1 3で全パスを終了するまでステップ S 2に戻って次の パスについて同様の処理を繰り返す。 またステップ S 1 1でタイミング制約を満 たさない場合にはステップ S 1 0に戻り、 仮候補セルのさらに小さな遅延時間の パラメ一夕に変更してディレイ仮計算を行って、 タイミング制約を満たすかどう か判定する処理を繰り返しても良い。 On the other hand, if the hold time error is not determined in step S3, the cell size optimizing process for improving the setup time error in steps S8 to S12 in FIG. 12 is performed. That is, in step S8, the path delay time is compared with the setup constraint value. If the setup constraint value is exceeded, a setup time error is determined, and the process proceeds to step S9. In step S9, a cell having a minimum setup slack value and a maximum hold slack value is determined as a tentative candidate for cells existing on a path where a setup time error has occurred. Subsequently, in step S10, the parameter of the temporary candidate cell having a small delay time is obtained by referring to the cell parameter library 24, and the delay temporary calculation is performed. In step S11, it is determined whether or not the total delay based on the delay provisional calculation satisfies both timing constraints based on the set-up constraint value. If the timing constraint is satisfied, the delay time is reduced in step S12. Determine as a candidate cell. If the timing constraints are not satisfied in step S11, the process returns to step S2 until all paths are completed in step S13, and the next Similar processing is repeated for the path. If the timing constraint is not satisfied in step S11, the process returns to step S10, and the parameter is temporarily changed to a parameter with a smaller delay time of the temporary candidate cell, and delay temporary calculation is performed to satisfy the timing constraint. The process of judging whether or not may be repeated.
図 1 3は、 図 1のネット太線化部 2 0の機能構成のブロック図である。 このネ ット太線化部 2 0は、 入力部 4 2、 ネット検索部 4 4及び太線化部 4 6を備えて いる。 入力部 4 2は電子回路設計におけるタイミング検証結果から得られたホー ルドタイムのスラック値を入力する。 ネット検索部 4 4は遅延オーバ一によりセ ットアップタイムエラ一を起こしているパス上のネットの中からスラック値が正 となるピンを持ち、 且つ所定の指定条件を満たすネットを太線化候補として検索 する。  FIG. 13 is a block diagram of a functional configuration of the net thickening unit 20 of FIG. The net thickening unit 20 includes an input unit 42, a net search unit 44, and a thickening unit 46. The input unit 42 inputs the slack value of the hold time obtained from the timing verification result in the electronic circuit design. The net search unit 44 has a pin having a positive slack value among the nets on the path where the setup time error occurs due to the delay over, and the net satisfying the specified condition is set as a thick line candidate. Search for.
このネット検索の指定条件としては  The specified conditions for this net search are
( 1 ) ネット配線長  (1) Net wiring length
( 2 ) ドライバの駆動能力  (2) Driver driving capability
の 2つを設定している。 The two are set.
太線化部 4 6はネット検索部 4 4で太線化候補として検索されたネットの配線 を遅延時間を小さくするために太線に置き換える。  The bolding section 46 replaces the wiring of the net searched as a bolding candidate by the net search section 44 with a bold line in order to reduce the delay time.
このような図 1 3のネット太線化におけるセットアップタイムエラーの改善は セットアップタイムエラ一を生じたパスにおける正のホールドスラックを持つネ ットを対象に太線化して遅延時間を減少させる改善を図る。 しかしながら、 ホー ルドスラックが正となるネットを対象による太線化による遅延時間を増やすタイ ミング改善を行った場合、 パス全体として見た時にあまり効果的でないネットを 数多く改善対象としており、 結果的に配線チャンネルの不足を招いたり、 ディレ ィ削減を意図して太線行った事で配線容量の増加するため、 駆動能力の小さいド ライバではタイミング改善が適切に図れなくなる場合がある。  The improvement of the setup time error in the thickening of the net shown in FIG. 13 is intended to reduce the delay time by thickening the net having a positive hold slack in the path in which the setup time error has occurred. However, if the timing improvement was performed to increase the delay time by thickening the nets with positive hold slack by targeting the nets, many nets that were not very effective as a whole path were targeted for improvement, and as a result, the routing channel Insufficient driver performance, and the increase in wiring capacitance due to the use of thick lines with the intention of reducing delay may make it impossible to properly improve timing with a driver with a small driving capability.
そこで図 1 3の実施形態にあっては太線化により遅延時間を削減させるネット としてネッ卜の配線長が所定値以上で、 ドライバの駆動能力も所定値以上となる ネットに制限することでホールドスラックのみにより改善ネットを検索した場合 の問題を解消している。 図 1 4及び図 1 5は、 図 1 3のネット太線化部によるネット太線化処理の手順 を示したフローチヤ一卜であり、 このフローチャートが同時にネット太線化処理 のプログラムを表している。 図 1 4において、 ステップ S 1で全てのネットのホ 一ルドスラック値とセットアップスラック値を計算してファイルに保存する。 続 いてステップ S 2でパスを選択し遅延時間、 即ちパスのトータルディレイを計算 する。 続いてステップ S 3でパス遅延時間をセットアップ制約値と比較し、 セッ トアップ制約値以上であればセットアップタイムエラーと判定し、 ステップ S 4 でエラ一パスとしてファイルに格納する。 このようなステップ S 2〜S 4のエラ 一パスの判定をステップ S 5で全パスが終了するまで繰り返す。 次にステップ S 6でファイルに格納されたエラーパスをひとつ選択し、 ステップ S 7でエラ一パ ス上のネットをひとつ選択し、 ステップ S 8でネットのホ一ルドスラック値が正 の値か否かチェックする。 正であればステップ S 9でネッ卜配線長が所定値 L n より大きいかチェックし、 大きければステップ S 1 0でドライバ駆動能力が所定 値 D n以上か否かチェックする。 ドライバ駆動能力が所定値 D n以上であればス テツプ S 1 1ですでに処理済みの同一ネットが存在するか否かの重複チェックを 行った後、 ステップ S 1 2で太線化の仮候補ネットに決定する。 Therefore, in the embodiment of FIG. 13, hold slack is achieved by limiting the net wiring length to a net whose length is equal to or more than a predetermined value and the driving capability of the driver is equal to or more than a predetermined value as a net for reducing the delay time by thickening the line. This solves the problem of searching for improved nets only by using this method. FIGS. 14 and 15 are flowcharts showing the procedure of the net thickening process by the net thickening unit in FIG. 13. This flowchart simultaneously shows the program of the net thickening process. In FIG. 14, in step S1, the hold slack value and setup slack value of all nets are calculated and saved in a file. Subsequently, in step S2, a path is selected, and the delay time, that is, the total delay of the path is calculated. Subsequently, in step S3, the path delay time is compared with the setup constraint value. If the setup delay value is exceeded, it is determined that a setup time error has occurred, and in step S4, the error is stored in a file as an error pass. Such an error pass determination in steps S2 to S4 is repeated in step S5 until all passes are completed. Next, one error path stored in the file is selected in step S6, one net on the error path is selected in step S7, and the hold slack value of the net is positive in step S8. Check if. If it is positive, it is checked in step S9 whether the net wiring length is larger than a predetermined value Ln, and if it is larger, it is checked in step S10 whether the driver driving capability is not less than a predetermined value Dn. If the driver driving capacity is equal to or greater than the predetermined value Dn, a duplicate check is performed in step S11 to determine whether or not the same net that has already been processed exists. To decide.
続いて図 1 5のステップ S 1 3に進み、 太線ネット情報ファイル 2 6から仮定 した配線の太さによる配線容量 Cと配線抵抗 Rの値を取得し、 仮候補ネットの太 線化した値を変更してディレイ仮計算を行う。 このディレイ仮計算により改善ネ ットが決定した時点で太線化を行うために配線処理まで戻って実際に配線をする ことなく、 ネット太線化後のタイミング状態を解析できる。 続いてステップ S 1 4でディレイ仮計算から得られたネット太線化後のパスのト一タルディレイにつ いてセットアップタイムチェックを行い、 ステップ S 1 5でパスのトータルディ レイがホールド制約値以下となってセットアップタイムエラーが解消されたか否 かチェックする。 セットアップタイムエラーが解消されていれば、 ステップ S 1 6で現在の仮候補を太線化の候補ネットに決定する。 セットアップタイムエラー が解消されていなければ仮候補は破棄し、 ステップ S 1 7でパス上の全ネットの 終了の有無をチェックした後、 図 1 4のステップ S 7に戻り、 エラ一パス上の次 のネットについて同様の処理を繰り返す。 図 1 5のステップ S 1 7でパス上の全 てのネットの処理が終了したならば、 ステップ S 1 8で全てパスについての処理 の終了の有無をチェックし、 終了していなければ図 1 4のステップ S 6に戻り次 のエラ一パスを選択し同様の処理を繰り返す。 ステップ S 1 8で全てのエラーパ スについて処理が終了すると、 ステップ S 1 9で決定された候補ネットを対象に ネットの太線化処理を行う。 このネットの太線化処理は実際には図 2のフローチ ヤートに示したようにステップ S 9〜S 1 4における論理設計、セル配置、配線、 タイミング解析、 タイミング解析結果分析の処理を通じて行われる。 Then, the process proceeds to step S13 in FIG. 15 to obtain the values of the wiring capacitance C and the wiring resistance R according to the assumed wiring thickness from the thick line net information file 26, and to obtain the thickened values of the temporary candidate net. Change and perform delay tentative calculation. When the net to be improved is determined by the provisional delay calculation, the timing state after the thickening of the net can be analyzed without returning to the wiring process and actually performing the wiring in order to perform the thickening. Next, in step S14, a setup time check is performed on the total delay of the path after thickening the net obtained from the temporary delay calculation, and in step S15, the total delay of the path is determined to be less than the hold constraint value. Check that the setup time error has been resolved. If the setup time error has been eliminated, the current tentative candidate is determined as a thick line candidate net in step S16. If the setup time error has not been resolved, the provisional candidate is discarded, and it is checked in step S17 whether all nets on the path have been completed. After that, the process returns to step S7 in FIG. The same processing is repeated for the net. In step S17 in Fig. 15, all If all the nets have been processed, it is checked in step S18 whether all the paths have been processed.If not, the process returns to step S6 in Fig. 14 and selects the next error path. Then, the same processing is repeated. When the processing is completed for all error paths in step S18, net thickening processing is performed on the candidate nets determined in step S19. The net thickening process is actually performed through the processes of logic design, cell placement, wiring, timing analysis, and timing analysis result analysis in steps S9 to S14 as shown in the flowchart of FIG.
図 1 6及び図 1 7は、 本発明におけるネット太線化処理の他の実施形態を示し たフローチャートである。 この実施形態にあっても基本的な構成は図 1 2のネッ ト太線化部 2 0と同様、 入力部 4 2、 ネット検索部 4 4及び太線化部 4 6で構成 されるが、 ネット検索部 4 4における太線化するネットを絞り込む条件が異なつ ている。 即ち、 この実施形態にあってはセットアップタイムエラーが判定された ワーストパスの中から上位所定数のワーストパスを選択して、 ネット太線化処理 を行い、 ワーストパスにおけるネット太線化の対象となるネッ卜の絞込みの条件 として  FIGS. 16 and 17 are flowcharts showing another embodiment of the net thickening process according to the present invention. Even in this embodiment, the basic configuration is the same as that of the net thickening unit 20 in FIG. 12, but is composed of the input unit 42, the net search unit 44, and the thickening unit 46. The conditions for narrowing the net to be thickened in Part 4 are different. That is, in this embodiment, a predetermined number of worst paths in the upper order are selected from the worst paths for which the setup time error has been determined, and the net thickening process is performed. As a condition for narrowing down birds
( 1 ) ネット長  (1) Net length
( 2 ) ドライバ駆動能力  (2) Driver drive capacity
( 3 ) ネットディレイ  (3) Net delay
( 4 ) レシーバ側の波形鈍り , ( 5 ) ファンァゥ卜数  (4) Dull waveform on the receiver side, (5) Number of fans
の 5つの条件を満足するネットを太線化候補ネットして太線化を行う。 これによ つてひとつのエラーパスの中から、 ひとつのネットのみが太線化候補として選択 できる。 これに対し図 1 4 , 図 1 5のネット太線化処理にあっては、 エラ一パス 上のホールドタイムスラックの値が正となるネットが選択されることから、 ひと つのエラーパスについて複数のネッ卜が太線化される点で相違することになる。 そこで図 1 6及ぴ図 1 7のフローチャートについてネット太線化処理を説明す ると次のようになる。 まずステップ S 1で全てのネットのホールドスラック値と セットアツブスラック値を計箅してファイルに保存した後、 ステップ S 2でパス を選択して遅延時間、 即ちパスのトータルディレイを計算した後、 ステップ S 3 でセットアップタイムエラーをパス遅延時間とセットアップ制約値の比較により 判定する。 セッドアップタイムエラーが判定されると、 ステップ S 4でこれをヮ ーストパスとしてファイルに格納する。 このステップ S 2〜S 4の処理をステツ プ S 5で全パスが終了するまで繰り返す。 次にステップ S 6でファイルに格納さ れたワーストパスの中からセットアップ制約値に対するパス遅延時間の差が大き い順にワーストパスをひとつ選択する。 次にステップ S 7で選択したワーストパ ス上のネットをひとつ選択し、 ステップ S 8でネット長が所定値 L nより大きけ ればステップ S 9に進む。 ここでドライバ駆動能力が所定値 D nより大きければ ステップ S 1 0に進む。 ここではネットディレイが所定値 T nより大きければス テツプ S 1 1に進む。 ここではレシーバ側波形鈍りが所定値 (T s i n ) nより 大きければステップ S 1 2に進む。 ここではファンアウト数が所定値 F n以上で あれば太線化をネットとし、 ステップ S 1 3で同一ネットが対象となっているか の重複チェックを行った後、 ステップ S 1 4で太線化仮候補ネットとして登録す る。 次に図 1 7のステップ S 1 5で太線ネット情報 2 4から仮候補ネットについ て仮定した配線の太さによる配線容量 Cと配線抵抗 Rを太線ネット情報ファイル 2 6から取得して、 太線化した値に変更した後にディレイ仮計算を行う。 次にス テツプ S 1 6でディレイ仮計算の結果を用いたセットアップタイムチェックを行 レ 、 ステップ S 1 7でセットアップタイムエラ一が解消されればステップ S 1 8 で仮候補を太線化の候補ネットに決定する。 続いてステップ S 1 9でパス上の全 ネットが終了するまで、 図 1 6のステップ S 7に戻って同様の処理を繰り返す。 ステップ S 1 9でパス上の全ネットが終了すると、 ステップ S 2 0で所定数の上 位ワーストパスが終了したか否かチェックし、 終了していない場合には図 1 6の ステップ S 6に戻り次の順位のワーストパスを選択して同様の処理を繰り返す。 ステップ S 2 0で所定数の上位ワーストパスの終了が判別されると、 ステップ S 2 1に進み決定された候補ネットを太線化する。 このネット太線化は実際には図 2のフローチャートに示したようにステップ S 9〜S 1 3に示す論理設計、 セル 配置、 配線、 タイミング解析及びタイミング解析結果分析を通じて処理されるこ とになる。 A net that satisfies the above five conditions is made a bold line candidate net and bolded. As a result, only one net can be selected as a thick line candidate from one error path. On the other hand, in the net thickening processing shown in Figs. 14 and 15, since a net with a positive hold time slack value on the error path is selected, multiple nets for one error path are selected. The difference is that the bird is bolded. The thickening processing of the net will be described below with reference to the flowcharts of FIGS. 16 and 17. First, in step S1, the hold slack value and set-up slack value of all nets are calculated and saved in a file. After that, in step S2, a path is selected and a delay time, that is, a total delay of the path is calculated. , Step S 3 Judge the setup time error by comparing the path delay time with the setup constraint value. When a set-up time error is determined, this is stored in a file as a past path in step S4. The processing of steps S2 to S4 is repeated until all the paths are completed in step S5. Next, one worst path is selected from the worst paths stored in the file in step S6 in the order of the difference in path delay time with respect to the setup constraint value. Next, one net on the worst path selected in step S7 is selected. If the net length is larger than the predetermined value Ln in step S8, the process proceeds to step S9. If the driver driving ability is larger than the predetermined value Dn, the process proceeds to step S10. Here, if the net delay is larger than the predetermined value Tn, the process proceeds to step S11. Here, if the receiver-side waveform bluntness is greater than a predetermined value (T sin) n, the process proceeds to step S12. Here, if the fan-out number is equal to or greater than the predetermined value Fn, the bolding is regarded as a net, and in step S13, it is checked whether or not the same net is targeted. Register as a net. Next, in step S15 in FIG. 17, the wiring capacity C and the wiring resistance R based on the wiring thickness assumed for the tentative candidate net from the thick line net information 24 in the thick line net information 24 are obtained from the thick line net information file 26, and the thick line is formed. After that, the delay is calculated temporarily. Next, in step S16, a setup time check using the result of the delay provisional calculation is performed, and if the setup time error is eliminated in step S17, the provisional candidate is changed to a thick candidate net in step S18. To decide. Subsequently, the process returns to step S7 in FIG. 16 and the same processing is repeated until all nets on the path are completed in step S19. When all nets on the path have been completed in step S19, it is checked in step S20 whether a predetermined number of upper worst paths have been completed, and if not completed, the process proceeds to step S6 in Fig. 16. Return The next worst path is selected, and the same processing is repeated. If it is determined in step S20 that a predetermined number of upper worst paths have been completed, the flow advances to step S21 to bold the determined candidate net. This net thickening is actually processed through the logic design, cell placement, wiring, timing analysis, and timing analysis result analysis shown in steps S9 to S13 as shown in the flowchart of FIG.
尚、 上記の実施形態にあっては図 2のタイムチャートのようにステップ S 7と ステップ S 8でセル最適化処理とネット太線化処理を順次行うようにしているが、 セル最適化処理と太線化処理のいずれか一方を行うようにしても良い。 また本発 明は上記の実施形態に限定されず、 その目的と利点を損なうことのない適宜の変 形を含む。 更に本発明は上記の実施形態に示した数値による限定は受けない。 産業上の利用の可能性 In the above embodiment, as shown in the time chart of FIG. Although the cell optimization processing and the net thickening processing are sequentially performed in step S8, one of the cell optimization processing and the thickening processing may be performed. The present invention is not limited to the above embodiments, but includes appropriate modifications without impairing the objects and advantages thereof. Further, the present invention is not limited by the numerical values shown in the above embodiments. Industrial potential
以上説明してきたように本発明によれば、 論理設計、 セル配置及び配線処理が 済んだ電子回路設計のタイミング解析の結果から、 レーシングエラーとなるホー ルドタイムエラーもしくはオーバ一ディレイエラーとなるセットアップエラーを 判別した際にタイミング検証結果から得られた比較情報を用いてエラーパス上の タイミング回線のために置き換えるセルを決定することで効率よくタイミングェ ラーを解消することができる。  As described above, according to the present invention, from the result of the timing analysis of the electronic circuit design after the logic design, the cell arrangement and the wiring processing are completed, a hold time error as a racing error or a setup error as an over-delay error is obtained. By determining the cell to be replaced for the timing line on the error path using the comparison information obtained from the result of the timing verification when determining the timing error, the timing error can be efficiently eliminated.
また夕イミングエラーを起こしている経路上のセルを無作為に選択して置き換 えた場合には、 タイミングエラーを改善したつもりが別の経路上のタイミングェ ラ一を引き起こしてエラーが収束しないことが起きるが、 本発明にあってはセル 交換におけるタイミングェラーの改善が別の経路上のタイミングエラ一を引き起 こさないように最適なセルを選んで置き換えるため、 効率よくタイミングエラ一 を解消することができる。  In addition, if cells on a path that causes an evening error are randomly selected and replaced, the intention is to improve the timing error, but the timing error on another path will cause the error to not converge. However, according to the present invention, the timing error is efficiently eliminated because the optimum cell is selected and replaced so that the improvement of the timing error in the cell exchange does not cause the timing error on another path. be able to.
またネットの配線を太線化するための遅延時間の減少でオーバーディレイエラ —となるセットアップタイムエラーを解消するが、 その際に必要最小限で最も効 果のあるネットを対象に太線化することで配線チヤンネルの不足を起こすことな くネット太線化によりタイミングエラ一を解消することができる。 f In addition, the setup time error that causes over-delay error is reduced by reducing the delay time for thickening the net wiring. At that time, the thickest line is used for the net with the minimum necessary and most effective effect. Timing errors can be eliminated by thickening the net without causing shortage of the wiring channel. f
また置き換え対象となるセルまたはネットを決定した際に、 実際にセル交換や ネット太線化を行わずに改善後のセル及びネッ卜のパラメ一夕を使用したディレ ィ仮計算によってタイミングエラーが解消されるかどうかの検証を行った後に実 際のセルの置き換えゃネットの太線化を行っているため、 セルの置き換え及びネ ット太線化とタイミング検証の繰り返しを必要最小限に抑え、 処理時間を短縮す ることができる。  In addition, when the cell or net to be replaced is determined, the timing error is eliminated by the delay calculation using the improved cell and net parameters without actually performing cell exchange or net thickening. Actual cell replacement after verifying whether or not the network is thickened, the repetition of cell replacement, net thickening and timing verification is minimized, and processing time is reduced. Can be shortened.

Claims

請求の範囲 The scope of the claims
1 . 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミング改善方 法に於いて、 1. In the timing improvement method of electronic circuit design after logic design, cell placement and wiring processing,
入力部により、 前記電子回路設計におけるタイミング検証結果から得られたス ラック情報を入力する入力ステップと、  An input unit for inputting slack information obtained from a timing verification result in the electronic circuit design,
セル検索部により、 タイミング制約を満たさない経路上のセルのピンにおける スラック情報に着目し、 タイミング改善のためにセルを交換しても、 交換したセ ルを通る他の経路がタイミングエラ一を起さないセルを交換候補として検索する セル検索ステップと、  The cell search unit focuses on slack information at the pins of the cells on the path that does not satisfy the timing constraints. Even if the cell is replaced to improve the timing, other paths that pass through the replaced cell will cause timing errors. A cell search step of searching for a cell not to be replaced as a replacement candidate
セル置換部により、 交換候補として検索されたセルをタイミング制約を満たす セルに置き換えるセル置換ステップと、  A cell replacement unit that replaces a cell searched as a replacement candidate with a cell that satisfies a timing constraint,
を備えたことを特徴とするタイミング改善方法。 A timing improvement method comprising:
2 . 請求の範囲 1のタイミング改善方法に於いて、 2. In the timing improvement method of claim 1,
前記入力ステップは、 電子回路設計におけるタイミング検証結果から得られた セットアップタイムチェックの余裕値であるスラック値と、 ホールドタイムチェ ックの余裕値であるスラック値を入力し、  In the input step, a slack value that is a margin value of a setup time check and a slack value that is a margin value of a hold time check obtained from a timing verification result in an electronic circuit design are input,
前記セル検索ステップは、 遅延オーバ一によるセットアップタイムエラ一を起 こしている経路について、 全てのピンのホールドタイムチェックのスラック値が 所定値以上の正の値を持つセルを交換候補として検索し、  In the cell search step, a cell having a positive slack value of a hold time check of all pins that is equal to or greater than a predetermined value is searched as a replacement candidate for a path causing a setup time error due to delay over,
前記セル交換ステップは、 交換候補として検索されたセルを遅延時間の小さな セルに置き換えることを特徴とする夕イミング改善方法。  In the cell switching step, a cell searched as a replacement candidate is replaced with a cell having a small delay time, and a method for improving evening timing is provided.
3 . 請求の範囲 1のタイミング改善方法に於いて、 3. In the timing improvement method of claim 1,
前記入力ステップは、 セットアップタイムチェックの余裕値であるスラック値 と、 ホールドタイムチェックの余裕値であるスラック値を入力し、  In the input step, a slack value that is a margin value for a setup time check and a slack value that is a margin value for a hold time check are input,
前記セル検索ステップは、 遅延不足によるホールドタイムエラ一を起こしてい る経路について、 全てのピンのセットアップタイムチェックのスラック値が所定 値以上の正の値を持つセルを交換候補として検索し、 In the cell search step, a slack value of a setup time check of all pins is determined for a path causing a hold time error due to insufficient delay. Cell with a positive value greater than or equal to
前記セル交換ステップは、 交換候補として検索されたセルを遅延時間の大きな セルに置き換えることを特徴とするタイミング改善方法。  The cell improvement step is characterized in that a cell searched as a replacement candidate is replaced with a cell having a large delay time.
4 . 請求の範囲 1のタイミング改善方法に於いて、 前記ネット検索ステップは、 交換候補として検索されたセルの遅延パラメータを交換後のセルの値に変更した 後にネットディレイを仮計算してタイミングエラ一を判定し、 タイミングエラー を起こさない場合に交換候補に決定することを特徴とするタイミング改善方法。 4. In the timing improvement method according to claim 1, the net search step includes a step of temporarily calculating a net delay after changing a delay parameter of a cell searched as a replacement candidate to a value of a cell after replacement, and then calculating a timing error. A timing improvement method comprising: determining a replacement candidate when no timing error occurs;
5 . 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミング改善方 法に於いて、 5. In the timing improvement method of electronic circuit design after logic design, cell placement and wiring processing,
入力部により、 前記電子回路設計におけるタイミング検証結果から得られたホ 一ルドタイムチェックの余裕値であるスラック値を入力する入力ステップと、 ネット検索部により、 遅延オーバ一によるセットアップタイムエラーを起こし ているパス上のネットの中から、 前記スラック値が正となるピンをもち且つ所定 の指定条件を満たすネットを太線化候補として検索するネット検索ステップと、 太線化部により、 太線化候補として検索されたネットの配線を遅延時間の小さ い太線に置き換える太線化ステップと、  An input step of inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in the electronic circuit design by the input unit; and a net search unit causing a setup time error due to over-delay. A net having a pin whose slack value is positive and satisfying a specified condition as a candidate for thickening, from the nets on the path where the slack value is positive; A thick line step of replacing the routed net with a thick line with a small delay time,
を備えたことを特徴とするタイミング改善方法。 A timing improvement method comprising:
6 . 請求の範囲 5のタイミング改善方法に於いて、 前記ネット検索ステップは、 前記指定条件を満たすネットとして、 ネット配線長とドライバ駆動能力が指定さ れた値以上のネットを太線化候補として検索することを特 とするタイミング改 善方法。 6. In the timing improvement method according to claim 5, in the net search step, as nets satisfying the specified condition, nets whose net wiring length and driver driving capability are equal to or larger than specified values are searched as thick line candidates. A timing improvement method that features
7 . 請求の範囲 5のタイミング改善方法に於いて、 前記ネット検索ステップは、 太線化候補として検索したネットの線路容量と線路抵抗を太線化した値に変更し た後にネットディレイを仮計算してセットアップタイムエラーを判定し、 セット アップタイムエラーが解消されたネットを太線化候補に決定することを特徴とす るタイミング改善方法。 7. In the timing improvement method according to claim 5, in the net search step, the net delay is temporarily calculated after changing the line capacitance and the line resistance of the net searched as the thick line candidate to the thick line values. A setup time error is determined, and a net in which the setup time error has been eliminated is determined as a thick line candidate. Timing improvement method.
8 . 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミング改善方 法に於いて、 8. In the timing improvement method of electronic circuit design after logic design, cell placement and wiring processing,
入力部により、 前記電子回路設計におけるタイミング検証結果から得られたホ 一ルドタイムチェックの余裕値であるスラック値を入力する入力ステップと、 ネット検索部により、 遅延オーバ一によるセットアップタイムエラ一を起こし ているパス上の全てのネットの中から、 所定の指定条件を満たすネットを太線化 候補として検索するネット検索ステップと、  An input step of inputting a slack value, which is a margin value of a hold time check obtained from a timing verification result in the electronic circuit design, and a setup time error due to over-delay caused by a net search unit; A net search step of searching, as a bold line candidate, a net satisfying a predetermined condition from all nets on the path that
太線化部により、 太線化候補として検索されたネッ卜の配線を遅延時間の小さ い太線に置き換える太線化ステップと、  A bolding step of replacing the net wiring searched as a bolding candidate by a bolding part with a bold line having a small delay time;
を備えたことを特徴とするタイミング改善方法。 A timing improvement method comprising:
9 . 請求の範囲 8のタイミング改善方法に於いて、 前記ネット検索ステップは、 セットアップタイムエラーを起こしているネットの中から、 ネット配線長、 ドラ ィバ駆動能力、 ネットディレイ、 レシーバ側の波形鈍り及びファンアウト数が指 定された値より大きいネットを太線化候補として検索することを特徴とするタイ ミング改善方法。 9. In the timing improvement method according to claim 8, the net search step includes, among nets having a setup time error, a net wiring length, a driver driving capability, a net delay, and a waveform blunting on a receiver side. And a method for retrieving a net having a fanout number larger than a specified value as a bolding candidate.
1 0 . 請求の範囲 8のタイミング改善方法に於いて、前記ネット検索ステップは、 セットアップタイムエラーを起こしているネットの中から、 遅延時間の大きな上 位のワーストパスを所定数選択して太線化候補の検索を繰り返すことを特徴とす るタイミング改善方法。 10. In the timing improvement method according to claim 8, the net search step selects a predetermined number of upper worst paths having a large delay time from nets in which a setup time error has occurred, and forms a thick line. A timing improvement method characterized by repeating the search for candidates.
1 1 . 請求の範囲 8のタイミング改善方法に於いて、前記ネット検索ステップは、 太線化候補として検索されたネットの線路容量と線路抵抗を太線化した値に変更 した後にネットディレイを仮計算してセットアップタイムエラ一を判定し、 セッ トアップタイムエラ一が解消されたネットを太線化候補に決定することを特徴と するタイミング改善方法。 11. In the timing improvement method according to claim 8, in the net search step, the net delay is temporarily calculated after changing the line capacitance and the line resistance of the net searched as a thick line candidate to the thick line values. A timing improvement method characterized in that a setup time error is determined by using the method, and a net in which the setup time error has been eliminated is determined as a thick line candidate.
1 2 . 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミングを改 善するプログラムに於いて、 コンピュータに、 1 2. In a program to improve the timing of electronic circuit design after logic design, cell placement and wiring processing,
前記電子回路設計におけるタイミング検証結果から得られたスラック情報を入 力する入力ステップと、  An input step of inputting slack information obtained from a timing verification result in the electronic circuit design;
タイミング制約を満たさない経路上のセルのピンにおけるスラック情報に着目 し、 タイミング改善のためにセルを交換しても、 交換したセルを通る他の経路が タイミングエラーを起さないセルを交換候補として検索するセル検索ステップと、 交換候補として検索されたセルをタイミング制約を満たすセルに置き換えるセ ル置換ステップと、  Focusing on slack information at the pins of the cells on the path that does not satisfy the timing constraints, cells that do not cause timing errors on other paths that pass through the replaced cell even if cells are replaced to improve timing are considered as replacement candidates. A cell search step for searching; a cell replacement step for replacing cells searched as replacement candidates with cells satisfying timing constraints;
を実行させることを特徴とするプログラム。 A program characterized by executing
1 3 . 請求の範囲 1 2のプログラムに於いて、 1 3. In the program of claims 1 2,
前記入力ステップは、 電子回路設計におけるタイミング検証結果から得られた セットアップタイムチェックの余裕値であるスラック値と、 ホールドタイムチェ ックの余裕値であるスラック値を入力し、  In the input step, a slack value that is a margin value of a setup time check and a slack value that is a margin value of a hold time check obtained from a timing verification result in an electronic circuit design are input,
前記セル検索ステップは、 遅延オーバ一によるセットアップタイムエラーを起 こしている経路について、 全てのピンのホールドタイムチェックのスラック値が 所定値以上の正の値を持つセルを交換候補として検索し、  In the cell search step, for a path in which a setup time error has occurred due to over-delay, a cell whose slack value of the hold time check of all pins is a positive value equal to or greater than a predetermined value is searched for as a replacement candidate,
前記セル交換ステップは、 交換候補として検索されたセルを遅延時間の大きな セルに置き換えることを特徴とするプログラム。  The program, wherein the cell switching step replaces a cell searched as a replacement candidate with a cell having a long delay time.
1 4 . 請求の範囲 1 2のプログラムに於いて、 1 4. In the program of claims 1 2,
前記入力ステップは、 セットアップタイムチェックの余裕値であるスラック値 と、 ホールドタイムチェックの余裕値であるスラック値を入力し、  In the input step, a slack value that is a margin value for a setup time check and a slack value that is a margin value for a hold time check are input,
前記セル検索ステップは、 遅延不足によるホールドタイムエラーを起こしてい る経路について、 全てのピンのセットアップタイムチェックのスラック値が所定 値以上の正の値を持つセルを交換候補として検索し、  In the cell search step, for a path having a hold time error due to insufficient delay, a cell having a positive slack value of a setup time check of all pins that is equal to or greater than a predetermined value is searched as a replacement candidate,
前記セル交換ステップは、 交換候捕として検索されたセルを遅延時間の小さな セルに置き換えることを特徴とするプログラム。 The cell exchange step includes the steps of: A program characterized by replacing cells.
1 5 . 請求の範囲 1 2のプログラムに於いて、 前記ネット検索ステップは、 交換 候補として検索されたセルの遅延パラメ一夕を交換後のセルの値に変更した後に ネットおよびゲートのディレイを仮計算してタイミングエラーを判定し、 夕イミ ングエラーを起こさない場合に交換候補に決定することを特徴とするプログラム。 15. In the program according to claim 12, the net search step temporarily changes the delay parameter of the cell searched as a replacement candidate to the value of the cell after the replacement and temporarily sets the net and gate delay. A program for calculating and determining a timing error, and determining a candidate for replacement when no evening error occurs.
1 6 . 論理設計、 セル配置及び配線が済んだ電子回路設計のタイミングを改善す るプログラムに於いて、 コンピュータに、 16 6. In a program to improve the timing of electronic circuit design after logic design, cell placement and wiring,
前記電子回路設計におけるタイミング検証結果から得られたホールドタイムチ エックの余裕値であるスラック値を入力する入力ステップと、 '  An input step of inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in the electronic circuit design;
遅延オーバーによるセットアップタイムエラーを起こしているパス上のネット の中から、 前記スラック値が正となるピンをもち且つ所定の指定条件を満たすネ ットを太線化候補として検索するネット検索ステップと、  A net search step of searching a net having a pin whose slack value is positive and satisfying a predetermined condition as a thick line candidate from nets on a path having a setup time error due to delay over,
太線化候補として検索されたネットの配線を遅延時間の小さい太線に置き換え る太線化ステップと、  A bolding step of replacing the wiring of the net searched as a bolding candidate with a bold line having a small delay time;
を実行させることを特徴とするプログラム。 A program characterized by executing
1 7 . 請求の範囲 1 6のプログラムに於いて、 前記ネット検索ステップは、 前記 指定条件を満たすネッ卜として、 ネッ卜配線長とドライバ駆動能力が指定された 値以上のネットを太線化候補として検索することを特徴とするプログラム。 17. The program according to claim 16, wherein the net search step includes, as nets satisfying the specified conditions, nets having a net wiring length and a driver driving capability that are equal to or larger than specified values as thick line candidates. A program characterized by searching.
1 8 . 請求の範囲 1 6のプログラムに於いて、 前記ネット検索ステップは、 太線 化候補として検索したネットの配線容量と配線抵抗を太線化した値に変更した後 にネットディレイを仮計算してセットアップタイムエラーを判定し、 セットアツ プタイムエラーが解消されたネットを太線化候補に決定することを特徴とするプ ログラム。 18. In the program according to claim 16, in the net search step, the net delay is temporarily calculated after changing the wiring capacitance and the wiring resistance of the net searched as the thickening candidate to the thickened values. A program characterized by determining a setup time error and determining a net in which the setup time error has been eliminated as a thick line candidate.
1 9 . 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミングを改 善するプログラムに於いて、 コンピュータに、 1 9. Revise the timing of electronic circuit design after logic design, cell placement and wiring processing. In programs that improve,
前記電子回路設計におけるタイミング検証結果から得られたホールドタイムチ エックの余裕値であるスラック値を入力する入力ステップと、  An input step of inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in the electronic circuit design;
遅延オーバーによるセットアップタイムエラーを起こしているパス上の全ての ネットの中から、 所定の指定条件を満たすネットを太線化候補として検索するネ ット検索ステップと、  A net search step of searching, as a bold line candidate, a net satisfying a predetermined condition from all nets on the path where a setup time error due to delay over has occurred;
太線化候補として検索されたネットの配線を遅延時間の小さい太線に置き換え る太線化ステップと、  A bolding step of replacing the wiring of the net searched as a bolding candidate with a bold line having a small delay time;
を備えたことを特徴とするプログラム。 A program characterized by comprising:
2 0 . 請求の範囲 1 9のプログラムに於いて、 前記ネット検索ステップは、 セッ トアップタイムエラ一を起こしているネットの中から、 ネット配線長、 ドライバ 駆動能力、 ネットディレイ、 レシーバ側の波形鈍り及びファンアウト数が指定さ れた値より小さいネットを太線化候補として検索することを特徴とするプロダラ ム。 20. In the program according to claim 19, the net search step includes, among the nets causing a setup time error, a net wiring length, a driver driving capability, a net delay, and a waveform blunting on a receiver side. A program characterized by searching for nets whose fanout number is smaller than a specified value as thickening candidates.
2 1 . 請求の範囲 1 9のプログラムに於いて、 前記ネット検索ステップは、 セッ. トアップタイムエラーを起こしているネッ卜の中から、 遅延時間の大きな上位の ワーストパスを所定数選択して太線化候補の検索を繰り返すことを特徴とするプ ログラム。 21. In the program according to claim 19, in the net search step, a predetermined number of high-order worst paths having a large delay time are selected from nets having a setup time error, and a bold line is selected. A program that repeats the search for conversion candidates.
2 2 . 請求の範囲 1 9のプログラムに於いて、 前記ネット検索ステップは、 太線 化候補として検索されたネットの配線容量と配線抵抗を太線化した値に変更した 後にネットディレイを仮計算してセットアップタイムエラーを判定し、 セットァ ップタイムエラーが解消されたネットを太線化候補に決定することを特徴とする プログラム。 22. In the program according to claim 19, in the net search step, the net delay is temporarily calculated after changing the wiring capacitance and the wiring resistance of the net searched as a thickening candidate to thickened values. A program characterized by determining a setup time error and determining a net in which the setup time error has been eliminated as a thick line candidate.
2 3 . 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミングを改 善するための装置に於いて、 、 前記電子回路設計におけるタイミング検証結果から得られたスラック情報を 入力する入力部と、 23. In a device for improving the timing of electronic circuit design after logic design, cell placement and wiring processing, An input unit for inputting slack information obtained from a timing verification result in the electronic circuit design;
タイミング制約を満たさない経路上のセルのピンにおけるスラック情報に着目 し、 タイミング改善のためにセルを交換しても、 交換したセルを通る他の経路が タイミングエラ一を起さないセルを交換候補として検索するセル検索プと、 交換候補として検索されたセルをタイミング制約を満たすセルに置き換えるセ ル置換部と、  Focusing on slack information at the pins of cells on the path that does not satisfy the timing constraints, even if cells are exchanged for timing improvement, cells that do not cause timing errors on other paths that pass the exchanged cells are candidates for exchange. A cell search unit that searches for a cell as a candidate, a cell replacement unit that replaces a cell searched as a replacement candidate with a cell that satisfies timing constraints,
を備えたことを特徴とする装置。 An apparatus comprising:
2 4 . 請求の範囲 2 3の装置に於いて、 24. In the apparatus of claims 23,
前記入力部は、 電子回路設計におけるタイミング検証結果から得られたセット アップタイムチェックの余裕値であるスラック値と、 ホールドタイムチェックの 余裕値であるスラック値を入力し、  The input unit inputs a slack value that is a margin value of a setup time check and a slack value that is a margin value of a hold time check, obtained from a timing verification result in an electronic circuit design,
前記セル検索部は、 遅延オーバーによるセットアップタイムエラーを起こして いる経路について、 全てのピンのホールドタイムチェックのスラック値が所定値 以上の正の値を持つセルを交換候補として検索し、  The cell search unit searches for a cell having a positive slack value of a hold time check of all pins equal to or more than a predetermined value as a replacement candidate for a path in which a setup time error has occurred due to delay over,
前記セル交換部は、 交換候補として検索されたセルを遅延時間の小さなセルに 置き換えることを特徴とする装置。  The apparatus, wherein the cell switching unit replaces a cell searched as a replacement candidate with a cell having a small delay time.
2 5 . 請求の範囲 2 3の装置に於いて、 25. In the device of claims 23,
前記入力部は、 セットアップタイムチェックの余裕値であるスラック値と、 ホ 一ルドタイムチェックの余裕値であるスラック値を入力し、  The input unit inputs a slack value which is a margin value for a setup time check and a slack value which is a margin value for a hold time check,
前記セル検索部は、 遅延不足によるホールドタイムエラーを起こしている経路 について、 全てのピンのセットアップタイムチェックのスラック値が所定値以上 の正の値を持つセルを交換候補として検索し、  The cell search unit searches for a cell having a positive value equal to or more than a predetermined value for a slack value of a setup time check of all pins as a replacement candidate for a path having a hold time error due to insufficient delay,
前記セル交換部は、 交換候補として検索されたセルを遅延時間の大きなセルに 置き換えることを特徴とする装置。  The cell switching unit replaces a cell searched as a replacement candidate with a cell having a long delay time.
2 6 . 請求の範囲 2 3の装置に於いて、 前記ネット検索部は、 交換候補として検 索されたセルの遅延パラメータを交換後のセルの値に変更した後にネットディレ ィを仮計算してタイミングエラーを判定し、 タイミングエラ一を起こさない場合 に交換候補に決定することを特徴とする装置。 26. In the apparatus according to claim 23, the net search unit searches for a replacement candidate. After the delay parameter of the searched cell is changed to the value of the cell after the exchange, the net delay is tentatively calculated to determine a timing error, and when no timing error occurs, it is determined as an exchange candidate. apparatus.
2 7 . 論理設計、 セル配置及び配線が済んだ電子回路設計のタイミングを改善す る装置に於いて、 27. In a device to improve the timing of electronic circuit design after logic design, cell placement and wiring,
前記電子回路設計におけるタイミング検証結果から得られたホ一ルドタイムチ エックの余裕値であるスラック値を入力する入力部と、  An input unit for inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in the electronic circuit design;
遅延オーバ一によるセットアップタイムエラーを起こしているパス上のネット の中から、 前記スラック値が負となるピンをもち且つ所定の指定条件を満たすネ ットを太線化候補として検索するネット検索部と、  A net search unit for searching, as a thick line candidate, a net having a pin whose slack value is negative and satisfying a specified condition from among nets on a path in which a setup time error due to delay over time has occurred. ,
太線化候補として検索されたネットの配線を遅延時間の小さい太線に置き換え る太線化部と、  A thick line section that replaces the wiring of the net searched as a thick line candidate with a thick line having a small delay time;
を備えたことを特徴とする装置。 An apparatus comprising:
2 8 . 請求の範囲 2 7の装置に於いて、 前記ネット検索ステップは、 前記指定条 件を満たすネットとして、 ネット配線長とドライバ駆動能力が指定された値以上 のネットを太線化候補として検索することを特徴とする装置。 28. In the apparatus according to claim 27, in the net search step, as nets satisfying the specified conditions, nets whose net wiring length and driver driving capability are equal to or larger than specified values are searched as thick line candidates. An apparatus characterized in that:
2 9 . 請求の範囲 2 7の装置に於いて、 前記ネット検索ステップは、 太線化候補 として検索したネットの線路容量と線路抵抗を太線化した値に変更した後にネッ トディレイを仮計算してセットアップタイムエラーを判定し、 セッ卜アップタイ ムエラ一が解消されたネットを太線化候補に決定することを特徴とする装置。 29. In the apparatus according to claim 27, in the net searching step, the line delay and the line resistance of the net searched as a thickening candidate are changed to thickened values, and then the net delay is temporarily calculated and set up. An apparatus characterized by determining a time error and determining a net in which a setup time error has been eliminated as a thick line candidate.
3 0 . 論理設計、 セル配置及び配線処理が済んだ電子回路設計のタイミングを改 善する装置に於いて、 30. In a device to improve the timing of electronic circuit design after logic design, cell placement and wiring processing,
前記電子回路設計におけるタイミング検証結果から得られたホールドタイムチ エックの余裕値であるスラック値を入力する入力部と、  An input unit for inputting a slack value which is a margin value of a hold time check obtained from a timing verification result in the electronic circuit design;
遅延オーバーによるセットアップタイムエラ一を起こしているパス上の全ての ネットの中から、 所定の指定条件を満たすネットを太線化候補として検索するネ ット検索部と、 All of the paths on the path causing setup time error due to delay over A net search unit for searching nets satisfying a specified condition from the nets as candidates for bolding;
太線化候補として検索されたネットの配線を遅延時間の小さい太線に置き換え る太線化部と、  A thick line section that replaces the wiring of the net searched as a thick line candidate with a thick line having a small delay time;
を備えたことを特徴とする装置。 An apparatus comprising:
3 1 . 請求の範囲 3 0の装置に於いて、 前記ネット検索部は、 セットアップタイ ムエラ一を起こしているネットの中から、 ネット配線長、 ドライバ駆動能力、 ネ ットディレイ、 レシーバ側の波形鈍り及びファンアウト数が指定された値より大 きいネットを太線化候補として検索することを特徴とする装置。 31. In the apparatus according to claim 30, the net search unit is configured to select a net wiring length, a driver driving capability, a net delay, a waveform dullness on a receiver side, from among nets having a setup time error. An apparatus that searches for nets with a fanout number greater than a specified value as thickening candidates.
3 2 . 請求の範囲 3 0の装置に於いて、 前記ネット検索部は、 セットアップタイ ムエラーを起こしているネットの中から、 遅延時間の大きな上位のワーストパス を所定数選択して太線化候補の検索を繰り返すことを特徴とする装置。 32. In the apparatus according to claim 30, the net search unit selects a predetermined number of higher-order worst paths having a large delay time from nets in which a setup time error has occurred, and selects a thick line candidate. An apparatus characterized by repeating a search.
3 3 . 請求の範囲 3 0の装置に於いて、 前記ネット検索部は、 太線化候補として 検索されたネットの配線容量と配線抵抗を太線化した値に変更した後にネットデ ィレイを仮計算してセットアップタイムエラーを判定し、 セットアップタイムェ ラーが解消されたネットを太線化候補に決定することを特徴とする装置。 33. In the apparatus according to claim 30, the net search unit tentatively calculates the net delay after changing the wiring capacitance and the wiring resistance of the net searched as the thickening candidate to the thickened values. An apparatus characterized by determining a setup time error and determining a net in which the setup time error has been eliminated as a thick line candidate.
PCT/JP2002/012001 2002-11-18 2002-11-18 Electronic circuit design timing improvement method, program, and apparatus WO2004046975A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004553102A JPWO2004046975A1 (en) 2002-11-18 2002-11-18 Electronic circuit design timing improvement method, program and apparatus
PCT/JP2002/012001 WO2004046975A1 (en) 2002-11-18 2002-11-18 Electronic circuit design timing improvement method, program, and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/012001 WO2004046975A1 (en) 2002-11-18 2002-11-18 Electronic circuit design timing improvement method, program, and apparatus

Publications (1)

Publication Number Publication Date
WO2004046975A1 true WO2004046975A1 (en) 2004-06-03

Family

ID=32321485

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/012001 WO2004046975A1 (en) 2002-11-18 2002-11-18 Electronic circuit design timing improvement method, program, and apparatus

Country Status (2)

Country Link
JP (1) JPWO2004046975A1 (en)
WO (1) WO2004046975A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257375A (en) * 2006-03-23 2007-10-04 Fujitsu Ltd Program, method and apparatus for analyzing delay, and recording medium
US7600205B2 (en) 2004-06-07 2009-10-06 Fujitsu Limited Net/wiring selection method, net selection method, wiring selection method, and delay improvement method
US7831950B2 (en) 2006-12-06 2010-11-09 Nec Corporation Method and system for designing printed circuit board for electronic circuit
JP2010272060A (en) * 2009-05-25 2010-12-02 Fujitsu Semiconductor Ltd Program, device, and method for supporting design
WO2011096083A1 (en) * 2010-02-08 2011-08-11 富士通株式会社 Error generation indicator circuit, storage device, information processing device and control method of error generation indicator circuit
US8281267B2 (en) 2009-08-17 2012-10-02 Fujitsu Limited Circuit design support apparatus, circuit design support method, and circuit design support program
US8813019B1 (en) 2013-04-30 2014-08-19 Nvidia Corporation Optimized design verification of an electronic circuit

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793386A (en) * 1993-09-28 1995-04-07 Fujitsu Ltd Lsi package designing system
JPH08185420A (en) * 1994-12-27 1996-07-16 Nec Eng Ltd Retrieving method for minimum delay compensation point
JP2000003374A (en) * 1998-04-13 2000-01-07 Fujitsu Ltd Computer support timing adjusting method/device therefor, and storage medium
JP2001142914A (en) * 1999-11-10 2001-05-25 Fujitsu Ltd Route search method and storage medium
JP2002073714A (en) * 2000-09-05 2002-03-12 Pfu Ltd Timing analysis device, net list changing method and recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793386A (en) * 1993-09-28 1995-04-07 Fujitsu Ltd Lsi package designing system
JPH08185420A (en) * 1994-12-27 1996-07-16 Nec Eng Ltd Retrieving method for minimum delay compensation point
JP2000003374A (en) * 1998-04-13 2000-01-07 Fujitsu Ltd Computer support timing adjusting method/device therefor, and storage medium
JP2001142914A (en) * 1999-11-10 2001-05-25 Fujitsu Ltd Route search method and storage medium
JP2002073714A (en) * 2000-09-05 2002-03-12 Pfu Ltd Timing analysis device, net list changing method and recording medium

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600205B2 (en) 2004-06-07 2009-10-06 Fujitsu Limited Net/wiring selection method, net selection method, wiring selection method, and delay improvement method
US7647576B2 (en) 2004-06-07 2010-01-12 Fujitsu Limited Net/wiring selection method, net selection method, wiring selection method, and delay improvement method
JP2007257375A (en) * 2006-03-23 2007-10-04 Fujitsu Ltd Program, method and apparatus for analyzing delay, and recording medium
US7831950B2 (en) 2006-12-06 2010-11-09 Nec Corporation Method and system for designing printed circuit board for electronic circuit
JP2010272060A (en) * 2009-05-25 2010-12-02 Fujitsu Semiconductor Ltd Program, device, and method for supporting design
US8423931B2 (en) 2009-05-25 2013-04-16 Fujitsu Semiconductor Limited Support computer product, apparatus, and method
US8281267B2 (en) 2009-08-17 2012-10-02 Fujitsu Limited Circuit design support apparatus, circuit design support method, and circuit design support program
WO2011096083A1 (en) * 2010-02-08 2011-08-11 富士通株式会社 Error generation indicator circuit, storage device, information processing device and control method of error generation indicator circuit
JP5362856B2 (en) * 2010-02-08 2013-12-11 富士通株式会社 Error generation instruction circuit, storage device, information processing apparatus, and error generation instruction circuit control method
US8813019B1 (en) 2013-04-30 2014-08-19 Nvidia Corporation Optimized design verification of an electronic circuit

Also Published As

Publication number Publication date
JPWO2004046975A1 (en) 2006-03-16

Similar Documents

Publication Publication Date Title
US5648913A (en) Frequency driven layout system and method for field programmable gate arrays
US10776547B1 (en) Infinite-depth path-based analysis of operational timing for circuit design
US7263678B2 (en) Method of identifying floorplan problems in an integrated circuit layout
US7149992B2 (en) Method for faster timing closure and better quality of results in IC physical design
CN112597733B (en) Storage unit identification method and device and computer readable storage medium
Huang et al. Match and replace: A functional ECO engine for multierror circuit rectification
US7134112B1 (en) Incremental routing in integrated circuit design
US9817930B1 (en) Method, system, and computer program product for verifying an electronic circuit design with a graph-based proof flow
US7594203B2 (en) Parallel optimization using independent cell instances
WO2004046975A1 (en) Electronic circuit design timing improvement method, program, and apparatus
US11574101B2 (en) Techniques for providing optimizations based on categories of slack in timing paths
US7913213B2 (en) Tool and method for automatically identifying minimum timing violation corrections in an integrated circuit design
US7168057B2 (en) Targeted optimization of buffer-tree logic
CN112464609A (en) Method and device for optimizing relative position layout of integrated circuit and storage medium
US8776003B2 (en) System and method for employing side transition times from signoff-quality timing analysis information to reduce leakage power in an electronic circuit and an electronic design automation tool incorporating the same
US10867093B1 (en) System and method for an electronic design tool providing automated guidance and interface for circuit design processing
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US6754878B1 (en) Recognizing structure information from a netlist
US7051312B1 (en) Upper-bound calculation for placed circuit design performance
JP2008243092A (en) Multi-cycle path detection device, multi-cycle path detection method, and multi-cycle path detection program
US10776543B2 (en) Automated region based optimization of chip manufacture
JPH10134093A (en) Performance estimating device of integrated circuit and its method
CN114662446B (en) Wiring optimization method for reducing dynamic power consumption
US11941335B1 (en) Providing concise data for analyzing checker completeness
US20230034736A1 (en) Automated timing closure on circuit designs

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

WWE Wipo information: entry into national phase

Ref document number: 2004553102

Country of ref document: JP