From 48a1e1fb0a3d32e582fc0aa1c02c54383cd6188c Mon Sep 17 00:00:00 2001 From: hneemann Date: Sun, 30 Jun 2019 18:07:04 +0200 Subject: [PATCH] Model analyser preserves the ff default values. --- .../digital/analyse/ModelAnalyser.java | 5 ++++- .../digital/core/flipflops/FlipflopD.java | 19 ++++++++++++++++--- src/main/resources/analyser/JK_FF.dig | 4 ++++ src/main/resources/analyser/T_FF.dig | 11 ++++++++++- src/main/resources/analyser/T_FF_EN.dig | 4 ++++ 5 files changed, 38 insertions(+), 5 deletions(-) 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; +