<systemblock.component />
systemblock.component represents one functional block inside a
systemblock.page or
systemblock.group. Core sizes the block from its
label and description and places it automatically.
See the system block diagrams guide for this block in a complete, rendered diagram.
Component properties
| Property | Description |
|---|---|
name | Required component name; unique among all components and groups on the page. |
displayName | Visible label; defaults to name. |
description | Description of the block's purpose. |
pcbComponentName | One associated PCB component name, such as U1. |
pcbComponentNames | Several associated PCB component names, such as ["U1", "C1", "C2"]. |
pcbSubcircuitName | Named PCB subcircuit in which to resolve component names. |
Use the component's name as the from or to prop of a
systemblock.connection.
PCB associations
Use either pcbComponentName or pcbComponentNames. Without
pcbSubcircuitName, names resolve in the page's owning subcircuit. Used alone,
pcbSubcircuitName associates the whole subcircuit.
Associations do not inherit from groups, change placement, or create connectivity. Missing or ambiguous targets are errors, and referenced PCB output must be enabled and present.
For example, associate a regulator block with its physical circuit:
import { systemblock } from "tscircuit"
export default () => (
<board width="30mm" height="20mm" routingDisabled>
<group name="power" subcircuit>
<chip name="U1" footprint="soic8" pcbX={-5} />
<inductor name="L1" inductance="10uH" footprint="0805" pcbX={2} />
<capacitor name="C1" capacitance="10uF" footprint="0805" pcbX={6} />
<capacitor name="C2" capacitance="10uF" footprint="0805" pcbX={10} />
</group>
<systemblock.page name="power-overview">
<systemblock.component
name="regulator"
displayName="3.3 V regulator"
pcbComponentNames={["U1", "L1", "C1", "C2"]}
pcbSubcircuitName="power"
/>
</systemblock.page>
</board>
)