π Standardized format for hardware IP discovery and integration in the Vyges ecosystem.
The Vyges Metadata Specification defines a standardized JSON Schema format for describing reusable silicon IP blocks. This specification enables automated discovery, integration, and management of hardware IP across different design flows and platforms.
- Latest Version:
schema/v1/vyges-metadata.schema.json
- UI Schema:
schema/v1/vyges-metadata.ui-schema.json
{
"name": "vyges/spi-controller",
"x-version": "1.0.0",
"description": "SPI master controller with configurable clock divider",
"license": "Apache-2.0",
"maturity": "production",
"target": ["asic", "fpga"],
"design_type": ["digital"],
"interfaces": [
{
"name": "spi",
"type": "bus",
"direction": "output",
"protocol": "spi",
"width": 4,
"signals": [
{
"name": "sclk",
"direction": "output",
"type": "clock",
"description": "SPI clock signal"
},
{
"name": "mosi",
"direction": "output",
"type": "data",
"description": "Master out, slave in"
},
{
"name": "miso",
"direction": "input",
"type": "data",
"description": "Master in, slave out"
},
{
"name": "cs_n",
"direction": "output",
"type": "control",
"description": "Chip select (active low)"
}
]
}
],
"template": "vyges-ip-template@1.0.0",
"fpga": {
"toolchain": "vivado",
"board": "arty-a7-35"
},
"asic": {
"flavor": "digital",
"pdks": ["sky130B"],
"synthesis_tool": "openlane"
}
}
- Platform Agnostic: Supports ASIC, FPGA, and mixed-signal designs
- Automation Ready: Structured for automated IP integration and validation
- Rich Metadata: Comprehensive information for IP discovery and evaluation
- Extensible: Custom fields and vendor-specific extensions supported
- Validation: JSON Schema validation with rich examples and documentation
name
: Unique package identifierx-version
: Schema version for tracking purposeslicense
: SPDX-compatible licenseinterfaces
: Port definitions and protocolstemplate
: Template name and version usedtarget
: Supported platforms (asic/fpga)design_type
: IP category (digital/analog/mixed-signal/hard-ip)maturity
: Development lifecycle stage
parameters
: Configurable design parametersdependencies
: Required IP blocks and toolsperformance
: Timing, power, and area metricsreliability
: Quality and compliance informationcommercial
: Licensing and support details
# Using jq for basic validation
jq -e . your-metadata.json > /dev/null
# Using our validation script (recommended)
npm install
node validate-examples.js
# Validate schema only
node validate-examples.js --schema-only
# Using ajv-cli (legacy, limited draft 2020-12 support)
npm install -g ajv-cli
ajv validate -s schema/v1/vyges-metadata.schema.json -d your-metadata.json
The schema is designed for integration with:
- EDA tools and design flows
- IP catalogs and marketplaces
- CI/CD pipelines
- Documentation generators
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Found a bug or have a suggestion? Please open an issue.
This specification follows Semantic Versioning. The current schema version is 1.0.0.
- 1.0.0 (2025-01): Initial public release with draft 2020-12 JSON Schema support
This specification is licensed under the Apache License 2.0. See LICENSE for details.
- Documentation: GitHub Repository
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Vyges Website - Official website and documentation
Maintained by: Vyges Inc.
Specification Version: 1.0.0
Last Updated: July 2025