mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-15 07:48:29 -04:00
added 74688, see #173
This commit is contained in:
parent
d858e51dab
commit
9550fef359
631
src/main/dig/lib/74xx/arithmetic/74688.dig
Normal file
631
src/main/dig/lib/74xx/arithmetic/74688.dig
Normal file
@ -0,0 +1,631 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<circuit>
|
||||
<version>1</version>
|
||||
<attributes>
|
||||
<entry>
|
||||
<string>isDIL</string>
|
||||
<boolean>true</boolean>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinCount</string>
|
||||
<int>20</int>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Description</string>
|
||||
<string>8-bit identity comparator</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>lockedMode</string>
|
||||
<boolean>true</boolean>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Width</string>
|
||||
<int>5</int>
|
||||
</entry>
|
||||
</attributes>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>XOr</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="80"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>XOr</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>XOr</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="240"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>XOr</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="320"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>XOr</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="400"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>XOr</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="480"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>XOr</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="560"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>XOr</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="640"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>inverterConfig</string>
|
||||
<inverterConfig>
|
||||
<string>In_1</string>
|
||||
</inverterConfig>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>4</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="700" y="260"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>P_0</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="80"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q_0</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>3</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="120"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>P_1</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>4</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q_1</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>5</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>P_2</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>6</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="240"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q_2</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>7</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>P_3</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>8</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="320"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q_3</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>9</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="360"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>P_4</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>11</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="400"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q_4</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>12</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="440"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>P_5</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>13</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="480"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q_5</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>14</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="520"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>P_6</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>15</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="560"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q_6</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>16</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="600"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>P_7</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>17</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="640"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q_7</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>18</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="680"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>~OE</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>1</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="40"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>~EQ</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>19</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="820" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NOr</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="500" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NOr</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="500" y="400"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NOr</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="500" y="600"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>PowerSupply</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="740"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>VCC</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>20</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>InDefault</string>
|
||||
<value v="1" z="false"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="740"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>GND</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>10</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="320" y="780"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Testcase</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Testdata</string>
|
||||
<testData>
|
||||
<dataString>~OE P_7 P_6 P_5 P_4 P_3 P_2 P_1 P_0 Q_7 Q_6 Q_5 Q_4 Q_3 Q_2 Q_1 Q_0 ~EQ
|
||||
loop(P,16)
|
||||
loop(Q,16)
|
||||
0 bits(8,P) bits(8,Q) (~(P=Q))
|
||||
1 bits(8,P) bits(8,Q) (1)
|
||||
end loop
|
||||
end loop
|
||||
</dataString>
|
||||
</testData>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="780" y="600"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
<wire>
|
||||
<p1 x="460" y="640"/>
|
||||
<p2 x="500" y="640"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="640"/>
|
||||
<p2 x="360" y="640"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="320"/>
|
||||
<p2 x="360" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="320"/>
|
||||
<p2 x="700" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="260"/>
|
||||
<p2 x="460" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="660" y="260"/>
|
||||
<p2 x="680" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="580"/>
|
||||
<p2 x="460" y="580"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="200"/>
|
||||
<p2 x="500" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="200"/>
|
||||
<p2 x="360" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="520"/>
|
||||
<p2 x="360" y="520"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="780"/>
|
||||
<p2 x="340" y="780"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="400"/>
|
||||
<p2 x="500" y="400"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="400"/>
|
||||
<p2 x="360" y="400"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="80"/>
|
||||
<p2 x="360" y="80"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="340"/>
|
||||
<p2 x="460" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="660" y="340"/>
|
||||
<p2 x="700" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="660"/>
|
||||
<p2 x="460" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="600"/>
|
||||
<p2 x="500" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="600"/>
|
||||
<p2 x="360" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="280"/>
|
||||
<p2 x="360" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="280"/>
|
||||
<p2 x="700" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="160"/>
|
||||
<p2 x="500" y="160"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="160"/>
|
||||
<p2 x="360" y="160"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="480"/>
|
||||
<p2 x="360" y="480"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="580" y="420"/>
|
||||
<p2 x="620" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="420"/>
|
||||
<p2 x="500" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="100"/>
|
||||
<p2 x="460" y="100"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="740"/>
|
||||
<p2 x="360" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="360"/>
|
||||
<p2 x="360" y="360"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="40"/>
|
||||
<p2 x="660" y="40"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="680"/>
|
||||
<p2 x="360" y="680"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="580" y="620"/>
|
||||
<p2 x="660" y="620"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="780" y="300"/>
|
||||
<p2 x="820" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="240"/>
|
||||
<p2 x="360" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="560"/>
|
||||
<p2 x="360" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="180"/>
|
||||
<p2 x="500" y="180"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="580" y="180"/>
|
||||
<p2 x="620" y="180"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="500"/>
|
||||
<p2 x="460" y="500"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="440"/>
|
||||
<p2 x="500" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="440"/>
|
||||
<p2 x="360" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="120"/>
|
||||
<p2 x="360" y="120"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="340" y="760"/>
|
||||
<p2 x="360" y="760"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="340" y="760"/>
|
||||
<p2 x="340" y="780"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="660" y="340"/>
|
||||
<p2 x="660" y="620"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="660" y="40"/>
|
||||
<p2 x="660" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="100"/>
|
||||
<p2 x="460" y="160"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="200"/>
|
||||
<p2 x="460" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="340"/>
|
||||
<p2 x="460" y="400"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="440"/>
|
||||
<p2 x="460" y="500"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="580"/>
|
||||
<p2 x="460" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="640"/>
|
||||
<p2 x="460" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="180"/>
|
||||
<p2 x="620" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="320"/>
|
||||
<p2 x="620" y="420"/>
|
||||
</wire>
|
||||
</wires>
|
||||
</circuit>
|
@ -33,8 +33,8 @@ public class TestExamples extends TestCase {
|
||||
public void testDistExamples() throws Exception {
|
||||
File examples = new File(Resources.getRoot().getParentFile().getParentFile(), "/main/dig");
|
||||
testCasesInFiles = 0;
|
||||
assertEquals(241, new FileScanner(TestExamples::check).scan(examples));
|
||||
assertEquals(164, testCasesInFiles);
|
||||
assertEquals(242, new FileScanner(TestExamples::check).scan(examples));
|
||||
assertEquals(165, testCasesInFiles);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user