diff --git a/README.md b/README.md index ae2a526..398920f 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ Around the time of DAC 2005, the IEEE P1685 working group was formed. **Unknown License State** +* [IP-XACT 1.2](http://www.accellera.org/XMLSchema/SPIRIT/1.2/) + ❌ © Copyright Accellera Systems Initiative. All rights reserved. * [IP-XACT 1.1](http://www.accellera.org/XMLSchema/SPIRIT/1.1/) ❌ © Copyright Accellera Systems Initiative. All rights reserved. * [IP-XACT 1.0](http://www.accellera.org/XMLSchema/SPIRIT/1.0/) diff --git a/ipxact-1.2/README.md b/ipxact-1.2/README.md new file mode 100644 index 0000000..4884eaa --- /dev/null +++ b/ipxact-1.2/README.md @@ -0,0 +1,3 @@ +© Copyright Accellera Systems Initiative. All rights reserved. + +Source: http://www.accellera.org/XMLSchema/SPIRIT/1.2/ diff --git a/ipxact-1.2/autoConfigure.xsd b/ipxact-1.2/autoConfigure.xsd new file mode 100644 index 0000000..5c3e8dc --- /dev/null +++ b/ipxact-1.2/autoConfigure.xsd @@ -0,0 +1,289 @@ + + + + + + + + + This is a hint to the user interface on how to obtain the value for user defined properties. Float means a floating point number is expected. Long means an integer is expected. Bool means a boolean (true, false) is expected and choice means the user must pick from a list of possible values. A choiceRef attribute is required for choice formats. String means any text is acceptable. + + + + + + + + + + + + This is a hint to the user interface about the data format to require for user resolved properties. + + + + + Provides a string used to prompt the user for user-resolved property values. + + + + + For user-resolved properties with numeric values, this indicates the minimum value allowed. + + + + + For user-resolved properties with numeric values, this indicates the maximum value allowed. + + + + + This type is used to indicate how the minimum and maximum attributes values should be interpreted. For purposes of this attribute, an int is 4 bytes and a long is 8 bytes. + + + + + + + + + + + + Indicates the data type of the range attributes (minimum and maximum). For reasons of backward compatibility, this attribute is assumed to have the value 'float' if not present. + + + + + For components with auto-generated configuration forms, the user-resolved properties with order attibutes will be presented in ascending order. + + + + + For user defined properties with a "choice" format, refers the choice element enumerating the values to choose from. + + + + + For user resolved properties with a "choice" format, this indicates whether the choices should be presented as radio buttons or as a combo box. + + + + + + Display choice as radio buttons (default). + + + + + Display choice as combo box. + + + + + + + + For user resolved properties with a "choice" format and a radio button presentation style, this indicates whether the buttons should be aligned horizontally or vertically. + + + + + + Display radio buttons vertically + + + + + Display radio buttons horizontally (default) + + + + + + + + Tags configurable properties so that they may be auto-configured by different ui generators. Can also be applied to top-level uiIcons to designate which auto-configured forms they will be added to. + +This is a white-space delimited list of groups so a property may be configured by more than one configurator. + + + + + Use this attribute group on boolean elements for which the schema supplies a default prompt attribute. + + + + This is a hint to the user interface about the data format to require for user resolved properties. + +The bool.att attribute group sets the default format to "bool". + + + + + + + Use this attribute group on boolean elements. + + + + + + + Use this attribute group on long integer elements for which the schema supplies a default prompt attribute. + + + + This is a hint to the user interface about the data format to require for user resolved properties. + +The long.att attribute group sets the default format to "long". + + + + + + + Use this attribute group on long integer elements. + + + + + + + Synonym for autoConfig. + + + + + + For internal use only. + + + + + For user-resolved properties with numeric values, this indicates the minimum value allowed. + + + + + For user-resolved properties with numeric values, this indicates the maximum value allowed. + + + + + + For components with auto-generated configuration forms, the user-resolved properties with order attibutes will be presented in ascending order. + + + + + For user resolved properties with a "choice" format, this refers to a uiChoice element in the ui section of the component file. + + + + + + + + + Basic attributes for defining a parameter + + + + + + + + + + + + + + + + Basic attributes for parameter configuration + + + + + + + + Use this attribute group to allow all attributes associated with autoconfigurability. + + + + + + + + Indicates legal units for delay values. + + + + + + + + + Choices used by user defined properties of spirit:formatType ="choice" + + + + + + Non-empty set of legal values for a user defined property of type spirit:formatType="choice" . + + + + + + Choice key, available for reference by the spirit:choiceRef attribute of user defined properties of type spirit:formatType="choice". + + + + + A possible value of spirit:choice + + + + + + + When specified, displayed in place of the spirit:enumeration value + + + + + Text that may be displayed if the user requests help about the meaning of an element + + + + + + + + + + + + + diff --git a/ipxact-1.2/busDefinition.xsd b/ipxact-1.2/busDefinition.xsd new file mode 100644 index 0000000..ea685c3 --- /dev/null +++ b/ipxact-1.2/busDefinition.xsd @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + The strength of the signal. "strong" (default) or "weak" + + + + + + + + + + + + + Width and direction of a bus interface signal + + + + + Number of bits required to represent this signal. Absence of this element indicates unconstrained number of bits, i.e. the component will define the number of bits in this signal. + + + + + If this element is present, the direction of this signal is restricted to the specified value. The direction is relative to the non-mirrored interface. Use the value 'illegal' to indicate that this signal cannot appear in the interface. + + + + + + + + + + + + + + + + + + + + + + + Defines the signals and high-level function of a bus. + + + + + + + This element indicates that a master interface may be directly connected to a slave interface (under certain conditions) for busses of this type. + + + + + Optional name of bus type that this bus definition is compatible with. This bus definition may change the definitions of signals in the existing bus definition and add new signals, the signals in the original bus are not deleted but may be marked illegal to disallow their use. + + + + + Indicates the maximum number of masters this bus supports. If this element is not present, the number of masters allowed is unbounded. + + + + + Indicates the maximum number of slaves this bus supports. If the element is not present, the number of slaves allowed is unbounded. + + + + + This is a list of logical signals defined by the bus. + + + + + + + + + The assigned name of this signal in bus specifications. + + + + + A signal can carry both address and data, but may not mix this with a clock or reset + + + + + If this element is present, the signal contains address information. + + + + + If this element is present, the signal contains data information. + + + + + + If this element is present, the signal contains only clock information. + + + + + Is this element is present, the signal contains only reset information. + + + + + + + Defines constraints for this signal when present in a system bus interface with a matching group name. + + + + + + Used to group system signals into different groups within a common bus. + + + + + + + + + Defines constraints for this signal when present in a master bus interface. + + + + + + + + Defines constraints for this signal when present in a slave bus interface. + + + + + + + + Default value for the signal when used as an input and it ends up being unconnected. Ignored for signals that require a singleShot or clock type driver. This value may be overridden by a defaultValue on a component pin. + + + + + + The value of a signal. 1 or 0 for single bit signals, unsigned numeric otherwise. + + + + + + + + + + + + + + + + + Container element for parameters defined for a bus definition. + + + + + + Defines a parameter which can be specified on a bus interface. The parameter is fully described on the bus definition and then instantiated on the bus interface. Setting 'consistent' to true implies that the parameter must have the same value on the corresponding bus interface parameters on both sides of connected interfaces. + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ipxact-1.2/busInterface.xsd b/ipxact-1.2/busInterface.xsd new file mode 100644 index 0000000..fa3790c --- /dev/null +++ b/ipxact-1.2/busInterface.xsd @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + Describes one of the bus interfaces supported by this component. + + + + + A list of bus interfaces supported by this component. + + + + + + + + + + + + Uniquely names this bus interface. + + + + + The bus type of this interface. Refers to a bus description using vendor, library and name attributes. + + + + + + If this element is present, the bus interface can serve as a master. This element encapsulates additional information related to its role as master. + + + + + + If this master connects to an addressable bus, this element references the address space it maps to. It has an addressSpaceRef attribute which is an addrSpaceID key ref. + + + + + + + If master's mapping to the physical address space is not zero based, baseAddress and bitOffset elements may be used to indicate the offsets. + + + + + + + + + + + + + + If this element is present, the bus interface can serve as a slave. + + + + + + + If this element is present, it indicates that the bus interface provides a bridge to another master bus interface on the same component. It has a masterRef attribute which contains the name of the other bus interface. It also has an opaque attribute to indicate that the bus bridge is opaque. + +Any slave interface can bridge to multiple master interfaces, and multiple slave interfaces can bridge to the same master interface. + + + + + The name of the master bus interface to which this interface bridges. + + + + + If true (default) then this bridge is opaque; the whole of the address range is mappeed by the bridge and there are no gaps. + + + + + + + This reference is used to point the filesets that are associated with this slave port. + +Depending on the slave port function, there may be completely different software drivers associated with the different ports. + + + + + + + + + + + + + + If this element is present, the bus interface is a system interface, neither master nor slave, with a specific function on the bus. + + + + + + + + + + If this element is present, the bus interface represents a mirrored slave interface. All directional constraints on signals are reversed relative to the specification in the bus definition. + + + + + + Represents a set of remap base addresses. + + + + + + Base of an address block. The state attribute indicates the name of the remap state for which this address is valid. + + + + + + + + + Name of the state in which this remapped address range is valid + + + + + + + + + The address range of mirrored slave. + + + + + + + + + + + + + + + + + + If this element is present, the bus interface represents a mirrored master interface. All directional constraints on signals are reversed relative to the specification in the bus definition. + + + + + + If this element is present, the bus interface represents a mirrored system interface. All directional constraints on signals are reversed relative to the specification in the bus definition. + + + + + + + + + + Indicates that this is a (passive) monitor interface. All of the signals in the interface must be inputs. The type of interface to be monitored is specified with the required interfaceType attribute. The spirit:group element must be specified if monitoring a system interface. + + + + + + + + + + + + + + + + + + + + + + + Directs how a bus interface is connected when the component is added to a design already containing a bus owner. + +Default behavior is "explicit". + + + + + + A bus instance is automatically chosen and the connection is made. Component addition fails if a suitable bus is not available. + + + + + Connection of this bus interface is not made until the user explicitly requests connection. + + + + + + + + Listing of maps between component signals and bus signals. + + + + + + Maps a component's signal to a signal in a bus description. + + + + + + Component signal name as specified inside the hardware model + + + + + Bus signal name as specified inside the bus definition + + + + + The optional elements left and right can be used to select a bit-slice of a signal vector to map to the bus interface. + + + + + + + + + + + + The optional elements left and right can be used to select a bit-slice of a signal vector to map to the bus interface. + + + + + + + + + + + + + + + + + + + Master or slave index of this bus interface's connection on a bus. Only used on indexed buses. + + + + + + + + + + + + + Indicates whether bit steering should be used to map this interface onto a bus of different data width. + +Values are "on", "off" (defaults to "off"). + + + + + + + + + + + + Configuration generators for bus interfaces. + + + + + Container element for parameters associated with a bus interface. + + + + + + Name/value pair defining a parameter on this bus interface. The name must match the name of a busDefParameter on the associated bus definition. Also, the interface type of this bus interface must be allowed as specified in the busDefParameter. + + + + + + + + + + + + + + + + + + + + Indicates which system interface is being mirrored. Name must match a group name present on one or more signals in the corresonding bus definition. + + + + + Lists all channel connections between mirror interfaces of this component. + + + + + + Defines a set of mirrored interfaces of this component that are connected to one another. + + + + + + Unique name for this channel. + + + + + Overrides the maxMasters value in the bus definition if this number is more restrictive. + + + + + Overrides the maxSlaves value in the bus definition if this number is more restrictive. + + + + + Contains the name of one of the bus interfaces that is part of this channel. The ordering of the references may be important to the design environment. + + + + + + + + + + + + + + + Contains a list of remap state names and associated signal values + + + + + + Contains a list of signals and values which tell the decoder to enter this remap state. The name attribute identifies the name of the state + + + + + + Contains the name and value of a signal on the component, the value indicates the logic value which this signal must take to effect the remapping. The id attribute stores the name of the signal which takes that value. + + + + + + + This attribute identifies a signal on the component which affects the component's memory layout + + + + + + + + + + Stores the name of the state + + + + + + + + diff --git a/ipxact-1.2/commonStructures.xsd b/ipxact-1.2/commonStructures.xsd new file mode 100644 index 0000000..0df2667 --- /dev/null +++ b/ipxact-1.2/commonStructures.xsd @@ -0,0 +1,90 @@ + + + + + + + + Used wherever a name value pair is appropriate. The name is given by the attribute while the value is the element content. + +Supports configurability attributes and a cross reference XPath expression stored in the crossRef attribute. + + + + + + The name in a name-value pair. + + + + + + + + + + Name value pair with data type information. + + + + + + The data type of the argumen as pertains to the language. Example: "int", "double", "char *". + + + + + + + + A container for any data that is specific to this instance of the design object. The contents are not interpreted or validated by the Design Environment. This element will be saved with the design and restored when the design is loaded. It is indended to be used by generators to store and retrieve instance specific data. + + + + + A name value pair. The name is specified by the name attribute. The value is in the text content of the element. This element supports all configurability attributes. It also supports a cross reference attribute which allows it to be associated with other elements in the document through an XPath expression. + + + + + A group of parameters. + + + + + + + + + + + Container for vendor specific extensions. + + + + + + Accepts any element(s) the content provider wants to put here, including elements from the SPIRIT namespace. + + + + + + diff --git a/ipxact-1.2/component.xsd b/ipxact-1.2/component.xsd new file mode 100644 index 0000000..812ce3c --- /dev/null +++ b/ipxact-1.2/component.xsd @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + Component-specific extension to componentType + + + + + + + + + + + + Generator list is tools-specific. + + + + + + + + + + + + + + + cpu's in the component + + + + + + Describes a processor in this component. + + + + + + The name of the cpu instance relative to the platform core. + + + + + Indicates which address space maps into this cpu. + + + + + Data specific to the cpu. + + + + + + + + + + + + + Defines a set of clock drivers that are not directly associated with an input signal of the component. + + + + + + + + + This is the root element for all non platform-core components. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines a white box reference point within the component. + + + + + Indicates the name of the white box element. This name is referenced from the whiteboxElementRef inside of a view. + + + + + Indicates the type of the element. The pin and signal types refer to elements within the HDL description. The register type refers to a register in the memory map. The interface type refers to a bus interface in a lower level component definition. + + + + + + + + + + + + + If true, indicates that the white box element can be driven (e.g. have a new value forced into it). + + + + + Description of the white box element. + + + + + Indicates the name of the register associated with this white box element. The name must refer to a spirit:register defined within this component. When specified, the whiteboxType must be 'register'. + + + + + diff --git a/ipxact-1.2/configurable.xsd b/ipxact-1.2/configurable.xsd new file mode 100644 index 0000000..d77844d --- /dev/null +++ b/ipxact-1.2/configurable.xsd @@ -0,0 +1,73 @@ + + + + + + + Determines how a property is resolved. Immediate means the value is included in the XML document and cannot be changed by the user. User means the value must be obtained from the user. Optional means the user is given the opportunity to supply a value, but can leave the entry blank. Dependent means the value depends on the value of other properties. A dependency expression must be supplied in the dependency attribute. Generated means the value will be provided by a generator. + + + + + Property value is included in the XML file. It cannot be configured. + + + + + Property content can be modified through confiugration. Modifications will be saved with the design. + + + + + Property value is expressed as an XPath expression which may refer to other properties. The expression must appear in the dendency attribute. + + + + + Generators may modify this property. Modifications get saved with the design. + + + + + + + Determines how a property value is resolved. + + + + + ID attribute for uniquely identifying an element within its document. + + + + + Required on properties with a resolve = "dependent" attribute. This is an XPath expression supplying the resultant value in terms of other properties in the component file. + + + + + Base set of attributes for an element to be configurable. + + + + + + + diff --git a/ipxact-1.2/configurator.xsd b/ipxact-1.2/configurator.xsd new file mode 100644 index 0000000..a43a762 --- /dev/null +++ b/ipxact-1.2/configurator.xsd @@ -0,0 +1,38 @@ + + + + + + + + Set of configurators on a configurable object. The contents of this container element are undefined for version 1.0 of the SPIRIT schema. It is expected that the contents will be defined when the tight generator interface is available. In this release only 'default' configurators are supported. + + + + + + Accepts any element(s) the content provider wants to put here, including elements from the SPIRIT namespace. + + + + + + + diff --git a/ipxact-1.2/constraints.xsd b/ipxact-1.2/constraints.xsd new file mode 100644 index 0000000..08f9cce --- /dev/null +++ b/ipxact-1.2/constraints.xsd @@ -0,0 +1,553 @@ + + + + + + + + + Indicates legal units for capacitance values. + + + + + + + + + Indicates legal units for resistance values. + + + + + + + + + Indicates legal cell function values. + + + + + + + + + + + + + + Indicates legal cell class values. + + + + + + + + + Indicates legal cell strength values. + + + + + + + + + + Indicates legal values for edge specification attributes. + + + + + + + + + Indicates legal values for type of checking the paths apply to: setup or hold. + + + + + + + + + Indicates legal values for associating a clock with timing exception. + + + + + + + + + Indicates the type of delay value - minimum or maximum delay. + + + + + + + + + Type used to record percentage values. + + + + + + + + + Defines a non-negative floating point number. + + + + + + + + Indicates legal values for pathElement attribute + + + + + + + + + + + Represents a simple capacitance value with optional units. + + + + + + + + + + Represents a simple delay value with optional units. + + + + + + + + + + Represents a simple resistance value with optional units. + + + + + + + + + + List of clocks associated with the component that are not associated with signals. Set the clockSource attribute on the clockDriver to indicate the source of a clock not associated with a particular component signal. + + + + + + + + Indicates the desired strength of the specified cell. + + + + + Indicates the clock edge that a timing constraint is relative to. + + + + + Indicates the path edge that a timing constraint is relative to. + + + + + Indicates the type of path (setup/hold) that a timing constraint applies to. + + + + + Indicates which clock (start/end) that a multi-cycle path is associated with. + + + + + Indicates the type of delay in a timing constraint - minimum or maximum. + + + + + Indicates the type of object that the pathSpecifier sub-element refers to. + + + + + Indicates a name for this set of constraints. Constraints are tied to a view using this name in the constraintSetRef element. + + + + + Used to indicate a particular technology library cell. Use of cellName is discouraged since it is technology dependent. + + + + + + Defines a technology library cell in library independent fashion, based on specification of a cell function and strength. + + + + + + + + + + + + Defines a technology library cell in library independent fashion, based on specification of a cell class and strength. + + + + + + + + + + + + Defines a technology library cell by name. Use of this library dependent syntax is discouraged as it is not portable. + + + + + + + + + + + + Defines a timing constraint for the associated signal. The constraint is relative to the clock specified by the clockName attribute. The clockEdge indicates which clock edge the constraint is associated with (default is rising edge). The delayType attribute can be specified to further refine the constraint. + + + + + + Defines a delay constraint value which is defined as a percentage of the corresponding clock cycle time. + + + + + Defines an absolute delay constraint value. The units attribute can be used to specify units if needed. The default units are ns. + + + + + + + + + + + Defines a constraint indicating how an input is to be driven. The preferred methodology is to specify a library cell in technology independent fashion. The implemention tool should assume that the associated signal is driven by the specified cell, or that the drive strength of the input signal is indicated by the specified resistance value. + + + + + + + Specifes a drive resistance for the input signal. + + + + + + + + Defines a constraint indicating the type of load on an output signal. + + + + + + + + Indicates how many loads of the specified cell are connected. If not present, 3 is assumed. + + + + + + Indicates an explicit load capacitance on an output signal. + + + + + + + + Defines one or more logical paths within a component. + + + + + + Defines a valid path starting point. This can be a clock, an input port, a sequential cell, or a clock or data out pin of a sequential cell. These do not have to be objects that are directly represented in the SPIRIT data model. Use the pathElement attribute to indicate the type of object referred to it if might be ambiguous. + + + + + + + + + + + + Defines a valid path ending point. This can be a clock, an output port, a sequential cell, or a clock or data in pin of a sequential cell. These do not have to be objects that are directly represented in the SPIRIT data model. Use the pathElement attribute to indicate the type of object referred to if it might be ambiguous. + Defines a valid path ending point. This can be a clock, an output port, a sequential cell, or a clock or data in pin of a sequential cell. These do not have to be objects that are directly represented in the SPIRIT data model. Use the pathElement attribute to indicate the type of object referred to if it might be ambiguous. + + + + + + + + + + + + Defines a set of pins, ports, cells, or nets through which the desired path(s) must pass. These do not have to be objects that are directly represented in the SPIRIT data model. Use the pathElement attribute to indicate the type of object referred to if it might be ambiguous. + Defines a set of pins, ports, cells, or nets through which the desired path(s) must pass. These do not have to be objects that are directly represented in the SPIRIT data model. Use the pathElement attribute to indicate the type of object referred to if it might be ambiguous. + + + + + + + + + + + + + + + Defines a false path timing exception. + + + + + + + + + + + + Defines a multi-cycle path timing exception. + + + + + + + + + + + + + + Defines a point-to-point timing exception. The pathEdge attribute can be used to restrict the constraint to rising or falling edges, and the delayType attribute can be used to restrict the constraint to imply a minimum path constraint or a maximum path constraint. + + + + + + + + + + + + + Defines signal and/or component constraints associated with circuit design rules. + + + + + + Minimum capacitance value for this component or signal. The units attribute can be used to indicate the units associated with the capacitance value. Default unit value is 'pf'. + + + + + Maximum capacitance value for this component or signal. + + + + + Minimum transition delay for this component or signal. + + + + + + Minimum transition delay for a rising edge transition for this component or signal. + + + + + Minimum transition delay for a falling edge transition for this component or signal. + + + + + + + + Maximum transition delay for this component or signal. + + + + + + Maximum transition delay for a rising edge transition for this component or signal. + + + + + Maximum transition delay for a falling edge transition for this component or signal. + + + + + + + + Maximum fanout value for this component or signal. + + + + + + + + Defines the set of implementation constraints associated with a component. If multiple componentConstraints elements are used, each must have a unique value for the constraintSet attribute. + + + + + + + + + + + + List of componentConstraints elements for this component. + + + + + + + + + + Defines constraints that apply to a component signal. If multiple signalConstraints elements are used, each must have a unique value for the constraintSet attribute. + + + + + + + + + + + + + + + + List of signalConstraints elements for a component signal. + + + + + + + + + + Defines constraints that apply to a signal in a bus definition. If multiple busDefSignalConstraints are used, each must have a unique value of the constraintSet attribute. These constraints are carried over to the associated component signal as default values. + + + + + + + + + + + + + + List of busDefSignalConstraints elements for a bus definition signal. + + + + + + + + + + Grouping of constraints related to point to point timing requirements. + + + + + + + + + + A reference to a set of constraints (signalConstraints, componentConstraints, or busDefConstraints). + + + diff --git a/ipxact-1.2/design.xsd b/ipxact-1.2/design.xsd new file mode 100644 index 0000000..1d9efdd --- /dev/null +++ b/ipxact-1.2/design.xsd @@ -0,0 +1,85 @@ + + + + + + + + + + Root element for a platform design. + + + + + + + + + + A list of hierarchy connections between bus interfaces on component instances and the bus interfaces on the encompassing component. + + + + + + Represents a hierarchy connection + + + + + + This is the instance name of the component which owns the busInterface that is to be exported + + + + + This is the name of the bus interface on the instance + + + + + + + This is the name of the bus interface on the upper level component. + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ipxact-1.2/designConfig.xsd b/ipxact-1.2/designConfig.xsd new file mode 100644 index 0000000..97411bd --- /dev/null +++ b/ipxact-1.2/designConfig.xsd @@ -0,0 +1,84 @@ + + + + + + + + + + Top level element for describing the current configuration of a design. Does not describe instance parameterization + + + + + + + The design to which this configuration applies + + + + + Contains the configurable information associated with a particular PMD + + + + + + References a PMD. + + + + + + + + + Contains the configurable information associated with a generatorChain and its generators. Note that configurable information for generators associated with components is stored in the design file. + + + + + + References a generatorChain. + + + + + + Stores configurable information for generators referenced in the chain + + + + + + This identifies the generator in the chain. + + + + + + + + + + + + Contains the active view for each instance in the design + + + + + + + The name of the active view for this instance + + + + + + + + + + diff --git a/ipxact-1.2/file.xsd b/ipxact-1.2/file.xsd new file mode 100644 index 0000000..e6f0bd5 --- /dev/null +++ b/ipxact-1.2/file.xsd @@ -0,0 +1,494 @@ + + + + + + + + + + + SPIRIT reference to a file or directory. + + + + + + Path to the file or directory. + + + + + + + + + + + + + + + Logical name for this file or directory e.g. VHDL library name. + + + + + + + + + + + + Defines exported names that can be accessed externally, e.g. exported function names from a C source file. + + + + + Command and flags used to build derived files from the sourceName files. If this element is present, the command and/or flags used to to build the file will override or augment any default builders at a higher level. + + + + + + Command used to build this file. + + + + + + + + + + + + Flags given to the build command when building this file. If the optional attribute "append" is "true", this string will be appended to any existing flags, otherwise these flags will replace any existing default flags. + + + + + + + + + + + + + If true, the value of the sibling element "flags" should replace any default flags specified at a more global level. If this is true and the sibling element "flags" is empty or missing, this has the effect of clearing any default flags. + + + + + + + + + + + + Pathname to the file that is derived (built) from the source file. + + + + + + + + + + + + + + + + Specifies define symbols that are used in the source file. The spirit:name attribute gives the name to be defined and the text content of the element holds the value. This element supports full configurability. + + + + + Relates the current file to a certain executable image type in the design. + + + + + + + + + + + This element specifies a list of unique pathnames to files and directories. It may also include build instructions for the files. If compilation order is important, e.g. for VHDL files, the files have to be provided in compilation order. + + + + + Specifies an executable software image to be loaded into a processors address space. The format of the image is not specified. It could, for example, be an ELF loadfile, or it could be raw binary or ascii hex data for loading directly into a memory model instance. + + + + + + Name of the executable image file. + + + + + + + + + + + + Additional information about the load module, e.g. stack base addresses, table addresses, etc. + + + + + Default commands and flags for software language tools needed to build the executable image. + + + + + + A generic placeholder for any file builder like compilers and assemblers. It contains the file types to which the command should be applied, and the flags to be used with that command. + + + + + + + Default command used to build files of the specified fileType. + + + + + + + + + + + + Flags given to the build command when building files of this type. + + + + + + + + + + + + If true, replace any default flags value with the value in the sibling flags element. Otherwise, append the contents of the sibling flags element to any default flags value. + +If the value is true and the "flags" element is empty or missing, this will have the result of clearing any default flags value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies a linker command file. + + + + + + Linker command file name. + + + + + + + + + + + + The command line switch to specify the linker command file. + + + + + + + + + + + + Specifies whether to generate and enable the linker command file. + + + + + + + + + + + + + + + + + + + + Contains a group of file set references that indicates the set of file sets complying with the tool set of the current executable image. + + + + + + + + + + + + + + + + A reference to a fileSet. + + + + + Specifies a location on which files or fileSets may be dependent. Typically, this would be a directory that would contain included files. + + + + + List of file sets associated with component. + + + + + + + + + + + + + Default command used to build files of the specified fileType. + + + + + + + + + + + + Flags given to the build command when building files of this type. + + + + + + + + + + + + If true, replace any default flags value with the value in the sibling flags element. Otherwise, append the contents of the sibling flags element to any default flags value. + +If the value is true and the "flags" element is empty or missing, this will have the result of clearing any default flags value. + + + + + + + + + + + + + + + + Specifies the original owner of the fileSet, used when importing fileSets from other components, as in Hierarchical components, to allow the parent component to correctly locate files imported from subcomponents + + + + + Identifies this filleSet as belonging to a particular group or having a particular purpose. Examples might be "diagnostics", "boot", "application", "interrupt", "deviceDriver", etc. + + + + + + + + Generator information if this file set describes a function. For example, this file set may describe diagnostics for which the DE can generate a diagnostics driver. + +The boolean attribute "replicate", if true (default is false), directs the generator to compile a separate object module for each instance of the component in the design. Otherwise the function will be called with different arguments for each instance (e.g. baseAddress). + + + + + + + A reference to the file that contains the entry point function. + + + + + Function return type. See the enumerations. + + + + + + + + + + + Arguments passed in when the function is called. Arguments are passed in order. + +This is an extension of the name-value pair which includes the data type in the spirit:dataType attribute. The argument name is in the spirit:name attribute and its value is in the text content of the element. + + + + + + + + + + + + Specifies if the SW function is enabled. Default is true. + + + + + + + + + + + + + + + Source file for the boot load. Relative names are searched for in the project directory and the source of the component directory. + + + + + + + + + + + + + + + + + + + + + + + + + SPIRIT URI, like a standard xs:anyURI except that it can contain environment variables in the ${ } form, to be replaced by their value to provide the underlying URI + + + + + + Enumerates C argument data types. + + + + + + + + + + + + + + + A reference to a generator element. + + + + + A reference to a configurator element. + + + diff --git a/ipxact-1.2/fileType.xsd b/ipxact-1.2/fileType.xsd new file mode 100644 index 0000000..f95d53f --- /dev/null +++ b/ipxact-1.2/fileType.xsd @@ -0,0 +1,74 @@ + + + + + + The type of a file refenced by SPIRIT. +Either: fileType - a known SPIRIT file type, or userFileType - a file type not yet known by SPIRIT. + + + + + Enumerated file types known by SPIRIT. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Free form file type, not - yet - known by SPIRIT . + + + + + diff --git a/ipxact-1.2/generator.xsd b/ipxact-1.2/generator.xsd new file mode 100644 index 0000000..db41e74 --- /dev/null +++ b/ipxact-1.2/generator.xsd @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + Select other generator chain files for inclusion into this chain. The boolean attribute "unique" (default false) specifies that only a single generator is valid in this context. If more that one generator is selcted based on the selection criteria, DE will prompt the user to resolve to a single generator. + + + + + + + Select another generator chain using the unique identifier of this generator chain. + + + + + + + + + Selects generators declared in component description files of the current design for inclusion into this generator chain. + + + + + + + Identifies this generator chain as belonging to the named group. This is used by other generator chains to select this chain for programmatic inclusion. + + + + + + + + + + Specifies a set of generators. + + + + + + + + + + Specifies a set of component generators. The scope attribute applies to component generators and specifies whether the generator should be run for each instance of the entity (or module) or just once for all instances of the entity. + + + + + + + If this attribute is true then the generator should not be presented to the user, it may be part of a chain and has no useful meaning when invoked standalone. + + + + + + + + + Specifies a set of group names used to select subsequent generators. The attribute "multipleGroupOperator" specifies the OR or AND selection operator if there is more than one group name (default=OR). + + + + + + Name used to select a generator or generator chain. + + + + + + + + + + + + + + + + + + + + + + This is an non-negative floating point number that is used to sequence when a generator is run. The generators are run in order starting with zero. There may be multiple generators with the same phase number. In this case, the order should not matter with respect to other generators at the same phase. If no phase number is given the generator will be considered in the "last" phase and these generators will be run in the order in which they are encountered while processing generator elements. + + + + + + + + + + + + + + + + An identifier to specify the generator group. This is used by generator chains for selecting which generators to run. + + + + + + The scope attribute applies to component generators and specifies whether the generator should be run for each instance of the entity (or module) or just once for all instances of the entity. + + + + + + + + + + + + + + + + + + + List of component generators. + + + + + + + + + + Types of generators + + + + + The name of this generator. + + + + + + + Indicates the type of API used by the generator. Valid value are TGI, LGI, and none. If this element is not present, LGI is assumed. + + + + + + + + + + + + + + + Defines a SOAP transport protocol other than HTTP which is supported by this generator. The only other currently supported protocol is 'file'. + + + + + + + + + + + + + Identifies the special requirements that this loose generator may place up on the DE. Not valid for tight generators. + + + + + + If true then this generator will not make changes to the design. + + + + + If true then this generator is capable of running in a hierarchical manner and so the DE must ensure that all lower levels of hierarchy are also made available + + + + + If true then the generator operates on designated instances, not the whole design. The DE must capture the instances to be operated on. + + + + + If present then this generator only needs a subset of the design information. + + + + + + If true then the generator only needs to look at design information. + + + + + If true then the generator only needs to look at component related information. + + + + + If true then the generator only needs to look at bus definition information. + + + + + + + + + + + The pathname to the executable file that implements the generator + + + + + + diff --git a/ipxact-1.2/identifier.xsd b/ipxact-1.2/identifier.xsd new file mode 100644 index 0000000..a406e15 --- /dev/null +++ b/ipxact-1.2/identifier.xsd @@ -0,0 +1,79 @@ + + + + + + + + Base SPIRIT identifier group. Identify a SPIRIT document by its by vendor, library and name. + + + + + Name of the vendor who supplies this file. + + + + + Name of the logical library this element belongs to. + + + + + The name of the object. + + + + + + + This group of elements identifies a top level item (e.g. a component or a bus definition) with vendor, library, name and a version number + + + + + + + + + Base SPIRIT document reference. Contains vendor, library, name and version attributes. + + + + + + + + + Base SPIRIT document reference type. Contains vendor, library, name and version attributes. + + + + + + Resolved SPIRIT document reference type. Contains vendor, library, name and version attributes and the URI of the referenced SPIRIT document + + + + + + + + diff --git a/ipxact-1.2/index.xsd b/ipxact-1.2/index.xsd new file mode 100644 index 0000000..6b4572e --- /dev/null +++ b/ipxact-1.2/index.xsd @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + This SPIRIT schema documentation is part of the SPIRIT standard deliverables. The diagrams in this documentation represent the relationships between elements of the schema together with their attributes and expected values. + + + + + To define all elements and attributes supported when defining a bus. + + + + + To define all elements and attributes supported when defining a component. + + + + + To define all elements and attributes supported when defining a design and its configured components + + + + + To define all elements and attributes supported when defining creating platform meta-data transformations. + + + + + To define all elements and attributes supported when defining a generator and the changes made by a generator. + + + + + To define all elements and attributes supported when invoking generators defined in the LGI methodology. + + + + + To define all elements and attributes supported for defining generator chains. + + + + + + diff --git a/ipxact-1.2/looseGeneratorChanges.xsd b/ipxact-1.2/looseGeneratorChanges.xsd new file mode 100644 index 0000000..193a41e --- /dev/null +++ b/ipxact-1.2/looseGeneratorChanges.xsd @@ -0,0 +1,286 @@ + + + + + + + + + Indicates whether the alteration is an addition, removal or a replacement + + + + + + + + + + + + Indicates whether the alteration is an addition or a removal + + + + + + + + + + + Defines the changes to be made to the design as directed by an external generator. + + + + + + List of changes affecting components in the design. + + + + + + + + + + + This is the file containing the component definition. Required only if the alteration is an addition or a replacement. Should be an absolute filename so that the DE may copy it. + + + + + Required only for hierarchical components. Holds the hierarchical component's sub-component definition files. + + + + + + Path to definitions of components and channels instanced in hierarchical component definition. + + + + + + + + + + + + + + + List of changes affecting interconnections in the design. + + + + + + + + + + + + + + + + + + + + List of changes affecting ad-hoc connections in the design. + + + + + + + + + + This is the name of the ad-hoc connection to modify + + + + + Specifies whether this ad-hoc connection will be exported out of the design. + + + + + + + + + + + + Indicates the signal on the component which is being connected by this ad-hoc connection + + + + + This is the instance name of the component + + + + + The name of the signal on the component + + + + + If present, this is the left index of the signal + + + + + If present, this is the right index of the signal + + + + + + + + + + + + + List of changes affecting the configuration of the design. + + + + + + Contains the configurable information associated with a particular PMD + + + + + + + References a PMD. + + + + + + + + + Contains the configurable information associated with a generatorChain and its generators. Note that configurable information for generators associated with components is stored in the design file. + + + + + + References a generatorChain. + + + + + + + + + + + + + Stores configurable information for generators referenced in the chain + + + + + + + This identifies the generator in the chain. + + + + + + + + + + + + Contains the active view for each instance in the design + + + + + + + + The name of the active view for this instance + + + + + + + + List of changes affecting vendor defined extensions in the design. + + + + + + + + + + + + + + + + + + + + List of changes affecting vendor defined extensions in the design. + + + + + + + + + + + + + + + + + + diff --git a/ipxact-1.2/looseGeneratorInvocation.xsd b/ipxact-1.2/looseGeneratorInvocation.xsd new file mode 100644 index 0000000..4851c17 --- /dev/null +++ b/ipxact-1.2/looseGeneratorInvocation.xsd @@ -0,0 +1,118 @@ + + + + + + + + + + + Specifies the information required to invoke a loosely coupled generator + + + + + + Path to description of top level design + + + + + Path to configuration file for this design + + + + + The list of bus definition files currently in use within the design + + + + + + Path to a bus definition file used within design. Attributes VLNV used to indicate which bus definition this file represents. + + + + + + + + The list of component definition files currently needed to define all the components within the design. + + + + + + Path to component definition file. This component definition is the component definition as it appears in the DE; i.e. after having been transformed by any PMD info, and including any instance specific settings such as parameter values. The instanceRef attribute is the name of the instance that this file describes. + + + + + + + Reference handle for this component definition + + + + + + + + + + + + List of values of configurable settings for this generator invocation + + + + + + + + + + The list of instances to be worked upon by the generator, no instances selected indicates whole design + + + + + + Instance name of selected instance that the generator is expected to work upon. This may be a hierarchical instance name. + + + + + + + + The non-negative floating point phase number associated with this generator invocation + + + + + The generator group name associated with this generator invocation + + + + + + diff --git a/ipxact-1.2/memoryMap.xsd b/ipxact-1.2/memoryMap.xsd new file mode 100644 index 0000000..d6072b1 --- /dev/null +++ b/ipxact-1.2/memoryMap.xsd @@ -0,0 +1,599 @@ + + + + + + + + + + The read/write accessability of an addess block. + + + + + + + + + + 'serial' or 'parallel' bank alignment. + + + + + + + + + Describes the usage of an address block. + + + + + Denotes an address range that can be used for read-write or read-only data storage. + + + + + Denotes an address block that is used to communicate with hardware. + + + + + Denotes an address range that must remain unoccupied. + + + + + + + Specifies the data storage as "big" or "little" endian. + + + + + + + + + A reference to a unique address space. + + + + + A reference to a unique memory map. + + + + + Describes whether this bank's blocks are aligned in 'parallel' or 'serial'. + + + + + For subspaceMap elements, this attribute identifies the master that contains the address space to be mapped. + + + + + + + + + + + + + + + + + + + + + Base type for an element which references an address space. Reference is kept in an attribute rather than the text value, so that the type may be extended with child elements if necessary. + + + + + + Base type for an element which references an memory map. Reference is kept in an attribute rather than the text value, so that the type may be extended with child elements if necessary. + + + + + + Banks nested inside a bank do not specify address. + + + + + + + Address blocks inside a bank do not specify address. + + + + + + + + + + + Subspace references inside banks do not specify an address. + + + + + Any parameters that may apply to the subspace reference. + + + + + + + + + + + Field name. + + + + + Offset of this field's lsb from bit 0 of the register. + + + + + Width of the field in bits. + + + + + + + + + + + + + Bit field description. + + + + + Enumerates specific values that can be assigned to the bit field. + + + + + + Enumerated bit field value. + + + + + Description of a bit field value. + + + + + The name of this enumerated value. This may be used as a token in generating code. + + + + + + + + + + + + + + + + Maps in an address subspace from accross a bus bridge. Its masterRef attribute refers by name to the master bus interface on the other side of the bridge. It must match the masterRef attribute of a bridge element on the slave interface, and that bridge element must be designated as opaque. + + + + + + + Map of address space blocks on slave slave bus interface. + + + + + Memory map name, unique within the component. Put into a group to avoid making it a top level element + + + + + + + + + Map of address space blocks on a slave bus interface in a specific remap state. + + + + + State of the component in which the memory map is active. + + + + + + Map of address space blocks on the local memory map of a master bus interface. + + + + + + Address subspace type. Its subspaceReference attribute references the subspace from which the dimensions are taken. + + + + + + Any parameters that may apply to the subspace reference. + + + + + + + + + Indicates whether the data is volatile, default to false when not present. + + + + + Indicates the accessibility of the data in the address block. Possible values are 'read-write', 'read-only' and 'write-only'. + + + + + This is a single contiguous block of memory inside a memory map. + + + + + + + + + References the address space. The name of the address space is kept in its addressSpaceRef attribute. + + + + + If this component is a bus master, this lists all the address spaces +defined by the component. + + + + + + This defines a logical space, referenced by a bus master. + + + + + + The name of the address space. Unique within the model. + + + + + + + + + Provides the local memory map of an address space. Blocks in this memory map are accessable to master interfaces on this component that reference this address space. They are not accessable to any external master interface. + + + + + Data specific to this address space. + + + + + + + + + + + + References the memory map. The name of the memory map is kept in its memoryMapRef attribute. + + + + + Lists all the slave memory maps defined by the component. + + + + + + The set of address blocks a bus slave contributes to the bus' address space. + + + + + + + + + + + + + + + + + Represents a bank of memory made up of address blocks or other banks. It has a bankAlignment attribute indicating whether its blocks are aligned in 'parallel' (occupying adjacent bit fields) or 'serial' (occupying contiguous addresses). Its child blocks do not contain addresses or bit offsets. + + + + + Base of an address block. + + + + + + + + + + + + + Base bit offset of an address block. If not included, it is assumed to be 0. + + + + + + + + + + + + The number of bits in the least addressable unit. The default is byte addressable (8 bits). + + + + + This is a group of optional elements commonly added to various types of address blocks in a memory map. + + + + + + + + + + This group of elements describes an absolute or relative address of an address block in a memory map. + +Note that this is a group, not an element. It does not appear in the XML, but its contents may. + + + + + + + + + This group of elements is common to top level banks and banked banks. + + + + + + An address block within the bank. No address information is supplied. + + + + + + + + + A nested bank of blocks within a bank. No address information is supplied. + + + + + + + + + + + This group of elements describes width and length of an address block in a memory map. + +Note that this is a group, not an element. It does not appear in the XML, but its contents may. + + + + + The address range of an address block. Expressed as the number of addressable units accessable to the block. + + + + + + + + + + + + Bit width of an address block. + + + + + + + + + + + + + + This group of optional elements can be used to provide additional descriptions to an address block or bank. + +Note that this is a group, not an element. It does not appear in the XML, but its contents may. + + + + + Indicates the usage of this block. Possible values are 'memory', 'register' and 'reserved'. + + + + + + + Any additional parameters needed to describe this address block to the generators. + + + + + + + This group of optional elements describes the memory mapped registers of an address block + + + + + + + + Register name. + + + + + Dimensions a register array, the semantics for dim elements are the same as the C language standard for the layout of memory in multidimensional arrays. + + + + + Offset from baseAddress. + + + + + Size in bits. + + + + + + + + + + + + + + Indicates that this register has a dependency on the setting of another register. + + + + + + The name of the register that enables this register. + + + + + Name of the field within the register that enables this register. + + + + + Value that the enabling field must be set to to enable this register. + + + + + Mask to be anded with the value of the enabling field or register before comparing to the dependency value. + + + + + + + + Register value at reset. + + + + + + The value itself. + + + + + Mask to be anded with the value before comparing to the reset value. + + + + + + + + Describes individual bit fields within the register. + + + + + Register description + + + + + + + + + + diff --git a/ipxact-1.2/model.xsd b/ipxact-1.2/model.xsd new file mode 100644 index 0000000..50ce5aa --- /dev/null +++ b/ipxact-1.2/model.xsd @@ -0,0 +1,238 @@ + + + + + + + + + + + + Name of the view. Must be unique within a component. + + + + + + Defines the hardware environment in which this + view applies. The format of the string is + language:tool:vendor_extension, with each piece + being optional. The language must be one of the + types from spirit:fileType. The tool values are + defined by the SPIRIT Consortium, and include + generic values "*Simulation" and "*Synthesis" to + imply any tool of the indicated type. Having + more than one envIdentifier indicates that the + view applies to multiple environments. + + + + + + + + + + + + + References a SPIRIT design or configuration + document (by VLNV) that provides a design + for the component + + + + + + + + The hardware description language used + such as "verilog" or "vhdl". If the + attribute "strict" is "true", this value + must match the language being generated + for the design. + + + + + + + + + + + + + + HDL-specific name to identify the model. + + + + + + + + + + Container for white box element + references. + + + + + + + + Reference to a white box + element which is visible + within this view. + + + + + + + + + + + + + + + + Hardware model information. + + + + + + View container + + + + + + + + + + Signal container + + + + + + + + + + Model parameter name value pairs container + + + + + + + A model parameter name value pair. + The name is given in an attribute. + The value is the element value. The + dataType (applicable to high level + modeling) is given in the dataType + attribute. For hardware based + models, the name should be identical + to the RTL (VHDL generic or Verilog + parameter) + + + + + + + + + + + + Model information. + + + + + + Reference to a whiteboxElement within a view. The 'name' + attribute must refer to a whiteboxElement defined within + this component. + + + + + + + The whiteboxPath elements (as a set) define the + name(s) needed to define the entire white box + element in this view. + + + + + + + + The view specific name for a portion + of the white box element. + + + + + + + Optional bound on the path name. If + not specified, the size of the + element referred to by pathName must + be determined from the referenced + element. + + + + + + Indicates the left bound value + for the associated path name. + + + + + + + Indicates the right bound values + for the associated path name. + + + + + + + + + + + diff --git a/ipxact-1.2/pmd.xsd b/ipxact-1.2/pmd.xsd new file mode 100644 index 0000000..0806f42 --- /dev/null +++ b/ipxact-1.2/pmd.xsd @@ -0,0 +1,110 @@ + + + + + + + + + + The root element of the platform meta-data definition file. This file defines the Platform meta-data to be applied to specific IP + + + + + + + Defines the components that this pmd applies to. When the user tries to add any of those components, this pmd will be applied. + + + + + + A vendor-library-name-version identifier used to refer to components. + + + + + + + + A display label to override the original component's display label if this PMD will apply. + + + + + + + + + + + + + + + + + + Defines the components that must exist in the current design for this pmd to apply. The pmd will only apply if an instance of each components declared in this list exists in the design. If the list is empty then this pmd file will apply unconditionally. + + + + + + A vendor-library-name-version identifier used to refer to components. + + + + + + + + The transformer element contains references to the actual code that will make the transformation. If there are multiple elements, they will be applied in sequence. i.e., the affected component document will pass through a pipeline of transformers with each child element representing a step in a pipeline. + + + + + + An XSLT transformer that will transform the document based on rules defined in the xsl file mentioned here. + + + + + + The relative path to the xsl stylesheet to be used for transformation. + + + + + Parameters to be passed to the xslt stylesheet at run time. + + + + + + + + + + + + + diff --git a/ipxact-1.2/signal.xsd b/ipxact-1.2/signal.xsd new file mode 100644 index 0000000..892858b --- /dev/null +++ b/ipxact-1.2/signal.xsd @@ -0,0 +1,102 @@ + + + + + + + + + The direction of a component signal. + + + + + + + + + + + + The name of the signal. + + + + + + Specific left and right vector bounds. Signal width is +max(left,right)-min(left,right)+1 When the bounds are not present, a scalar signal is assumed. + + + + Left vector bound. + + + + + + + + + + + + Right vector bound. + + + + + + + + + + + + + + The initial or default value on the signal. + + + + + + + + Specifies whether a signal is to be exported out of the module. + + + + + + + + + + + + + + + + Describes signal charateristics. + + + diff --git a/ipxact-1.2/signalDrivers.xsd b/ipxact-1.2/signalDrivers.xsd new file mode 100644 index 0000000..1ef820d --- /dev/null +++ b/ipxact-1.2/signalDrivers.xsd @@ -0,0 +1,195 @@ + + + + + + + + Describes a driven clock signal. For clock drivers that are not directly associated with a signal, the clockName attribute can be used to associate a name with the clock. The clockSource attribute can be used on these clocks to indicate the actual clock source (e.g. an output pin of a clock generator cell). + + + + + + Clock period in units defined by the units attribute. Default is nanoseconds. + + + + + + + + + + + + + Time until first pulse. Units are defined by the units attribute. Default is nanoseconds. + + + + + + + + + + + + + Value of signal after first clock edge. + + + + + + + + + + + + Duration of first state in cycle. Units are defined by the units attribute. Default is nanoseconds. + + + + + + + + + + + + + + + + + + Describes a driven one-shot signal. + + + + + + Time in nanoseconds until start of one-shot. + + + + + + + + + + + + Value of signal after first edge of one-shot. + + + + + + + + + + + + Duration in nanoseconds of the one shot. + + + + + + + + + + + + + + + Specifies if a signal requires a driver. Default is false. The attribute driverType can further qualify what type of driver is required. Undefined behaviour if direction is not input or inout. Driver type any indicates that any unspecified type of driver must be connected + + + + + + + + + + + + + + + + + + + + Describes a signal value. The signal value can be just a value (number), a strength, or both. If the "value" is not given, it should be considered an X (unknown). A weak strength with no value given is considered Z (tristate). + + + + + + + + + + + + Describes a signal strength. + + + + + + + + + The value of a signal. 1 or 0 for single bit signals, unsigned numeric otherwise. + + + + + + + + + + + + The strength of the signal. "strong" (default) or "weak". + + + + + + + + + + diff --git a/ipxact-1.2/simpleTypes.xsd b/ipxact-1.2/simpleTypes.xsd new file mode 100644 index 0000000..b44947f --- /dev/null +++ b/ipxact-1.2/simpleTypes.xsd @@ -0,0 +1,44 @@ + + + + + + Number format used by SPIRIT. Supports any string handled by java.lang.Long.decode(). Also supports magnitude suffix of upper or lower case K, M, G or T. + + + + + + + + List of doubles. Used to build configurableDouble type. + + + + + + Can be a double or an empty string. + + + + + + + diff --git a/ipxact-1.2/subInstances.xsd b/ipxact-1.2/subInstances.xsd new file mode 100644 index 0000000..b437934 --- /dev/null +++ b/ipxact-1.2/subInstances.xsd @@ -0,0 +1,180 @@ + + + + + + + + + + + All configuration information for a contained component or channel instance. + + + + + + + + + + Describes the content of a configurable element. + +The required referenceId attribute refers to the ID attribute of the configurable element. + + + + + + + + + + + + An instance name assigned to subcomponent instances and contained channels, that is unique within the parent component. + + + + + Component instance element. The instance name is contained in the unique-value instanceName attribute. + + + + + + + References a component to be found in an external library. The name attribute gives the name of the component and the version attribute speicifies which version of the component to use. + + + + + + + + + + Sub instances of internal components. + + + + + + + + + + Represents an ad-hoc connection between component pins. + + + + + + Specifies whether this ad-hoc connection will be exported out of the design. + + + + + + + + + + + + + + + + + + + + + + + + Defines the set of ad-hoc connections in a design. An ad-hoc connection represents a connection between two component pins which were not connected as a result of interface connections (i.e.the pin to pin connection was made explicitly and is represented explicitly). + + + + + + + + + + Describes a connection from the interface of one component to the interface of another component through its attributes. + + The componentRef and busInterfaceRef attributes indicate the instance name and bus interface name of one end of the connection. + +The interconnection element connects two active interfaces and doesn't connect monitor interfaces. + + + + + + name of the connection + + + + + + + + + + Connections between internal sub components. + + + + + + + + + + + A representation of a component/bus interface relation; i.e. a bus interface belonging to a certain component. + + + + + + + Describes a connection from the interface of one component to any number of monitor interfaces in the design through its child elements' attributes. + +The componentRef and busInterfaceRef attributes of each child interface element indicate the instance name and bus interface name of one end of the connection. + +An active interface can be connected to unlimited number of monitor interfaces. + + + + + + name of the connection + + + + + + + + diff --git a/tests/unit/IPXACT.py b/tests/unit/IPXACT.py index 44da8fd..b6de8dc 100644 --- a/tests/unit/IPXACT.py +++ b/tests/unit/IPXACT.py @@ -55,3 +55,25 @@ def test_Schema11(self): schemaFile = directory / file print(f" {schemaFile}") _ = XMLSchema(schemaFile) + + def test_Schema12(self): + print() + print(f"CWD: {Path.cwd()}") + + directory = self._root / "ipxact-1.2" + print(f"Schema directory: {directory}") + + schemaFiles = ( + "design.xsd", + "pmd.xsd", + "component.xsd", + "busDefinition.xsd", + "generator.xsd", + "configurator.xsd", + "looseGeneratorInvocation.xsd", + ) + print(f"Reading schemas ...") + for file in schemaFiles: + schemaFile = directory / file + print(f" {schemaFile}") + _ = XMLSchema(schemaFile)