<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 name="type" type="typeiface"/>
- <xs:attribute ref="purpose"/>
+ <xs:attribute name="purpose" type="typepurpose" use="optional"/>
<xs:attribute ref="multiplicity"/>
- <xs:attribute name="endian" type="typeendian" use="optional"/>
+ <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="clock" type="xs:string"/>
<xs:simpleType name="typeparam">
<xs:restriction base="xs:string">
<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" />