added some nmos examples

This commit is contained in:
hneemann 2017-06-19 07:42:40 +02:00
parent b8a460df8f
commit 513d9bf5f9
6 changed files with 585 additions and 2 deletions

135
src/main/dig/nmos/and.dig Normal file
View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="440" y="380"/>
</visualElement>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="440" y="320"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="460" y="440"/>
</visualElement>
<visualElement>
<elementName>PullUp</elementName>
<elementAttributes/>
<pos x="460" y="220"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B</string>
</entry>
</elementAttributes>
<pos x="400" y="420"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A</string>
</entry>
</elementAttributes>
<pos x="400" y="360"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Y</string>
</entry>
</elementAttributes>
<pos x="560" y="240"/>
</visualElement>
<visualElement>
<elementName>Testcase</elementName>
<elementAttributes>
<entry>
<string>Testdata</string>
<testData>
<dataString>A B Y
0 0 0
0 1 0
1 0 0
1 1 1
</dataString>
</testData>
</entry>
</elementAttributes>
<pos x="560" y="380"/>
</visualElement>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="500" y="260"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="520" y="440"/>
</visualElement>
<visualElement>
<elementName>PullUp</elementName>
<elementAttributes/>
<pos x="520" y="220"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="520" y="240"/>
<p2 x="560" y="240"/>
</wire>
<wire>
<p1 x="400" y="420"/>
<p2 x="440" y="420"/>
</wire>
<wire>
<p1 x="400" y="360"/>
<p2 x="440" y="360"/>
</wire>
<wire>
<p1 x="460" y="300"/>
<p2 x="500" y="300"/>
</wire>
<wire>
<p1 x="520" y="300"/>
<p2 x="520" y="440"/>
</wire>
<wire>
<p1 x="520" y="220"/>
<p2 x="520" y="240"/>
</wire>
<wire>
<p1 x="520" y="240"/>
<p2 x="520" y="260"/>
</wire>
<wire>
<p1 x="460" y="220"/>
<p2 x="460" y="300"/>
</wire>
<wire>
<p1 x="460" y="360"/>
<p2 x="460" y="380"/>
</wire>
<wire>
<p1 x="460" y="420"/>
<p2 x="460" y="440"/>
</wire>
<wire>
<p1 x="460" y="300"/>
<p2 x="460" y="320"/>
</wire>
</wires>
</circuit>

View File

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="440" y="340"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="460" y="400"/>
</visualElement>
<visualElement>
<elementName>PullUp</elementName>
<elementAttributes/>
<pos x="460" y="300"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A</string>
</entry>
</elementAttributes>
<pos x="400" y="380"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Y</string>
</entry>
</elementAttributes>
<pos x="500" y="320"/>
</visualElement>
<visualElement>
<elementName>Testcase</elementName>
<elementAttributes>
<entry>
<string>Testdata</string>
<testData>
<dataString>A Y
0 1
1 0
</dataString>
</testData>
</entry>
</elementAttributes>
<pos x="540" y="360"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="460" y="320"/>
<p2 x="500" y="320"/>
</wire>
<wire>
<p1 x="400" y="380"/>
<p2 x="440" y="380"/>
</wire>
<wire>
<p1 x="460" y="300"/>
<p2 x="460" y="320"/>
</wire>
<wire>
<p1 x="460" y="380"/>
<p2 x="460" y="400"/>
</wire>
<wire>
<p1 x="460" y="320"/>
<p2 x="460" y="340"/>
</wire>
</wires>
</circuit>

104
src/main/dig/nmos/nand.dig Normal file
View File

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="440" y="380"/>
</visualElement>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="440" y="320"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="460" y="440"/>
</visualElement>
<visualElement>
<elementName>PullUp</elementName>
<elementAttributes/>
<pos x="460" y="280"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B</string>
</entry>
</elementAttributes>
<pos x="400" y="420"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A</string>
</entry>
</elementAttributes>
<pos x="400" y="360"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Y</string>
</entry>
</elementAttributes>
<pos x="500" y="300"/>
</visualElement>
<visualElement>
<elementName>Testcase</elementName>
<elementAttributes>
<entry>
<string>Testdata</string>
<testData>
<dataString>A B Y
0 0 1
0 1 1
1 0 1
1 1 0
</dataString>
</testData>
</entry>
</elementAttributes>
<pos x="520" y="380"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="400" y="420"/>
<p2 x="440" y="420"/>
</wire>
<wire>
<p1 x="400" y="360"/>
<p2 x="440" y="360"/>
</wire>
<wire>
<p1 x="460" y="300"/>
<p2 x="500" y="300"/>
</wire>
<wire>
<p1 x="460" y="280"/>
<p2 x="460" y="300"/>
</wire>
<wire>
<p1 x="460" y="360"/>
<p2 x="460" y="380"/>
</wire>
<wire>
<p1 x="460" y="420"/>
<p2 x="460" y="440"/>
</wire>
<wire>
<p1 x="460" y="300"/>
<p2 x="460" y="320"/>
</wire>
</wires>
</circuit>

