Systemvue Model
Systemvue Model
xsd
element Enumerations
diagram
namespace http://keysight.com/schemas/systemvue
children Enumeration
element Enumerations/Enumeration
diagram
namespace http://keysight.com/schemas/systemvue
type Enumeration
properties minOcc 1
maxOcc unbounded
content complex
children Element
element Model
diagram
namespace http://keysight.com/schemas/systemvue
<xs:documentation>SystemVueModelBuilder::Matrix<bool></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<int></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<float></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<double></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<
std::complex<float> ></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<
std::complex<double> ></xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member used to store the size of array
parameters. This attribute is mandatory if the implementation is an array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the parameter in SystemVue. If
unspecified, it defaults to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the parameter.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DynamicUpdate" type="xs:boolean" use="optional"
default="false"/>
<xs:attribute name="SchematicDisplay" type="xs:boolean" use="optional"
default="true"/>
<xs:attribute name="Unit" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Angle"/>
<xs:enumeration value="Length"/>
<xs:enumeration value="Time"/>
<xs:enumeration value="Frequency"/>
<xs:enumeration value="Voltage"/>
<xs:enumeration value="Power"/>
<xs:enumeration value="Resistance"/>
<xs:enumeration value="Temperature"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Ports" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Port" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="FixedRates" minOccurs="0">
<xs:annotation>
<xs:documentation>In code generated models, the multirate is fixed for each
pin. For a non-bus port - the FixedRates collection will have one FixedRate element that contains
the rate value. For a bus ports, the FixedRates collection will be of size FixedBusSize (attribute
stored in Port) defining the fixed rate for each port in the bus.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="FixedRate" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
port</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DataType" use="required">
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type
may include template parameters and escaped > and < characters.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data
type may include template parameters and escaped > and < characters.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean">
<xs:annotation>
<xs:documentation>bool</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Integer">
<xs:annotation>
<xs:documentation source="int"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Float">
<xs:annotation>
<xs:documentation source="float"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Double">
<xs:annotation>
<xs:documentation source="double"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloat">
<xs:annotation>
<xs:documentation source="std::complex<float>"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDouble">
<xs:annotation>
<xs:documentation source="std::complex<double>"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BooleanMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<bool></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<int></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>
<xs:documentation
source="SystemVueModelBuilder::Matrix<float>"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<double></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<
std::complex<float> ></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<
std::complex<double> ></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FixedPoint">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::FixedPoint</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Envelope">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Envelope</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Variant">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Variant</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Direction" use="required">
<xs:annotation>
<xs:documentation>The direction of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="Input"/>
<xs:enumeration value="Output"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Implementation" use="required">
<xs:annotation>
<xs:documentation>The implementation of a portit could be scalar, an array, a
circular buffer or a circular buffer bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The implementation of a parameter, it could be scalar,
an array or a enumerated type.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Scalar"/>
<xs:enumeration value="Array"/>
<xs:enumeration value="CircularBuffer"/>
<xs:enumeration value="CircularBufferBus"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member name to speciify the size (i.e. rate)
of the array ports. Note, this attribute is only used if the implementation is a
array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the port in SystemVue. If unspecified,
it defaults to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FixedBusSize" use="optional">
<xs:annotation>
<xs:documentation>The bus size, if the size is fixed. If not specified, the model
can have any bus size. Note, this attribute is only used if the implementation is a circular buffer
bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Optional" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ZeroHistoryDepth" type="xs:boolean" use="optional"
default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SimulationControl" minOccurs="0">
<xs:complexType>
<xs:attribute name="Name" type="CppName" use="required"/>
<xs:attribute name="Implementation" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SinkControl"/>
<xs:enumeration value="DynamicControl"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="HeaderFiles">
<xs:complexType>
<xs:sequence>
<xs:element name="File" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="FileName"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SourceFiles" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="File" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="FileName"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BuildConfiguration" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Platform" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="IncludePath" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LibraryPath" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Libraries" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="File" type="FileName" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Win32"/>
<xs:enumeration value="Linux32"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="CppClassName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class. Note, the name may include template
parameters and escaped > and < characters.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Namespace" type="QualifiedCppName" use="optional">
<xs:annotation>
<xs:documentation>The namespace that needs to be used to instantiate the C++ class. If
unspecified, the class is in the global name scope.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the model in SystemVue. If unspecified, it defaults
to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>The description of the class.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
attribute Model/@Name
type CppClassName
annotation documentation
The name of the C++ class. Note, the name may include template parameters and escaped > and < characters.
source <xs:attribute name="Name" type="CppClassName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class. Note, the name may include template
parameters and escaped > and < characters.</xs:documentation>
</xs:annotation>
</xs:attribute>
attribute Model/@Namespace
type QualifiedCppName
annotation documentation
The namespace that needs to be used to instantiate the C++ class. If unspecified, the class is in the global name scope.
source <xs:attribute name="Namespace" type="QualifiedCppName" use="optional">
<xs:annotation>
<xs:documentation>The namespace that needs to be used to instantiate the C++ class. If
unspecified, the class is in the global name scope.</xs:documentation>
</xs:annotation>
</xs:attribute>
attribute Model/@DisplayName
type CppName
annotation documentation
The name used for the model in SystemVue. If unspecified, it defaults to the name attribute field.
source <xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the model in SystemVue. If unspecified, it defaults to
the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
attribute Model/@Description
type restriction of xs:string
annotation documentation
The description of the class.
source <xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>The description of the class.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
element Model/Parameters
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 0
maxOcc 1
content complex
children Parameter
source <xs:element name="Parameters" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Parameter" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Enumeration" type="Enumeration" minOccurs="0"/>
<xs:element name="Default" minOccurs="0">
<xs:complexType>
<xs:choice>
<xs:element name="Array">
<xs:complexType>
<xs:sequence>
<xs:element name="Dimensions">
<xs:annotation>
<xs:documentation>The dimensions of the array - note, complex
numbers and complex number arrays are stored in as consecutive real/imaginary pairs of doubles.
A complex number is stored as a 1-D array of size 1.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Dimension" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The size of each
dimension</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Size" type="xs:positiveInteger"
use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Elements">
<xs:complexType>
<xs:sequence>
<xs:element name="E" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Scalar" type="xs:string">
<xs:annotation>
<xs:documentation>The default value for all scalar states (including strings)
except for complex data type.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
parameter.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DataType" use="required">
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type may
include template parameters and escaped > and < characters.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean"/>
<xs:enumeration value="Integer"/>
<xs:enumeration value="Float"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="ComplexFloat"/>
<xs:enumeration value="ComplexDouble"/>
<xs:enumeration value="FileName"/>
<xs:enumeration value="String">
<xs:annotation>
<xs:documentation>char*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerArray">
<xs:annotation>
<xs:documentation>int*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatArray">
<xs:annotation>
<xs:documentation source="float*"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleArray">
<xs:annotation>
<xs:documentation source="double*"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleArray">
<xs:annotation>
<xs:documentation>std::complex<float>*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BooleanMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<bool></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<int></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<float></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<double></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<
std::complex<float> ></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<
std::complex<double> ></xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member used to store the size of array
parameters. This attribute is mandatory if the implementation is an array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the parameter in SystemVue. If unspecified,
it defaults to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the parameter.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DynamicUpdate" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="SchematicDisplay" type="xs:boolean" use="optional"
default="true"/>
<xs:attribute name="Unit" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Angle"/>
<xs:enumeration value="Length"/>
<xs:enumeration value="Time"/>
<xs:enumeration value="Frequency"/>
<xs:enumeration value="Voltage"/>
<xs:enumeration value="Power"/>
<xs:enumeration value="Resistance"/>
<xs:enumeration value="Temperature"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
element Model/Parameters/Parameter
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 1
maxOcc unbounded
content complex
children Enumeration Default
<xs:documentation>SystemVueModelBuilder::Matrix<double></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix< std::complex<float>
></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix< std::complex<double>
></xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member used to store the size of array parameters.
This attribute is mandatory if the implementation is an array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the parameter in SystemVue. If unspecified, it
defaults to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the parameter.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DynamicUpdate" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="SchematicDisplay" type="xs:boolean" use="optional" default="true"/>
<xs:attribute name="Unit" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Angle"/>
<xs:enumeration value="Length"/>
<xs:enumeration value="Time"/>
<xs:enumeration value="Frequency"/>
<xs:enumeration value="Voltage"/>
<xs:enumeration value="Power"/>
<xs:enumeration value="Resistance"/>
<xs:enumeration value="Temperature"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
attribute Model/Parameters/Parameter/@Name
type CppName
annotation documentation
The name of the C++ class member used to define the parameter.
source <xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
parameter.</xs:documentation>
</xs:annotation>
</xs:attribute>
attribute Model/Parameters/Parameter/@DataType
type restriction of xs:string
attribute Model/Parameters/Parameter/@ArraySizeVariableName
type CppName
annotation documentation
The C++ class member used to store the size of array parameters. This attribute is mandatory if the implementation is
an array.
source <xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member used to store the size of array parameters. This
attribute is mandatory if the implementation is an array.</xs:documentation>
</xs:annotation>
</xs:attribute>
attribute Model/Parameters/Parameter/@DisplayName
type CppName
annotation documentation
The name used for the parameter in SystemVue. If unspecified, it defaults to the name attribute field.
source <xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the parameter in SystemVue. If unspecified, it defaults
to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
attribute Model/Parameters/Parameter/@Description
type restriction of xs:string
annotation documentation
Description of the parameter.
source <xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the parameter.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
attribute Model/Parameters/Parameter/@DynamicUpdate
type xs:boolean
attribute Model/Parameters/Parameter/@Unit
type restriction of xs:string
element Model/Parameters/Parameter/Enumeration
diagram
namespace http://keysight.com/schemas/systemvue
type Enumeration
properties minOcc 0
maxOcc 1
content complex
children Element
element Model/Parameters/Parameter/Default
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 0
maxOcc 1
content complex
children Array Scalar
element Model/Parameters/Parameter/Default/Array
diagram
namespace http://keysight.com/schemas/systemvue
element Model/Parameters/Parameter/Default/Array/Dimensions
diagram
namespace http://keysight.com/schemas/systemvue
children Dimension
annotation documentation
The dimensions of the array - note, complex numbers and complex number arrays are stored in as consecutive
real/imaginary pairs of doubles. A complex number is stored as a 1-D array of size 1.
source <xs:element name="Dimensions">
<xs:annotation>
<xs:documentation>The dimensions of the array - note, complex numbers and complex
number arrays are stored in as consecutive real/imaginary pairs of doubles. A complex number is
stored as a 1-D array of size 1.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Dimension" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The size of each dimension</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Size" type="xs:positiveInteger" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
element Model/Parameters/Parameter/Default/Array/Dimensions/Dimension
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 1
maxOcc unbounded
content complex
attributes Name Type Use Default Fixed Annotation
Size xs:positiveInteger required
annotation documentation
The size of each dimension
source <xs:element name="Dimension" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The size of each dimension</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Size" type="xs:positiveInteger" use="required"/>
</xs:complexType>
</xs:element>
attribute Model/Parameters/Parameter/Default/Array/Dimensions/Dimension/@Size
type xs:positiveInteger
element Model/Parameters/Parameter/Default/Array/Elements
diagram
namespace http://keysight.com/schemas/systemvue
children E
namespace http://keysight.com/schemas/systemvue
type xs:string
properties minOcc 1
maxOcc unbounded
content simple
source <xs:element name="E" type="xs:string" maxOccurs="unbounded"/>
element Model/Parameters/Parameter/Default/Scalar
diagram
namespace http://keysight.com/schemas/systemvue
type xs:string
annotation documentation
The default value for all scalar states (including strings) except for complex data type.
source <xs:element name="Scalar" type="xs:string">
<xs:annotation>
<xs:documentation>The default value for all scalar states (including strings) except for complex
data type.</xs:documentation>
</xs:annotation>
</xs:element>
element Model/Ports
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 0
maxOcc 1
content complex
children Port
<xs:documentation>SystemVueModelBuilder::Matrix<bool></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<int></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>
<xs:documentation source="SystemVueModelBuilder::Matrix<float>"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<double></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<
std::complex<float> ></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix<
std::complex<double> ></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FixedPoint">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::FixedPoint</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Envelope">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Envelope</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Variant">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Variant</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Direction" use="required">
<xs:annotation>
<xs:documentation>The direction of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="Input"/>
<xs:enumeration value="Output"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Implementation" use="required">
<xs:annotation>
<xs:documentation>The implementation of a portit could be scalar, an array, a
circular buffer or a circular buffer bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The implementation of a parameter, it could be scalar, an array
or a enumerated type.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Scalar"/>
<xs:enumeration value="Array"/>
<xs:enumeration value="CircularBuffer"/>
<xs:enumeration value="CircularBufferBus"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member name to speciify the size (i.e. rate) of the
array ports. Note, this attribute is only used if the implementation is a array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the port in SystemVue. If unspecified, it
defaults to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FixedBusSize" use="optional">
<xs:annotation>
<xs:documentation>The bus size, if the size is fixed. If not specified, the model can
have any bus size. Note, this attribute is only used if the implementation is a circular buffer
bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Optional" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ZeroHistoryDepth" type="xs:boolean" use="optional"
default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
element Model/Ports/Port
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 1
maxOcc unbounded
content complex
children FixedRates
<xs:documentation>SystemVueModelBuilder::Matrix<double></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix< std::complex<float>
></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix< std::complex<double>
></xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FixedPoint">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::FixedPoint</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Envelope">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Envelope</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Variant">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Variant</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Direction" use="required">
<xs:annotation>
<xs:documentation>The direction of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="Input"/>
<xs:enumeration value="Output"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Implementation" use="required">
<xs:annotation>
<xs:documentation>The implementation of a portit could be scalar, an array, a circular
buffer or a circular buffer bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The implementation of a parameter, it could be scalar, an array or a
enumerated type.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Scalar"/>
<xs:enumeration value="Array"/>
<xs:enumeration value="CircularBuffer"/>
<xs:enumeration value="CircularBufferBus"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member name to speciify the size (i.e. rate) of the array
ports. Note, this attribute is only used if the implementation is a array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the port in SystemVue. If unspecified, it defaults
to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FixedBusSize" use="optional">
<xs:annotation>
<xs:documentation>The bus size, if the size is fixed. If not specified, the model can have
any bus size. Note, this attribute is only used if the implementation is a circular buffer
bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Optional" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ZeroHistoryDepth" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
attribute Model/Ports/Port/@Name
type CppName
annotation documentation
The name of the C++ class member used to define the port
source <xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
port</xs:documentation>
</xs:annotation>
</xs:attribute>
attribute Model/Ports/Port/@DataType
type restriction of xs:string
attribute Model/Ports/Port/@Direction
type restriction of xs:NMTOKEN
properties use required
annotation documentation
The direction of the port.
source <xs:attribute name="Direction" use="required">
<xs:annotation>
<xs:documentation>The direction of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="Input"/>
<xs:enumeration value="Output"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
attribute Model/Ports/Port/@Implementation
type restriction of xs:string
annotation documentation
The implementation of a portit could be scalar, an array, a circular buffer or a circular buffer bus.
source <xs:attribute name="Implementation" use="required">
<xs:annotation>
<xs:documentation>The implementation of a portit could be scalar, an array, a circular buffer or
a circular buffer bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The implementation of a parameter, it could be scalar, an array or a
enumerated type.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Scalar"/>
<xs:enumeration value="Array"/>
<xs:enumeration value="CircularBuffer"/>
<xs:enumeration value="CircularBufferBus"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
attribute Model/Ports/Port/@ArraySizeVariableName
type CppName
annotation documentation
The C++ class member name to speciify the size (i.e. rate) of the array ports. Note, this attribute is only used if the
implementation is a array.
source <xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member name to speciify the size (i.e. rate) of the array
ports. Note, this attribute is only used if the implementation is a array.</xs:documentation>
</xs:annotation>
</xs:attribute>
attribute Model/Ports/Port/@Description
type restriction of xs:string
annotation documentation
Description of the port.
source <xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
attribute Model/Ports/Port/@DisplayName
type CppName
annotation documentation
The name used for the port in SystemVue. If unspecified, it defaults to the name attribute field.
source <xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the port in SystemVue. If unspecified, it defaults to the
name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
attribute Model/Ports/Port/@FixedBusSize
type restriction of xs:positiveInteger
annotation documentation
The bus size, if the size is fixed. If not specified, the model can have any bus size. Note, this attribute is only used if the
implementation is a circular buffer bus.
source <xs:attribute name="FixedBusSize" use="optional">
<xs:annotation>
<xs:documentation>The bus size, if the size is fixed. If not specified, the model can have any
bus size. Note, this attribute is only used if the implementation is a circular buffer
bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
attribute Model/Ports/Port/@Optional
type xs:boolean
attribute Model/Ports/Port/@ZeroHistoryDepth
type xs:boolean
element Model/Ports/Port/FixedRates
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 0
maxOcc 1
content complex
children FixedRate
annotation documentation
In code generated models, the multirate is fixed for each pin. For a non-bus port - the FixedRates collection will have
one FixedRate element that contains the rate value. For a bus ports, the FixedRates collection will be of size
FixedBusSize (attribute stored in Port) defining the fixed rate for each port in the bus.
source <xs:element name="FixedRates" minOccurs="0">
<xs:annotation>
<xs:documentation>In code generated models, the multirate is fixed for each pin. For a
non-bus port - the FixedRates collection will have one FixedRate element that contains the rate
value. For a bus ports, the FixedRates collection will be of size FixedBusSize (attribute stored in
Port) defining the fixed rate for each port in the bus.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="FixedRate" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:complexType>
</xs:element>
element Model/Ports/Port/FixedRates/FixedRate
diagram
namespace http://keysight.com/schemas/systemvue
type xs:nonNegativeInteger
element Model/SimulationControl
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 0
maxOcc 1
content complex
attributes Name Type Use Default Fixed Annotation
Name CppName required
Implementation derived by: required
xs:string
source <xs:element name="SimulationControl" minOccurs="0">
<xs:complexType>
<xs:attribute name="Name" type="CppName" use="required"/>
<xs:attribute name="Implementation" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SinkControl"/>
<xs:enumeration value="DynamicControl"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
attribute Model/SimulationControl/@Name
type CppName
attribute Model/SimulationControl/@Implementation
type restriction of xs:string
element Model/HeaderFiles
diagram
namespace http://keysight.com/schemas/systemvue
children File
element Model/HeaderFiles/File
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 1
maxOcc unbounded
content complex
facets Kind Value Annotation
pattern [^\\|^/]+
element Model/SourceFiles
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 0
maxOcc 1
content complex
children File
namespace http://keysight.com/schemas/systemvue
properties minOcc 1
maxOcc unbounded
content complex
facets Kind Value Annotation
pattern [^\\|^/]+
element Model/BuildConfiguration
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 0
maxOcc 1
content complex
children Platform
element Model/BuildConfiguration/Platform
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 1
maxOcc unbounded
content complex
children IncludePath LibraryPath Libraries
attribute Model/BuildConfiguration/Platform/@Name
type restriction of xs:string
element Model/BuildConfiguration/Platform/IncludePath
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 0
maxOcc 1
content complex
children Directory
source <xs:element name="IncludePath" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
element Model/BuildConfiguration/Platform/IncludePath/Directory
diagram
namespace http://keysight.com/schemas/systemvue
type DirectoryPath
properties minOcc 1
maxOcc unbounded
content simple
source <xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>
element Model/BuildConfiguration/Platform/LibraryPath
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 0
maxOcc 1
content complex
children Directory
element Model/BuildConfiguration/Platform/LibraryPath/Directory
diagram
namespace http://keysight.com/schemas/systemvue
type DirectoryPath
properties minOcc 1
maxOcc unbounded
content simple
source <xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>
element Model/BuildConfiguration/Platform/Libraries
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 0
maxOcc 1
content complex
children File
element Model/BuildConfiguration/Platform/Libraries/File
diagram
namespace http://keysight.com/schemas/systemvue
type FileName
properties minOcc 1
maxOcc unbounded
content simple
facets Kind Value Annotation
pattern [^\\|^/]+
element Models
diagram
namespace http://keysight.com/schemas/systemvue
children Model
annotation documentation
A list of models. This is typically created by running "SystemVue.exe -XML <dllpath>".
source <xs:element name="Models">
<xs:annotation>
<xs:documentation>A list of models. This is typically created by running "SystemVue.exe
-XML <dllpath>".</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Model" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
complexType Enumeration
diagram
namespace http://keysight.com/schemas/systemvue
children Element
attribute Enumeration/@QualifiedName
type QualifiedCppName
element Enumeration/Element
diagram
namespace http://keysight.com/schemas/systemvue
properties minOcc 1
maxOcc unbounded
content complex
attributes Name Type Use Default Fixed Annotation
QualifiedName QualifiedCppName optional
DisplayName xs:string required
attribute Enumeration/Element/@QualifiedName
type QualifiedCppName
properties use optional
attribute Enumeration/Element/@DisplayName
type xs:string
simpleType CppClassName
namespace http://keysight.com/schemas/systemvue
simpleType CppName
namespace http://keysight.com/schemas/systemvue
annotation documentation
A valid C++ name.
source <xs:simpleType name="CppName" final="restriction">
<xs:annotation>
<xs:documentation>A valid C++ name.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*"/>
</xs:restriction>
</xs:simpleType>
simpleType DirectoryPath
namespace http://keysight.com/schemas/systemvue
type xs:string
simpleType FileName
namespace http://keysight.com/schemas/systemvue
simpleType QualifiedCppName
namespace http://keysight.com/schemas/systemvue
annotation documentation
The name of the C++ namespace that defines the associated element.
source <xs:simpleType name="QualifiedCppName" final="restriction">
<xs:annotation>
<xs:documentation>The name of the C++ namespace that defines the associated
element.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z_][a-zA-Z0-9_]*(::[a-zA-Z_]+[a-zA-Z0-9_]*)*"/>
</xs:restriction>
</xs:simpleType>