added a 7485 real gate implementation

This commit is contained in:
hneemann 2018-04-24 22:16:02 +02:00
parent 905c0831b0
commit 6b33d96693
3 changed files with 1456 additions and 32 deletions

View File

@ -25,7 +25,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>10</int> <string>10</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="140"/> <pos x="400" y="140"/>
@ -39,7 +39,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>12</int> <string>12</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="180"/> <pos x="400" y="180"/>
@ -53,7 +53,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>13</int> <string>13</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="220"/> <pos x="400" y="220"/>
@ -67,7 +67,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>15</int> <string>15</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="260"/> <pos x="400" y="260"/>
@ -81,7 +81,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>2</int> <string>2</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="80"/> <pos x="400" y="80"/>
@ -95,7 +95,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>3</int> <string>3</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="0"/> <pos x="400" y="0"/>
@ -109,7 +109,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>4</int> <string>4</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="-80"/> <pos x="400" y="-80"/>
@ -123,7 +123,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>9</int> <string>9</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="300"/> <pos x="400" y="300"/>
@ -137,7 +137,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>11</int> <string>11</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="340"/> <pos x="400" y="340"/>
@ -151,7 +151,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>14</int> <string>14</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="380"/> <pos x="400" y="380"/>
@ -165,7 +165,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>1</int> <string>1</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="420"/> <pos x="400" y="420"/>
@ -194,7 +194,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>7</int> <string>7</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="780" y="60"/> <pos x="780" y="60"/>
@ -208,7 +208,7 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>6</int> <string>6</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="780" y="-20"/> <pos x="780" y="-20"/>
@ -222,25 +222,11 @@
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>5</int> <string>5</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="780" y="-100"/> <pos x="780" y="-100"/>
</visualElement> </visualElement>
<visualElement>
<elementName>Testcase</elementName>
<elementAttributes>
<entry>
<string>Testdata</string>
<testData>
<dataString> P&lt;Q_i P=Q_i P&gt;Q_i P_3 P_2 P_1 P_0 Q_3 Q_2 Q_1 Q_0 P&lt;Q P=Q P&gt;Q
repeat(256) 0 1 0 bits(4,n&gt;&gt;4) bits(4,n) ((n&gt;&gt;4)&lt;(n&amp;15)) ((n&gt;&gt;4)=(n&amp;15)) ((n&gt;&gt;4)&gt;(n&amp;15))
repeat(2&lt;&lt;(3+4)) bits(3,n) bits(4,n&gt;&gt;3) bits(4,n&gt;&gt;3) bits(3,n)</dataString>
</testData>
</entry>
</elementAttributes>
<pos x="720" y="340"/>
</visualElement>
<visualElement> <visualElement>
<elementName>Comparator</elementName> <elementName>Comparator</elementName>
<elementAttributes> <elementAttributes>
@ -293,7 +279,7 @@ repeat(2&lt;&lt;(3+4)) bits(3,n) bits(4,n&gt;&gt;3) bits(4,n&gt;&gt;3)
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>16</int> <string>16</string>
</entry> </entry>
<entry> <entry>
<string>InDefault</string> <string>InDefault</string>
@ -311,11 +297,34 @@ repeat(2&lt;&lt;(3+4)) bits(3,n) bits(4,n&gt;&gt;3) bits(4,n&gt;&gt;3)
</entry> </entry>
<entry> <entry>
<string>pinNumber</string> <string>pinNumber</string>
<int>8</int> <string>8</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="400" y="520"/> <pos x="400" y="520"/>
</visualElement> </visualElement>
<visualElement>
<elementName>Testcase</elementName>
<elementAttributes>
<entry>
<string>Testdata</string>
<testData>
<dataString> P&lt;Q_i P=Q_i P&gt;Q_i P_3 P_2 P_1 P_0 Q_3 Q_2 Q_1 Q_0 P&lt;Q P=Q P&gt;Q
loop(P,16)
loop(Q,16)
0 1 0 bits(4,P) bits(4,Q) (P&lt;Q) (P=Q) (P&gt;Q)
end loop
end loop
loop (i,16)
loop (n,8)
bits(3,n) bits(4,i) bits(4,i) bits(3,n)
end loop
end loop</dataString>
</testData>
</entry>
</elementAttributes>
<pos x="720" y="420"/>
</visualElement>
</visualElements> </visualElements>
<wires> <wires>
<wire> <wire>

File diff suppressed because it is too large Load Diff

View File

@ -33,8 +33,8 @@ public class TestExamples extends TestCase {
public void testDistExamples() throws Exception { public void testDistExamples() throws Exception {
File examples = new File(Resources.getRoot().getParentFile().getParentFile(), "/main/dig"); File examples = new File(Resources.getRoot().getParentFile().getParentFile(), "/main/dig");
testCasesInFiles = 0; testCasesInFiles = 0;
assertEquals(242, new FileScanner(TestExamples::check).scan(examples)); assertEquals(243, new FileScanner(TestExamples::check).scan(examples));
assertEquals(162, testCasesInFiles); assertEquals(163, testCasesInFiles);
} }
/** /**