Skip to content

Instantly share code, notes, and snippets.

@olofk
Created April 19, 2021 21:50
Show Gist options
  • Select an option

  • Save olofk/52b2a4ea2ee9c80f3ae766075b7fe683 to your computer and use it in GitHub Desktop.

Select an option

Save olofk/52b2a4ea2ee9c80f3ae766075b7fe683 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes>
<entry>
<string>shapeType</string>
<shapeType>CUSTOM</shapeType>
</entry>
<entry>
<string>Height</string>
<int>4</int>
</entry>
</attributes>
<visualElements>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>clk</string>
</entry>
</elementAttributes>
<pos x="-160" y="1060"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i_en</string>
</entry>
</elementAttributes>
<pos x="-320" y="980"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i_cnt0</string>
</entry>
</elementAttributes>
<pos x="700" y="880"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>o_cmp</string>
</entry>
</elementAttributes>
<pos x="1300" y="680"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i_sub</string>
</entry>
</elementAttributes>
<pos x="80" y="800"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i_bool_op</string>
</entry>
<entry>
<string>Bits</string>
<int>2</int>
</entry>
</elementAttributes>
<pos x="60" y="340"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i_cmp_eq</string>
</entry>
</elementAttributes>
<pos x="1080" y="620"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i_cmp_sig</string>
</entry>
</elementAttributes>
<pos x="40" y="580"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i_rd_sel</string>
</entry>
<entry>
<string>Bits</string>
<int>3</int>
</entry>
</elementAttributes>
<pos x="1380" y="160"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i_rs1</string>
</entry>
</elementAttributes>
<pos x="-320" y="700"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i_op_b</string>
</entry>
</elementAttributes>
<pos x="-320" y="760"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i_buf</string>
</entry>
</elementAttributes>
<pos x="1580" y="480"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>o_rd</string>
</entry>
</elementAttributes>
<pos x="1760" y="320"/>
</visualElement>
<visualElement>
<elementName>Add</elementName>
<elementAttributes/>
<pos x="340" y="700"/>
</visualElement>
<visualElement>
<elementName>XOr</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="160" y="760"/>
</visualElement>
<visualElement>
<elementName>Add</elementName>
<elementAttributes/>
<pos x="340" y="580"/>
</visualElement>
<visualElement>
<elementName>Not</elementName>
<elementAttributes/>
<pos x="240" y="600"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="120" y="500"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="120" y="620"/>
</visualElement>
<visualElement>
<elementName>D_FF</elementName>
<elementAttributes/>
<pos x="220" y="900"/>
</visualElement>
<visualElement>
<elementName>Multiplexer</elementName>
<elementAttributes/>
<pos x="120" y="880"/>
</visualElement>
<visualElement>
<elementName>Or</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="360" y="200"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>2</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>1,1</string>
</entry>
</elementAttributes>
<pos x="160" y="280"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
<entry>
<string>Inputs</string>
<int>3</int>
</entry>
</elementAttributes>
<pos x="220" y="380"/>
</visualElement>
<visualElement>
<elementName>Rectangle</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Add/Sub</string>
</entry>
<entry>
<string>RectHeight</string>
<int>27</int>
</entry>
<entry>
<string>RectWidth</string>
<int>31</int>
</entry>
</elementAttributes>
<pos x="-140" y="480"/>
</visualElement>
<visualElement>
<elementName>XOr</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="100" y="160"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
<entry>
<string>inverterConfig</string>
<inverterConfig>
<string>In_2</string>
</inverterConfig>
</entry>
</elementAttributes>
<pos x="240" y="180"/>
</visualElement>
<visualElement>
<elementName>Rectangle</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Bool expressions</string>
</entry>
<entry>
<string>RectHeight</string>
<int>17</int>
</entry>
<entry>
<string>RectWidth</string>
<int>31</int>
</entry>
</elementAttributes>
<pos x="-140" y="100"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="760" y="840"/>
</visualElement>
<visualElement>
<elementName>Or</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="760" y="700"/>
</visualElement>
<visualElement>
<elementName>D_FF</elementName>
<elementAttributes>
<entry>
<string>mirror</string>
<boolean>true</boolean>
</entry>
<entry>
<string>rotation</string>
<rotation rotation="2"/>
</entry>
</elementAttributes>
<pos x="960" y="780"/>
</visualElement>
<visualElement>
<elementName>Multiplexer</elementName>
<elementAttributes>
<entry>
<string>flipSelPos</string>
<boolean>true</boolean>
</entry>
<entry>
<string>rotation</string>
<rotation rotation="2"/>
</entry>
</elementAttributes>
<pos x="1040" y="800"/>
</visualElement>
<visualElement>
<elementName>Multiplexer</elementName>
<elementAttributes>
<entry>
<string>flipSelPos</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="1120" y="660"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
<entry>
<string>inverterConfig</string>
<inverterConfig>
<string>In_1</string>
</inverterConfig>
</entry>
</elementAttributes>
<pos x="880" y="680"/>
</visualElement>
<visualElement>
<elementName>Rectangle</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Comparator</string>
</entry>
<entry>
<string>RectHeight</string>
<int>23</int>
</entry>
<entry>
<string>RectWidth</string>
<int>31</int>
</entry>
</elementAttributes>
<pos x="600" y="480"/>
</visualElement>
<visualElement>
<elementName>Or</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
<entry>
<string>Inputs</string>
<int>4</int>
</entry>
</elementAttributes>
<pos x="1640" y="280"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="1520" y="200"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="1520" y="280"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="1520" y="360"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>3</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>1,1,1</string>
</entry>
</elementAttributes>
<pos x="1420" y="160"/>
</visualElement>
<visualElement>
<elementName>Rectangle</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Output selector</string>
</entry>
<entry>
<string>RectHeight</string>
<int>21</int>
</entry>
<entry>
<string>RectWidth</string>
<int>25</int>
</entry>
</elementAttributes>
<pos x="1240" y="100"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="200" y="640"/>
<p2 x="220" y="640"/>
</wire>
<wire>
<p1 x="1720" y="320"/>
<p2 x="1760" y="320"/>
</wire>
<wire>
<p1 x="1420" y="320"/>
<p2 x="1520" y="320"/>
</wire>
<wire>
<p1 x="300" y="580"/>
<p2 x="340" y="580"/>
</wire>
<wire>
<p1 x="40" y="580"/>
<p2 x="80" y="580"/>
</wire>
<wire>
<p1 x="400" y="580"/>
<p2 x="960" y="580"/>
</wire>
<wire>
<p1 x="280" y="900"/>
<p2 x="320" y="900"/>
</wire>
<wire>
<p1 x="160" y="900"/>
<p2 x="220" y="900"/>
</wire>
<wire>
<p1 x="200" y="520"/>
<p2 x="300" y="520"/>
</wire>
<wire>
<p1 x="320" y="200"/>
<p2 x="360" y="200"/>
</wire>
<wire>
<p1 x="1500" y="200"/>
<p2 x="1520" y="200"/>
</wire>
<wire>
<p1 x="1440" y="200"/>
<p2 x="1460" y="200"/>
</wire>
<wire>
<p1 x="-80" y="200"/>
<p2 x="100" y="200"/>
</wire>
<wire>
<p1 x="740" y="840"/>
<p2 x="760" y="840"/>
</wire>
<wire>
<p1 x="880" y="840"/>
<p2 x="1080" y="840"/>
</wire>
<wire>
<p1 x="240" y="780"/>
<p2 x="280" y="780"/>
</wire>
<wire>
<p1 x="740" y="780"/>
<p2 x="880" y="780"/>
</wire>
<wire>
<p1 x="960" y="780"/>
<p2 x="1000" y="780"/>
</wire>
<wire>
<p1 x="880" y="780"/>
<p2 x="900" y="780"/>
</wire>
<wire>
<p1 x="280" y="720"/>
<p2 x="340" y="720"/>
</wire>
<wire>
<p1 x="400" y="720"/>
<p2 x="420" y="720"/>
</wire>
<wire>
<p1 x="840" y="720"/>
<p2 x="880" y="720"/>
</wire>
<wire>
<p1 x="300" y="400"/>
<p2 x="340" y="400"/>
</wire>
<wire>
<p1 x="-200" y="400"/>
<p2 x="-80" y="400"/>
</wire>
<wire>
<p1 x="1440" y="400"/>
<p2 x="1520" y="400"/>
</wire>
<wire>
<p1 x="-80" y="400"/>
<p2 x="220" y="400"/>
</wire>
<wire>
<p1 x="320" y="660"/>
<p2 x="420" y="660"/>
</wire>
<wire>
<p1 x="80" y="660"/>
<p2 x="120" y="660"/>
</wire>
<wire>
<p1 x="960" y="660"/>
<p2 x="1120" y="660"/>
</wire>
<wire>
<p1 x="-320" y="980"/>
<p2 x="140" y="980"/>
</wire>
<wire>
<p1 x="140" y="980"/>
<p2 x="1020" y="980"/>
</wire>
<wire>
<p1 x="60" y="340"/>
<p2 x="100" y="340"/>
</wire>
<wire>
<p1 x="1620" y="340"/>
<p2 x="1640" y="340"/>
</wire>
<wire>
<p1 x="280" y="600"/>
<p2 x="340" y="600"/>
</wire>
<wire>
<p1 x="220" y="600"/>
<p2 x="240" y="600"/>
</wire>
<wire>
<p1 x="80" y="920"/>
<p2 x="120" y="920"/>
</wire>
<wire>
<p1 x="200" y="920"/>
<p2 x="220" y="920"/>
</wire>
<wire>
<p1 x="100" y="280"/>
<p2 x="160" y="280"/>
</wire>
<wire>
<p1 x="180" y="280"/>
<p2 x="200" y="280"/>
</wire>
<wire>
<p1 x="1620" y="280"/>
<p2 x="1640" y="280"/>
</wire>
<wire>
<p1 x="1480" y="280"/>
<p2 x="1520" y="280"/>
</wire>
<wire>
<p1 x="80" y="540"/>
<p2 x="120" y="540"/>
</wire>
<wire>
<p1 x="80" y="860"/>
<p2 x="420" y="860"/>
</wire>
<wire>
<p1 x="840" y="860"/>
<p2 x="1420" y="860"/>
</wire>
<wire>
<p1 x="200" y="220"/>
<p2 x="220" y="220"/>
</wire>
<wire>
<p1 x="1600" y="220"/>
<p2 x="1620" y="220"/>
</wire>
<wire>
<p1 x="440" y="220"/>
<p2 x="1440" y="220"/>
</wire>
<wire>
<p1 x="1040" y="800"/>
<p2 x="1080" y="800"/>
</wire>
<wire>
<p1 x="960" y="800"/>
<p2 x="980" y="800"/>
</wire>
<wire>
<p1 x="80" y="800"/>
<p2 x="100" y="800"/>
</wire>
<wire>
<p1 x="100" y="800"/>
<p2 x="160" y="800"/>
</wire>
<wire>
<p1 x="-100" y="160"/>
<p2 x="100" y="160"/>
</wire>
<wire>
<p1 x="1440" y="160"/>
<p2 x="1500" y="160"/>
</wire>
<wire>
<p1 x="1380" y="160"/>
<p2 x="1420" y="160"/>
</wire>
<wire>
<p1 x="1580" y="480"/>
<p2 x="1620" y="480"/>
</wire>
<wire>
<p1 x="740" y="740"/>
<p2 x="760" y="740"/>
</wire>
<wire>
<p1 x="320" y="740"/>
<p2 x="340" y="740"/>
</wire>
<wire>
<p1 x="1620" y="420"/>
<p2 x="1640" y="420"/>
</wire>
<wire>
<p1 x="-180" y="420"/>
<p2 x="-100" y="420"/>
</wire>
<wire>
<p1 x="-100" y="420"/>
<p2 x="220" y="420"/>
</wire>
<wire>
<p1 x="-160" y="1060"/>
<p2 x="200" y="1060"/>
</wire>
<wire>
<p1 x="200" y="1060"/>
<p2 x="980" y="1060"/>
</wire>
<wire>
<p1 x="1160" y="680"/>
<p2 x="1180" y="680"/>
</wire>
<wire>
<p1 x="660" y="680"/>
<p2 x="860" y="680"/>
</wire>
<wire>
<p1 x="1180" y="680"/>
<p2 x="1300" y="680"/>
</wire>
<wire>
<p1 x="1460" y="360"/>
<p2 x="1520" y="360"/>
</wire>
<wire>
<p1 x="1080" y="620"/>
<p2 x="1140" y="620"/>
</wire>
<wire>
<p1 x="320" y="620"/>
<p2 x="340" y="620"/>
</wire>
<wire>
<p1 x="80" y="620"/>
<p2 x="120" y="620"/>
</wire>
<wire>
<p1 x="1600" y="300"/>
<p2 x="1640" y="300"/>
</wire>
<wire>
<p1 x="700" y="880"/>
<p2 x="720" y="880"/>
</wire>
<wire>
<p1 x="100" y="880"/>
<p2 x="120" y="880"/>
</wire>
<wire>
<p1 x="720" y="880"/>
<p2 x="760" y="880"/>
</wire>
<wire>
<p1 x="340" y="240"/>
<p2 x="360" y="240"/>
</wire>
<wire>
<p1 x="540" y="240"/>
<p2 x="1520" y="240"/>
</wire>
<wire>
<p1 x="-40" y="500"/>
<p2 x="120" y="500"/>
</wire>
<wire>
<p1 x="180" y="180"/>
<p2 x="240" y="180"/>
</wire>
<wire>
<p1 x="1440" y="180"/>
<p2 x="1480" y="180"/>
</wire>
<wire>
<p1 x="1040" y="760"/>
<p2 x="1180" y="760"/>
</wire>
<wire>
<p1 x="-320" y="760"/>
<p2 x="-200" y="760"/>
</wire>
<wire>
<p1 x="80" y="760"/>
<p2 x="160" y="760"/>
</wire>
<wire>
<p1 x="-200" y="760"/>
<p2 x="80" y="760"/>
</wire>
<wire>
<p1 x="960" y="700"/>
<p2 x="1120" y="700"/>
</wire>
<wire>
<p1 x="720" y="700"/>
<p2 x="760" y="700"/>
</wire>
<wire>
<p1 x="-320" y="700"/>
<p2 x="-180" y="700"/>
</wire>
<wire>
<p1 x="400" y="700"/>
<p2 x="540" y="700"/>
</wire>
<wire>
<p1 x="-180" y="700"/>
<p2 x="-40" y="700"/>
</wire>
<wire>
<p1 x="-40" y="700"/>
<p2 x="340" y="700"/>
</wire>
<wire>
<p1 x="540" y="700"/>
<p2 x="660" y="700"/>
</wire>
<wire>
<p1 x="1600" y="380"/>
<p2 x="1620" y="380"/>
</wire>
<wire>
<p1 x="180" y="380"/>
<p2 x="220" y="380"/>
</wire>
<wire>
<p1 x="320" y="620"/>
<p2 x="320" y="660"/>
</wire>
<wire>
<p1 x="320" y="740"/>
<p2 x="320" y="900"/>
</wire>
<wire>
<p1 x="960" y="580"/>
<p2 x="960" y="660"/>
</wire>
<wire>
<p1 x="-200" y="400"/>
<p2 x="-200" y="760"/>
</wire>
<wire>
<p1 x="200" y="220"/>
<p2 x="200" y="280"/>
</wire>
<wire>
<p1 x="200" y="920"/>
<p2 x="200" y="1060"/>
</wire>
<wire>
<p1 x="1480" y="180"/>
<p2 x="1480" y="280"/>
</wire>
<wire>
<p1 x="140" y="920"/>
<p2 x="140" y="980"/>
</wire>
<wire>
<p1 x="1420" y="320"/>
<p2 x="1420" y="860"/>
</wire>
<wire>
<p1 x="-80" y="200"/>
<p2 x="-80" y="400"/>
</wire>
<wire>
<p1 x="80" y="540"/>
<p2 x="80" y="580"/>
</wire>
<wire>
<p1 x="80" y="660"/>
<p2 x="80" y="760"/>
</wire>
<wire>
<p1 x="80" y="860"/>
<p2 x="80" y="920"/>
</wire>
<wire>
<p1 x="80" y="580"/>
<p2 x="80" y="620"/>
</wire>
<wire>
<p1 x="720" y="700"/>
<p2 x="720" y="880"/>
</wire>
<wire>
<p1 x="340" y="240"/>
<p2 x="340" y="400"/>
</wire>
<wire>
<p1 x="980" y="800"/>
<p2 x="980" y="1060"/>
</wire>
<wire>
<p1 x="660" y="680"/>
<p2 x="660" y="700"/>
</wire>
<wire>
<p1 x="1620" y="220"/>
<p2 x="1620" y="280"/>
</wire>
<wire>
<p1 x="1620" y="340"/>
<p2 x="1620" y="380"/>
</wire>
<wire>
<p1 x="1620" y="420"/>
<p2 x="1620" y="480"/>
</wire>
<wire>
<p1 x="280" y="720"/>
<p2 x="280" y="780"/>
</wire>
<wire>
<p1 x="1180" y="680"/>
<p2 x="1180" y="760"/>
</wire>
<wire>
<p1 x="220" y="600"/>
<p2 x="220" y="640"/>
</wire>
<wire>
<p1 x="1500" y="160"/>
<p2 x="1500" y="200"/>
</wire>
<wire>
<p1 x="540" y="240"/>
<p2 x="540" y="700"/>
</wire>
<wire>
<p1 x="1440" y="220"/>
<p2 x="1440" y="400"/>
</wire>
<wire>
<p1 x="-100" y="160"/>
<p2 x="-100" y="420"/>
</wire>
<wire>
<p1 x="420" y="660"/>
<p2 x="420" y="720"/>
</wire>
<wire>
<p1 x="420" y="720"/>
<p2 x="420" y="860"/>
</wire>
<wire>
<p1 x="100" y="800"/>
<p2 x="100" y="880"/>
</wire>
<wire>
<p1 x="100" y="280"/>
<p2 x="100" y="340"/>
</wire>
<wire>
<p1 x="740" y="740"/>
<p2 x="740" y="780"/>
</wire>
<wire>
<p1 x="740" y="780"/>
<p2 x="740" y="840"/>
</wire>
<wire>
<p1 x="-40" y="500"/>
<p2 x="-40" y="700"/>
</wire>
<wire>
<p1 x="1640" y="360"/>
<p2 x="1640" y="420"/>
</wire>
<wire>
<p1 x="300" y="520"/>
<p2 x="300" y="580"/>
</wire>
<wire>
<p1 x="880" y="780"/>
<p2 x="880" y="840"/>
</wire>
<wire>
<p1 x="-180" y="420"/>
<p2 x="-180" y="700"/>
</wire>
<wire>
<p1 x="1140" y="620"/>
<p2 x="1140" y="660"/>
</wire>
<wire>
<p1 x="180" y="300"/>
<p2 x="180" y="380"/>
</wire>
<wire>
<p1 x="1460" y="200"/>
<p2 x="1460" y="360"/>
</wire>
<wire>
<p1 x="1080" y="800"/>
<p2 x="1080" y="840"/>
</wire>
<wire>
<p1 x="760" y="860"/>
<p2 x="760" y="880"/>
</wire>
<wire>
<p1 x="1020" y="800"/>
<p2 x="1020" y="980"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment