Embedded System Environment: ESE Version 2.0.0; User Manual | ||
---|---|---|
Prev | Appendix A. XML stylesheet for PE Data Model | Next |
<xs:complexType name="ProcUnitModel">
<xs:attribute name="version" type="xs:string" use="required"/>
<xs:element name="procunit" type="ProcUnit" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="type" type="xs:string"/>
<xs:element name="execmodel" type="ExecModel" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="memmodel" type="MemModel" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="dpmodel" type="DPModel" minOccurs="1" maxOccurs="unbounded"/>
</xs:complexType>
</xs:element>
</xs:complexType>
<xs:complexType name="ExecModel">
<xs:attribute name="sched" type="IdentName" use="required"/>
<xs:element name="operation" type="Operation" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name" type="IdentName" use="required"/>
<xs:attribute name="var_type" type="IdentName" use="required"/>
<xs:element name="stgref" type="StgRef" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name" type="IdentName" use="required"/>
<xs:attribute name="flags" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="COMMIT"/>
<xs:enumeration value="DEMAND"/>
<xs:enumeration value="DEMAND COMMIT"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:element name="furef" type="FURef" minOccurs="1" maxOccurs="unbounded"/>
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:element>
</xs:complexType>
<xs:complexType name="FURef">
<xs:attribute name="type" type="IdentName" use="required"/>
<xs:attribute name="quantity" type="IdentName" use="required"/>
<xs:attribute name="mode" type="IdentName" use="required"/>
</xs:complexType>
<xs:complexType name="MemModel">
<xs:element name="cache" type="Cache" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="policy" type="IdentName" use="required"/>
<!-- below is for cache which has distinction btn i cache and d cache -->
<xs:attribute name="i_cache_delay" type="xs:int"/>
<xs:attribute name="d_cache_delay" type="xs:int"/>
<!-- below is for cache which has no distinction btn i cache and d cache -->
<xs:attribute name="delay" type="xs:string"/>
<xs:attribute name="cache_size" type="xs:string"/>
<xs:attribute name="i_cache_ratio" type="xs:float"/>
<xs:attribute name="d_cache_ratio" type="xs:float"/>
<xs:element name="InstCache" type="InstCache" minOccurs="0" maxOccurs="unbounded">
<xs:attribute name="i_cache_size" type="xs:string" use="required"/>
<xs:attribute name="i_cache_ratio" type="xs:float" use="required"/>
</xs:element>
<xs:element name="DataCache" type="DataCache" minOccurs="0" maxOccurs="unbounded">
<xs:attribute name="d_cache_size" type="xs:string" use="required"/>
<xs:attribute name="d_cache_ratio" type="xs:float" use="required"/>
</xs:element>
</xs:complexType>
</xs:element>
<xs:element name="memory" type="Memory" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="w_delay" type="xs:int" use="required"/>
<xs:attribute name="r_delay" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
</xs:complexType>
<xs:complexType name="DPModel">
<xs:element name="pipeline" type="Pipeline" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name" type="IdentName" use="required"/>
<xs:attribute name="br_pred_policy" type="IdentName" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="TAKEN"/>
<xs:enumeration value="NOT_TAKEN"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="br_pred_hit_ratio" type="xs:float" use="required"/>
<xs:attribute name="br_penalty" type="xs:int" use="required"/>
<xs:element name="stage" type="Stage" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name" type="IdentName" use="required"/>
<xs:element name="furef" type="FURef" minOccurs="1" maxOccurs="unbounded"/>
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:element>
<xs:element name="funcunit" type="FuncUnit" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="type" type="IdentName" use="required"/>
<xs:attribute name="quantity" type="xs:int" use="required"/>
<xs:element name="opermode" type="OperMode" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="mode" type="IdentName" use="required"/>
<xs:attribute name="oplat" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:element>
</xs:complexType>