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
2. Property $schema_version
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
Description: Human-readable circuit name
3.2. Property description
Description: Brief description of the circuit's purpose
3.3. Property power_rails
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
Description: Net name matching a global net definition (e.g. VCC_3V3, GND)
3.3.1.2. Property description
Description: Human-readable description of this power rail's purpose
3.4. Property buses
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. |
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
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
3.4.1.3. Property id
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
Description: Numeric quantity
3.4.1.5.2. Property unit
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
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
Description: Net to pull up to (e.g. +3V3)
3.5. Property instances
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 |
3.5.1. instances items
|
|
| Type |
combining |
| Required |
No |
| Additional properties |
Any type allowed |
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
Description: Reference designator (e.g. U1, R1, C1)
3.5.1.1.2. Property mpn
Description: Component MPN, must exist in the configured component library
3.5.1.1.3. Property buses
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). |
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
Description: ID of the bus defined in circuit.buses
3.5.1.1.3.1.15. Property interface
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
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
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
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
3.5.1.1.4. Property pin_config
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
3.5.1.1.5. Property rails
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
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
Description: Short identifier for this group (e.g. shield_protection)
3.5.1.2.2. Property description
Description: Human-readable description of the group's purpose
3.5.1.2.3. Property instances
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