{ "$schema" : "http://json-schema.org/schema#", "title" : "reggen-register description", "description" : "Schema for a reggen register description.", "definitions" : { "Generic" : { "type" : "object", "description" : "A generic description", "properties" : { "name" : { "description" : "Generic identifer", "type" : "string" }, "data_type" : { "description" : "The generics data type", "type" : "string" }, "default" : { "description" : "The default value", "type" : "string" } }, "required" : [ "name", "data_type" ] }, "Port" : { "type" : "object", "description" : "A port description", "properties" : { "name" : { "description" : "Port identifer", "type" : "string" }, "direction" : { "description" : "The ports data type", "enum" : [ "in", "out", "inout", "buffer" ] }, "data_type" : { "description" : "The ports data type", "type" : "string" }, "default" : { "description" : "The default value", "type" : "string" } }, "required" : [ "name", "direction", "data_type" ] } }, "type" : "object", "properties" : { "name" : { "description" : "Interface name used as prefix", "type" : "string" }, "class" : { "description" : "Interface class identifier used as connection hint", "type" : "string" }, "generics" : { "description" : "Array of generics", "type" : "array", "items": { "oneOf": [ { "$ref" : "#/definitions/Generic" } ] } }, "ports" : { "description" : "Array of ports", "type" : "array", "items": { "oneOf": [ { "$ref" : "#/definitions/Port" } ] } } }, "required" : [ "class" ] }