Innovation Customization Optimization

GOLF PCellCreate reusable layout for diversified applications


GOLF is a production-proven OpenAccess-based layout platform adopted by world-class companies of fabless design, layout and design service, semiconductor foundries and flat panel display manufacturers. GOLF features powerful layout viewing and editing functions, intuitive GUI, flexible customization and more extension, with both simplicity in GUI and flexibility in design flows. Its API with C++/TCL/PERL/PYTHON interface (and more on demand) helps users developing a variety of applications. GOLF capabilities facilitate great customization for different applications, such as custom layout functions, analog layout automation (schematic or constraint-driven layout, etc.), testchip structure layout automation (from PCell designer to IP block/component and to chip-level layout) or panel-level layout integration and automation.

PCell Designer

Evolved with the experiences and feedbacks of PCell programmers and layout engineers, GOLF provides a visualized integrated development environment (IDE) for parameterized layout design, preview, testing, debug, and documentation on layout directly. It is based on AnaGlobe’s patented highly flexible and reusable hierarchical parameterized layout generator. The OpenAccess (OA) objects of the existing layout can be parameterized directly. More complicated objects such as polygon text, fingers, spiral, and runway are provided. Layout can be composed by geometric operations with object lifetime control. User-defined code (in C++/TCL/PERL/PYTHON) can be easily integrated as well.




Parameterized Objects

  • 17 primitive types: rectangle, polygon, regular polygon, functional polygon, polygon text, text, path, functional path, donut, ellipse, scalar instance, array instance, finger, ring, spiral, obround, user defined shape

Composite Objects

  • Polygon operations of AND, OR, NOT, XOR, SIZING
  • Object repetition by array style and function style
  • Contact/via/dummy filler
  • Derived operations: BBox, Query, Cut Corner, etc.
  • Single/multi-layer routing


Constraint-Driven Editing

  • 11 editing operations: place, align, align any-angle, rotate, compact, mesh, move, flatten, group, cut, mag


  • 5 flow-control constructs: loop, goto, delete, statement, label

Hierarchical Reference

  • Query shapes/instances from the layout in the hierarchy
  • Constraints by instance/object name, layer, region
  • Queried results can be transformed by sizing and saved into another layer

Persistent/Temporary Objects

  • Compose complicated shapes by operations on existing objects
  • Temporary objects will be removed when evaluation completed

Dump/Load PCell to/from TCL/PYTHON/PERL

  • Dump/load contents of a single PCell
  • Dump/load a design hierarchy
  • Dump/load the whole PCell library