added some 74xx circuits

This commit is contained in:
hneemann 2017-05-13 18:08:55 +02:00
parent c6aa9f5fb6
commit cb11ce8cca
4 changed files with 2560 additions and 1 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,355 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
</entry>
<entry>
<string>Description</string>
<string>hex d-flipflop</string>
</entry>
<entry>
<string>lockedMode</string>
<boolean>true</boolean>
</entry>
</attributes>
<visualElements>
<visualElement>
<elementName>D_FF_AS</elementName>
<elementAttributes>
<entry>
<string>Bits</string>
<int>6</int>
</entry>
</elementAttributes>
<pos x="460" y="220"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>1*6</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>6</string>
</entry>
</elementAttributes>
<pos x="200" y="240"/>
</visualElement>
<visualElement>
<elementName>Const</elementName>
<elementAttributes>
<entry>
<string>Value</string>
<int>0</int>
</entry>
</elementAttributes>
<pos x="440" y="220"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>CLK</string>
</entry>
<entry>
<string>pinNumber</string>
<int>9</int>
</entry>
</elementAttributes>
<pos x="420" y="260"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>~CL</string>
</entry>
<entry>
<string>pinNumber</string>
<int>1</int>
</entry>
<entry>
<string>Default</string>
<int>1</int>
</entry>
</elementAttributes>
<pos x="360" y="300"/>
</visualElement>
<visualElement>
<elementName>Not</elementName>
<elementAttributes/>
<pos x="380" y="300"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>6</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>1*6</string>
</entry>
</elementAttributes>
<pos x="560" y="220"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>D1</string>
</entry>
<entry>
<string>pinNumber</string>
<int>3</int>
</entry>
</elementAttributes>
<pos x="180" y="240"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>D2</string>
</entry>
<entry>
<string>pinNumber</string>
<int>4</int>
</entry>
</elementAttributes>
<pos x="40" y="260"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>D3</string>
</entry>
<entry>
<string>pinNumber</string>
<int>6</int>
</entry>
</elementAttributes>
<pos x="180" y="280"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>D4</string>
</entry>
<entry>
<string>pinNumber</string>
<int>11</int>
</entry>
</elementAttributes>
<pos x="40" y="300"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>D5</string>
</entry>
<entry>
<string>pinNumber</string>
<int>13</int>
</entry>
</elementAttributes>
<pos x="180" y="320"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>D6</string>
</entry>
<entry>
<string>pinNumber</string>
<int>14</int>
</entry>
</elementAttributes>
<pos x="40" y="340"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q1</string>
</entry>
<entry>
<string>pinNumber</string>
<int>2</int>
</entry>
</elementAttributes>
<pos x="740" y="220"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q2</string>
</entry>
<entry>
<string>pinNumber</string>
<int>5</int>
</entry>
</elementAttributes>
<pos x="600" y="240"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q3</string>
</entry>
<entry>
<string>pinNumber</string>
<int>7</int>
</entry>
</elementAttributes>
<pos x="740" y="260"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q4</string>
</entry>
<entry>
<string>pinNumber</string>
<int>10</int>
</entry>
</elementAttributes>
<pos x="600" y="280"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q5</string>
</entry>
<entry>
<string>pinNumber</string>
<int>12</int>
</entry>
</elementAttributes>
<pos x="740" y="300"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q6</string>
</entry>
<entry>
<string>pinNumber</string>
<int>15</int>
</entry>
</elementAttributes>
<pos x="600" y="320"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="220" y="240"/>
<p2 x="460" y="240"/>
</wire>
<wire>
<p1 x="180" y="240"/>
<p2 x="200" y="240"/>
</wire>
<wire>
<p1 x="580" y="240"/>
<p2 x="600" y="240"/>
</wire>
<wire>
<p1 x="180" y="320"/>
<p2 x="200" y="320"/>
</wire>
<wire>
<p1 x="580" y="320"/>
<p2 x="600" y="320"/>
</wire>
<wire>
<p1 x="420" y="260"/>
<p2 x="460" y="260"/>
</wire>
<wire>
<p1 x="40" y="260"/>
<p2 x="200" y="260"/>
</wire>
<wire>
<p1 x="580" y="260"/>
<p2 x="740" y="260"/>
</wire>
<wire>
<p1 x="40" y="340"/>
<p2 x="200" y="340"/>
</wire>
<wire>
<p1 x="440" y="280"/>
<p2 x="460" y="280"/>
</wire>
<wire>
<p1 x="180" y="280"/>
<p2 x="200" y="280"/>
</wire>
<wire>
<p1 x="580" y="280"/>
<p2 x="600" y="280"/>
</wire>
<wire>
<p1 x="440" y="220"/>
<p2 x="460" y="220"/>
</wire>
<wire>
<p1 x="520" y="220"/>
<p2 x="560" y="220"/>
</wire>
<wire>
<p1 x="580" y="220"/>
<p2 x="740" y="220"/>
</wire>
<wire>
<p1 x="360" y="300"/>
<p2 x="380" y="300"/>
</wire>
<wire>
<p1 x="420" y="300"/>
<p2 x="440" y="300"/>
</wire>
<wire>
<p1 x="40" y="300"/>
<p2 x="200" y="300"/>
</wire>
<wire>
<p1 x="580" y="300"/>
<p2 x="740" y="300"/>
</wire>
<wire>
<p1 x="440" y="280"/>
<p2 x="440" y="300"/>
</wire>
</wires>
</circuit>

