]> AND Private Git Repository - blast.git/blobdiff - reference.xsd
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
nearly finished GroupBlock VHDL gen
[blast.git] / reference.xsd
index a5c2c2d0c612e32eaae9e8e361e4bc9be592d0c7..29f5d2821f7270e09ee8af42cd7b74732fe4c173 100644 (file)
@@ -4,10 +4,9 @@
     <!-- déclaration des groupes d'attributs -->
 
     <xs:attributeGroup name="parameterAttrGroup">
     <!-- déclaration des groupes d'attributs -->
 
     <xs:attributeGroup name="parameterAttrGroup">
-       <xs:attribute ref="name" use="required"/>
-       <xs:attribute ref="type" use="required"/>
+      <xs:attribute ref="name" use="required"/>
+       <xs:attribute name="type" type="typeparam" use="required"/>
        <xs:attribute ref="wishbone" use="optional"/>
        <xs:attribute ref="wishbone" use="optional"/>
-       <xs:attribute ref="core" use="optional"/>
        <xs:attribute ref="value" use="optional"/>
        <xs:attribute ref="iface" use="optional"/>
        <xs:attribute ref="width" use="optional"/>      
        <xs:attribute ref="value" use="optional"/>
        <xs:attribute ref="iface" use="optional"/>
        <xs:attribute ref="width" use="optional"/>      
     <xs:attributeGroup name="inOutAttrGroup">
        <xs:attribute ref="name" use="required"/>
        <xs:attribute ref="width" use="required"/>
     <xs:attributeGroup name="inOutAttrGroup">
        <xs:attribute ref="name" use="required"/>
        <xs:attribute ref="width" use="required"/>
-       <xs:attribute ref="type"/>
+       <xs:attribute name="type" type="typeiface"/>
        <xs:attribute ref="purpose"/>
        <xs:attribute ref="multiplicity"/>
        <xs:attribute ref="purpose"/>
        <xs:attribute ref="multiplicity"/>
+       <xs:attribute name="endian" type="typeendian" use="optional"/>  
     </xs:attributeGroup>
 
 
     </xs:attributeGroup>
 
 
 
     <xs:attribute name="ids" type="xs:string"/>
     <xs:attribute name="name" type="xs:string"/>
 
     <xs:attribute name="ids" type="xs:string"/>
     <xs:attribute name="name" type="xs:string"/>
-    <xs:attribute name="type" type="xs:string"/>
-    <xs:attribute name="core" type="xs:string"/>
+
+    <xs:simpleType name="typeparam">
+      <xs:restriction base="xs:string">
+       <xs:enumeration value="string"/>
+       <xs:enumeration value="expression"/>
+       <xs:enumeration value="boolean"/>
+       <xs:enumeration value="integer"/>
+       <xs:enumeration value="natural"/>
+       <xs:enumeration value="positive"/>
+       <xs:enumeration value="real"/>
+       <xs:enumeration value="time"/>
+      </xs:restriction>
+    </xs:simpleType>
+
+    <xs:simpleType name="typeiface">
+      <xs:restriction base="xs:string">
+       <xs:enumeration value="expression"/>
+       <xs:enumeration value="boolean"/>
+       <xs:enumeration value="natural"/>
+      </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:simpleType name="typeendian">
+      <xs:restriction base="xs:string">
+       <xs:enumeration value="little"/>
+       <xs:enumeration value="big"/>
+      </xs:restriction>
+    </xs:simpleType>
+      
     <xs:attribute name="wishbone" type="xs:string"/>
     <xs:attribute name="context" type="xs:string" />
     <xs:attribute name="multiplicity" type="xs:string" />
     <xs:attribute name="wishbone" type="xs:string"/>
     <xs:attribute name="context" type="xs:string" />
     <xs:attribute name="multiplicity" type="xs:string" />
        </xs:complexType>
     </xs:element>
 
        </xs:complexType>
     </xs:element>
 
+    <xs:element name="control">
+       <xs:complexType>
+           <xs:attribute ref="iface"/>
+       </xs:complexType>
+    </xs:element>
+
     <xs:element name="inputs">
        <xs:complexType>
            <xs:sequence>
     <xs:element name="inputs">
        <xs:complexType>
            <xs:sequence>
-               <xs:element ref="input" maxOccurs="unbounded" />
+             <xs:element ref="input" maxOccurs="unbounded" />
+             <xs:element ref="control" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
     </xs:element>
            </xs:sequence>
        </xs:complexType>
     </xs:element>
     <xs:element name="outputs">
        <xs:complexType>
            <xs:sequence>
     <xs:element name="outputs">
        <xs:complexType>
            <xs:sequence>
-               <xs:element ref="output" maxOccurs="unbounded" />
+             <xs:element ref="output" maxOccurs="unbounded" />
+             <xs:element ref="control" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
     </xs:element>
            </xs:sequence>
        </xs:complexType>
     </xs:element>
     <!-- Racine du document -->
 
     <xs:element name="block">
     <!-- Racine du document -->
 
     <xs:element name="block">
-       <xs:complexType>
-           <xs:group ref="blockElmtGroup"/>
-       </xs:complexType>
+      <xs:complexType>
+       <xs:group ref="blockElmtGroup"/>
+       <xs:attribute name="version" type="xs:string" use="optional" />
+      </xs:complexType>
     </xs:element>
 
 </xs:schema>
     </xs:element>
 
 </xs:schema>