diff --git a/src/main/java/de/neemann/digital/analyse/ModelAnalyser.java b/src/main/java/de/neemann/digital/analyse/ModelAnalyser.java index b14099098..4450a1480 100644 --- a/src/main/java/de/neemann/digital/analyse/ModelAnalyser.java +++ b/src/main/java/de/neemann/digital/analyse/ModelAnalyser.java @@ -70,6 +70,8 @@ public class ModelAnalyser { outputs.add(i++, new Signal(label + "+1", ff.getDInput())); + modelAnalyzerInfo.setSequentialInitValue(label, ff.getDefault()); + ObservableValue q = ff.getOutputs().get(0); final Signal sig = new Signal(label, q); if (inputs.contains(sig)) @@ -229,10 +231,11 @@ public class ModelAnalyser { String label = ff.getLabel(); if (label.length() == 0) label = createOutputBasedName(ff); + long def = ff.getDefault(); for (int i = ff.getBits() - 1; i >= 0; i--) { ObservableValue qn = new ObservableValue("", 1); ObservableValue nqn = new ObservableValue("", 1); - FlipflopD newff = new FlipflopD(label + i, qn, nqn); + FlipflopD newff = new FlipflopD(label + i, qn, nqn, (def & (1L<Inputs 1 + + generic + this.Default=orig.Default; + diff --git a/src/main/resources/analyser/T_FF.dig b/src/main/resources/analyser/T_FF.dig index 72580f1cb..d490e041e 100644 --- a/src/main/resources/analyser/T_FF.dig +++ b/src/main/resources/analyser/T_FF.dig @@ -1,7 +1,12 @@ 1 - + + + isGeneric + true + + D_FF @@ -14,6 +19,10 @@ Inputs 1 + + generic + this.Default=orig.Default; + diff --git a/src/main/resources/analyser/T_FF_EN.dig b/src/main/resources/analyser/T_FF_EN.dig index 213cdf465..d72b828dd 100644 --- a/src/main/resources/analyser/T_FF_EN.dig +++ b/src/main/resources/analyser/T_FF_EN.dig @@ -19,6 +19,10 @@ Inputs 1 + + generic + this.Default=orig.Default; +