View File

@ -0,0 +1,684 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
</entry>
<entry>
<string>lockedMode</string>
<boolean>true</boolean>
</entry>
<entry>
<string>Width</string>
<int>4</int>
</entry>
</attributes>
<visualElements>
<visualElement>
<elementName>D_FF_AS</elementName>
<elementAttributes>
<entry>
<string>Bits</string>
<int>8</int>
</entry>
</elementAttributes>
<pos x="320" y="220"/>
</visualElement>
<visualElement>
<elementName>Const</elementName>
<elementAttributes>
<entry>
<string>Value</string>
<int>0</int>
</entry>
</elementAttributes>
<pos x="300" y="220"/>
</visualElement>
<visualElement>
<elementName>Multiplexer</elementName>
<elementAttributes>
<entry>
<string>Selector Bits</string>
<int>2</int>
</entry>
<entry>
<string>Bits</string>
<int>8</int>
</entry>
</elementAttributes>
<pos x="160" y="200"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>8</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>1,7</string>
</entry>
</elementAttributes>
<pos x="-40" y="200"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>7,1</string>
</entry>
</elementAttributes>
<pos x="60" y="220"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>DSL</string>
</entry>
<entry>
<string>pinNumber</string>
<int>22</int>
</entry>
</elementAttributes>
<pos x="-100" y="240"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>1,7</string>
</entry>
</elementAttributes>
<pos x="60" y="280"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>DSR</string>
</entry>
<entry>
<string>pinNumber</string>
<int>2</int>
</entry>
</elementAttributes>
<pos x="-100" y="280"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>8</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>7,1</string>
</entry>
</elementAttributes>
<pos x="-40" y="300"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>8</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>1*8</string>
</entry>
</elementAttributes>
<pos x="460" y="220"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>1*8</string>
</entry>
</elementAttributes>
<pos x="80" y="360"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="1"/>
</entry>
<entry>
<string>Label</string>
<string>~MR</string>
</entry>
<entry>
<string>pinNumber</string>
<int>13</int>
</entry>
<entry>
<string>Default</string>
<int>1</int>
</entry>
</elementAttributes>
<pos x="300" y="480"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="1"/>
</entry>
<entry>
<string>Label</string>
<string>CP</string>
</entry>
<entry>
<string>pinNumber</string>
<int>11</int>
</entry>
</elementAttributes>
<pos x="260" y="480"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="1"/>
</entry>
<entry>
<string>Input Splitting</string>
<string>1,1</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>2</string>
</entry>
</elementAttributes>
<pos x="180" y="440"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="1"/>
</entry>
<entry>
<string>Label</string>
<string>S0</string>
</entry>
<entry>
<string>pinNumber</string>
<int>1</int>
</entry>
</elementAttributes>
<pos x="180" y="480"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="1"/>
</entry>
<entry>
<string>Label</string>
<string>S1</string>
</entry>
<entry>
<string>pinNumber</string>
<int>23</int>
</entry>
</elementAttributes>
<pos x="220" y="480"/>
</visualElement>
<visualElement>
<elementName>Not</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="1"/>
</entry>
</elementAttributes>
<pos x="300" y="340"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>P0</string>
</entry>
<entry>
<string>pinNumber</string>
<int>3</int>
</entry>
</elementAttributes>
<pos x="60" y="360"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>P1</string>
</entry>
<entry>
<string>pinNumber</string>
<int>5</int>
</entry>
</elementAttributes>
<pos x="-100" y="380"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>P2</string>
</entry>
<entry>
<string>pinNumber</string>
<int>7</int>
</entry>
</elementAttributes>
<pos x="60" y="400"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>P3</string>
</entry>
<entry>
<string>pinNumber</string>
<int>9</int>
</entry>
</elementAttributes>
<pos x="-100" y="420"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>P4</string>
</entry>
<entry>
<string>pinNumber</string>
<int>15</int>
</entry>
</elementAttributes>
<pos x="60" y="440"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>P5</string>
</entry>
<entry>
<string>pinNumber</string>
<int>17</int>
</entry>
</elementAttributes>
<pos x="-100" y="460"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>P6</string>
</entry>
<entry>
<string>pinNumber</string>
<int>19</int>
</entry>
</elementAttributes>
<pos x="60" y="480"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>P7</string>
</entry>
<entry>
<string>pinNumber</string>
<int>21</int>
</entry>
</elementAttributes>
<pos x="-100" y="500"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q0</string>
</entry>
<entry>
<string>pinNumber</string>
<int>4</int>
</entry>
</elementAttributes>
<pos x="500" y="220"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q1</string>
</entry>
<entry>
<string>pinNumber</string>
<int>6</int>
</entry>
</elementAttributes>
<pos x="640" y="240"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q2</string>
</entry>
<entry>
<string>pinNumber</string>
<int>8</int>
</entry>
</elementAttributes>
<pos x="500" y="260"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q3</string>
</entry>
<entry>
<string>pinNumber</string>
<int>10</int>
</entry>
</elementAttributes>
<pos x="640" y="280"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q4</string>
</entry>
<entry>
<string>pinNumber</string>
<int>14</int>
</entry>
</elementAttributes>
<pos x="500" y="300"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q5</string>
</entry>
<entry>
<string>pinNumber</string>
<int>16</int>
</entry>
</elementAttributes>
<pos x="640" y="320"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q6</string>
</entry>
<entry>
<string>pinNumber</string>
<int>18</int>
</entry>
</elementAttributes>
<pos x="500" y="340"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Q7</string>
</entry>
<entry>
<string>pinNumber</string>
<int>20</int>
</entry>
</elementAttributes>
<pos x="640" y="360"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="-80" y="160"/>
<p2 x="140" y="160"/>
</wire>
<wire>
<p1 x="140" y="160"/>
<p2 x="400" y="160"/>
</wire>
<wire>
<p1 x="60" y="480"/>
<p2 x="80" y="480"/>
</wire>
<wire>
<p1 x="480" y="320"/>
<p2 x="640" y="320"/>
</wire>
<wire>
<p1 x="140" y="260"/>
<p2 x="160" y="260"/>
</wire>
<wire>
<p1 x="260" y="260"/>
<p2 x="320" y="260"/>
</wire>
<wire>
<p1 x="480" y="260"/>
<p2 x="500" y="260"/>
</wire>
<wire>
<p1 x="-100" y="420"/>
<p2 x="80" y="420"/>
</wire>
<wire>
<p1 x="100" y="360"/>
<p2 x="140" y="360"/>
</wire>
<wire>
<p1 x="60" y="360"/>
<p2 x="80" y="360"/>
</wire>
<wire>
<p1 x="480" y="360"/>
<p2 x="640" y="360"/>
</wire>
<wire>
<p1 x="-80" y="200"/>
<p2 x="-40" y="200"/>
</wire>
<wire>
<p1 x="140" y="200"/>
<p2 x="160" y="200"/>
</wire>
<wire>
<p1 x="480" y="300"/>
<p2 x="500" y="300"/>
</wire>
<wire>
<p1 x="-20" y="300"/>
<p2 x="60" y="300"/>
</wire>
<wire>
<p1 x="-80" y="300"/>
<p2 x="-40" y="300"/>
</wire>
<wire>
<p1 x="-100" y="460"/>
<p2 x="80" y="460"/>
</wire>
<wire>
<p1 x="200" y="460"/>
<p2 x="220" y="460"/>
</wire>
<wire>
<p1 x="480" y="240"/>
<p2 x="640" y="240"/>
</wire>
<wire>
<p1 x="-100" y="240"/>
<p2 x="60" y="240"/>
</wire>
<wire>
<p1 x="120" y="240"/>
<p2 x="160" y="240"/>
</wire>
<wire>
<p1 x="200" y="240"/>
<p2 x="320" y="240"/>
</wire>
<wire>
<p1 x="60" y="400"/>
<p2 x="80" y="400"/>
</wire>
<wire>
<p1 x="480" y="340"/>
<p2 x="500" y="340"/>
</wire>
<wire>
<p1 x="-100" y="500"/>
<p2 x="80" y="500"/>
</wire>
<wire>
<p1 x="480" y="280"/>
<p2 x="640" y="280"/>
</wire>
<wire>
<p1 x="-100" y="280"/>
<p2 x="60" y="280"/>
</wire>
<wire>
<p1 x="80" y="280"/>
<p2 x="120" y="280"/>
</wire>
<wire>
<p1 x="300" y="280"/>
<p2 x="320" y="280"/>
</wire>
<wire>
<p1 x="60" y="440"/>
<p2 x="80" y="440"/>
</wire>
<wire>
<p1 x="480" y="220"/>
<p2 x="500" y="220"/>
</wire>
<wire>
<p1 x="300" y="220"/>
<p2 x="320" y="220"/>
</wire>
<wire>
<p1 x="380" y="220"/>
<p2 x="400" y="220"/>
</wire>
<wire>
<p1 x="80" y="220"/>
<p2 x="160" y="220"/>
</wire>
<wire>
<p1 x="-20" y="220"/>
<p2 x="60" y="220"/>
</wire>
<wire>
<p1 x="400" y="220"/>
<p2 x="460" y="220"/>
</wire>
<wire>
<p1 x="-100" y="380"/>
<p2 x="80" y="380"/>
</wire>
<wire>
<p1 x="400" y="160"/>
<p2 x="400" y="220"/>
</wire>
<wire>
<p1 x="180" y="280"/>
<p2 x="180" y="420"/>
</wire>
<wire>
<p1 x="180" y="440"/>
<p2 x="180" y="480"/>
</wire>
<wire>
<p1 x="260" y="260"/>
<p2 x="260" y="480"/>
</wire>
<wire>
<p1 x="120" y="240"/>
<p2 x="120" y="280"/>
</wire>
<wire>
<p1 x="200" y="440"/>
<p2 x="200" y="460"/>
</wire>
<wire>
<p1 x="300" y="280"/>
<p2 x="300" y="300"/>
</wire>
<wire>
<p1 x="300" y="340"/>
<p2 x="300" y="480"/>
</wire>
<wire>
<p1 x="140" y="160"/>
<p2 x="140" y="200"/>
</wire>
<wire>
<p1 x="140" y="260"/>
<p2 x="140" y="360"/>
</wire>
<wire>
<p1 x="220" y="460"/>
<p2 x="220" y="480"/>
</wire>
<wire>
<p1 x="-80" y="160"/>
<p2 x="-80" y="200"/>
</wire>
<wire>
<p1 x="-80" y="200"/>
<p2 x="-80" y="300"/>
</wire>
</wires>
</circuit>

View File

@ -28,7 +28,7 @@ public class TestExamples extends TestCase {
*/
public void testDistExamples() throws Exception {
File examples = new File(Resources.getRoot().getParentFile().getParentFile(), "/main/dig");
assertEquals(141, new FileScanner(this::check).scan(examples));
assertEquals(144, new FileScanner(this::check).scan(examples));
assertEquals(74, testCasesInFiles);
}