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

Private GIT Repository
finished conn mode of library
[blast.git] / reference.xsd
index 3fa3faaf4f4119ea85c2e356272e8a62f3ea2040..bf87cb8f6f78f2ae20def03619274482e78baae2 100644 (file)
@@ -4,21 +4,23 @@
     <!-- 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="value" use="optional"/>
        <xs:attribute ref="iface" use="optional"/>
        <xs:attribute ref="width" use="optional"/>      
-       <xs:attribute ref="context" use="required"/>
+       <xs:attribute name="context" type="typecontext" use="required"/>
     </xs:attributeGroup>
 
     <xs:attributeGroup name="inOutAttrGroup">
        <xs:attribute ref="name" use="required"/>
        <xs:attribute ref="width" use="required"/>
-       <xs:attribute ref="type"/>
-       <xs:attribute ref="purpose"/>
+       <xs:attribute name="type" type="typeiface"/>
+       <xs:attribute name="purpose" type="typepurpose" use="optional"/>
        <xs:attribute ref="multiplicity"/>
+       <xs:attribute name="endian" type="typeendian" use="optional"/>
+       <xs:attribute ref="clock" use="optional"/>
     </xs:attributeGroup>
 
 
 
     <xs:attribute name="ids" type="xs:string"/>
     <xs:attribute name="name" type="xs:string"/>
-    <xs:attribute name="type" type="xs:string"/>
+    <xs:attribute name="clock" 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:simpleType name="typecontext">
+      <xs:restriction base="xs:string">
+       <xs:enumeration value="generic"/>
+       <xs:enumeration value="user"/>
+       <xs:enumeration value="wb"/>
+       <xs:enumeration value="port"/>
+      </xs:restriction>
+    </xs:simpleType>
+
+    <xs:simpleType name="typepurpose">
+      <xs:restriction base="xs:string">
+       <xs:enumeration value="data"/>
+       <xs:enumeration value="clock"/>
+       <xs:enumeration value="reset"/>
+       <xs:enumeration value="wb"/>    
+      </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="width" type="xs:string"/>
-    <xs:attribute name="purpose" type="xs:string"/>
     <xs:attribute name="value" type="xs:string"/>
     <xs:attribute name="iface" type="xs:string"/>
     <xs:attribute name="path" type="xs:string" />
     <!-- 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>