| <?xml version="1.0" encoding="UTF-8"?> | |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |
| <!-- config is the root of our document --> | |
| <xs:element name="config"> | |
| <xs:complexType> | |
| <xs:all> | |
| <xs:element ref="verilog_files" minOccurs="1"/> | |
| <xs:element ref="output" minOccurs="1"/> | |
| <xs:element ref="optimizations" /> | |
| <xs:element ref="debug_outputs" minOccurs="1"/> | |
| </xs:all> | |
| </xs:complexType> | |
| </xs:element> | |
| <xs:element name="verilog_files"> | |
| <xs:complexType> | |
| <xs:sequence> | |
| <xs:element name="verilog_file" type="xs:string" minOccurs="1" maxOccurs="unbounded"/> | |
| </xs:sequence> | |
| </xs:complexType> | |
| </xs:element> | |
| <xs:element name="output"> | |
| <xs:complexType> | |
| <xs:all minOccurs="1"> | |
| <xs:element name="output_type" type="xs:string" default="blif"/> | |
| <xs:element name="output_path_and_name" type="xs:string"/> | |
| <xs:element name="target"> | |
| <xs:complexType> | |
| <xs:all minOccurs="1"> | |
| <xs:element name="arch_file" type="xs:string"/> | |
| </xs:all> | |
| </xs:complexType> | |
| </xs:element> | |
| </xs:all> | |
| </xs:complexType> | |
| </xs:element> | |
| <xs:element name="optimizations"> | |
| <xs:complexType> | |
| <xs:all> | |
| <xs:element name="multiply"> | |
| <xs:complexType> | |
| <xs:attribute name="size"> | |
| <xs:simpleType> | |
| <xs:restriction base="xs:integer"> | |
| <xs:minInclusive value="0"/> | |
| </xs:restriction> | |
| </xs:simpleType> | |
| </xs:attribute> | |
| <xs:attribute name="fixed"> | |
| <xs:simpleType> | |
| <xs:restriction base="xs:integer"> | |
| <xs:minInclusive value="0"/> | |
| <xs:maxInclusive value="1"/> | |
| </xs:restriction> | |
| </xs:simpleType> | |
| </xs:attribute> | |
| <xs:attribute name="fracture"> | |
| <xs:simpleType> | |
| <xs:restriction base="xs:integer"> | |
| <xs:minInclusive value="0"/> | |
| <xs:maxInclusive value="1"/> | |
| </xs:restriction> | |
| </xs:simpleType> | |
| </xs:attribute> | |
| </xs:complexType> | |
| </xs:element> | |
| <xs:element name="memory"> | |
| <xs:complexType> | |
| <xs:attribute name="split_memory_width"> | |
| <xs:simpleType> | |
| <xs:restriction base="xs:integer"> | |
| <xs:minInclusive value="0"/> | |
| <xs:maxInclusive value="1"/> | |
| </xs:restriction> | |
| </xs:simpleType> | |
| </xs:attribute> | |
| <xs:attribute name="split_memory_depth"> | |
| <xs:simpleType> | |
| <xs:restriction base="xs:integer"> | |
| <xs:minInclusive value="0"/> | |
| <xs:maxInclusive value="1"/> | |
| </xs:restriction> | |
| </xs:simpleType> | |
| </xs:attribute> | |
| </xs:complexType> | |
| </xs:element> | |
| </xs:all> | |
| </xs:complexType> | |
| </xs:element> | |
| <xs:element name="debug_outputs"> | |
| <xs:complexType> | |
| <xs:all minOccurs="0"> | |
| <xs:element name="debug_output_path" type="xs:string"/> | |
| <xs:element name="output_ast_graphs"> | |
| <xs:simpleType> | |
| <xs:restriction base="xs:integer"> | |
| <xs:minInclusive value="0"/> | |
| <xs:maxInclusive value="1"/> | |
| </xs:restriction> | |
| </xs:simpleType> | |
| </xs:element> | |
| <xs:element name="output_netlist_graphs"> | |
| <xs:simpleType> | |
| <xs:restriction base="xs:integer"> | |
| <xs:minInclusive value="0"/> | |
| <xs:maxInclusive value="1"/> | |
| </xs:restriction> | |
| </xs:simpleType> | |
| </xs:element> | |
| </xs:all> | |
| </xs:complexType> | |
| </xs:element> | |
| </xs:schema> |