X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fstandard%2Fmemory%2FWordAddressableMemoryComponent.java;h=13bcc64a835d0d602aeff9db55bf169502ef0ded;hb=3e6ac3d7fd389191d02c1c6982fbf093421ce4f2;hp=e781d3d6bad5b2dd3dbd02e210409017f6db3c6c;hpb=2e7dc40f788b00146f2d0805fecd9d23adbda363;p=Mograsim.git diff --git a/net.mograsim.machine/src/net/mograsim/machine/standard/memory/WordAddressableMemoryComponent.java b/net.mograsim.machine/src/net/mograsim/machine/standard/memory/WordAddressableMemoryComponent.java index e781d3d6..13bcc64a 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/standard/memory/WordAddressableMemoryComponent.java +++ b/net.mograsim.machine/src/net/mograsim/machine/standard/memory/WordAddressableMemoryComponent.java @@ -5,7 +5,6 @@ import java.util.List; import net.mograsim.logic.core.components.BasicComponent; import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.types.Bit; -import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.machine.MainMemoryDefinition; @@ -31,12 +30,12 @@ public class WordAddressableMemoryComponent extends BasicComponent ReadEnd rWBit, ReadEnd address) { super(timeline, processTime); - if(data.length() != definition.getCellWidth()) - throw new IllegalArgumentException(String.format("Bit width of data wire does not match main memory definition. Expected: %d Actual: %d", definition.getCellWidth(), data.length())); - if(rWBit.length() != 1) - throw new IllegalArgumentException(String.format("Bit width of read/write mode select wire is unexpected. Expected: 1 Actual: %d", rWBit.length())); - if(address.length() != definition.getMemoryAddressBits()) - throw new IllegalArgumentException(String.format("Bit width of address wire does not match main memory definition. Expected: %d Actual: %d", definition.getMemoryAddressBits(), address.length())); + if(data.width() != definition.getCellWidth()) + throw new IllegalArgumentException(String.format("Bit width of data wire does not match main memory definition. Expected: %d Actual: %d", definition.getCellWidth(), data.width())); + if(rWBit.width() != 1) + throw new IllegalArgumentException(String.format("Bit width of read/write mode select wire is unexpected. Expected: 1 Actual: %d", rWBit.width())); + if(address.width() != definition.getMemoryAddressBits()) + throw new IllegalArgumentException(String.format("Bit width of address wire does not match main memory definition. Expected: %d Actual: %d", definition.getMemoryAddressBits(), address.width())); this.data = data; this.rWBit = rWBit; this.address = address; @@ -53,7 +52,7 @@ public class WordAddressableMemoryComponent extends BasicComponent if (!address.hasNumericValue()) { if (read.equals(rWBit.getValue())) - data.feedSignals(BitVector.of(Bit.U, data.length())); + data.feedSignals(Bit.U.toVector(data.width())); else data.clearSignals(); return;