A design system for designing complex integrated circuits (ICs), a method
of IC design and program product therefor. A layout unit receives a
circuit description representing portions in a grid and glyph format. A
checking unit checks grid and glyph portions of the design. An
elaboration unit generates a target layout from the checked design. A
data prep unit prepares the target layout for mask making. A pattern
caching unit selectively replaces portions of the design with previously
cached results for improved design efficiency.