Add working testarch support to CMake build.

Update equivalent template.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
diff --git a/fpga_architecture.xsd b/fpga_architecture.xsd
index 6d93afd..a1511ea 100644
--- a/fpga_architecture.xsd
+++ b/fpga_architecture.xsd
@@ -293,31 +293,50 @@
     </xs:restriction>

   </xs:simpleType>

 

-  <xs:simpleType name="pb_io_equivalent">

-    <xs:restriction base="xs:string">

+  <xs:simpleType name="pb_input_equivalent">

+     <xs:restriction base="xs:string">

       <xs:enumeration value="none"/>

       <xs:enumeration value="full"/>

       <xs:enumeration value="instance"/>

-      <xs:enumeration value="false"/>

-      <xs:enumeration value="true"/>

     </xs:restriction>

   </xs:simpleType>

 

   <xs:complexType name="pb_type_input">

     <xs:attribute name="name" type="xs:string" use="required"/>

+    <xs:attribute name="equivalent" type="pb_input_equivalent" default="none"/>

     <xs:attribute name="num_pins" type="xs:int" use="required"/>

-    <xs:attribute name="equivalent" type="pb_io_equivalent" default="false"/>

     <xs:attribute name="is_non_clock_global" type="xs:boolean"/>

     <xs:attribute name="port_class" type="xs:string" />

   </xs:complexType>

 

+  <xs:simpleType name="pb_output_equivalent">

+     <xs:restriction base="xs:string">

+      <xs:enumeration value="none"/>

+      <xs:enumeration value="full"/>

+    </xs:restriction>

+  </xs:simpleType>

+

   <xs:complexType name="pb_type_output">

     <xs:attribute name="name" type="xs:string" use="required"/>

+    <xs:attribute name="equivalent" type="pb_output_equivalent" default="none"/>

     <xs:attribute name="num_pins" type="xs:int" use="required"/>

-    <xs:attribute name="equivalent" type="pb_io_equivalent" default="false"/>

     <xs:attribute name="port_class" type="xs:string" />

   </xs:complexType>

 

+  <xs:simpleType name="pb_clock_equivalent">

+     <xs:restriction base="xs:string">

+      <xs:enumeration value="none"/>

+      <xs:enumeration value="full"/>

+      <xs:enumeration value="instance"/>

+    </xs:restriction>

+  </xs:simpleType>

+

+  <xs:complexType name="pb_type_clock">

+    <xs:attribute name="name" type="xs:string" use="required"/>

+    <xs:attribute name="equivalent" type="pb_clock_equivalent" default="none"/>

+    <xs:attribute name="num_pins" type="xs:int" use="required"/>

+  </xs:complexType>

+

   <xs:simpleType name="delay_matrix_type">

     <xs:restriction base="xs:string">

       <xs:enumeration value="min"/>

@@ -567,7 +586,7 @@
       <xs:element name="pb_type" type="pb_type"/>

       <xs:element name="input" type="pb_type_input"/>

       <xs:element name="output" type="pb_type_output"/>

-      <xs:element name="clock" type="pb_type_output"/>

+      <xs:element name="clock" type="pb_type_clock"/>

       <xs:element name="metadata" type="metadata"/>

       <xs:element name="mode" type="mode"/>

       <xs:element name="interconnect" type="interconnect"/>

@@ -775,4 +794,4 @@
     </xs:complexType>

   </xs:element>

 

-</xs:schema>
\ No newline at end of file
+</xs:schema>