Skip to content

SilicAI Circuit

Title: SilicAI Circuit

Type object
Required No
Additional properties Any type allowed

Description: A circuit design referencing components from a SilicAI component library

Property Pattern Type Deprecated Definition Title/Description
- $schema No string No - -
- $schema_version No string No - -
+ circuit No object No - -

1. Property $schema

Type string
Required No

2. Property $schema_version

Type string
Required No

3. Property circuit

Type object
Required Yes
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
+ name No string No - Human-readable circuit name
- description No string No - Brief description of the circuit's purpose
- power_rails No array No - Power rails used in this circuit
- buses No array No - Communication buses instantiated in this circuit
+ instances No array No - Component instances (or named groups of instances) that make up this circuit

3.1. Property name

Type string
Required Yes

Description: Human-readable circuit name

3.2. Property description

Type string
Required No

Description: Brief description of the circuit's purpose

3.3. Property power_rails

Type array
Required No

Description: Power rails used in this circuit

Array restrictions
Min items N/A
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
Circuit Power Rail A power rail instantiated in a circuit, referencing a global net

3.3.1. Circuit Power Rail

Title: Circuit Power Rail

Type object
Required No
Additional properties Not allowed
Defined in defs/circuit_power_rail.schema.json

Description: A power rail instantiated in a circuit, referencing a global net

Property Pattern Type Deprecated Definition Title/Description
+ net No string No - Net name matching a global net definition (e.g. VCC_3V3, GND)
- description No string No - Human-readable description of this power rail's purpose
3.3.1.1. Property net
Type string
Required Yes

Description: Net name matching a global net definition (e.g. VCC_3V3, GND)

3.3.1.2. Property description
Type string
Required No

Description: Human-readable description of this power rail's purpose

3.4. Property buses

Type array
Required No

Description: Communication buses instantiated in this circuit

Array restrictions
Min items N/A
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
Circuit Bus A communication bus instantiated in a circuit

3.4.1. Circuit Bus

Title: Circuit Bus

Type combining
Required No
Additional properties Not allowed
Defined in defs/circuit_bus.schema.json

Description: A communication bus instantiated in a circuit

Property Pattern Type Deprecated Definition Title/Description
+ id No string No - Unique identifier for this bus instance within the circuit (e.g. i2c_sensors)
+ type No enum (of string) No - Communication protocol
- speed No object No In measured_value.schema.json Measured Value
- pull_ups No object No - Pull-up resistors for open-drain signals, keyed by signal role. Required for I2C and SMBus. Keys must be valid signal roles for the bus type.
All of(Requirement)
item 0
item 1
3.4.1.1. Property item 0
Type object
Required No
Additional properties Any type allowed
3.4.1.1.1. If (type = "I2C")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
+ pull_ups No object No - -
3.4.1.1.1.1. Property pull_ups
Type object
Required Yes
Additional properties Any type allowed
3.4.1.1.1.1.1. The following properties are required
  • sda
  • scl
3.4.1.2. Property item 1
Type object
Required No
Additional properties Any type allowed
3.4.1.2.1. If (type = "SMBus")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
+ pull_ups No object No - -
3.4.1.2.1.1. Property pull_ups
Type object
Required Yes
Additional properties Any type allowed
3.4.1.2.1.1.1. The following properties are required
  • sda
  • scl
3.4.1.3. Property id
Type string
Required Yes

Description: Unique identifier for this bus instance within the circuit (e.g. i2c_sensors)

3.4.1.4. Property type
Type enum (of string)
Required Yes

Description: Communication protocol

Must be one of: * "I2C" * "SPI" * "UART" * "USB" * "CAN" * "Ethernet" * "SDIO" * "I2S" * "SMBus" * "1-Wire"

3.4.1.5. Property speed

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Defined in measured_value.schema.json

Description: Operating speed of this bus

Property Pattern Type Deprecated Definition Title/Description
+ value No number No - Numeric quantity
+ unit No string No - Unit of measurement. Must be an SI unit or SI-derived unit, optionally with an SI prefix (e.g. V, mV, A, mA, Ω, kΩ, F, nF, µF, H, nH, Hz, kHz, MHz, W, mW, °C, m, mm). Dimensionless ratios such as ppm and % are also accepted.
3.4.1.5.1. Property value
Type number
Required Yes

Description: Numeric quantity

3.4.1.5.2. Property unit
Type string
Required Yes

Description: Unit of measurement. Must be an SI unit or SI-derived unit, optionally with an SI prefix (e.g. V, mV, A, mA, Ω, kΩ, F, nF, µF, H, nH, Hz, kHz, MHz, W, mW, °C, m, mm). Dimensionless ratios such as ppm and % are also accepted.

