$14(Ic: Replicated composition) $p1 Examining a very large scale integrated circuit layout one observes that it consists of clearly distinguishable cells (memory cell, ALU cell, data path cell etc.. ). There is also a certain regularity of pattern within each cell itself. This regularity is created by a repetition of basic cell subsystems, a prime example being the generation of a memory cell. Here the designer defines a basic single bit memory subsystem (seen here left top in the background) and subsequently creates a complete memory cell by abutted replication of the subsystem cell in both X and Y directions (top subwindow). A programming analogy is the 2-dimensional array and the algorithm analogous to nested iteration cycles. Such nested, 2-dimensional composition will usually incorporate circuitry required at the edges of the array. In the example the ram interface cell has been designed and deposited on the right after each iteration in the X direction (bottom subwindow). $p1 This ability to iterate in the X and Y direction is a very important tool for the circuit designer. It facilitates design creation and alleviates the task of verifying a complete circuit cell, since if the subsystem cell is geometrically correct and the abutting interface is also correct then the entire cell is geometrically correct. $b1 # $b1 $22(Iteration) $p1 Prior to descending along the vertical edge (for $22(Down)=1) the evaluation process checks whether the $22(iteration) index in the current environment is greater than zero and if not, the downward evaluation is not entered. There are two nodes that control the value of the $22(iteration) index in the environment. $22[Setiteration](number) provides nested presetting of the index and $22[Deciteration] decrements it along the vertical edges. $p1 In order to perform an iterated invokation of a subgraph (here of a subgraph drawing a RAM cell) we have to set the iteration index above the graph and then create an iteration loop with decrementation of the index in it. In the example, a $22[Move] node is placed immediately to the right of the cell, allowing the cells to be placed side by side. It is followed downwards by a $22[Deciteration] node, pointing in turn down back at the memory cell. This whole construct is then connected to the interface cell on the right and embedded in the Y iteration construct above it.