fixes a bug in the demuxer verilog template, see #521

This commit is contained in:
hneemann 2020-09-26 20:32:40 +02:00
parent fd4ceef716
commit 4ff34d212d
7 changed files with 1910 additions and 6 deletions

View File

@ -5,7 +5,10 @@
moduleName = "DemuxBus" + elem.'Selector Bits';
outCount := 1<<elem.'Selector Bits';
bitRange := format("[%d:0]", elem.Bits - 1);
bitRange := "";
if (elem.Bits>1)
bitRange="[(Bits-1):0] ";
selRange := format("[%d:0]", elem.'Selector Bits' - 1);
?>
module <?= moduleName ?>
@ -16,12 +19,12 @@ module <?= moduleName ?>
<?- } ?>
(
<?- for (i:=0; i<outCount; i++) { ?>
output <?= bitRange ?> out_<?=i?>,
output <?= bitRange ?>out_<?=i?>,
<?- } ?>
input <?= selRange ?> sel,
input <?= bitRange ?> in
input <?= bitRange ?>in
);
<?- for (i:=0; i<outCount; i++) {?>
assign out_<?= i ?> = (sel == <?= format("%d'h%x", elem.'Selector Bits', i) ?>)? in : <?= format("%d'h0", elem.Bits); ?>;
assign out_<?= i ?> = (sel == <?= format("%d'h%x", elem.'Selector Bits', i) ?>)? in : 'd0;
<?- } ?>
endmodule

View File

