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

Private GIT Repository
adding xsd files to master
authorStéphane Domas <sdomas@prodigy.iut-bm.univ-fcomte.fr>
Wed, 3 May 2017 15:55:05 +0000 (17:55 +0200)
committerStéphane Domas <sdomas@prodigy.iut-bm.univ-fcomte.fr>
Wed, 3 May 2017 15:55:05 +0000 (17:55 +0200)
implementation.xsd [new file with mode: 0644]
lib/implementations/average-Nx3_impl.xml [new file with mode: 0644]
reference.xsd [new file with mode: 0644]

diff --git a/implementation.xsd b/implementation.xsd
new file mode 100644 (file)
index 0000000..0dff1f6
--- /dev/null
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+    <!-- déclaration des attributs -->
+
+    <xs:attribute name="ref_name" type="xs:string"/>
+    <xs:attribute name="ref_md5" type="xs:string"/>        
+    <xs:attribute name="firstname" type="xs:string"/>
+    <xs:attribute name="lastname" type="xs:string"/>
+    <xs:attribute name="mail" type="xs:string"/>    
+    <xs:attribute name="creation" type="xs:date"/>
+    <xs:attribute name="list" type="xs:string"/>
+    <xs:attribute name="name" type="xs:string"/>
+    <xs:attribute name="use" type="xs:string" />
+    <xs:attribute name="value" type="xs:string" />
+    <xs:attribute name="pattern" type="xs:string"/>
+    <xs:attribute name="counter" type="xs:string"/>
+
+    <!-- déclaration des groupes d'éléments -->
+
+    <xs:group name="blockElmtGroup">
+       <xs:sequence>
+            <xs:element ref="comments"/>
+            <xs:element ref="libraries"/>
+            <xs:element ref="architecture"/>
+            <xs:element ref="patterns" minOccurs="0"/>
+       </xs:sequence>
+    </xs:group>
+
+    <xs:group name="commentsElmtGroup">
+       <xs:sequence>
+         <xs:element ref="author"/>
+         <xs:element ref="date"/>        
+         <xs:element ref="related_files"/>
+         <xs:element ref="description"/>
+         <xs:element ref="notes"/>       
+       </xs:sequence>
+    </xs:group>
+
+    <xs:group name="patternsElmtGroup">
+       <xs:sequence>
+         <xs:element ref="delta"/>
+         <xs:element ref="consumption"/>         
+         <xs:element ref="production"/>
+       </xs:sequence>
+    </xs:group>
+    
+    <!-- déclaration des éléments -->
+
+    <xs:element name="comments">
+       <xs:complexType>
+           <xs:group ref="commentsElmtGroup"/>
+       </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="author">
+       <xs:complexType>
+         <xs:attribute ref="firstname" />
+         <xs:attribute ref="lastname" />
+         <xs:attribute ref="mail" />     
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="date">
+       <xs:complexType>
+         <xs:attribute ref="creation" />
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="related_files">
+       <xs:complexType>
+         <xs:attribute ref="list" />
+       </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="description" type="xs:string" />
+
+    <xs:element name="notes" type="xs:string" />
+
+    <xs:element name="libraries">
+      <xs:complexType>
+       <xs:sequence>
+         <xs:element ref="library" minOccurs="0" maxOccurs="unbounded" />
+       </xs:sequence>
+      </xs:complexType>
+    </xs:element>
+
+    <xs:element name="library">
+      <xs:complexType>
+       <xs:sequence>
+         <xs:element ref="package" minOccurs="1" maxOccurs="unbounded" />
+       </xs:sequence>
+       <xs:attribute ref="name" />
+      </xs:complexType>
+    </xs:element>
+
+    <xs:element name="package">
+       <xs:complexType>
+         <xs:attribute ref="name" />
+         <xs:attribute ref="use" />
+       </xs:complexType>
+    </xs:element>
+        
+    <xs:element name="architecture" type="xs:string" />
+
+    <xs:element name="patterns">
+       <xs:complexType>
+           <xs:group ref="patternsElmtGroup"/>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="delta">
+       <xs:complexType>
+         <xs:attribute ref="value" />
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="consumption">
+       <xs:complexType>
+           <xs:sequence>
+               <xs:element ref="input" minOccurs="0" maxOccurs="unbounded"/>
+           </xs:sequence>
+       </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="input">
+       <xs:complexType>
+         <xs:attribute ref="name" />
+         <xs:attribute ref="pattern" />          
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="production">
+       <xs:complexType>
+           <xs:sequence>
+               <xs:element ref="output" minOccurs="0" maxOccurs="unbounded"/>
+           </xs:sequence>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="output">
+       <xs:complexType>
+         <xs:attribute ref="name" />
+         <xs:attribute ref="pattern" />
+         <xs:attribute ref="counter" />                  
+       </xs:complexType>
+    </xs:element>
+    
+    <!-- Racine du document -->
+
+    <xs:element name="block_impl">
+       <xs:complexType>
+         <xs:group ref="blockElmtGroup"/>
+         <xs:attribute ref="ref_name" />
+         <xs:attribute ref="ref_md5" />          
+       </xs:complexType>
+    </xs:element>
+
+</xs:schema>
diff --git a/lib/implementations/average-Nx3_impl.xml b/lib/implementations/average-Nx3_impl.xml
new file mode 100644 (file)
index 0000000..e74de0f
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<block_impl ref_name="average-Nx3.xml" ref_md5="">
+  <comments>
+    <author firstname="stephane" lastname="Domas" mail="sdomas@univ-fcomte.fr" />
+    <date creation="2015-04-27" />
+    <related_files list=""/>
+    <description>
+      This component is a average filter on 3 succesives inputs, over N samples
+    </description>
+    <notes>
+      No notes
+    </notes>
+  </comments>
+
+  <libraries>
+    <library name="IEEE">
+      <package name="std_logic_1164" use="all"/>
+      <package name="numeric_std" use="all"/>
+    </library>
+  </libraries>
+
+  <architecture>
+    
+  </architecture>
+
+  <patterns>
+    <delta value="$nb_data" />
+    <consumption>
+      <input name="data_i" pattern="(1){$nb_data}" />
+    </consumption>
+    <production>
+      <output name="data_o" pattern="00{$nb_data}" counter="{2,$nb_data+2}"/>
+    </production>
+  </patterns>
+</block_impl>
diff --git a/reference.xsd b/reference.xsd
new file mode 100644 (file)
index 0000000..a5c2c2d
--- /dev/null
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+    <!-- 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="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="context" 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 ref="multiplicity"/>
+    </xs:attributeGroup>
+
+
+    <!-- déclaration des attributs -->
+
+    <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: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" />
+
+
+    <!-- déclaration des groupes d'éléments -->
+
+    <xs:group name="blockElmtGroup">
+       <xs:sequence>
+            <xs:element ref="informations"/>
+            <xs:element ref="parameters"/>
+            <xs:element ref="interfaces"/>
+            <xs:element ref="implementations" minOccurs="0"/>
+       </xs:sequence>
+    </xs:group>
+
+    <xs:group name="informationsElmtGroup">
+       <xs:sequence>
+           <xs:element ref="name"/>
+           <xs:element ref="category"/>
+           <xs:element ref="description"/>
+       </xs:sequence>
+    </xs:group>
+
+    <xs:group name="descriptionElmtGroup">
+       <xs:sequence>
+           <xs:element ref="brief"/>
+           <xs:element ref="detailed"/>
+       </xs:sequence>
+    </xs:group>
+
+    <xs:group name="interfacesElmtGroup">
+       <xs:sequence>
+           <xs:element ref="inputs" minOccurs="0"/>
+           <xs:element ref="outputs" minOccurs="1"/>
+           <xs:element ref="bidirs" minOccurs="0"/>
+       </xs:sequence>
+    </xs:group>
+
+
+    <!-- déclaration des éléments -->
+
+    <xs:element name="informations">
+       <xs:complexType>
+           <xs:group ref="informationsElmtGroup"/>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="name" type="xs:string" />
+
+    <xs:element name="category">
+       <xs:complexType>
+           <xs:attribute ref="ids" use="required"/>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="description">
+       <xs:complexType>
+           <xs:group ref="descriptionElmtGroup"/>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="brief" type="xs:string" />
+
+    <xs:element name="detailed" type="xs:string" />
+
+    <xs:element name="parameters">
+       <xs:complexType>
+           <xs:sequence>
+               <xs:element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
+           </xs:sequence>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="parameter">
+       <xs:complexType>
+           <xs:attributeGroup ref="parameterAttrGroup"/>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="interfaces">
+       <xs:complexType>
+           <xs:group ref="interfacesElmtGroup"/>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="inputs">
+       <xs:complexType>
+           <xs:sequence>
+               <xs:element ref="input" maxOccurs="unbounded" />
+           </xs:sequence>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="input">
+       <xs:complexType>
+           <xs:attributeGroup ref="inOutAttrGroup"/>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="outputs">
+       <xs:complexType>
+           <xs:sequence>
+               <xs:element ref="output" maxOccurs="unbounded" />
+           </xs:sequence>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="output">
+       <xs:complexType>
+           <xs:attributeGroup ref="inOutAttrGroup"/>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="bidirs">
+       <xs:complexType>
+           <xs:sequence>
+               <xs:element ref="bidir" maxOccurs="unbounded" />
+           </xs:sequence>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="bidir">
+       <xs:complexType>
+           <xs:attributeGroup ref="inOutAttrGroup"/>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="implementations">
+       <xs:complexType>
+           <xs:sequence>
+               <xs:element ref="implementation" maxOccurs="unbounded" />
+           </xs:sequence>
+       </xs:complexType>
+    </xs:element>
+
+    <xs:element name="implementation">
+       <xs:complexType>
+           <xs:attribute ref="path" use="required" />
+       </xs:complexType>
+    </xs:element>
+
+
+    <!-- Racine du document -->
+
+    <xs:element name="block">
+       <xs:complexType>
+           <xs:group ref="blockElmtGroup"/>
+       </xs:complexType>
+    </xs:element>
+
+</xs:schema>