mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-27 15:03:21 -04:00
added a fuse component
This commit is contained in:
parent
b743bc959e
commit
57163784dd
138
src/main/dig/cmos/dec.dig
Normal file
138
src/main/dig/cmos/dec.dig
Normal file
@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<circuit>
|
||||
<version>1</version>
|
||||
<attributes>
|
||||
<entry>
|
||||
<string>Width</string>
|
||||
<int>2</int>
|
||||
</entry>
|
||||
</attributes>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>Decoder</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Selector Bits</string>
|
||||
<int>2</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="-40" y="-160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Splitter</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Input Splitting</string>
|
||||
<string>1,1</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Output Splitting</string>
|
||||
<string>2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="-80" y="-60"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>0</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="-120" y="-60"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>1</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="-120" y="-20"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>a</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="20" y="-160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>b</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="120" y="-140"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>c</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="20" y="-120"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>d</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="120" y="-100"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
<wire>
|
||||
<p1 x="-120" y="-20"/>
|
||||
<p2 x="-100" y="-20"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="0" y="-100"/>
|
||||
<p2 x="120" y="-100"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="-100" y="-40"/>
|
||||
<p2 x="-80" y="-40"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="0" y="-120"/>
|
||||
<p2 x="20" y="-120"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="-60" y="-60"/>
|
||||
<p2 x="-20" y="-60"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="-120" y="-60"/>
|
||||
<p2 x="-80" y="-60"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="0" y="-140"/>
|
||||
<p2 x="120" y="-140"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="0" y="-160"/>
|
||||
<p2 x="20" y="-160"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="-20" y="-100"/>
|
||||
<p2 x="-20" y="-60"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="-100" y="-40"/>
|
||||
<p2 x="-100" y="-20"/>
|
||||
</wire>
|
||||
</wires>
|
||||
</circuit>
|
@ -3,30 +3,6 @@
|
||||
<version>1</version>
|
||||
<attributes/>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>Decoder</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Selector Bits</string>
|
||||
<int>2</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="240" y="180"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Splitter</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Input Splitting</string>
|
||||
<string>1,1</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Output Splitting</string>
|
||||
<string>2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="200" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
@ -35,7 +11,7 @@
|
||||
<string>A_0</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="280"/>
|
||||
<pos x="200" y="180"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -45,7 +21,7 @@
|
||||
<string>A_1</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="320"/>
|
||||
<pos x="200" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>PullUp</elementName>
|
||||
@ -67,30 +43,6 @@
|
||||
<elementAttributes/>
|
||||
<pos x="720" y="20"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Decoder</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Selector Bits</string>
|
||||
<int>2</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="240" y="520"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Splitter</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Input Splitting</string>
|
||||
<string>1,1</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Output Splitting</string>
|
||||
<string>2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="200" y="600"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
@ -99,7 +51,7 @@
|
||||
<string>A_2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="600"/>
|
||||
<pos x="200" y="520"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -109,7 +61,7 @@
|
||||
<string>A_3</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="640"/>
|
||||
<pos x="200" y="560"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NFET</elementName>
|
||||
@ -262,7 +214,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="680"/>
|
||||
<pos x="200" y="660"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Ground</elementName>
|
||||
@ -364,6 +316,16 @@
|
||||
<elementAttributes/>
|
||||
<pos x="680" y="380"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>dec.dig</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="240" y="180"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>dec.dig</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="240" y="520"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
<wire>
|
||||
@ -394,18 +356,10 @@
|
||||
<p1 x="660" y="320"/>
|
||||
<p2 x="680" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="320"/>
|
||||
<p2 x="180" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="460" y="320"/>
|
||||
<p2 x="480" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="640"/>
|
||||
<p2 x="180" y="640"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="260"/>
|
||||
<p2 x="360" y="260"/>
|
||||
@ -446,6 +400,10 @@
|
||||
<p1 x="280" y="520"/>
|
||||
<p2 x="400" y="520"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="520"/>
|
||||
<p2 x="240" y="520"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="360"/>
|
||||
<p2 x="360" y="360"/>
|
||||
@ -467,12 +425,8 @@
|
||||
<p2 x="320" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="680"/>
|
||||
<p2 x="760" y="680"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="620"/>
|
||||
<p2 x="200" y="620"/>
|
||||
<p1 x="220" y="200"/>
|
||||
<p2 x="240" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="620"/>
|
||||
@ -495,17 +449,17 @@
|
||||
<p2 x="740" y="620"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="300"/>
|
||||
<p2 x="200" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="240"/>
|
||||
<p2 x="300" y="240"/>
|
||||
<p1 x="200" y="560"/>
|
||||
<p2 x="220" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="560"/>
|
||||
<p2 x="600" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="240"/>
|
||||
<p2 x="300" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="400" y="80"/>
|
||||
<p2 x="420" y="80"/>
|
||||
@ -522,6 +476,10 @@
|
||||
<p1 x="700" y="80"/>
|
||||
<p2 x="720" y="80"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="660"/>
|
||||
<p2 x="760" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="180"/>
|
||||
<p2 x="300" y="180"/>
|
||||
@ -543,12 +501,8 @@
|
||||
<p2 x="620" y="180"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="280"/>
|
||||
<p2 x="260" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="280"/>
|
||||
<p2 x="200" y="280"/>
|
||||
<p1 x="200" y="180"/>
|
||||
<p2 x="240" y="180"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="400" y="280"/>
|
||||
@ -583,12 +537,16 @@
|
||||
<p2 x="680" y="120"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="600"/>
|
||||
<p2 x="260" y="600"/>
|
||||
<p1 x="220" y="540"/>
|
||||
<p2 x="240" y="540"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="600"/>
|
||||
<p2 x="200" y="600"/>
|
||||
<p1 x="280" y="540"/>
|
||||
<p2 x="500" y="540"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="220"/>
|
||||
<p2 x="220" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="220"/>
|
||||
@ -642,10 +600,6 @@
|
||||
<p1 x="460" y="60"/>
|
||||
<p2 x="560" y="60"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="540"/>
|
||||
<p2 x="500" y="540"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="160"/>
|
||||
<p2 x="320" y="200"/>
|
||||
@ -654,14 +608,6 @@
|
||||
<p1 x="320" y="220"/>
|
||||
<p2 x="320" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="240"/>
|
||||
<p2 x="260" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="580"/>
|
||||
<p2 x="260" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="520"/>
|
||||
<p2 x="420" y="620"/>
|
||||
@ -830,14 +776,6 @@
|
||||
<p1 x="400" y="320"/>
|
||||
<p2 x="400" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="620"/>
|
||||
<p2 x="180" y="640"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="300"/>
|
||||
<p2 x="180" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="660" y="60"/>
|
||||
<p2 x="660" y="120"/>
|
||||
@ -888,7 +826,15 @@
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="760" y="640"/>
|
||||
<p2 x="760" y="680"/>
|
||||
<p2 x="760" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="540"/>
|
||||
<p2 x="220" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="200"/>
|
||||
<p2 x="220" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="700" y="420"/>
|
||||
|
@ -3,30 +3,6 @@
|
||||
<version>1</version>
|
||||
<attributes/>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>Decoder</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Selector Bits</string>
|
||||
<int>2</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="240" y="180"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Splitter</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Input Splitting</string>
|
||||
<string>1,1</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Output Splitting</string>
|
||||
<string>2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="200" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
@ -35,7 +11,7 @@
|
||||
<string>A_0</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="280"/>
|
||||
<pos x="200" y="180"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -45,7 +21,7 @@
|
||||
<string>A_1</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="320"/>
|
||||
<pos x="200" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>PullUp</elementName>
|
||||
@ -137,30 +113,6 @@
|
||||
<elementAttributes/>
|
||||
<pos x="800" y="420"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Decoder</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Selector Bits</string>
|
||||
<int>2</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="240" y="520"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Splitter</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Input Splitting</string>
|
||||
<string>1,1</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Output Splitting</string>
|
||||
<string>2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="200" y="600"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
@ -169,7 +121,7 @@
|
||||
<string>A_2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="600"/>
|
||||
<pos x="200" y="520"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -179,7 +131,7 @@
|
||||
<string>A_3</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="640"/>
|
||||
<pos x="200" y="560"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NFET</elementName>
|
||||
@ -304,11 +256,271 @@
|
||||
1 1 0 1 0
|
||||
1 1 1 0 0
|
||||
1 1 1 1 0
|
||||
|
||||
|
||||
|
||||
|
||||
# transitions
|
||||
0 0 0 0 0
|
||||
0 0 0 1 0
|
||||
0 0 0 0 0
|
||||
0 0 1 0 0
|
||||
0 0 0 0 0
|
||||
0 0 1 1 0
|
||||
0 0 0 0 0
|
||||
0 1 0 0 0
|
||||
0 0 0 0 0
|
||||
0 1 0 1 0
|
||||
0 0 0 0 0
|
||||
0 1 1 0 1
|
||||
0 0 0 0 0
|
||||
0 1 1 1 0
|
||||
0 0 0 0 0
|
||||
1 0 0 0 0
|
||||
0 0 0 0 0
|
||||
1 0 0 1 1
|
||||
0 0 0 0 0
|
||||
1 0 1 0 0
|
||||
0 0 0 0 0
|
||||
1 0 1 1 0
|
||||
0 0 0 0 0
|
||||
1 1 0 0 0
|
||||
0 0 0 0 0
|
||||
1 1 0 1 0
|
||||
0 0 0 0 0
|
||||
1 1 1 0 0
|
||||
0 0 0 0 0
|
||||
1 1 1 1 0
|
||||
0 0 0 0 0
|
||||
0 0 0 1 0
|
||||
0 0 1 0 0
|
||||
0 0 0 1 0
|
||||
0 0 1 1 0
|
||||
0 0 0 1 0
|
||||
0 1 0 0 0
|
||||
0 0 0 1 0
|
||||
0 1 0 1 0
|
||||
0 0 0 1 0
|
||||
0 1 1 0 1
|
||||
0 0 0 1 0
|
||||
0 1 1 1 0
|
||||
0 0 0 1 0
|
||||
1 0 0 0 0
|
||||
0 0 0 1 0
|
||||
1 0 0 1 1
|
||||
0 0 0 1 0
|
||||
1 0 1 0 0
|
||||
0 0 0 1 0
|
||||
1 0 1 1 0
|
||||
0 0 0 1 0
|
||||
1 1 0 0 0
|
||||
0 0 0 1 0
|
||||
1 1 0 1 0
|
||||
0 0 0 1 0
|
||||
1 1 1 0 0
|
||||
0 0 0 1 0
|
||||
1 1 1 1 0
|
||||
0 0 0 1 0
|
||||
0 0 1 0 0
|
||||
0 0 1 1 0
|
||||
0 0 1 0 0
|
||||
0 1 0 0 0
|
||||
0 0 1 0 0
|
||||
0 1 0 1 0
|
||||
0 0 1 0 0
|
||||
0 1 1 0 1
|
||||
0 0 1 0 0
|
||||
0 1 1 1 0
|
||||
0 0 1 0 0
|
||||
1 0 0 0 0
|
||||
0 0 1 0 0
|
||||
1 0 0 1 1
|
||||
0 0 1 0 0
|
||||
1 0 1 0 0
|
||||
0 0 1 0 0
|
||||
1 0 1 1 0
|
||||
0 0 1 0 0
|
||||
1 1 0 0 0
|
||||
0 0 1 0 0
|
||||
1 1 0 1 0
|
||||
0 0 1 0 0
|
||||
1 1 1 0 0
|
||||
0 0 1 0 0
|
||||
1 1 1 1 0
|
||||
0 0 1 0 0
|
||||
0 0 1 1 0
|
||||
0 1 0 0 0
|
||||
0 0 1 1 0
|
||||
0 1 0 1 0
|
||||
0 0 1 1 0
|
||||
0 1 1 0 1
|
||||
0 0 1 1 0
|
||||
0 1 1 1 0
|
||||
0 0 1 1 0
|
||||
1 0 0 0 0
|
||||
0 0 1 1 0
|
||||
1 0 0 1 1
|
||||
0 0 1 1 0
|
||||
1 0 1 0 0
|
||||
0 0 1 1 0
|
||||
1 0 1 1 0
|
||||
0 0 1 1 0
|
||||
1 1 0 0 0
|
||||
0 0 1 1 0
|
||||
1 1 0 1 0
|
||||
0 0 1 1 0
|
||||
1 1 1 0 0
|
||||
0 0 1 1 0
|
||||
1 1 1 1 0
|
||||
0 0 1 1 0
|
||||
0 1 0 0 0
|
||||
0 1 0 1 0
|
||||
0 1 0 0 0
|
||||
0 1 1 0 1
|
||||
0 1 0 0 0
|
||||
0 1 1 1 0
|
||||
0 1 0 0 0
|
||||
1 0 0 0 0
|
||||
0 1 0 0 0
|
||||
1 0 0 1 1
|
||||
0 1 0 0 0
|
||||
1 0 1 0 0
|
||||
0 1 0 0 0
|
||||
1 0 1 1 0
|
||||
0 1 0 0 0
|
||||
1 1 0 0 0
|
||||
0 1 0 0 0
|
||||
1 1 0 1 0
|
||||
0 1 0 0 0
|
||||
1 1 1 0 0
|
||||
0 1 0 0 0
|
||||
1 1 1 1 0
|
||||
0 1 0 0 0
|
||||
0 1 0 1 0
|
||||
0 1 1 0 1
|
||||
0 1 0 1 0
|
||||
0 1 1 1 0
|
||||
0 1 0 1 0
|
||||
1 0 0 0 0
|
||||
0 1 0 1 0
|
||||
1 0 0 1 1
|
||||
0 1 0 1 0
|
||||
1 0 1 0 0
|
||||
0 1 0 1 0
|
||||
1 0 1 1 0
|
||||
0 1 0 1 0
|
||||
1 1 0 0 0
|
||||
0 1 0 1 0
|
||||
1 1 0 1 0
|
||||
0 1 0 1 0
|
||||
1 1 1 0 0
|
||||
0 1 0 1 0
|
||||
1 1 1 1 0
|
||||
0 1 0 1 0
|
||||
0 1 1 0 1
|
||||
0 1 1 1 0
|
||||
0 1 1 0 1
|
||||
1 0 0 0 0
|
||||
0 1 1 0 1
|
||||
1 0 0 1 1
|
||||
0 1 1 0 1
|
||||
1 0 1 0 0
|
||||
0 1 1 0 1
|
||||
1 0 1 1 0
|
||||
0 1 1 0 1
|
||||
1 1 0 0 0
|
||||
0 1 1 0 1
|
||||
1 1 0 1 0
|
||||
0 1 1 0 1
|
||||
1 1 1 0 0
|
||||
0 1 1 0 1
|
||||
1 1 1 1 0
|
||||
0 1 1 0 1
|
||||
0 1 1 1 0
|
||||
1 0 0 0 0
|
||||
0 1 1 1 0
|
||||
1 0 0 1 1
|
||||
0 1 1 1 0
|
||||
1 0 1 0 0
|
||||
0 1 1 1 0
|
||||
1 0 1 1 0
|
||||
0 1 1 1 0
|
||||
1 1 0 0 0
|
||||
0 1 1 1 0
|
||||
1 1 0 1 0
|
||||
0 1 1 1 0
|
||||
1 1 1 0 0
|
||||
0 1 1 1 0
|
||||
1 1 1 1 0
|
||||
0 1 1 1 0
|
||||
1 0 0 0 0
|
||||
1 0 0 1 1
|
||||
1 0 0 0 0
|
||||
1 0 1 0 0
|
||||
1 0 0 0 0
|
||||
1 0 1 1 0
|
||||
1 0 0 0 0
|
||||
1 1 0 0 0
|
||||
1 0 0 0 0
|
||||
1 1 0 1 0
|
||||
1 0 0 0 0
|
||||
1 1 1 0 0
|
||||
1 0 0 0 0
|
||||
1 1 1 1 0
|
||||
1 0 0 0 0
|
||||
1 0 0 1 1
|
||||
1 0 1 0 0
|
||||
1 0 0 1 1
|
||||
1 0 1 1 0
|
||||
1 0 0 1 1
|
||||
1 1 0 0 0
|
||||
1 0 0 1 1
|
||||
1 1 0 1 0
|
||||
1 0 0 1 1
|
||||
1 1 1 0 0
|
||||
1 0 0 1 1
|
||||
1 1 1 1 0
|
||||
1 0 0 1 1
|
||||
1 0 1 0 0
|
||||
1 0 1 1 0
|
||||
1 0 1 0 0
|
||||
1 1 0 0 0
|
||||
1 0 1 0 0
|
||||
1 1 0 1 0
|
||||
1 0 1 0 0
|
||||
1 1 1 0 0
|
||||
1 0 1 0 0
|
||||
1 1 1 1 0
|
||||
1 0 1 0 0
|
||||
1 0 1 1 0
|
||||
1 1 0 0 0
|
||||
1 0 1 1 0
|
||||
1 1 0 1 0
|
||||
1 0 1 1 0
|
||||
1 1 1 0 0
|
||||
1 0 1 1 0
|
||||
1 1 1 1 0
|
||||
1 0 1 1 0
|
||||
1 1 0 0 0
|
||||
1 1 0 1 0
|
||||
1 1 0 0 0
|
||||
1 1 1 0 0
|
||||
1 1 0 0 0
|
||||
1 1 1 1 0
|
||||
1 1 0 0 0
|
||||
1 1 0 1 0
|
||||
1 1 1 0 0
|
||||
1 1 0 1 0
|
||||
1 1 1 1 0
|
||||
1 1 0 1 0
|
||||
1 1 1 0 0
|
||||
1 1 1 1 0
|
||||
1 1 1 0 0
|
||||
</dataString>
|
||||
</testData>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="120" y="20"/>
|
||||
<pos x="160" y="-40"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Driver</elementName>
|
||||
@ -332,7 +544,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="680"/>
|
||||
<pos x="200" y="660"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NFET</elementName>
|
||||
@ -355,72 +567,78 @@
|
||||
<pos x="680" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="420" y="40"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="560" y="40"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="700" y="40"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="840" y="40"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="840" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="840" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="840" y="420"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="700" y="420"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="560" y="420"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="420" y="420"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="420" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="700" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="560" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="420" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Blown</string>
|
||||
<boolean>true</boolean>
|
||||
@ -429,42 +647,8 @@
|
||||
<pos x="700" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementName>Fuse</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="700" y="40"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="560" y="40"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="560" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Blown</string>
|
||||
<boolean>true</boolean>
|
||||
@ -473,65 +657,17 @@
|
||||
<pos x="560" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="560" y="420"/>
|
||||
<elementName>dec.dig</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="240" y="180"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="420" y="420"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="420" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="420" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>DiodeBackward</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="420" y="40"/>
|
||||
<elementName>dec.dig</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="240" y="520"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
<wire>
|
||||
<p1 x="160" y="320"/>
|
||||
<p2 x="180" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="640"/>
|
||||
<p2 x="180" y="640"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="820" y="160"/>
|
||||
<p2 x="840" y="160"/>
|
||||
@ -604,6 +740,10 @@
|
||||
<p1 x="280" y="520"/>
|
||||
<p2 x="440" y="520"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="520"/>
|
||||
<p2 x="240" y="520"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="200"/>
|
||||
<p2 x="320" y="200"/>
|
||||
@ -625,8 +765,8 @@
|
||||
<p2 x="660" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="680"/>
|
||||
<p2 x="920" y="680"/>
|
||||
<p1 x="220" y="200"/>
|
||||
<p2 x="240" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="820" y="40"/>
|
||||
@ -692,10 +832,6 @@
|
||||
<p1 x="360" y="140"/>
|
||||
<p2 x="500" y="140"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="620"/>
|
||||
<p2 x="200" y="620"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="940" y="620"/>
|
||||
<p2 x="960" y="620"/>
|
||||
@ -716,10 +852,6 @@
|
||||
<p1 x="880" y="620"/>
|
||||
<p2 x="900" y="620"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="300"/>
|
||||
<p2 x="200" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="820" y="300"/>
|
||||
<p2 x="840" y="300"/>
|
||||
@ -752,6 +884,14 @@
|
||||
<p1 x="440" y="300"/>
|
||||
<p2 x="460" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="560"/>
|
||||
<p2 x="220" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="560"/>
|
||||
<p2 x="720" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="400"/>
|
||||
<p2 x="360" y="400"/>
|
||||
@ -772,10 +912,6 @@
|
||||
<p1 x="280" y="240"/>
|
||||
<p2 x="300" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="560"/>
|
||||
<p2 x="720" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="360" y="80"/>
|
||||
<p2 x="380" y="80"/>
|
||||
@ -792,6 +928,10 @@
|
||||
<p1 x="780" y="80"/>
|
||||
<p2 x="800" y="80"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="660"/>
|
||||
<p2 x="920" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="360" y="340"/>
|
||||
<p2 x="380" y="340"/>
|
||||
@ -812,6 +952,10 @@
|
||||
<p1 x="280" y="180"/>
|
||||
<p2 x="300" y="180"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="180"/>
|
||||
<p2 x="240" y="180"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="20"/>
|
||||
<p2 x="360" y="20"/>
|
||||
@ -828,14 +972,6 @@
|
||||
<p1 x="360" y="20"/>
|
||||
<p2 x="500" y="20"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="280"/>
|
||||
<p2 x="260" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="280"/>
|
||||
<p2 x="200" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="280"/>
|
||||
<p2 x="360" y="280"/>
|
||||
@ -853,21 +989,21 @@
|
||||
<p2 x="500" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="600"/>
|
||||
<p2 x="260" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="600"/>
|
||||
<p2 x="200" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="220"/>
|
||||
<p2 x="320" y="220"/>
|
||||
<p1 x="220" y="540"/>
|
||||
<p2 x="240" y="540"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="540"/>
|
||||
<p2 x="580" y="540"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="220"/>
|
||||
<p2 x="220" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="220"/>
|
||||
<p2 x="320" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="140"/>
|
||||
<p2 x="320" y="200"/>
|
||||
@ -892,14 +1028,6 @@
|
||||
<p1 x="640" y="140"/>
|
||||
<p2 x="640" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="240"/>
|
||||
<p2 x="260" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="580"/>
|
||||
<p2 x="260" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="740" y="560"/>
|
||||
<p2 x="740" y="620"/>
|
||||
@ -1076,17 +1204,9 @@
|
||||
<p1 x="500" y="280"/>
|
||||
<p2 x="500" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="620"/>
|
||||
<p2 x="180" y="640"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="300"/>
|
||||
<p2 x="180" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="920" y="640"/>
|
||||
<p2 x="920" y="680"/>
|
||||
<p2 x="920" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="600" y="540"/>
|
||||
@ -1112,6 +1232,14 @@
|
||||
<p1 x="600" y="300"/>
|
||||
<p2 x="600" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="540"/>
|
||||
<p2 x="220" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="200"/>
|
||||
<p2 x="220" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="460"/>
|
||||
<p2 x="540" y="480"/>
|
||||
|
@ -3,30 +3,6 @@
|
||||
<version>1</version>
|
||||
<attributes/>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>Decoder</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Selector Bits</string>
|
||||
<int>2</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="240" y="180"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Splitter</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Input Splitting</string>
|
||||
<string>1,1</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Output Splitting</string>
|
||||
<string>2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="200" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
@ -35,7 +11,7 @@
|
||||
<string>A_0</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="280"/>
|
||||
<pos x="200" y="180"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -45,7 +21,7 @@
|
||||
<string>A_1</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="320"/>
|
||||
<pos x="200" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>PullUp</elementName>
|
||||
@ -137,30 +113,6 @@
|
||||
<elementAttributes/>
|
||||
<pos x="680" y="380"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Decoder</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Selector Bits</string>
|
||||
<int>2</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="240" y="520"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Splitter</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Input Splitting</string>
|
||||
<string>1,1</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Output Splitting</string>
|
||||
<string>2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="200" y="600"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
@ -169,7 +121,7 @@
|
||||
<string>A_2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="600"/>
|
||||
<pos x="200" y="520"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -179,7 +131,7 @@
|
||||
<string>A_3</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="640"/>
|
||||
<pos x="200" y="560"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NFET</elementName>
|
||||
@ -332,7 +284,17 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="160" y="680"/>
|
||||
<pos x="200" y="660"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>dec.dig</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="240" y="180"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>dec.dig</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="240" y="520"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
@ -360,14 +322,6 @@
|
||||
<p1 x="660" y="320"/>
|
||||
<p2 x="680" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="320"/>
|
||||
<p2 x="180" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="640"/>
|
||||
<p2 x="180" y="640"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="260"/>
|
||||
<p2 x="360" y="260"/>
|
||||
@ -404,6 +358,10 @@
|
||||
<p1 x="280" y="520"/>
|
||||
<p2 x="400" y="520"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="520"/>
|
||||
<p2 x="240" y="520"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="360"/>
|
||||
<p2 x="360" y="360"/>
|
||||
@ -425,12 +383,8 @@
|
||||
<p2 x="320" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="680"/>
|
||||
<p2 x="760" y="680"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="620"/>
|
||||
<p2 x="200" y="620"/>
|
||||
<p1 x="220" y="200"/>
|
||||
<p2 x="240" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="620"/>
|
||||
@ -453,17 +407,17 @@
|
||||
<p2 x="740" y="620"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="300"/>
|
||||
<p2 x="200" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="240"/>
|
||||
<p2 x="300" y="240"/>
|
||||
<p1 x="200" y="560"/>
|
||||
<p2 x="220" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="560"/>
|
||||
<p2 x="600" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="240"/>
|
||||
<p2 x="300" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="400" y="80"/>
|
||||
<p2 x="420" y="80"/>
|
||||
@ -480,6 +434,10 @@
|
||||
<p1 x="700" y="80"/>
|
||||
<p2 x="720" y="80"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="660"/>
|
||||
<p2 x="760" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="180"/>
|
||||
<p2 x="300" y="180"/>
|
||||
@ -497,12 +455,8 @@
|
||||
<p2 x="720" y="180"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="280"/>
|
||||
<p2 x="260" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="280"/>
|
||||
<p2 x="200" y="280"/>
|
||||
<p1 x="200" y="180"/>
|
||||
<p2 x="240" y="180"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="400" y="280"/>
|
||||
@ -533,12 +487,16 @@
|
||||
<p2 x="680" y="120"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="600"/>
|
||||
<p2 x="260" y="600"/>
|
||||
<p1 x="220" y="540"/>
|
||||
<p2 x="240" y="540"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="160" y="600"/>
|
||||
<p2 x="200" y="600"/>
|
||||
<p1 x="280" y="540"/>
|
||||
<p2 x="500" y="540"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="220"/>
|
||||
<p2 x="220" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="220"/>
|
||||
@ -588,10 +546,6 @@
|
||||
<p1 x="460" y="60"/>
|
||||
<p2 x="560" y="60"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="280" y="540"/>
|
||||
<p2 x="500" y="540"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="160"/>
|
||||
<p2 x="320" y="200"/>
|
||||
@ -600,14 +554,6 @@
|
||||
<p1 x="320" y="220"/>
|
||||
<p2 x="320" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="240"/>
|
||||
<p2 x="260" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="580"/>
|
||||
<p2 x="260" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="520"/>
|
||||
<p2 x="420" y="620"/>
|
||||
@ -760,14 +706,6 @@
|
||||
<p1 x="400" y="320"/>
|
||||
<p2 x="400" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="620"/>
|
||||
<p2 x="180" y="640"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="300"/>
|
||||
<p2 x="180" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="660" y="60"/>
|
||||
<p2 x="660" y="120"/>
|
||||
@ -810,7 +748,15 @@
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="760" y="640"/>
|
||||
<p2 x="760" y="680"/>
|
||||
<p2 x="760" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="540"/>
|
||||
<p2 x="220" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="200"/>
|
||||
<p2 x="220" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="700" y="420"/>
|
||||
|
28
src/main/java/de/neemann/digital/core/switching/Fuse.java
Normal file
28
src/main/java/de/neemann/digital/core/switching/Fuse.java
Normal file
@ -0,0 +1,28 @@
|
||||
package de.neemann.digital.core.switching;
|
||||
|
||||
import de.neemann.digital.core.element.ElementAttributes;
|
||||
import de.neemann.digital.core.element.ElementTypeDescription;
|
||||
import de.neemann.digital.core.element.Keys;
|
||||
|
||||
/**
|
||||
* A simple fuse.
|
||||
* Created by hneemann on 03.06.17.
|
||||
*/
|
||||
public class Fuse extends Switch {
|
||||
|
||||
/**
|
||||
* The fuse description
|
||||
*/
|
||||
public static final ElementTypeDescription DESCRIPTION = new ElementTypeDescription(Fuse.class)
|
||||
.addAttribute(Keys.ROTATE)
|
||||
.addAttribute(Keys.BLOWN);
|
||||
|
||||
/**
|
||||
* Create a new fuse
|
||||
*
|
||||
* @param attr the attributes
|
||||
*/
|
||||
public Fuse(ElementAttributes attr) {
|
||||
super(attr, !attr.get(Keys.BLOWN), "out1", "out2");
|
||||
}
|
||||
}
|
@ -127,6 +127,7 @@ public class ElementLibrary implements Iterable<ElementLibrary.ElementContainer>
|
||||
.add(DiodeForward.DESCRIPTION)
|
||||
.add(DiodeBackward.DESCRIPTION)
|
||||
.add(Switch.DESCRIPTION)
|
||||
.add(Fuse.DESCRIPTION)
|
||||
.add(Relay.DESCRIPTION)
|
||||
.add(PFET.DESCRIPTION)
|
||||
.add(NFET.DESCRIPTION)
|
||||
|
@ -22,7 +22,7 @@ import static de.neemann.digital.draw.shapes.GenericShape.SIZE2;
|
||||
* Created by hneemann on 12.05.17.
|
||||
*/
|
||||
public class DILShape implements Shape {
|
||||
private static final float CIRC = (float) (4 * (Math.sqrt(2) - 1) / 3);
|
||||
static final float CIRC = (float) (4 * (Math.sqrt(2) - 1) / 3);
|
||||
private static final int SPACING = 2;
|
||||
private static final int RAD = SPACING * SIZE / 4;
|
||||
private static final int BEZ = Math.round(RAD * CIRC);
|
||||
|
74
src/main/java/de/neemann/digital/draw/shapes/FuseShape.java
Normal file
74
src/main/java/de/neemann/digital/draw/shapes/FuseShape.java
Normal file
@ -0,0 +1,74 @@
|
||||
package de.neemann.digital.draw.shapes;
|
||||
|
||||
import de.neemann.digital.core.Observer;
|
||||
import de.neemann.digital.core.element.ElementAttributes;
|
||||
import de.neemann.digital.core.element.Keys;
|
||||
import de.neemann.digital.core.element.PinDescriptions;
|
||||
import de.neemann.digital.draw.elements.IOState;
|
||||
import de.neemann.digital.draw.elements.Pin;
|
||||
import de.neemann.digital.draw.elements.Pins;
|
||||
import de.neemann.digital.draw.graphics.Graphic;
|
||||
import de.neemann.digital.draw.graphics.Polygon;
|
||||
import de.neemann.digital.draw.graphics.Style;
|
||||
import de.neemann.digital.draw.graphics.Vector;
|
||||
|
||||
import static de.neemann.digital.draw.shapes.GenericShape.SIZE;
|
||||
import static de.neemann.digital.draw.shapes.GenericShape.SIZE2;
|
||||
|
||||
/**
|
||||
* The light bulb shape
|
||||
* Created by hneemann on 19.05.17.
|
||||
*/
|
||||
public class FuseShape implements Shape {
|
||||
private static final int BEZ = Math.round(SIZE2 / 2 * DILShape.CIRC);
|
||||
|
||||
private static final Polygon OK_POLY = new Polygon(false)
|
||||
.add(0, 0)
|
||||
.add(new Vector(0, -BEZ), new Vector(SIZE2 / 2 - BEZ, -SIZE2 / 2), new Vector(SIZE2 / 2, -SIZE2 / 2))
|
||||
.add(new Vector(SIZE2 / 2 + BEZ, -SIZE2 / 2), new Vector(SIZE2, -SIZE2 / 2 + BEZ), new Vector(SIZE2, 0))
|
||||
.add(new Vector(SIZE2, BEZ), new Vector(SIZE2 + SIZE2 / 2 - BEZ, SIZE2 / 2), new Vector(SIZE2 + SIZE2 / 2, SIZE2 / 2))
|
||||
.add(new Vector(SIZE2 + SIZE2 / 2 + BEZ, SIZE2 / 2), new Vector(SIZE, SIZE2 / 2 - BEZ), new Vector(SIZE, 0));
|
||||
private static final Polygon BLOWN_POLY1 = new Polygon(false)
|
||||
.add(0, 0)
|
||||
.add(new Vector(0, -BEZ), new Vector(SIZE2 / 2 - BEZ, -SIZE2 / 2), new Vector(SIZE2 / 2, -SIZE2 / 2));
|
||||
private static final Polygon BLOWN_POLY2 = new Polygon(false)
|
||||
.add(SIZE2 + SIZE2 / 2, SIZE2 / 2)
|
||||
.add(new Vector(SIZE2 + SIZE2 / 2 + BEZ, SIZE2 / 2), new Vector(SIZE, SIZE2 / 2 - BEZ), new Vector(SIZE, 0));
|
||||
|
||||
private final PinDescriptions outputs;
|
||||
private final boolean blown;
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new instance
|
||||
*
|
||||
* @param attr the attributes
|
||||
* @param inputs the inputs
|
||||
* @param outputs the outputs
|
||||
*/
|
||||
public FuseShape(ElementAttributes attr, PinDescriptions inputs, PinDescriptions outputs) {
|
||||
this.outputs = outputs;
|
||||
blown = attr.get(Keys.BLOWN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pins getPins() {
|
||||
return new Pins()
|
||||
.add(new Pin(new Vector(0, 0), outputs.get(0)))
|
||||
.add(new Pin(new Vector(SIZE, 0), outputs.get(1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public InteractorInterface applyStateMonitor(IOState ioState, Observer guiObserver) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawTo(Graphic graphic, Style highLight) {
|
||||
if (blown) {
|
||||
graphic.drawPolygon(BLOWN_POLY1, Style.THIN);
|
||||
graphic.drawPolygon(BLOWN_POLY2, Style.THIN);
|
||||
} else
|
||||
graphic.drawPolygon(OK_POLY, Style.THIN);
|
||||
}
|
||||
}
|
@ -82,13 +82,6 @@ public final class ShapeFactory {
|
||||
map.put(Const.DESCRIPTION.getName(), ConstShape::new);
|
||||
map.put(Ground.DESCRIPTION.getName(), GroundShape::new);
|
||||
map.put(VDD.DESCRIPTION.getName(), VDDShape::new);
|
||||
map.put(Switch.DESCRIPTION.getName(), SwitchShape::new);
|
||||
map.put(Relay.DESCRIPTION.getName(), RelayShape::new);
|
||||
map.put(NFET.DESCRIPTION.getName(), FETShapeN::new);
|
||||
map.put(FGNFET.DESCRIPTION.getName(), FGFETShapeN::new);
|
||||
map.put(FGPFET.DESCRIPTION.getName(), FGFETShapeP::new);
|
||||
map.put(PFET.DESCRIPTION.getName(), FETShapeP::new);
|
||||
map.put(TransGate.DESCRIPTION.getName(), TransGateShape::new);
|
||||
map.put(Out.DESCRIPTION.getName(), OutputShape::new);
|
||||
map.put(Out.LEDDESCRIPTION.getName(), LEDShape::new);
|
||||
map.put(LightBulb.DESCRIPTION.getName(), LightBulbShape::new);
|
||||
@ -100,6 +93,15 @@ public final class ShapeFactory {
|
||||
map.put(DummyElement.DATADESCRIPTION.getName(), DataShape::new);
|
||||
map.put(RotEncoder.DESCRIPTION.getName(), RotEncoderShape::new);
|
||||
|
||||
map.put(Switch.DESCRIPTION.getName(), SwitchShape::new);
|
||||
map.put(Fuse.DESCRIPTION.getName(), FuseShape::new);
|
||||
map.put(Relay.DESCRIPTION.getName(), RelayShape::new);
|
||||
map.put(NFET.DESCRIPTION.getName(), FETShapeN::new);
|
||||
map.put(FGNFET.DESCRIPTION.getName(), FGFETShapeN::new);
|
||||
map.put(FGPFET.DESCRIPTION.getName(), FGFETShapeP::new);
|
||||
map.put(PFET.DESCRIPTION.getName(), FETShapeP::new);
|
||||
map.put(TransGate.DESCRIPTION.getName(), TransGateShape::new);
|
||||
|
||||
map.put(Break.DESCRIPTION.getName(), BreakShape::new);
|
||||
map.put(Delay.DESCRIPTION.getName(), (attributes, inputs, outputs) -> new DelayShape());
|
||||
|
||||
|
@ -108,6 +108,12 @@ Es kann dann ein Programm bis zum nächsten BRK-Befehl ausgeführt werden.</stri
|
||||
<string name="elem_Switch_pin_out2">Einer der Ausgänge des Schalters.</string>
|
||||
<string name="elem_Switch_tt">Einfacher Schalter. Der Schalter hat keine Gatterlaufzeit.
|
||||
Eine Signaländerung wird instantan von einem Ende des Schalters zum anderen propagiert.</string>
|
||||
|
||||
<string name="elem_Fuse">Fuse</string>
|
||||
<string name="elem_Fuse_pin_out1">Einer der Ausgänge der Sicherung.</string>
|
||||
<string name="elem_Fuse_pin_out2">Einer der Ausgänge der Sicherung.</string>
|
||||
<string name="elem_Fuse_tt">Eine Sicherung die verwendet werden kann, um einen einmal programmierbaren Speicher aufzubauen.</string>
|
||||
|
||||
<string name="elem_Counter">Zähler</string>
|
||||
<string name="elem_Counter_tt">Ein einfacher Zähler-Baustein. Zählt jede steigende Flanke am C Eingang und kann über den clr Eingang zurückgesetzt werden.
|
||||
Die Bitbreite des Zählers kann im Attributedialog festgelegt werden.</string>
|
||||
|
@ -107,6 +107,12 @@
|
||||
There is no gate delay: A signal change is propagated immediately.</string>
|
||||
<string name="elem_Switch_pin_out1">One of the switch outputs.</string>
|
||||
<string name="elem_Switch_pin_out2">One of the switch outputs.</string>
|
||||
|
||||
<string name="elem_Fuse">Fuse</string>
|
||||
<string name="elem_Fuse_tt">A fuse used to build a one time programmable memory.</string>
|
||||
<string name="elem_Fuse_pin_out1">One of the fuse outputs.</string>
|
||||
<string name="elem_Fuse_pin_out2">One of the fuse outputs.</string>
|
||||
|
||||
<string name="elem_Counter">Counter</string>
|
||||
<string name="elem_Counter_tt">A simple counter component. The clock input increases the counter. Can be reset back to 0 with the clr pin.
|
||||
The number of bits can be set in the attribute dialog.</string>
|
||||
|
@ -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(181, new FileScanner(this::check).scan(examples));
|
||||
assertEquals(182, new FileScanner(this::check).scan(examples));
|
||||
assertEquals(82, testCasesInFiles);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user