blob: b8e6c4ead3fb96f5f6d06fe94a246a906333fd96 [file] [log] [blame]
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/lowRISC/opentitan/master/rules/scripts/bitstreams_manifest.schema.json",
"title": "Bitstreams Cache Manifest v1",
"description":
"A manifest of bitstreams in a cache entry, informing what is there and how to reproduce",
"type": "object",
"properties": {
"schemaVersion": {
"description": "Version number of this manifest's schema",
"type": "number",
"minimum": 1,
"maximum": 1
},
"buildId": {
"description": "Build ID associated with this entry (typically a git hash)",
"type": "string"
},
"outputFiles": {
"description": "Map of output file paths to their metadata objects",
"type": "object",
"additionalProperties": { "$ref": "#/$defs/outputFile" }
}
},
"required": [
"schemaVersion",
"buildId",
"outputFiles"
],
"$defs": {
"bitstreamInfo": {
"description": "Bitstream build output",
"type": "object",
"properties": {
"@type": {
"description": "Tag for type of this object",
"type": "string",
"const": "bitstreamInfo"
},
"design": {
"description": "Design name / top for the bitstream",
"type": "string"
}
},
"required": [
"@type",
"design"
]
},
"memoryMapInfo": {
"description": "Build output that maps memories to cells in a hardware implementation",
"type": "object",
"properties": {
"@type": {
"description": "Tag for type of this object",
"type": "string",
"const": "memoryMapInfo"
},
"design": {
"description": "Design name / top for the bitstream",
"type": "string"
},
"memoryId": {
"description": "Name or key identifying the associated memory",
"type": "string"
}
},
"required": [
"@type",
"design",
"memoryId"
]
},
"outputFile": {
"description": "Information about a build output file",
"type": "object",
"properties": {
"buildTarget": {
"description": "Build target that generated the output",
"type": "string"
},
"outputInfo": {
"oneOf": [
{ "$ref": "#/$defs/bitstreamInfo" },
{ "$ref": "#/$defs/memoryMapInfo" }
]
}
},
"required": [
"outputInfo"
]
}
}
}