@ -62,7 +62,7 @@ public class VerilogSimulatorTest extends TestCase {
File examples = new File(Resources.getRoot(), "/dig/hdl");
try {
int tested = new FileScanner(this::checkVerilogExport).noOutput().scan(examples);
assertEquals(47, tested);
assertEquals(48, tested);
} catch (FileScanner.SkipAllException e) {
// if iverilog is not installed its also ok
}

View File

@ -54,7 +54,7 @@ public class VHDLSimulatorTest extends TestCase {
File examples = new File(Resources.getRoot(), "/dig/hdl");
try {
int tested = new FileScanner(this::checkVHDLExport).noOutput().scan(examples);
assertEquals(47, tested);
assertEquals(48, tested);
} catch (FileScanner.SkipAllException e) {
// if ghdl is not installed its also ok
}

View File

@ -48,6 +48,24 @@
</elementAttributes>
<pos x="420" y="160"/>
</visualElement>
<visualElement>
<elementName>Testcase</elementName>
<elementAttributes>
<entry>
<string>Testdata</string>
<testData>
<dataString>S D Y Z
0 0 0 0
0 1 1 0
1 0 0 0
1 1 0 1
</dataString>
</testData>
</entry>
</elementAttributes>
<pos x="340" y="220"/>
</visualElement>
</visualElements>
<wires>
<wire>
@ -71,4 +89,5 @@
<p2 x="380" y="180"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>

View File

@ -65,6 +65,532 @@
</elementAttributes>
<pos x="420" y="160"/>
</visualElement>
<visualElement>
<elementName>Testcase</elementName>
<elementAttributes>
<entry>
<string>Testdata</string>
<testData>
<dataString>S D Y Z
0 0b00000000 0b00000000 0b00000000
0 0b00000001 0b00000001 0b00000000
0 0b00000010 0b00000010 0b00000000
0 0b00000011 0b00000011 0b00000000
0 0b00000100 0b00000100 0b00000000
0 0b00000101 0b00000101 0b00000000
0 0b00000110 0b00000110 0b00000000
0 0b00000111 0b00000111 0b00000000
0 0b00001000 0b00001000 0b00000000
0 0b00001001 0b00001001 0b00000000
0 0b00001010 0b00001010 0b00000000
0 0b00001011 0b00001011 0b00000000
0 0b00001100 0b00001100 0b00000000
0 0b00001101 0b00001101 0b00000000
0 0b00001110 0b00001110 0b00000000
0 0b00001111 0b00001111 0b00000000
0 0b00010000 0b00010000 0b00000000
0 0b00010001 0b00010001 0b00000000
0 0b00010010 0b00010010 0b00000000
0 0b00010011 0b00010011 0b00000000
0 0b00010100 0b00010100 0b00000000
0 0b00010101 0b00010101 0b00000000
0 0b00010110 0b00010110 0b00000000
0 0b00010111 0b00010111 0b00000000
0 0b00011000 0b00011000 0b00000000
0 0b00011001 0b00011001 0b00000000
0 0b00011010 0b00011010 0b00000000
0 0b00011011 0b00011011 0b00000000
0 0b00011100 0b00011100 0b00000000
0 0b00011101 0b00011101 0b00000000
0 0b00011110 0b00011110 0b00000000
0 0b00011111 0b00011111 0b00000000
0 0b00100000 0b00100000 0b00000000
0 0b00100001 0b00100001 0b00000000
0 0b00100010 0b00100010 0b00000000
0 0b00100011 0b00100011 0b00000000
0 0b00100100 0b00100100 0b00000000
0 0b00100101 0b00100101 0b00000000
0 0b00100110 0b00100110 0b00000000
0 0b00100111 0b00100111 0b00000000
0 0b00101000 0b00101000 0b00000000
0 0b00101001 0b00101001 0b00000000
0 0b00101010 0b00101010 0b00000000
0 0b00101011 0b00101011 0b00000000
0 0b00101100 0b00101100 0b00000000
0 0b00101101 0b00101101 0b00000000
0 0b00101110 0b00101110 0b00000000
0 0b00101111 0b00101111 0b00000000
0 0b00110000 0b00110000 0b00000000
0 0b00110001 0b00110001 0b00000000
0 0b00110010 0b00110010 0b00000000
0 0b00110011 0b00110011 0b00000000
0 0b00110100 0b00110100 0b00000000
0 0b00110101 0b00110101 0b00000000
0 0b00110110 0b00110110 0b00000000
0 0b00110111 0b00110111 0b00000000
0 0b00111000 0b00111000 0b00000000
0 0b00111001 0b00111001 0b00000000
0 0b00111010 0b00111010 0b00000000
0 0b00111011 0b00111011 0b00000000
0 0b00111100 0b00111100 0b00000000
0 0b00111101 0b00111101 0b00000000
0 0b00111110 0b00111110 0b00000000
0 0b00111111 0b00111111 0b00000000
0 0b01000000 0b01000000 0b00000000
0 0b01000001 0b01000001 0b00000000
0 0b01000010 0b01000010 0b00000000
0 0b01000011 0b01000011 0b00000000
0 0b01000100 0b01000100 0b00000000
0 0b01000101 0b01000101 0b00000000
0 0b01000110 0b01000110 0b00000000
0 0b01000111 0b01000111 0b00000000
0 0b01001000 0b01001000 0b00000000
0 0b01001001 0b01001001 0b00000000
0 0b01001010 0b01001010 0b00000000
0 0b01001011 0b01001011 0b00000000
0 0b01001100 0b01001100 0b00000000
0 0b01001101 0b01001101 0b00000000
0 0b01001110 0b01001110 0b00000000
0 0b01001111 0b01001111 0b00000000
0 0b01010000 0b01010000 0b00000000
0 0b01010001 0b01010001 0b00000000
0 0b01010010 0b01010010 0b00000000
0 0b01010011 0b01010011 0b00000000
0 0b01010100 0b01010100 0b00000000
0 0b01010101 0b01010101 0b00000000
0 0b01010110 0b01010110 0b00000000
0 0b01010111 0b01010111 0b00000000
0 0b01011000 0b01011000 0b00000000
0 0b01011001 0b01011001 0b00000000
0 0b01011010 0b01011010 0b00000000
0 0b01011011 0b01011011 0b00000000
0 0b01011100 0b01011100 0b00000000
0 0b01011101 0b01011101 0b00000000
0 0b01011110 0b01011110 0b00000000
0 0b01011111 0b01011111 0b00000000
0 0b01100000 0b01100000 0b00000000
0 0b01100001 0b01100001 0b00000000
0 0b01100010 0b01100010 0b00000000
0 0b01100011 0b01100011 0b00000000
0 0b01100100 0b01100100 0b00000000
0 0b01100101 0b01100101 0b00000000
0 0b01100110 0b01100110 0b00000000
0 0b01100111 0b01100111 0b00000000
0 0b01101000 0b01101000 0b00000000
0 0b01101001 0b01101001 0b00000000
0 0b01101010 0b01101010 0b00000000
0 0b01101011 0b01101011 0b00000000
0 0b01101100 0b01101100 0b00000000
0 0b01101101 0b01101101 0b00000000
0 0b01101110 0b01101110 0b00000000
0 0b01101111 0b01101111 0b00000000
0 0b01110000 0b01110000 0b00000000
0 0b01110001 0b01110001 0b00000000
0 0b01110010 0b01110010 0b00000000
0 0b01110011 0b01110011 0b00000000
0 0b01110100 0b01110100 0b00000000
0 0b01110101 0b01110101 0b00000000
0 0b01110110 0b01110110 0b00000000
0 0b01110111 0b01110111 0b00000000
0 0b01111000 0b01111000 0b00000000
0 0b01111001 0b01111001 0b00000000
0 0b01111010 0b01111010 0b00000000
0 0b01111011 0b01111011 0b00000000
0 0b01111100 0b01111100 0b00000000
0 0b01111101 0b01111101 0b00000000
0 0b01111110 0b01111110 0b00000000
0 0b01111111 0b01111111 0b00000000
0 0b10000000 0b10000000 0b00000000
0 0b10000001 0b10000001 0b00000000
0 0b10000010 0b10000010 0b00000000
0 0b10000011 0b10000011 0b00000000
0 0b10000100 0b10000100 0b00000000
0 0b10000101 0b10000101 0b00000000
0 0b10000110 0b10000110 0b00000000
0 0b10000111 0b10000111 0b00000000
0 0b10001000 0b10001000 0b00000000
0 0b10001001 0b10001001 0b00000000
0 0b10001010 0b10001010 0b00000000
0 0b10001011 0b10001011 0b00000000
0 0b10001100 0b10001100 0b00000000
0 0b10001101 0b10001101 0b00000000
0 0b10001110 0b10001110 0b00000000
0 0b10001111 0b10001111 0b00000000
0 0b10010000 0b10010000 0b00000000
0 0b10010001 0b10010001 0b00000000
0 0b10010010 0b10010010 0b00000000
0 0b10010011 0b10010011 0b00000000
0 0b10010100 0b10010100 0b00000000
0 0b10010101 0b10010101 0b00000000
0 0b10010110 0b10010110 0b00000000
0 0b10010111 0b10010111 0b00000000
0 0b10011000 0b10011000 0b00000000
0 0b10011001 0b10011001 0b00000000
0 0b10011010 0b10011010 0b00000000
0 0b10011011 0b10011011 0b00000000
0 0b10011100 0b10011100 0b00000000
0 0b10011101 0b10011101 0b00000000
0 0b10011110 0b10011110 0b00000000
0 0b10011111 0b10011111 0b00000000
0 0b10100000 0b10100000 0b00000000
0 0b10100001 0b10100001 0b00000000
0 0b10100010 0b10100010 0b00000000
0 0b10100011 0b10100011 0b00000000
0 0b10100100 0b10100100 0b00000000
0 0b10100101 0b10100101 0b00000000
0 0b10100110 0b10100110 0b00000000
0 0b10100111 0b10100111 0b00000000
0 0b10101000 0b10101000 0b00000000
0 0b10101001 0b10101001 0b00000000
0 0b10101010 0b10101010 0b00000000
0 0b10101011 0b10101011 0b00000000
0 0b10101100 0b10101100 0b00000000
0 0b10101101 0b10101101 0b00000000
0 0b10101110 0b10101110 0b00000000
0 0b10101111 0b10101111 0b00000000
0 0b10110000 0b10110000 0b00000000
0 0b10110001 0b10110001 0b00000000
0 0b10110010 0b10110010 0b00000000
0 0b10110011 0b10110011 0b00000000
0 0b10110100 0b10110100 0b00000000
0 0b10110101 0b10110101 0b00000000
0 0b10110110 0b10110110 0b00000000
0 0b10110111 0b10110111 0b00000000
0 0b10111000 0b10111000 0b00000000
0 0b10111001 0b10111001 0b00000000
0 0b10111010 0b10111010 0b00000000
0 0b10111011 0b10111011 0b00000000
0 0b10111100 0b10111100 0b00000000
0 0b10111101 0b10111101 0b00000000
0 0b10111110 0b10111110 0b00000000
0 0b10111111 0b10111111 0b00000000
0 0b11000000 0b11000000 0b00000000
0 0b11000001 0b11000001 0b00000000
0 0b11000010 0b11000010 0b00000000
0 0b11000011 0b11000011 0b00000000
0 0b11000100 0b11000100 0b00000000
0 0b11000101 0b11000101 0b00000000
0 0b11000110 0b11000110 0b00000000
0 0b11000111 0b11000111 0b00000000
0 0b11001000 0b11001000 0b00000000
0 0b11001001 0b11001001 0b00000000
0 0b11001010 0b11001010 0b00000000
0 0b11001011 0b11001011 0b00000000
0 0b11001100 0b11001100 0b00000000
0 0b11001101 0b11001101 0b00000000
0 0b11001110 0b11001110 0b00000000
0 0b11001111 0b11001111 0b00000000
0 0b11010000 0b11010000 0b00000000
0 0b11010001 0b11010001 0b00000000
0 0b11010010 0b11010010 0b00000000
0 0b11010011 0b11010011 0b00000000
0 0b11010100 0b11010100 0b00000000
0 0b11010101 0b11010101 0b00000000
0 0b11010110 0b11010110 0b00000000
0 0b11010111 0b11010111 0b00000000
0 0b11011000 0b11011000 0b00000000
0 0b11011001 0b11011001 0b00000000
0 0b11011010 0b11011010 0b00000000
0 0b11011011 0b11011011 0b00000000
0 0b11011100 0b11011100 0b00000000
0 0b11011101 0b11011101 0b00000000
0 0b11011110 0b11011110 0b00000000
0 0b11011111 0b11011111 0b00000000
0 0b11100000 0b11100000 0b00000000
0 0b11100001 0b11100001 0b00000000
0 0b11100010 0b11100010 0b00000000
0 0b11100011 0b11100011 0b00000000
0 0b11100100 0b11100100 0b00000000
0 0b11100101 0b11100101 0b00000000
0 0b11100110 0b11100110 0b00000000
0 0b11100111 0b11100111 0b00000000
0 0b11101000 0b11101000 0b00000000
0 0b11101001 0b11101001 0b00000000
0 0b11101010 0b11101010 0b00000000
0 0b11101011 0b11101011 0b00000000
0 0b11101100 0b11101100 0b00000000
0 0b11101101 0b11101101 0b00000000
0 0b11101110 0b11101110 0b00000000
0 0b11101111 0b11101111 0b00000000
0 0b11110000 0b11110000 0b00000000
0 0b11110001 0b11110001 0b00000000
0 0b11110010 0b11110010 0b00000000
0 0b11110011 0b11110011 0b00000000
0 0b11110100 0b11110100 0b00000000
0 0b11110101 0b11110101 0b00000000
0 0b11110110 0b11110110 0b00000000
0 0b11110111 0b11110111 0b00000000
0 0b11111000 0b11111000 0b00000000
0 0b11111001 0b11111001 0b00000000
0 0b11111010 0b11111010 0b00000000
0 0b11111011 0b11111011 0b00000000
0 0b11111100 0b11111100 0b00000000
0 0b11111101 0b11111101 0b00000000
0 0b11111110 0b11111110 0b00000000
0 0b11111111 0b11111111 0b00000000
1 0b00000000 0b00000000 0b00000000
1 0b00000001 0b00000000 0b00000001
1 0b00000010 0b00000000 0b00000010
1 0b00000011 0b00000000 0b00000011
1 0b00000100 0b00000000 0b00000100
1 0b00000101 0b00000000 0b00000101
1 0b00000110 0b00000000 0b00000110
1 0b00000111 0b00000000 0b00000111
1 0b00001000 0b00000000 0b00001000
1 0b00001001 0b00000000 0b00001001
1 0b00001010 0b00000000 0b00001010
1 0b00001011 0b00000000 0b00001011
1 0b00001100 0b00000000 0b00001100
1 0b00001101 0b00000000 0b00001101
1 0b00001110 0b00000000 0b00001110
1 0b00001111 0b00000000 0b00001111
1 0b00010000 0b00000000 0b00010000
1 0b00010001 0b00000000 0b00010001
1 0b00010010 0b00000000 0b00010010
1 0b00010011 0b00000000 0b00010011
1 0b00010100 0b00000000 0b00010100
1 0b00010101 0b00000000 0b00010101
1 0b00010110 0b00000000 0b00010110
1 0b00010111 0b00000000 0b00010111
1 0b00011000 0b00000000 0b00011000
1 0b00011001 0b00000000 0b00011001
1 0b00011010 0b00000000 0b00011010
1 0b00011011 0b00000000 0b00011011
1 0b00011100 0b00000000 0b00011100
1 0b00011101 0b00000000 0b00011101
1 0b00011110 0b00000000 0b00011110
1 0b00011111 0b00000000 0b00011111
1 0b00100000 0b00000000 0b00100000
1 0b00100001 0b00000000 0b00100001
1 0b00100010 0b00000000 0b00100010
1 0b00100011 0b00000000 0b00100011
1 0b00100100 0b00000000 0b00100100
1 0b00100101 0b00000000 0b00100101
1 0b00100110 0b00000000 0b00100110
1 0b00100111 0b00000000 0b00100111
1 0b00101000 0b00000000 0b00101000
1 0b00101001 0b00000000 0b00101001
1 0b00101010 0b00000000 0b00101010
1 0b00101011 0b00000000 0b00101011
1 0b00101100 0b00000000 0b00101100
1 0b00101101 0b00000000 0b00101101
1 0b00101110 0b00000000 0b00101110
1 0b00101111 0b00000000 0b00101111
1 0b00110000 0b00000000 0b00110000
1 0b00110001 0b00000000 0b00110001
1 0b00110010 0b00000000 0b00110010
1 0b00110011 0b00000000 0b00110011
1 0b00110100 0b00000000 0b00110100
1 0b00110101 0b00000000 0b00110101
1 0b00110110 0b00000000 0b00110110
1 0b00110111 0b00000000 0b00110111
1 0b00111000 0b00000000 0b00111000
1 0b00111001 0b00000000 0b00111001
1 0b00111010 0b00000000 0b00111010
1 0b00111011 0b00000000 0b00111011
1 0b00111100 0b00000000 0b00111100
1 0b00111101 0b00000000 0b00111101
1 0b00111110 0b00000000 0b00111110
1 0b00111111 0b00000000 0b00111111
1 0b01000000 0b00000000 0b01000000
1 0b01000001 0b00000000 0b01000001
1 0b01000010 0b00000000 0b01000010
1 0b01000011 0b00000000 0b01000011
1 0b01000100 0b00000000 0b01000100
1 0b01000101 0b00000000 0b01000101
1 0b01000110 0b00000000 0b01000110
1 0b01000111 0b00000000 0b01000111
1 0b01001000 0b00000000 0b01001000
1 0b01001001 0b00000000 0b01001001
1 0b01001010 0b00000000 0b01001010
1 0b01001011 0b00000000 0b01001011
1 0b01001100 0b00000000 0b01001100
1 0b01001101 0b00000000 0b01001101
1 0b01001110 0b00000000 0b01001110
1 0b01001111 0b00000000 0b01001111
1 0b01010000 0b00000000 0b01010000
1 0b01010001 0b00000000 0b01010001
1 0b01010010 0b00000000 0b01010010
1 0b01010011 0b00000000 0b01010011
1 0b01010100 0b00000000 0b01010100
1 0b01010101 0b00000000 0b01010101
1 0b01010110 0b00000000 0b01010110
1 0b01010111 0b00000000 0b01010111
1 0b01011000 0b00000000 0b01011000
1 0b01011001 0b00000000 0b01011001
1 0b01011010 0b00000000 0b01011010
1 0b01011011 0b00000000 0b01011011
1 0b01011100 0b00000000 0b01011100
1 0b01011101 0b00000000 0b01011101
1 0b01011110 0b00000000 0b01011110
1 0b01011111 0b00000000 0b01011111
1 0b01100000 0b00000000 0b01100000
1 0b01100001 0b00000000 0b01100001
1 0b01100010 0b00000000 0b01100010
1 0b01100011 0b00000000 0b01100011
1 0b01100100 0b00000000 0b01100100
1 0b01100101 0b00000000 0b01100101
1 0b01100110 0b00000000 0b01100110
1 0b01100111 0b00000000 0b01100111
1 0b01101000 0b00000000 0b01101000
1 0b01101001 0b00000000 0b01101001
1 0b01101010 0b00000000 0b01101010
1 0b01101011 0b00000000 0b01101011
1 0b01101100 0b00000000 0b01101100
1 0b01101101 0b00000000 0b01101101
1 0b01101110 0b00000000 0b01101110
1 0b01101111 0b00000000 0b01101111
1 0b01110000 0b00000000 0b01110000
1 0b01110001 0b00000000 0b01110001
1 0b01110010 0b00000000 0b01110010
1 0b01110011 0b00000000 0b01110011
1 0b01110100 0b00000000 0b01110100
1 0b01110101 0b00000000 0b01110101
1 0b01110110 0b00000000 0b01110110
1 0b01110111 0b00000000 0b01110111
1 0b01111000 0b00000000 0b01111000
1 0b01111001 0b00000000 0b01111001
1 0b01111010 0b00000000 0b01111010
1 0b01111011 0b00000000 0b01111011
1 0b01111100 0b00000000 0b01111100
1 0b01111101 0b00000000 0b01111101
1 0b01111110 0b00000000 0b01111110
1 0b01111111 0b00000000 0b01111111
1 0b10000000 0b00000000 0b10000000
1 0b10000001 0b00000000 0b10000001
1 0b10000010 0b00000000 0b10000010
1 0b10000011 0b00000000 0b10000011
1 0b10000100 0b00000000 0b10000100
1 0b10000101 0b00000000 0b10000101
1 0b10000110 0b00000000 0b10000110
1 0b10000111 0b00000000 0b10000111
1 0b10001000 0b00000000 0b10001000
1 0b10001001 0b00000000 0b10001001
1 0b10001010 0b00000000 0b10001010
1 0b10001011 0b00000000 0b10001011
1 0b10001100 0b00000000 0b10001100
1 0b10001101 0b00000000 0b10001101
1 0b10001110 0b00000000 0b10001110
1 0b10001111 0b00000000 0b10001111
1 0b10010000 0b00000000 0b10010000
1 0b10010001 0b00000000 0b10010001
1 0b10010010 0b00000000 0b10010010
1 0b10010011 0b00000000 0b10010011
1 0b10010100 0b00000000 0b10010100
1 0b10010101 0b00000000 0b10010101
1 0b10010110 0b00000000 0b10010110
1 0b10010111 0b00000000 0b10010111
1 0b10011000 0b00000000 0b10011000
1 0b10011001 0b00000000 0b10011001
1 0b10011010 0b00000000 0b10011010
1 0b10011011 0b00000000 0b10011011
1 0b10011100 0b00000000 0b10011100
1 0b10011101 0b00000000 0b10011101
1 0b10011110 0b00000000 0b10011110
1 0b10011111 0b00000000 0b10011111
1 0b10100000 0b00000000 0b10100000
1 0b10100001 0b00000000 0b10100001
1 0b10100010 0b00000000 0b10100010
1 0b10100011 0b00000000 0b10100011
1 0b10100100 0b00000000 0b10100100
1 0b10100101 0b00000000 0b10100101
1 0b10100110 0b00000000 0b10100110
1 0b10100111 0b00000000 0b10100111
1 0b10101000 0b00000000 0b10101000
1 0b10101001 0b00000000 0b10101001
1 0b10101010 0b00000000 0b10101010
1 0b10101011 0b00000000 0b10101011
1 0b10101100 0b00000000 0b10101100
1 0b10101101 0b00000000 0b10101101
1 0b10101110 0b00000000 0b10101110
1 0b10101111 0b00000000 0b10101111
1 0b10110000 0b00000000 0b10110000
1 0b10110001 0b00000000 0b10110001
1 0b10110010 0b00000000 0b10110010
1 0b10110011 0b00000000 0b10110011
1 0b10110100 0b00000000 0b10110100
1 0b10110101 0b00000000 0b10110101
1 0b10110110 0b00000000 0b10110110
1 0b10110111 0b00000000 0b10110111
1 0b10111000 0b00000000 0b10111000
1 0b10111001 0b00000000 0b10111001
1 0b10111010 0b00000000 0b10111010
1 0b10111011 0b00000000 0b10111011
1 0b10111100 0b00000000 0b10111100
1 0b10111101 0b00000000 0b10111101
1 0b10111110 0b00000000 0b10111110
1 0b10111111 0b00000000 0b10111111
1 0b11000000 0b00000000 0b11000000
1 0b11000001 0b00000000 0b11000001
1 0b11000010 0b00000000 0b11000010
1 0b11000011 0b00000000 0b11000011
1 0b11000100 0b00000000 0b11000100
1 0b11000101 0b00000000 0b11000101
1 0b11000110 0b00000000 0b11000110
1 0b11000111 0b00000000 0b11000111
1 0b11001000 0b00000000 0b11001000
1 0b11001001 0b00000000 0b11001001
1 0b11001010 0b00000000 0b11001010
1 0b11001011 0b00000000 0b11001011
1 0b11001100 0b00000000 0b11001100
1 0b11001101 0b00000000 0b11001101
1 0b11001110 0b00000000 0b11001110
1 0b11001111 0b00000000 0b11001111
1 0b11010000 0b00000000 0b11010000
1 0b11010001 0b00000000 0b11010001
1 0b11010010 0b00000000 0b11010010
1 0b11010011 0b00000000 0b11010011
1 0b11010100 0b00000000 0b11010100
1 0b11010101 0b00000000 0b11010101
1 0b11010110 0b00000000 0b11010110
1 0b11010111 0b00000000 0b11010111
1 0b11011000 0b00000000 0b11011000
1 0b11011001 0b00000000 0b11011001
1 0b11011010 0b00000000 0b11011010
1 0b11011011 0b00000000 0b11011011
1 0b11011100 0b00000000 0b11011100
1 0b11011101 0b00000000 0b11011101
1 0b11011110 0b00000000 0b11011110
1 0b11011111 0b00000000 0b11011111
1 0b11100000 0b00000000 0b11100000
1 0b11100001 0b00000000 0b11100001
1 0b11100010 0b00000000 0b11100010
1 0b11100011 0b00000000 0b11100011
1 0b11100100 0b00000000 0b11100100
1 0b11100101 0b00000000 0b11100101
1 0b11100110 0b00000000 0b11100110
1 0b11100111 0b00000000 0b11100111
1 0b11101000 0b00000000 0b11101000
1 0b11101001 0b00000000 0b11101001
1 0b11101010 0b00000000 0b11101010
1 0b11101011 0b00000000 0b11101011
1 0b11101100 0b00000000 0b11101100
1 0b11101101 0b00000000 0b11101101
1 0b11101110 0b00000000 0b11101110
1 0b11101111 0b00000000 0b11101111
1 0b11110000 0b00000000 0b11110000
1 0b11110001 0b00000000 0b11110001
1 0b11110010 0b00000000 0b11110010
1 0b11110011 0b00000000 0b11110011
1 0b11110100 0b00000000 0b11110100
1 0b11110101 0b00000000 0b11110101
1 0b11110110 0b00000000 0b11110110
1 0b11110111 0b00000000 0b11110111
1 0b11111000 0b00000000 0b11111000
1 0b11111001 0b00000000 0b11111001
1 0b11111010 0b00000000 0b11111010
1 0b11111011 0b00000000 0b11111011
1 0b11111100 0b00000000 0b11111100
1 0b11111101 0b00000000 0b11111101
1 0b11111110 0b00000000 0b11111110
1 0b11111111 0b00000000 0b11111111
</dataString>
</testData>
</entry>
</elementAttributes>
<pos x="340" y="200"/>
</visualElement>
</visualElements>
<wires>
<wire>
@ -88,4 +614,5 @@
<p2 x="380" y="180"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>Demultiplexer</elementName>
<elementAttributes>
<entry>
<string>Bits</string>
<int>2</int>
</entry>
</elementAttributes>
<pos x="360" y="120"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>2S</string>
</entry>
</elementAttributes>
<pos x="340" y="180"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>2D</string>
</entry>
<entry>
<string>Bits</string>
<int>2</int>
</entry>
</elementAttributes>
<pos x="340" y="140"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>2Y</string>
</entry>
<entry>
<string>Bits</string>
<int>2</int>
</entry>
</elementAttributes>
<pos x="420" y="120"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>2Z</string>
</entry>
<entry>
<string>Bits</string>
<int>2</int>
</entry>
</elementAttributes>
<pos x="420" y="160"/>
</visualElement>
<visualElement>
<elementName>Testcase</elementName>
<elementAttributes>
<entry>
<string>Testdata</string>
<testData>
<dataString>2S 2D 3S 3D 2Y 2Z 3Y 3Z
0 0b00 0 0b000 0b00 0b00 0b000 0b000
0 0b00 0 0b001 0b00 0b00 0b001 0b000
0 0b00 0 0b010 0b00 0b00 0b010 0b000
0 0b00 0 0b011 0b00 0b00 0b011 0b000
0 0b00 0 0b100 0b00 0b00 0b100 0b000
0 0b00 0 0b101 0b00 0b00 0b101 0b000
0 0b00 0 0b110 0b00 0b00 0b110 0b000
0 0b00 0 0b111 0b00 0b00 0b111 0b000
0 0b00 1 0b000 0b00 0b00 0b000 0b000
0 0b00 1 0b001 0b00 0b00 0b000 0b001
0 0b00 1 0b010 0b00 0b00 0b000 0b010
0 0b00 1 0b011 0b00 0b00 0b000 0b011
0 0b00 1 0b100 0b00 0b00 0b000 0b100
0 0b00 1 0b101 0b00 0b00 0b000 0b101
0 0b00 1 0b110 0b00 0b00 0b000 0b110
0 0b00 1 0b111 0b00 0b00 0b000 0b111
0 0b01 0 0b000 0b01 0b00 0b000 0b000
0 0b01 0 0b001 0b01 0b00 0b001 0b000
0 0b01 0 0b010 0b01 0b00 0b010 0b000
0 0b01 0 0b011 0b01 0b00 0b011 0b000
0 0b01 0 0b100 0b01 0b00 0b100 0b000
0 0b01 0 0b101 0b01 0b00 0b101 0b000
0 0b01 0 0b110 0b01 0b00 0b110 0b000
0 0b01 0 0b111 0b01 0b00 0b111 0b000
0 0b01 1 0b000 0b01 0b00 0b000 0b000
0 0b01 1 0b001 0b01 0b00 0b000 0b001
0 0b01 1 0b010 0b01 0b00 0b000 0b010
0 0b01 1 0b011 0b01 0b00 0b000 0b011
0 0b01 1 0b100 0b01 0b00 0b000 0b100
0 0b01 1 0b101 0b01 0b00 0b000 0b101
0 0b01 1 0b110 0b01 0b00 0b000 0b110
0 0b01 1 0b111 0b01 0b00 0b000 0b111
0 0b10 0 0b000 0b10 0b00 0b000 0b000
0 0b10 0 0b001 0b10 0b00 0b001 0b000
0 0b10 0 0b010 0b10 0b00 0b010 0b000
0 0b10 0 0b011 0b10 0b00 0b011 0b000
0 0b10 0 0b100 0b10 0b00 0b100 0b000
0 0b10 0 0b101 0b10 0b00 0b101 0b000
0 0b10 0 0b110 0b10 0b00 0b110 0b000
0 0b10 0 0b111 0b10 0b00 0b111 0b000
0 0b10 1 0b000 0b10 0b00 0b000 0b000
0 0b10 1 0b001 0b10 0b00 0b000 0b001
0 0b10 1 0b010 0b10 0b00 0b000 0b010
0 0b10 1 0b011 0b10 0b00 0b000 0b011
0 0b10 1 0b100 0b10 0b00 0b000 0b100
0 0b10 1 0b101 0b10 0b00 0b000 0b101
0 0b10 1 0b110 0b10 0b00 0b000 0b110
0 0b10 1 0b111 0b10 0b00 0b000 0b111
0 0b11 0 0b000 0b11 0b00 0b000 0b000
0 0b11 0 0b001 0b11 0b00 0b001 0b000
0 0b11 0 0b010 0b11 0b00 0b010 0b000
0 0b11 0 0b011 0b11 0b00 0b011 0b000
0 0b11 0 0b100 0b11 0b00 0b100 0b000
0 0b11 0 0b101 0b11 0b00 0b101 0b000
0 0b11 0 0b110 0b11 0b00 0b110 0b000
0 0b11 0 0b111 0b11 0b00 0b111 0b000
0 0b11 1 0b000 0b11 0b00 0b000 0b000
0 0b11 1 0b001 0b11 0b00 0b000 0b001
0 0b11 1 0b010 0b11 0b00 0b000 0b010
0 0b11 1 0b011 0b11 0b00 0b000 0b011
0 0b11 1 0b100 0b11 0b00 0b000 0b100
0 0b11 1 0b101 0b11 0b00 0b000 0b101
0 0b11 1 0b110 0b11 0b00 0b000 0b110
0 0b11 1 0b111 0b11 0b00 0b000 0b111
1 0b00 0 0b000 0b00 0b00 0b000 0b000
1 0b00 0 0b001 0b00 0b00 0b001 0b000
1 0b00 0 0b010 0b00 0b00 0b010 0b000
1 0b00 0 0b011 0b00 0b00 0b011 0b000
1 0b00 0 0b100 0b00 0b00 0b100 0b000
1 0b00 0 0b101 0b00 0b00 0b101 0b000
1 0b00 0 0b110 0b00 0b00 0b110 0b000
1 0b00 0 0b111 0b00 0b00 0b111 0b000
1 0b00 1 0b000 0b00 0b00 0b000 0b000
1 0b00 1 0b001 0b00 0b00 0b000 0b001
1 0b00 1 0b010 0b00 0b00 0b000 0b010
1 0b00 1 0b011 0b00 0b00 0b000 0b011
1 0b00 1 0b100 0b00 0b00 0b000 0b100
1 0b00 1 0b101 0b00 0b00 0b000 0b101
1 0b00 1 0b110 0b00 0b00 0b000 0b110
1 0b00 1 0b111 0b00 0b00 0b000 0b111
1 0b01 0 0b000 0b00 0b01 0b000 0b000
1 0b01 0 0b001 0b00 0b01 0b001 0b000
1 0b01 0 0b010 0b00 0b01 0b010 0b000
1 0b01 0 0b011 0b00 0b01 0b011 0b000
1 0b01 0 0b100 0b00 0b01 0b100 0b000
1 0b01 0 0b101 0b00 0b01 0b101 0b000
1 0b01 0 0b110 0b00 0b01 0b110 0b000
1 0b01 0 0b111 0b00 0b01 0b111 0b000
1 0b01 1 0b000 0b00 0b01 0b000 0b000
1 0b01 1 0b001 0b00 0b01 0b000 0b001
1 0b01 1 0b010 0b00 0b01 0b000 0b010
1 0b01 1 0b011 0b00 0b01 0b000 0b011
1 0b01 1 0b100 0b00 0b01 0b000 0b100
1 0b01 1 0b101 0b00 0b01 0b000 0b101
1 0b01 1 0b110 0b00 0b01 0b000 0b110
1 0b01 1 0b111 0b00 0b01 0b000 0b111
1 0b10 0 0b000 0b00 0b10 0b000 0b000
1 0b10 0 0b001 0b00 0b10 0b001 0b000
1 0b10 0 0b010 0b00 0b10 0b010 0b000
1 0b10 0 0b011 0b00 0b10 0b011 0b000
1 0b10 0 0b100 0b00 0b10 0b100 0b000
1 0b10 0 0b101 0b00 0b10 0b101 0b000
1 0b10 0 0b110 0b00 0b10 0b110 0b000
1 0b10 0 0b111 0b00 0b10 0b111 0b000
1 0b10 1 0b000 0b00 0b10 0b000 0b000
1 0b10 1 0b001 0b00 0b10 0b000 0b001
1 0b10 1 0b010 0b00 0b10 0b000 0b010
1 0b10 1 0b011 0b00 0b10 0b000 0b011
1 0b10 1 0b100 0b00 0b10 0b000 0b100
1 0b10 1 0b101 0b00 0b10 0b000 0b101
1 0b10 1 0b110 0b00 0b10 0b000 0b110
1 0b10 1 0b111 0b00 0b10 0b000 0b111
1 0b11 0 0b000 0b00 0b11 0b000 0b000
1 0b11 0 0b001 0b00 0b11 0b001 0b000
1 0b11 0 0b010 0b00 0b11 0b010 0b000
1 0b11 0 0b011 0b00 0b11 0b011 0b000
1 0b11 0 0b100 0b00 0b11 0b100 0b000
1 0b11 0 0b101 0b00 0b11 0b101 0b000
1 0b11 0 0b110 0b00 0b11 0b110 0b000
1 0b11 0 0b111 0b00 0b11 0b111 0b000
1 0b11 1 0b000 0b00 0b11 0b000 0b000
1 0b11 1 0b001 0b00 0b11 0b000 0b001
1 0b11 1 0b010 0b00 0b11 0b000 0b010
1 0b11 1 0b011 0b00 0b11 0b000 0b011
1 0b11 1 0b100 0b00 0b11 0b000 0b100
1 0b11 1 0b101 0b00 0b11 0b000 0b101
1 0b11 1 0b110 0b00 0b11 0b000 0b110
1 0b11 1 0b111 0b00 0b11 0b000 0b111
</dataString>
</testData>
</entry>
</elementAttributes>
<pos x="340" y="280"/>
</visualElement>
<visualElement>
<elementName>Demultiplexer</elementName>
<elementAttributes>
<entry>
<string>Bits</string>
<int>3</int>
</entry>
</elementAttributes>
<pos x="360" y="200"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>3S</string>
</entry>
</elementAttributes>
<pos x="340" y="260"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>3D</string>
</entry>
<entry>
<string>Bits</string>
<int>3</int>
</entry>
</elementAttributes>
<pos x="340" y="220"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>3Y</string>
</entry>
<entry>
<string>Bits</string>
<int>3</int>
</entry>
</elementAttributes>
<pos x="420" y="200"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>3Z</string>
</entry>
<entry>
<string>Bits</string>
<int>3</int>
</entry>
</elementAttributes>
<pos x="420" y="240"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="400" y="160"/>
<p2 x="420" y="160"/>
</wire>
<wire>
<p1 x="400" y="240"/>
<p2 x="420" y="240"/>
</wire>
<wire>
<p1 x="340" y="180"/>
<p2 x="380" y="180"/>
</wire>
<wire>
<p1 x="340" y="260"/>
<p2 x="380" y="260"/>
</wire>
<wire>
<p1 x="400" y="120"/>
<p2 x="420" y="120"/>
</wire>
<wire>
<p1 x="400" y="200"/>
<p2 x="420" y="200"/>
</wire>
<wire>
<p1 x="340" y="140"/>
<p2 x="360" y="140"/>
</wire>
<wire>
<p1 x="340" y="220"/>
<p2 x="360" y="220"/>
</wire>
<wire>
<p1 x="380" y="160"/>
<p2 x="380" y="180"/>
</wire>
<wire>
<p1 x="380" y="240"/>
<p2 x="380" y="260"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>