Add Register Class
Register is an abstract base class for real and virtual registers. A
few examples of these registers are; HardwareRegister, ConstantRegister,
NotRegister, and AndRegister. As a base class of register types, the
Register class creates a place where these registers can be put
together like logical building blocks. For example, Register makes this
possible:
Register * fir = new HardwareRegister(REG_ADDRESS, REG_WIDTH,
DEFAULT_CHIP_TYPE, ACCESS_RO);
Register * mask = new ConstantRegister( 0xffffffff00000000 );
Register * fir_mask = new AndRegister(fir, mask);
const BitString * bs = fir_mask->getBitString();
The getBitString function (defined by each register) provides access to
the BitString that manages each register's data. In this example bs
will contain the result of fir & mask.
Change-Id: I497d997c1cc338c53cb04a827bf2f4aca6b781c9
Signed-off-by: Paul Greenwood <Paul.Greenwood@ibm.com>
diff --git a/test/simulator/meson.build b/test/simulator/meson.build
index e581b1a..87b675b 100644
--- a/test/simulator/meson.build
+++ b/test/simulator/meson.build
@@ -1,6 +1,7 @@
sim_sources = [
'hei_sim_main.cpp',
- '../../src/isolator/hei_isolator.cpp'
+ '../../src/isolator/hei_isolator.cpp',
+ '../../src/util/hei_bit_string.cpp',
]
sim = executable('simulator', sim_sources, \