117
src/main/dig/nmos/nor.dig Normal file
View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="500" y="380"/>
</visualElement>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="440" y="340"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="460" y="440"/>
</visualElement>
<visualElement>
<elementName>PullUp</elementName>
<elementAttributes/>
<pos x="460" y="300"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B</string>
</entry>
</elementAttributes>
<pos x="400" y="420"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A</string>
</entry>
</elementAttributes>
<pos x="400" y="380"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Y</string>
</entry>
</elementAttributes>
<pos x="560" y="320"/>
</visualElement>
<visualElement>
<elementName>Testcase</elementName>
<elementAttributes>
<entry>
<string>Testdata</string>
<testData>
<dataString>A B Y
0 0 1
0 1 0
1 0 0
1 1 0
</dataString>
</testData>
</entry>
</elementAttributes>
<pos x="580" y="380"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="520" y="440"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="460" y="320"/>
<p2 x="520" y="320"/>
</wire>
<wire>
<p1 x="520" y="320"/>
<p2 x="560" y="320"/>
</wire>
<wire>
<p1 x="400" y="420"/>
<p2 x="500" y="420"/>
</wire>
<wire>
<p1 x="400" y="380"/>
<p2 x="440" y="380"/>
</wire>
<wire>
<p1 x="520" y="320"/>
<p2 x="520" y="380"/>
</wire>
<wire>
<p1 x="520" y="420"/>
<p2 x="520" y="440"/>
</wire>
<wire>
<p1 x="460" y="300"/>
<p2 x="460" y="320"/>
</wire>
<wire>
<p1 x="460" y="380"/>
<p2 x="460" y="440"/>
</wire>
<wire>
<p1 x="460" y="320"/>
<p2 x="460" y="340"/>
</wire>
</wires>
</circuit>

148
src/main/dig/nmos/or.dig Normal file
View File

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="500" y="380"/>
</visualElement>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="440" y="340"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="460" y="440"/>
</visualElement>
<visualElement>
<elementName>PullUp</elementName>
<elementAttributes/>
<pos x="460" y="240"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B</string>
</entry>
</elementAttributes>
<pos x="400" y="420"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A</string>
</entry>
</elementAttributes>
<pos x="400" y="380"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Y</string>
</entry>
</elementAttributes>
<pos x="620" y="260"/>
</visualElement>
<visualElement>
<elementName>Testcase</elementName>
<elementAttributes>
<entry>
<string>Testdata</string>
<testData>
<dataString>A B Y
0 0 0
0 1 1
1 0 1
1 1 1
</dataString>
</testData>
</entry>
</elementAttributes>
<pos x="620" y="360"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="520" y="440"/>
</visualElement>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="560" y="280"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="580" y="440"/>
</visualElement>
<visualElement>
<elementName>PullUp</elementName>
<elementAttributes/>
<pos x="580" y="240"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="460" y="320"/>
<p2 x="520" y="320"/>
</wire>
<wire>
<p1 x="520" y="320"/>
<p2 x="560" y="320"/>
</wire>
<wire>
<p1 x="400" y="420"/>
<p2 x="500" y="420"/>
</wire>
<wire>
<p1 x="580" y="260"/>
<p2 x="620" y="260"/>
</wire>
<wire>
<p1 x="400" y="380"/>
<p2 x="440" y="380"/>
</wire>
<wire>
<p1 x="580" y="320"/>
<p2 x="580" y="440"/>
</wire>
<wire>
<p1 x="580" y="240"/>
<p2 x="580" y="260"/>
</wire>
<wire>
<p1 x="580" y="260"/>
<p2 x="580" y="280"/>
</wire>
<wire>
<p1 x="520" y="320"/>
<p2 x="520" y="380"/>
</wire>
<wire>
<p1 x="520" y="420"/>
<p2 x="520" y="440"/>
</wire>
<wire>
<p1 x="460" y="240"/>
<p2 x="460" y="320"/>
</wire>
<wire>
<p1 x="460" y="380"/>
<p2 x="460" y="440"/>
</wire>
<wire>
<p1 x="460" y="320"/>
<p2 x="460" y="340"/>
</wire>
</wires>
</circuit>

View File

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