ReadWriteEnd dataI = data.createReadWriteEnd();
ReadWriteEnd addressI = address.createReadWriteEnd();
- @SuppressWarnings("unused")
- CoreWordAddressableMemory memory = new CoreWordAddressableMemory(t, 4,
- new WordAddressableMemory(MainMemoryDefinition.create(64, 16, 4096L, Long.MAX_VALUE)), data.createReadWriteEnd(),
+ MainMemoryDefinition definition = MainMemoryDefinition.create(64, 16, 4096L, Long.MAX_VALUE);
+ CoreWordAddressableMemory memory = new CoreWordAddressableMemory(t, 4, definition, data.createReadWriteEnd(),
rW.createReadOnlyEnd(), address.createReadOnlyEnd());
+ memory.setMemory(new WordAddressableMemory(definition));
Random r = new Random(seed);
for (long j = 1; j > 0; j *= 2)
BitVector bAddress = BitVector.from(4096 + i + j, 64);
addressI.feedSignals(bAddress);
t.executeAll();
- String random = BigInteger.valueOf(Math.abs(r.nextInt())).toString(5);
- random = random.substring(Integer.max(0, random.length() - 16));
- random = String.format("%16s", random).replace(' ', '0');
- random = random.replace('2', 'X').replace('3', 'Z').replace('4', 'U');
- BitVector vector = BitVector.parse(random);
+ BigInteger random = BigInteger.valueOf(Math.abs(r.nextInt()));
+ BitVector vector = BitVector.from(random, 16);
dataI.feedSignals(vector);
rWI.feedSignals(Bit.ZERO);
t.executeAll();