mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-17 17:04:42 -04:00
adds IC 74779, closes #113
This commit is contained in:
parent
10e7b8ecb2
commit
76f8a16bab
@ -1,13 +1,13 @@
|
||||
Release Notes
|
||||
|
||||
HEAD, planed as v0.18
|
||||
- Added 74181, 7440, 7428
|
||||
- Added ICs 74181, 74779, 7440 and 7428
|
||||
- Added new text formatting engine which supports overline, super- and subscript.
|
||||
Try "~Q_{n+1}^1" as an output label.
|
||||
- It's possible to test circuits with a high-z input which can act as an output.
|
||||
- Embedded circuits which are used in the library and which names first character is a
|
||||
underscore '_' are not shown in the components menu. They are usable but hidden
|
||||
in the menu and in the tree view.
|
||||
- A embedded circuits which is used in the library and which names ends with '-inc.dig'
|
||||
is not shown in the components menu. They are usable but hidden in the menu and in
|
||||
the tree view.
|
||||
|
||||
v0.17, released on 19. Feb 2018
|
||||
- Added 64 bit support for Add and Sub components.
|
||||
|
312
src/main/dig/lib/74xx/counter/74779-inc.dig
Normal file
312
src/main/dig/lib/74xx/counter/74779-inc.dig
Normal file
@ -0,0 +1,312 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<circuit>
|
||||
<version>1</version>
|
||||
<attributes>
|
||||
<entry>
|
||||
<string>pinCount</string>
|
||||
<int>1</int>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Description</string>
|
||||
<string>flip flop part of 74779</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>lockedMode</string>
|
||||
<boolean>true</boolean>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Width</string>
|
||||
<int>5</int>
|
||||
</entry>
|
||||
</attributes>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>D_FF</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="900" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Or</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="800" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="700" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="700" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="700" y="100"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>DATA</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>1</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>isHighZ</string>
|
||||
<boolean>true</boolean>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="480" y="100"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>LOAD</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>2</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="480" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="580" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="580" y="320"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>~TOGGLE</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="540" y="60"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>4</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="1040" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>~Q</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>pinNumber</string>
|
||||
<string>3</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="1040" y="260"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Clock</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>rotation</string>
|
||||
<rotation rotation="3"/>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>CP</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="880" y="60"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
<wire>
|
||||
<p1 x="760" y="320"/>
|
||||
<p2 x="780" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="320"/>
|
||||
<p2 x="580" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="320"/>
|
||||
<p2 x="700" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="780" y="240"/>
|
||||
<p2 x="800" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="240"/>
|
||||
<p2 x="700" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="880" y="240"/>
|
||||
<p2 x="900" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="240"/>
|
||||
<p2 x="980" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="480" y="100"/>
|
||||
<p2 x="700" y="100"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="680" y="340"/>
|
||||
<p2 x="700" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="420"/>
|
||||
<p2 x="1000" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="980" y="260"/>
|
||||
<p2 x="1040" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="760" y="120"/>
|
||||
<p2 x="780" y="120"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="780" y="200"/>
|
||||
<p2 x="800" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="480" y="200"/>
|
||||
<p2 x="560" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="200"/>
|
||||
<p2 x="680" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="680" y="200"/>
|
||||
<p2 x="700" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="560" y="200"/>
|
||||
<p2 x="580" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="680" y="380"/>
|
||||
<p2 x="980" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="760" y="220"/>
|
||||
<p2 x="800" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="220"/>
|
||||
<p2 x="900" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="220"/>
|
||||
<p2 x="700" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="220"/>
|
||||
<p2 x="1000" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1000" y="220"/>
|
||||
<p2 x="1040" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="560" y="140"/>
|
||||
<p2 x="700" y="140"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="680" y="300"/>
|
||||
<p2 x="700" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="240"/>
|
||||
<p2 x="640" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="880" y="60"/>
|
||||
<p2 x="880" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="560" y="140"/>
|
||||
<p2 x="560" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="980" y="240"/>
|
||||
<p2 x="980" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="980" y="260"/>
|
||||
<p2 x="980" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1000" y="220"/>
|
||||
<p2 x="1000" y="420"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="680" y="200"/>
|
||||
<p2 x="680" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="680" y="340"/>
|
||||
<p2 x="680" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="60"/>
|
||||
<p2 x="540" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="220"/>
|
||||
<p2 x="540" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="780" y="240"/>
|
||||
<p2 x="780" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="780" y="120"/>
|
||||
<p2 x="780" y="200"/>
|
||||
</wire>
|
||||
</wires>
|
||||
</circuit>
|
3099
src/main/dig/lib/74xx/counter/74779.dig
Normal file
3099
src/main/dig/lib/74xx/counter/74779.dig
Normal file
File diff suppressed because it is too large
Load Diff
@ -83,7 +83,7 @@ public class LibraryNode implements Iterable<LibraryNode> {
|
||||
else
|
||||
translatedName = name;
|
||||
|
||||
isHidden = isLibrary && name.startsWith("_");
|
||||
isHidden = isLibrary && name.endsWith("-inc.dig");
|
||||
|
||||
this.file = file;
|
||||
}
|
||||
|
@ -29,8 +29,8 @@ public class TestExamples extends TestCase {
|
||||
*/
|
||||
public void testDistExamples() throws Exception {
|
||||
File examples = new File(Resources.getRoot().getParentFile().getParentFile(), "/main/dig");
|
||||
assertEquals(214, new FileScanner(this::check).scan(examples));
|
||||
assertEquals(159, testCasesInFiles);
|
||||
assertEquals(216, new FileScanner(this::check).scan(examples));
|
||||
assertEquals(160, testCasesInFiles);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -33,7 +33,7 @@ public class TestLib extends TestCase {
|
||||
|
||||
private void check(File dig) throws PinException, NodeException, ElementNotFoundException, IOException {
|
||||
Circuit circuit = new ToBreakRunner(dig).getCircuit();
|
||||
boolean is74xx = dig.getPath().contains("74xx") && !dig.getName().startsWith("_");
|
||||
boolean is74xx = dig.getPath().contains("74xx") && !dig.getName().endsWith("-inc.dig");
|
||||
|
||||
if (is74xx) {
|
||||
assertTrue("is not DIL", circuit.getAttributes().get(Keys.IS_DIL));
|
||||
|
Loading…
x
Reference in New Issue
Block a user