mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-19 09:54:49 -04:00
implements #72 for flipflops
This commit is contained in:
parent
20b70a43b7
commit
4fed355ffc
@ -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>
|
||||
|
@ -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);
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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);
|
||||
}));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user