3.4.1.6. Property pull_ups
Type object
Required No
Additional properties Each additional property must conform to the schema

Description: Pull-up resistors for open-drain signals, keyed by signal role. Required for I2C and SMBus. Keys must be valid signal roles for the bus type.

Property Pattern Type Deprecated Definition Title/Description
- No object No - -
3.4.1.6.1. Property additionalProperties
Type object
Required No
Additional properties Not allowed
Property Pattern Type Deprecated Definition Title/Description
+ resistance No object No Same as speed Measured Value
+ net No string No - Net to pull up to (e.g. +3V3)
3.4.1.6.1.1. Property resistance

Title: Measured Value

Type object
Required Yes
Additional properties Not allowed
Same definition as speed

Description: Pull-up resistance (e.g. {value: 4.7, unit: kΩ})

3.4.1.6.1.2. Property net
Type string
Required Yes

Description: Net to pull up to (e.g. +3V3)

3.5. Property instances

Type array
Required Yes

Description: Component instances (or named groups of instances) that make up this circuit

Array restrictions
Min items N/A
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
instances items -

3.5.1. instances items

Type combining
Required No
Additional properties Any type allowed
One of(Option)
Circuit Instance
Circuit Group
3.5.1.1. Property Circuit Instance

Title: Circuit Instance

Type object
Required No
Additional properties Not allowed
Defined in defs/circuit_instance.schema.json

Description: An instance of a component in a circuit

Property Pattern Type Deprecated Definition Title/Description
+ ref No string No - Reference designator (e.g. U1, R1, C1)
+ mpn No string No - Component MPN, must exist in the configured component library
- buses No array No - Buses this component is connected to
- pin_config No object No - Per-pin configuration (e.g. address select, boot mode)
- rails No object No - Rail net overrides: maps component rail IDs to circuit net names
3.5.1.1.1. Property ref
Type string
Required Yes

Description: Reference designator (e.g. U1, R1, C1)

3.5.1.1.2. Property mpn
Type string
Required Yes

Description: Component MPN, must exist in the configured component library

3.5.1.1.3. Property buses
Type array
Required No

Description: Buses this component is connected to

Array restrictions
Min items N/A
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
Circuit Bus Connection Connects a component instance to a circuit bus, optionally specifying which interface instance and pin assignments to use
3.5.1.1.3.1. Circuit Bus Connection

Title: Circuit Bus Connection

Type combining
Required No
Additional properties Not allowed
Defined in circuit_bus_connection.schema.json

Description: Connects a component instance to a circuit bus, optionally specifying which interface instance and pin assignments to use

Property Pattern Type Deprecated Definition Title/Description
+ id No string No - ID of the bus defined in circuit.buses
- interface No string No - Interface type on this component to connect (e.g. I2C, SPI, UART). Defaults to the bus type.
- role No string No - Role of this component on the bus (e.g. master/slave for I2C). Must match a valid role for the declared interface type.
- address No string No - I2C address for slave devices. Drives address-select pin configuration automatically via the component's address_select options.
- pins No object No - Maps interface signal roles to component pin names. Required for flexible-pin components (e.g. MCUs with multiplexed GPIOs). Keys are role names (e.g. sda, scl); values are component pin names (e.g. GPIO4).
All of(Requirement)
item 0
item 1
item 2
item 3
item 4
item 5
item 6
item 7
item 8
item 9
item 10
item 11
item 12
3.5.1.1.3.1.1. Property item 0
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.1.1. If (interface = "I2C")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No In bus_signals.schema.json#/$defs/I2C_node_roles -
3.5.1.1.3.1.1.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.1.1.2. Property role
Type enum (of string)
Required No
Defined in bus_signals.schema.json#/$defs/I2C_node_roles

Must be one of: * "master" * "slave"

3.5.1.1.3.1.2. Property item 1
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.2.1. If (interface = "SMBus")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No Same as role -
3.5.1.1.3.1.2.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.2.1.2. Property role
Type enum (of string)
Required No
Same definition as role
3.5.1.1.3.1.3. Property item 2
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.3.1. If (interface = "SPI")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No In bus_signals.schema.json#/$defs/SPI_node_roles -
3.5.1.1.3.1.3.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.3.1.2. Property role
Type enum (of string)
Required No
Defined in bus_signals.schema.json#/$defs/SPI_node_roles

Must be one of: * "master" * "slave"

3.5.1.1.3.1.4. Property item 3
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.4.1. If (interface = "UART")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No In bus_signals.schema.json#/$defs/UART_node_roles -
3.5.1.1.3.1.4.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.4.1.2. Property role
Type enum (of string)
Required No
Defined in bus_signals.schema.json#/$defs/UART_node_roles

