implements #72 for flipflops

This commit is contained in:
hneemann 2017-11-09 19:54:04 +01:00
parent 20b70a43b7
commit 4fed355ffc
7 changed files with 36 additions and 7 deletions

View File

@ -1,7 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<attributes>
<entry>
<string>showDataTable</string>
<boolean>true</boolean>
</entry>
</attributes>
<visualElements>
<visualElement>
<elementName>Out</elementName>

View File

@ -104,7 +104,11 @@ public class FlipflopD extends Node implements Element {
public void registerNodes(Model model) {
super.registerNodes(model);
if (isProbe)
model.addSignal(new Signal(label, q));
model.addSignal(new Signal(label, q, v -> {
value = v;
q.setValue(value);
qn.setValue(~value);
}));
}
/**

View File

@ -111,7 +111,11 @@ public class FlipflopDAsync extends Node implements Element {
public void registerNodes(Model model) {
super.registerNodes(model);
if (isProbe)
model.addSignal(new Signal(label, q));
model.addSignal(new Signal(label, q, v -> {
value = v;
q.setValue(value);
qn.setValue(~value);
}));
}
}

View File

@ -136,7 +136,11 @@ public class FlipflopJK extends Node implements Element {
public void registerNodes(Model model) {
super.registerNodes(model);
if (isProbe)
model.addSignal(new Signal(label, q));
model.addSignal(new Signal(label, q, v -> {
out = v != 0;
q.setBool(out);
qn.setBool(!out);
}));
}
}

View File

@ -103,7 +103,11 @@ public class FlipflopJKAsync extends Node implements Element {
public void registerNodes(Model model) {
super.registerNodes(model);
if (isProbe)
model.addSignal(new Signal(label, q));
model.addSignal(new Signal(label, q, v -> {
out = v != 0;
q.setBool(out);
qn.setBool(!out);
}));
}
}

View File

@ -91,7 +91,11 @@ public class FlipflopRS extends Node implements Element {
public void registerNodes(Model model) {
super.registerNodes(model);
if (isProbe)
model.addSignal(new Signal(label, q));
model.addSignal(new Signal(label, q, v -> {
out = v != 0;
q.setBool(out);
qn.setBool(!out);
}));
}
}

View File

@ -101,7 +101,11 @@ public class FlipflopT extends Node implements Element {
public void registerNodes(Model model) {
super.registerNodes(model);
if (isProbe)
model.addSignal(new Signal(label, q));
model.addSignal(new Signal(label, q, v -> {
out = v != 0;
q.setBool(out);
qn.setBool(!out);
}));
}
/**