2 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:arch="http://www.tik.ee.ethz.ch/~shapes/schema/ARCHITECTURE" targetNamespace="http://www.tik.ee.ethz.ch/~shapes/schema/ARCHITECTURE" elementFormDefault="qualified">
3 <xsd:include schemaLocation="generics.xsd"/>
5 <xsd:element name="architecture">
7 <xsd:sequence minOccurs="0" maxOccurs="unbounded">
8 <xsd:element name="variable" type="arch:variable" minOccurs="0" maxOccurs="unbounded"/>
9 <xsd:element name="function" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
10 <xsd:element name="processor" type="arch:processor" minOccurs="0" maxOccurs="unbounded"/>
11 <xsd:element name="memory" type="arch:memory" minOccurs="0" maxOccurs="unbounded"/>
12 <xsd:element name="hw_channel" type="arch:hw_channel" minOccurs="0" maxOccurs="unbounded"/>
13 <xsd:element name="iterator" type="arch:generaliterator" minOccurs="0" maxOccurs="unbounded"/>
14 <xsd:element name="readpath" type="arch:readpath" minOccurs="0" maxOccurs="unbounded"/>
15 <xsd:element name="writepath" type="arch:writepath" minOccurs="0" maxOccurs="unbounded"/>
17 <xsd:attribute name="name" type="xsd:string" use="required"/>
21 <xsd:complexType name="processor">
23 <xsd:extension base="arch:resource">
24 <xsd:attribute name="type" use="required">
26 <xsd:restriction base="xsd:string">
27 <xsd:enumeration value="RISC"/>
28 <xsd:enumeration value="DSP"/>
29 <xsd:enumeration value="POT"/>
30 <xsd:enumeration value="NETSIM"/>
38 <xsd:complexType name="memory">
40 <xsd:extension base="arch:resource">
41 <xsd:attribute name="type" use="required">
43 <xsd:restriction base="xsd:string">
44 <xsd:enumeration value="ROM"/>
45 <xsd:enumeration value="RAM"/>
46 <xsd:enumeration value="REG"/>
47 <xsd:enumeration value="DXM"/>
55 <xsd:complexType name="hw_channel">
57 <xsd:extension base="arch:resource">
58 <xsd:attribute name="type" use="required">
60 <xsd:restriction base="xsd:string">
61 <xsd:enumeration value="FIFO"/>
62 <xsd:enumeration value="BUS"/>
63 <xsd:enumeration value="DMA"/>
64 <xsd:enumeration value="SPI"/>
65 <xsd:enumeration value="BRIDGE"/>
73 <xsd:complexType name="resource">
75 <xsd:extension base="arch:element">
77 <xsd:element name="append" type="arch:append" minOccurs="0" maxOccurs="unbounded"/>
78 <xsd:element name="configuration" type="arch:configuration" minOccurs="0" maxOccurs="unbounded"/>
84 <xsd:complexType name="writepath">
85 <xsd:sequence minOccurs="1" maxOccurs="1">
86 <xsd:element name="append" type="arch:append" minOccurs="0" maxOccurs="unbounded"/>
87 <xsd:element name="processor" type="arch:resourcereference" minOccurs="1" maxOccurs="1"/>
88 <xsd:element name="txbuf" type="arch:resourcereference" minOccurs="1" maxOccurs="1"/>
89 <xsd:element name="hw_channel" type="arch:resourcereference" minOccurs="1" maxOccurs="unbounded"/>
90 <xsd:element name="chbuf" type="arch:resourcereference" minOccurs="1" maxOccurs="1"/>
91 <xsd:element name="configuration" type="arch:configuration" minOccurs="0" maxOccurs="unbounded"/>
93 <xsd:attribute name="name" type="xsd:string" use="required"/>
96 <xsd:complexType name="readpath">
97 <xsd:sequence minOccurs="1" maxOccurs="1">
98 <xsd:element name="append" type="arch:append" minOccurs="0" maxOccurs="unbounded"/>
99 <xsd:element name="processor" type="arch:resourcereference" minOccurs="1" maxOccurs="1"/>
100 <xsd:element name="chbuf" type="arch:resourcereference" minOccurs="1" maxOccurs="1"/>
101 <xsd:element name="hw_channel" type="arch:resourcereference" minOccurs="1" maxOccurs="unbounded"/>
102 <xsd:element name="rxbuf" type="arch:resourcereference" minOccurs="1" maxOccurs="1"/>
103 <xsd:element name="configuration" type="arch:configuration" minOccurs="0" maxOccurs="unbounded"/>
105 <xsd:attribute name="name" type="xsd:string" use="required"/>
108 <xsd:complexType name="resourcereference">
110 <xsd:element name="append" type="arch:append" minOccurs="0" maxOccurs="unbounded"/>
112 <xsd:attribute name="name" type="xsd:string" use="required"/>
115 <xsd:complexType name="generaliterator">
117 <xsd:extension base="arch:iterator">
118 <xsd:sequence minOccurs="0" maxOccurs="unbounded">
119 <xsd:element name="readpath" type="arch:readpath" minOccurs="0" maxOccurs="unbounded"/>
120 <xsd:element name="writepath" type="arch:writepath" minOccurs="0" maxOccurs="unbounded"/>
121 <xsd:element name="processor" type="arch:processor" minOccurs="0" maxOccurs="unbounded"/>
122 <xsd:element name="memory" type="arch:memory" minOccurs="0" maxOccurs="unbounded"/>
123 <xsd:element name="hw_channel" type="arch:hw_channel" minOccurs="0" maxOccurs="unbounded"/>
124 <xsd:element name="iterator" type="arch:generaliterator" minOccurs="0" maxOccurs="unbounded"/>
127 </xsd:complexContent>