Must be one of: * "host" * "device"

3.5.1.1.3.1.5. Property item 4
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.5.1. If (interface = "SWD")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.5.1.1.3.1.5.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.6. Property item 5
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.6.1. If (interface = "JTAG")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.5.1.1.3.1.6.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.7. Property item 6
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.7.1. If (interface = "USB")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.5.1.1.3.1.7.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.8. Property item 7
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.8.1. If (interface = "CAN")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No In bus_signals.schema.json#/$defs/CAN_node_roles -
3.5.1.1.3.1.8.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.8.1.2. Property role
Type enum (of string)
Required No
Defined in bus_signals.schema.json#/$defs/CAN_node_roles

Must be one of: * "node"

3.5.1.1.3.1.9. Property item 8
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.9.1. If (interface = "I2S")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No In bus_signals.schema.json#/$defs/I2S_node_roles -
3.5.1.1.3.1.9.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.9.1.2. Property role
Type enum (of string)
Required No
Defined in bus_signals.schema.json#/$defs/I2S_node_roles

Must be one of: * "master" * "slave"

3.5.1.1.3.1.10. Property item 9
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.10.1. If (interface = "SAI")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.5.1.1.3.1.10.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.11. Property item 10
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.11.1. If (interface = "SDIO")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.5.1.1.3.1.11.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.12. Property item 11
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.12.1. If (interface = "Ethernet")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.5.1.1.3.1.12.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.13. Property item 12
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.13.1. If (interface = "1-Wire")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.5.1.1.3.1.13.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.5.1.1.3.1.14. Property id
Type string
Required Yes

Description: ID of the bus defined in circuit.buses

3.5.1.1.3.1.15. Property interface
Type string
Required No

Description: Interface type on this component to connect (e.g. I2C, SPI, UART). Defaults to the bus type.

3.5.1.1.3.1.16. Property role
Type string
Required No

Description: Role of this component on the bus (e.g. master/slave for I2C). Must match a valid role for the declared interface type.

3.5.1.1.3.1.17. Property address
Type string
Required No

Description: I2C address for slave devices. Drives address-select pin configuration automatically via the component's address_select options.

Restrictions
Must match regular expression ^0x[0-9A-Fa-f]{1,2}$ Test
3.5.1.1.3.1.18. Property pins
Type object
Required No
Additional properties Each additional property must conform to the schema

Description: Maps interface signal roles to component pin names. Required for flexible-pin components (e.g. MCUs with multiplexed GPIOs). Keys are role names (e.g. sda, scl); values are component pin names (e.g. GPIO4).

Property Pattern Type Deprecated Definition Title/Description
- No string No - -
3.5.1.1.3.1.18.1. Property additionalProperties
Type string
Required No
3.5.1.1.4. Property pin_config
Type object
Required No
Additional properties Each additional property must conform to the schema

Description: Per-pin configuration (e.g. address select, boot mode)

Property Pattern Type Deprecated Definition Title/Description
- No string No - -
3.5.1.1.4.1. Property additionalProperties
Type string
Required No
3.5.1.1.5. Property rails
Type object
Required No
Additional properties Each additional property must conform to the schema

Description: Rail net overrides: maps component rail IDs to circuit net names

Property Pattern Type Deprecated Definition Title/Description
- No string No - -
3.5.1.1.5.1. Property additionalProperties
Type string
Required No
3.5.1.2. Property Circuit Group

Title: Circuit Group

Type object
Required No
Additional properties Not allowed
Defined in defs/circuit_group.schema.json

Description: A named group of component instances sharing a common purpose, nested inline within the instances array

Property Pattern Type Deprecated Definition Title/Description
+ group No string No - Short identifier for this group (e.g. shield_protection)
- description No string No - Human-readable description of the group's purpose
+ instances No array No - Component instances belonging to this group
3.5.1.2.1. Property group
Type string
Required Yes

Description: Short identifier for this group (e.g. shield_protection)

3.5.1.2.2. Property description
Type string
Required No

Description: Human-readable description of the group's purpose

3.5.1.2.3. Property instances
Type array
Required Yes

Description: Component instances belonging to this group

Array restrictions
Min items 1
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
Circuit Instance An instance of a component in a circuit
3.5.1.2.3.1. Circuit Instance

Title: Circuit Instance

Type object
Required No
Additional properties Not allowed
Same definition as Circuit Instance

Description: An instance of a component in a circuit


Generated using json-schema-for-humans on 2026-03-30 at 10:42:32 +0000