simplified the new masked ram

This commit is contained in:
hneemann 2019-01-23 22:14:52 +01:00
parent b4f6c804b7
commit c0a1efeec0
3 changed files with 10 additions and 4 deletions

View File

@ -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();

View File

@ -989,6 +989,7 @@ Sind evtl. die Namen der Variablen nicht eindeutig?</string>
<string name="err_errorLoadingRomData">Fehler beim Laden des Programmspeichers.</string>
<string name="err_parsingSVG">Fehler beim Laden der SVG-Datei.</string>
<string name="err_morePinsDefinedInSVGAsNeeded">Die SVG-Datei enthält Pins, die es in der Schaltung nicht gibt.</string>
<string name="err_bitsMustBeDividableBy8">Die Anzahl der Datenbits muss ein Vielfaches von 8 sein.</string>
<string name="key_AddrBits">Adress-Bits</string><!-- ROM, RAMDualPort, RAMSinglePort, RAMSinglePortSel, EEPROM -->
<string name="key_AddrBits_tt">Anzahl der Adress-Bits, die verwendet werden.</string>

View File

@ -982,6 +982,7 @@
<string name="err_errorLoadingRomData">Error loading the program memory.</string>
<string name="err_parsingSVG">Error while reading the SVG file.</string>
<string name="err_morePinsDefinedInSVGAsNeeded">The SVG file contains pins that do not exist in the circuit.</string>
<string name="err_bitsMustBeDividableBy8">The number of data bits must be a multiple of 8.</string>
<string name="key_AddrBits">Address Bits</string><!-- ROM, RAMDualPort, RAMSinglePort, RAMSinglePortSel, EEPROM -->
<string name="key_AddrBits_tt">Number of address bits used.</string>