From c0a1efeec06815032d17ea3227e896aab24cc414 Mon Sep 17 00:00:00 2001 From: hneemann Date: Wed, 23 Jan 2019 22:14:52 +0100 Subject: [PATCH] simplified the new masked ram --- .../digital/core/memory/RAMDualPortMasked.java | 12 ++++++++---- src/main/resources/lang/lang_de.xml | 1 + src/main/resources/lang/lang_en.xml | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/neemann/digital/core/memory/RAMDualPortMasked.java b/src/main/java/de/neemann/digital/core/memory/RAMDualPortMasked.java index 41317a2ff..17148154c 100644 --- a/src/main/java/de/neemann/digital/core/memory/RAMDualPortMasked.java +++ b/src/main/java/de/neemann/digital/core/memory/RAMDualPortMasked.java @@ -5,15 +5,13 @@ */ package de.neemann.digital.core.memory; -import de.neemann.digital.core.Node; -import de.neemann.digital.core.NodeException; -import de.neemann.digital.core.ObservableValue; -import de.neemann.digital.core.ObservableValues; +import de.neemann.digital.core.*; import de.neemann.digital.core.element.Element; import de.neemann.digital.core.element.ElementAttributes; import de.neemann.digital.core.element.ElementTypeDescription; import de.neemann.digital.core.element.Keys; import de.neemann.digital.draw.elements.PinException; +import de.neemann.digital.lang.Lang; import static de.neemann.digital.core.element.PinInfo.input; @@ -92,6 +90,12 @@ public class RAMDualPortMasked extends Node implements Element, RAMInterface { clkIn = inputs.get(3).checkBits(1, this).addObserverToValue(this); } + @Override + public void init(Model model) throws NodeException { + if (bits % 8 != 0) + throw new NodeException(Lang.get("err_bitsMustBeDividableBy8"), this, -1, null); + } + @Override public void readInputs() throws NodeException { boolean clk = clkIn.getBool(); diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index 9ddf4c81c..605f32f66 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -989,6 +989,7 @@ Sind evtl. die Namen der Variablen nicht eindeutig? Fehler beim Laden des Programmspeichers. Fehler beim Laden der SVG-Datei. Die SVG-Datei enthält Pins, die es in der Schaltung nicht gibt. + Die Anzahl der Datenbits muss ein Vielfaches von 8 sein. Adress-Bits Anzahl der Adress-Bits, die verwendet werden. diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index 58eb1c68f..d6567e89e 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -982,6 +982,7 @@ Error loading the program memory. Error while reading the SVG file. The SVG file contains pins that do not exist in the circuit. + The number of data bits must be a multiple of 8. Address Bits Number of address bits used.