Glyph

Cells, Instances and Arrays

Every mask layout repeats something: an alignment cross in four corners, a test structure stepped across a die, a ring of identical features. You could copy and paste the geometry, but then a change means editing every copy. Instead you draw it once, inside a cell, and place instances of that cell wherever you need it. Change the cell, and every instance changes with it.

This guide builds that from nothing: a new cell, geometry inside it, one instance, a 3×3 array, a ring of eight, and the two tools you use to keep a hierarchical layout readable. No prior layout-editor experience assumed.

Time: ~15 min

You'll need: Glyph open on a blank document. Nothing to download, no file to load.

One orientation note before you start: the tabbed panel with Layers / Cells / Objects / Results sits on the right-hand side of the window, underneath Properties. You can drag its inner edge to make it wider — the screenshots below use a slightly wider panel than the default.

  1. Make a cell. Click the Cells tab, then the + button in its header. Type CROSS and press Enter. A new row appears below TOP. TOP is the cell your document starts in — the one that gets written out as the top of the GDS file; CROSS is empty for now and, because nothing uses it yet, it sits at the same level as TOP.

    The Cells tab of Glyph's side panel showing two rows: TOP (highlighted in orange as the active cell) and a newly created empty cell named CROSS, with the add-cell plus button in the panel header.
  2. Draw inside it. Click the →| (enter cell) icon on the CROSS row. The breadcrumb at the top-left of the canvas now reads TOP (top) › CROSS, which means anything you draw goes into CROSS. Pick the Box tool from the Draw group and drag out a rough horizontal bar near the centre — you can't drag an exact 30 × 10 µm, and you don't need to. With the box still selected, type the real numbers into the Properties panel, which is authoritative: W 30, then H 10, then X -15, then Y -5 (press Enter after each field). Width and height first, always — they scale the shape about its centre, so setting them afterwards would move the corner you just placed; Anchor is on Corner (the default), so X and Y are the box's lower-left corner. Then — and this catches everyone once — click Box again before the second drag: Glyph's draw tools are one-shot and drop back to Select after each shape. Drag a second, rough vertical bar across the first, then size it the same way: W 10, H 30, X -5, Y -15. That makes a 30 × 10 µm bar crossed with a 10 × 30 µm bar, both centred on the cell's origin. The status bar reads 2 shapes · 1 selected.

    Glyph editing the CROSS cell: two overlapping hatched orange rectangles forming a cross on the dark canvas, the breadcrumb reading TOP (top) then CROSS, the Properties panel showing the selected 10 by 30 micrometre box with Anchor set to Corner, and the status bar reading 2 shapes and 1 selected.
  3. Find the instance icon. Click TOP (top) in the breadcrumb to go back up, then hover the CROSS row in the Cells panel. Seven small icons appear along its right end. Left to right they are: an eye (hide instances of this cell), a square (show instances as a box), a pencil (rename), stacked cubes (insert an instance, an SREF), a 3×3 grid (insert an array, an AREF), an arrow pointing into a bracket (enter the cell), and a waste bin (delete). The fourth one — stacked cubes — is Insert cell instance (SREF), and that's the one you want next.

    A close strip of the hovered CROSS row in the Cells panel, showing its shape count and then seven icon buttons: eye, square, pencil, stacked cubes, three-by-three grid, an arrow pointing into a bracket, and a waste bin.
  4. Place one instance. This is the first step where the view needs to move: scroll the mouse wheel to zoom at the pointer, hold Space and drag (or drag with the middle mouse button) to pan, and press Ctrl+0 for View → Zoom to fit when you have lost the drawing. Click the stacked-cubes icon, then click anywhere on the canvas roughly 250 µm to the left of the origin — the exact spot doesn't matter yet, because the next move fixes it precisely. A copy of the cross appears — except it isn't a copy. It is a reference (GDS calls it an SREF): a pointer to CROSS plus a position. It sits inside a thin outline a little larger than the cross itself — shown here in orange because it's selected, plain grey otherwise — and that outline marks the bounds of the instance, not an extra shape; the same kind of outline reappears around the array in a later step. Placing an instance does not select it, and the insert-instance tool may still be armed for another placement, so press Esc, then click the cross once with the Select tool to select the one you just placed, then in the Properties panel set X to -250 and Y to 0 (press Enter after each). Press Ctrl+0 after setting X/Y to zoom to fit and confirm the instance landed where you expect. This exact position matters: a later step (the polar array's ring centre) is measured from it. The status bar reads 0 shapes · 1 ref · 1 selected, because TOP itself still contains no geometry of its own.

    The Glyph canvas at the TOP cell with a single cross-shaped instance selected and highlighted in orange, the Properties panel reading Instance of CROSS, X minus 250.00 micrometres and Y 0.00 micrometres, and the status bar reading 0 shapes, 1 ref and 1 selected.
  5. Find where CROSS went. The Cells panel now lists only TOP. That is not a bug: the panel shows the hierarchy, and CROSS is no longer a top-level cell — it is used by TOP. Click the small disclosure triangle on the TOP row to expand it and CROSS appears nested underneath, with its shape count beside it.

    The Cells tab with the TOP row expanded by its disclosure triangle, showing the CROSS cell nested one level underneath it with a shape count of 2.
  6. Find the array icon. Hover the nested CROSS row the same way you hovered it above. The same seven icons appear at its right end, now indented one level under TOP — the shot below keeps TOP's own row in view above it so the nesting is visible. The fifth one — a 3×3 grid of small squares — is Insert cell array (AREF).

    The Cells tab with the TOP row still expanded above the hovered, nested CROSS row, which shows its shape count and seven icon buttons: eye, square, pencil, stacked cubes, three-by-three grid, an arrow pointing into a bracket, and a waste bin — the nesting under TOP visible in the same frame.
  7. Set up a 3×3 array. Click that 3×3-grid icon. The Insert array of CROSS dialog opens with two counts and four length fields — Rows, Cols, then Col step X, Col step Y, Row step X, Row step Y — plus Rotation, Magnification and a Reflect about X axis checkbox. Set Rows to 3, Cols to 3, Col step X to 40 µm and Row step Y to 40 µm — that is a 40 µm pitch in both directions, comfortably clear of the 30 µm cross. Leave Col step Y and Row step X at their default 0 (they only matter for a sheared lattice, not a plain rectangular grid), rotation at 0, magnification at 1, and the Reflect checkbox unticked.

    Glyph's Insert array of CROSS dialog with Rows 3, Cols 3, Col step X 40.00 micrometres, Col step Y 0, Row step X 0, Row step Y 40.00 micrometres, rotation 0, magnification 1, an unticked Reflect about X axis checkbox, and Cancel and Place buttons.
  8. Drop the array. Click Place, press Ctrl+0 to zoom to fit so both your first instance and open canvas to its right are in view, then click near X 50 µm, Y -40 µm — a spot that stays clear of the 100 µm-radius ring you'll add around the first instance in the next step. Nine crosses appear on a regular grid inside a thin outline — the same kind of bounds indicator from step 4. In the file this is a single AREF record — rows, columns and two step vectors — not nine separate objects, which is why an array of a million features costs almost nothing. The nine crosses on the right carry the same diagonal hatch as the lone instance on the left: an array is a cheaper record, not a different-looking one, so what you compare on screen is geometry rather than a rendering artefact. The status bar reads 0 shapes · 1 ref · 1 array · 1 selected — the "selected" is still the single instance from step 4, which is why the Properties panel still shows its X and Y from a moment ago.

    The Glyph canvas showing the single, still-selected cross instance on the left with visible diagonal hatching and a newly placed three by three array of identically hatched orange crosses on the right enclosed in a thin array outline, the Properties panel still reading Instance of CROSS X minus 250 Y 0, and the status bar reading 0 shapes, 1 ref, 1 array and 1 selected.
  9. Set up a ring. GDS has no radial array, so a ring is genuinely N separate placements — Glyph plans them for you. Click the Select tool, click the lone instance on the left to select it, then choose Arrange → Polar array…. Type a Centre X of -150 µm and Centre Y of 0 — that works out to 100 µm to the right of the instance only because you set the instance to exactly X -250, Y 0 back in step 4, so the copies sweep a 100 µm-radius circle. Set Copies to 8 and Sweep to 360. The dialog states what it will do: 7 new objects at 45.00° steps. The count includes the original, and a full 360° sweep divides by the count so the last copy never lands on the first.

    Glyph's Polar array dialog over the canvas, with Centre X minus 150.00 micrometres, Centre Y 0.00, Copies 8, Sweep 360, the Rotate each copy with the arc checkbox ticked, and the summary line reading 7 new objects at 45.00 degree steps.
  10. Create the ring. Click Create array. Eight instances now sit at 45° intervals around the centre you typed, each rotated to follow the arc. The crosses themselves still just read as rotated crosses — an X shape at the odd angles — but the thin bounding-box outline around each instance is a square, and a square rotated 45° reads as a diamond; that's what you're seeing at the four diagonal positions, not a different shape underneath. A toast confirms Added 7 copies at 45.00° steps and the status bar reads 0 shapes · 8 refs · 1 array · 8 selected. Untick Rotate each copy with the arc next time if you want labels or alignment marks to stay upright as they revolve.

    The Glyph canvas showing eight cross instances arranged in a ring at 45 degree intervals, four of their thin square bounds indicators rotated into diamonds, next to the three by three array of hatched crosses, with a toast reading Added 7 copies at 45.00 degree steps and the status bar reading 0 shapes, 8 refs, 1 array and 8 selected.
  11. Control how deep Glyph draws. On a real design, drawing every instance to full depth is slow and visually noisy, so Glyph lets you cap the depth. Press Ctrl+K for the command palette and type hierarchy. Five commands appear: show all levels, boxes only, top level only, one level more, one level less.

    Glyph's Ctrl+K command palette filtered to the word hierarchy, listing five View commands: Hierarchy show all levels, Hierarchy boxes only, Hierarchy top level only, Hierarchy one level more and Hierarchy one level less.
  12. Pick "Hierarchy: boxes only". Every instance is now drawn as a plain outline of the space it occupies, and nothing inside CROSS is drawn at all. The document has not changed — this is purely how much of it gets painted. It is the fastest way to see the arrangement of a dense chip.

    The same layout drawn with hierarchy set to boxes only: the ring of eight instances and the three by three array now appear as plain orange rectangle outlines with no cross geometry inside them.
  13. Read the level off the status bar. At the bottom right, the H badge tracks that setting. It read H ∞ (unlimited) at the start of this guide; after step 12 it reads H 0, and it is highlighted to tell you the view is capped. The badge is also a control: click it to cycle ∞ → 0 → 1 → 2 → 3 and back, and right-click it to jump straight back to . Beside it sits a second badge reading ≥ 0 — the hierarchy minimum level: levels below it stop drawing entirely rather than falling back to a box, so raising it prunes from the bottom of the tree the same way the H badge prunes from the top. This guide never changes it, so it stays at its default ≥ 0 throughout.

    A crop of Glyph's status bar showing the ORTHO and POLAR 45 degree indicators followed by the hierarchy badge reading H 0 highlighted in orange, the minimum-level badge reading greater-than-or-equal 0, and the shortcuts and Ctrl+K commands hints.
  14. Inspect what is actually in the cell. Right-click the H badge to return to H ∞, then open the Objects tab. It lists the contents of the cell you are editing — here 9 objects in TOP: the eight instances of CROSS and the one array. Each row also shows a size figure in µm, though at this panel width it's clipped to a couple of decimal places — drag the panel's inner edge wider (as noted at the top of this guide) to read it in full. For the Array row that figure is the footprint of the referenced cell CROSS itself (30 × 30 µm) — not the roughly 110 × 110 µm the whole 3×3 array occupies on screen once its 40 µm pitch is counted. Note what is not listed: the two boxes you drew live in CROSS, not in TOP. Click any row to select and frame that object.

    The Objects tab of Glyph's side panel showing a filter box and the heading 9 objects in TOP, above nine rows: eight reading Instance to CROSS and one reading Array to CROSS, each with a size figure in micrometres that is clipped at this panel width.

What you built

A two-level design. CROSS holds the only real geometry — two boxes. TOP holds seventeen placements of it (eight single instances in a ring, plus a 3×3 array carried in one record) and no geometry of its own. Edit either box inside CROSS and all seventeen update at once, because none of them is a copy.

That is the whole idea behind hierarchy in GDSII, and it is what keeps a full reticle to a file size a laptop can open.

Next steps

Read Cells and hierarchy for the rules on top cells, entering cells and flattening, and Instances (SREF and AREF) for what each reference type stores — rotation, magnification and mirroring included. The rest of the repeat-and-arrange toolkit is in Arrange, and every shortcut used above is listed in Keyboard shortcuts. Then open the editor and build the cell your own design keeps repeating.

Updated 2026-08-26

Open Glyph — free, no install Your files never leave your computer.
Open Glyph →