Claims
- 1. A Integrated (IC) layout design method, said IC design having a set of layout design programs and an initial layout database of data describing said IC layout, said IC layout design method comprising the steps of:
(a) organizing said set of layout design programs as executable programs states, each of said program states generating program output data and program logic outputs and receiving program logic inputs, and program input data, said program input data selected from said layout database (b) coupling said executable program states with a program scheduler, said program scheduler receiving from each of said executable program states, said program logic outputs, program output data and generating and sending to each of said executable program states said program logic inputs and program input data, said program scheduler further receiving designer controls and receiving data from said layout database and updating said layout database data in response to said designer controls and said program logic outputs and said program output data; (c) starting execution of selected program states from said set of program states concurrently in response to said designer controls and said program logic inputs; (d) completing said selected program states and starting additional program states unless stopped by said program scheduler in response to said program logic outputs; (e) determining if all program states in said set of program states have completed successfully, stopping said layout design if all programs have completed successfully and sending designer action data to said designer if all programs have not completed successfully; (f) correcting said layout database data by said designer if all programs have not completed successfully; and (g) repeating said method steps (c-g) in response to one or more of said designer controls.
- 2. The method of claim 1, wherein said executable program states are distributed in different program execution units.
- 3. The method of claim 1, wherein said executable program states and said program scheduler are coupled and communicate said program input and output data and said program logic inputs and outputs in a network.
- 4. The method of claim 1, wherein said program output data is used to verify or update said IC layout.
- 5. The method of claim 1, wherein said program logic outputs comprise program state status, said program state status comprising an execution completed with errors signal, execution completed without errors signal and an executed not completed signal.
- 6. The method of claim 1, wherein said program logic inputs comprise a stop program state execution signal, a start program state execution signal, and a complete program state execution and tag program output data as conditional with errors signal.
- 7. The method of claim 1, wherein said designer controls comprise a start program scheduler, set execution mode, stop program scheduler, program state status and program state errors, said program scheduler then determining the starting of program states.
- 8. The method of claim 1, wherein said program scheduler stops program state executions on a program state error, in response to a designer control, or in response to a program logic output.
- 9. The method of claim 1, wherein said conditions for successfully completing a program state execution are modified in response to said designer controls.
- 10. The method of claim 1 wherein said designer control data comprises identification data indicating which data in said Layout database is in error and needs correction.
- 11. The method of claim 7, wherein said execution modes comprise an Audit Mode in which all program states must complete error free.
- 12. The method of claim 7, wherein said execution modes comprise a Non-Audit Mode in which program states may complete conditionally and program output data is tagged as conditional with errors.
- 13. A computer program product for an Integrated Circuit (IC) layout design method, said IC layout design having a set of layout design programs and an initial layout database of data describing said IC layout, said computer program product embodied in a machine readable medium, including programming for a processor, said computer program comprising a program of instructions for performing the program steps of:
(a) organizing said set of layout design programs as executable programs states, each of said program states generating program output data and program logic outputs and receiving program logic inputs, and program input data, said program input data selected from said layout database; (b) coupling said executable program states with a program scheduler, said program scheduler receiving said program logic outputs, program output data and generating said program logic inputs and program input data in response to designer controls and said program logic outputs; (c) starting execution of selected program states from said set of program states concurrently in response to said designer controls and said program logic inputs and completing said selected program states and starting additional program states unless stopped by said program scheduler; (d) correcting said layout database data if all program states have not completed successfully and stopping said layout design if all program states have completed successfully; (e) repeating said method steps (c-e) in response to one or more of said designer controls.
- 14. The computer program product of claim 13, wherein said executable program states are distributed in different program execution units.
- 15. The computer program product of claim 13, wherein said executable program states and said program scheduler are coupled and communicate said program input and output data and said program logic inputs and outputs in a network.
- 16. The computer program product of claim 13, wherein said program output data is used to verify or update said IC layout.
- 17. The computer program product of claim 13, wherein said program logic outputs comprise program state status, said program state status comprising an execution completed with errors signal, execution completed without errors signal and an executed not completed signal.
- 18. The computer program product of claim 13, wherein said program logic inputs comprise a stop program state execution signal, a start program state execution signal, and a complete program state execution and tag program output data as conditional with errors signal,.
- 19. The computer program product of claim 13, wherein said designer controls comprise a start program scheduler, set execution mode, stop program scheduler, program state status and program state errors, said program scheduler then determining the starting of program states.
- 20. The computer program product of claim 13, wherein said program scheduler stops program state executions on a program state error, in response to a designer control, or in response to a program logic output.
- 21. The computer program product of claim 13, wherein said conditions for successfully completing a program state execution are modified in response to said designer controls.
- 22. The computer program product of claim 13, wherein said designer control data comprises identification data indicating which data in said Layout database is in error and needs correction.
- 23. The computer program product of claim 20, wherein said execution modes comprise an Audit Mode in which all program states must complete error free.
- 24. The computer program product of claim 20, wherein said execution modes comprise a Non-Audit Mode in which program states may complete conditionally and program output data is tagged as conditional with errors.
- 25. A data processing system, comprising:
a central processing unit (CPU); shared random access memory (RAM); read only memory (ROM); an I/O adapter; a display adapter; a display; and a bus system coupling devices internal to said CPU, said CPU operable to execute computer program product for an Integrated Circuit layout design method, said IC layout design having a set of layout design programs and an initial layout database of data describing said IC layout, said computer program product embodied in a machine readable medium, including programming for a processor, said computer program comprising a program of instructions for performing the program steps of:
(a) organizing said set of layout design programs as executable programs states, each of said program states generating program output data and program logic outputs and receiving program logic inputs, and program input data, said program input data selected from said layout database; (b) coupling said executable program states with a program scheduler, said program scheduler receiving said program logic outputs, program output data and generating said program logic inputs and program input data in response to designer controls and said program logic outputs; (c) starting execution of selected program states from said set of program states concurrently in response to said designer controls and said program logic inputs and completing said selected program states and starting additional program states unless stopped by said program scheduler; (d) correcting said layout database data if all program states have not completed successfully and stopping said layout design if all program states have completed successfully; (e) repeating said method steps (c-e) in response to one or more of said designer controls.
- 26. The data processing system of claim 25, wherein said program logic outputs comprise program state status, said program state status comprising an execution completed with errors signal, execution completed without errors signal and an executed not completed signal.
- 27. The data processing system of claim 25, wherein said program logic inputs comprise a stop program state execution signal, a start program state execution signal, and a complete program state execution and tag program output data as conditional with errors signal.
- 28. The data processing system of claim 25, wherein said designer controls comprise a start program scheduler, set execution mode, stop program scheduler, program state status and program state errors, said program scheduler then determining the starting of program states.
- 29. The data processing system of claim 25, wherein said program scheduler stops program state executions on a program state error, in response to a designer control, or in response to a program logic output.
- 30. The data processing system of claim 25, wherein said conditions for successfully completing a program state execution are modified in response to said designer controls.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related to U.S. patent application Ser. No. ______ (Attorney Docket No. (AUS9-2000-0618-US1) which is hereby incorporated by reference herein.