Dragon DRC: Performance Improvement Techniques

Introduction

Dragon DRC is a new advanced hierarchical DRC system. The design principles this system is based on are carefully selected to ensure that Dragon DRC will deliver maximum performance in different execution environments. Designed as a highly adaptive and truly hierarchical DRC system, Dragon is able to execute DRC scripts much faster than any flat DRC system in most real-life cases. An important feature of Dragon is its multithreaded parallel processing capabilities implemented at several system levels including parallel processing of layout, parallel execution of DRC commands and a number of internal parallel algorithms. Even though a well-thought-out implementation of the parallel hierarchical approach to layout DRC alone results in substantial performance boost over flat DRC system, Dragon is also able to carry out various preliminary and run-time optimizations of DRC script. The main purpose of the above optimizations is to generate the optimal schedule of execution of DRC commands, so that all components of the system will be used with maximum efficiency throughout the whole execution process, both in single processor environments and in multiprocessor ones.

Operation Coupling

To improve DRC performance on single processor systems, Dragon implements a separate scheduling algorithm called operation coupling. This technique is based on the fact that an atomic operation of the internal DRC engine of Dragon can be much more complex than an average single operation of a typical DRC script. Several operations from the script can be combined into one internal DRC operation and executed simultaneously, which is considerably faster than executing them one by one.