Runtime Instantiation In Space

Summer 2021

Cartilage · Chapter 8

Cartilage makes hierarchical reconfiguration part of the machine: a tiled Boolean fabric allocates a bounded daughter region, streams configuration through a local port, and replaces that region’s roles from within the surrounding fabric.

The render exposes port roots, region boundaries, parent pointers, configuration streams, and rewritten tile roles as one spatial computation rather than hiding them behind an external editor.

Open the live browser fabric, then read the role alphabet and ownership mechanism that make nested instantiation possible.

Put Reconfiguration Inside The Spatial Model

Cartilage gives each region a boundary and a local configuration port. A parent streams new body roles into its child while parent pointers keep the ownership relationship visible throughout the change.

Ownership, transport, and installed logic therefore occupy the same computational surface. The fabric displays who controls a region, where configuration enters, and which roles the stream creates.

Run Nested Instantiation In WebGL

The standalone WebGL page carries the 2021 mechanism directly in the browser. A left-edge port streams SPI-like configuration bits that instantiate nested series of MUX tile blocks.

Cartilage on ShaderToy

Cartilage Core advances the child-owned-port architecture through a single-file WebGL1 model, hardware paper, local-clocked SystemVerilog RTL, and Verilator testbench. Its public source repository installs an exact 252-bit 6x6 AND region; the standalone Cartilage 3 page carries the original 2021 browser implementation.

Give Every Cell Logic, Direction, State, And Ownership

The code implements MUX VLSI Boolean-logic cellular automata. Each cell stores its orientation, mode, parent pointer, current value, and configuration shift register.

Read Role, Runtime Value, And Annotation As Three Layers

Every render combines an installed body role, a runtime signal value, and human-readable callouts. Each layer answers a different question about the same cell.

Two orientation bits and three mode bits form the installed body-role code: orientation + 4 * mode. The resulting alphabet contains 32 renderable roles.

The complete Cartilage alphabet of 32 installed ports, crossings, constants, wires, and rotated MUX roles
The 32-role alphabet combines ports, crossings, constants, wires, and rotated MUX behaviors in one visual key.

Mode 0 assigns orientation 0 to the port, 1 to the cross, 2 to constant zero, and 3 to constant one. Mode 1 supplies four wire orientations. Modes 2 through 7 supply six MUX behaviors in four orientations each.

A configuration stream entering a local port replaces the child region’s installed roles—ports, crosses, constants, wires, and MUXes—so the picture changes because the machine itself changes.

Decode The Marks As Machine Structure

The left-edge reconfiguration area places configuration ingress directly on a region side. After the stream fills the child, that region contains ordinary wires, crosses, constants, MUXes, and any additional local ports needed for another nested level.

Carry One Role Alphabet Across Three Scales

The 2021 WebGL fabric runs the nested mechanism, while the newer stills enlarge child-owned ports, installed roles, and configured routes for direct reading.

Cartilage child regions rooted at active local reconfiguration ports inside square ownership blocks Follow child-owned port roots A generated Cartilage ripple2 adder with routed wires, MUX islands, constants, crossings, and edge-visible result bits Trace configured circuit roles

The port-root render separates the square ownership block from its port role: parent pointers define the child region, and the port admits its configuration stream. The ripple-adder render applies the same alphabet to lanes, MUX islands, constants, crosses, and edge outputs.

Shift Eight Configuration Bits Into Each Tile

An 8-bit core configuration block stores the installed role, while an 8-bit shift register collects the next configuration. After the stream fills the subtree, the tile applies the new role bits.

A clock drives the serial stream through the subtree’s root port, and a completion flip-flop marks the collection of the full configuration word.

Compose Regions Through Local Ports

Local ingress keeps each configuration transaction attached to a bounded region and an explicit parent–daughter relationship. The resulting routing discipline makes spatial ownership part of the circuit architecture.

Parent pointers form the ownership tree, and port roles live inside the same tile alphabet as logic and routing. That combination turns the cellular fabric into a composable reconfigurable substrate.

Build Universal Logic From Local Roles

Wires, constants, MUXes, feedback, configuration, and tiling form a universal Boolean substrate. Cartilage assigns those roles spatially and replaces them locally inside a visible browser/GPU machine.

Edit The Fabric Directly

ASDW draws wires while the mouse stays pressed; ZQERTYU places multiplexers; backtick places ground; 1 places power; X places an intersection; L places a reconfiguration port; and numpad 4-8-6-2 changes the parent pointer.

These controls let the reader alter the fabric itself and then watch local nested instantiation operate on the edited structure.

Start The Cartilage Lineage With Live Nested Instantiation

The 2021 browser fabric establishes the original nested-instantiation mechanism. Later pages add QFG drivers, exact-frame captures, generated circuits, and the current compact Core while retaining the same local-port architecture.

Try Cartilage: Run the open one-slot multiplier.

To edit, load, save, share, and follow the browser, Raspberry Pi, and FPGA streaming work, request the private demo username and password on LinkedIn.