Closed mhezarei closed 8 months ago
Did you add it to scons? It looks like it just never built the simobject
Yes. Here is what hwacc/SConscript
looks like (Asterisks before the newly added lines). As I said, I have done this a handful of times now, and this has never been the case.
Import('*')
if env['TARGET_ISA'] == 'arm':
#Example
#SimObject('IOAcc.py')
#CommInterface
SimObject('CommInterface.py')
SimObject('ScratchpadMemory.py')
SimObject('NoncoherentDma.py')
SimObject('StreamDma.py')
SimObject('AccCluster.py')
SimObject('StreamBuffer.py')
SimObject('RegisterBank.py')
#LLVMInterface
SimObject('ComputeUnit.py')
SimObject('LLVMInterface.py')
#HWInterface
SimObject('CycleCounts.py')
SimObject('FunctionalUnits.py')
SimObject('HWInterface.py')
SimObject('HWStatistics.py')
SimObject('InstConfig.py')
SimObject('InstOpCodes.py')
SimObject('SALAMPowerModel.py')
SimObject('SimulatorConfig.py')
#Custom Objects
********** SimObject("Temp.py")
#Functional Units
#SimObject('Adder.py')
#
Source('comm_interface.cc')
Source('compute_unit.cc')
Source('llvm_interface.cc')
Source('dma_write_fifo.cc')
Source('noncoherent_dma.cc')
Source('stream_dma.cc')
Source('acc_cluster.cc')
Source('stream_buffer.cc')
Source('stream_port.cc')
Source('scratchpad_memory.cc')
Source('register_bank.cc')
********** Source('temp.cc')
#
Source('LLVMRead/src/value.cc')
Source('LLVMRead/src/function.cc')
Source('LLVMRead/src/basic_block.cc')
Source('LLVMRead/src/debug_flags.cc')
Source('LLVMRead/src/mem_request.cc')
Source('LLVMRead/src/instruction.cc')
Source('LLVMRead/src/registers.cc')
Source('LLVMRead/src/operand.cc')
# GENERATED FILES
# Source('HWModeling/generated/functionalunits/adder.cc')
# Source('HWModeling/generated/instructions/add.cc')
# END OF GENERATED FILES
Source('HWModeling/src/cycle_counts.cc')
#Source('HWModeling/src/cacti_wrapper.cc')
Source('HWModeling/src/functional_units.cc')
Source('HWModeling/src/hw_interface.cc')
Source('HWModeling/src/hw_statistics.cc')
Source('HWModeling/src/instruction_config.cc')
Source('HWModeling/src/opcodes.cc')
Source('HWModeling/src/salam_power_model.cc')
Source('HWModeling/src/simulator_config.cc')
#
DebugFlag('CommInterface')
DebugFlag('CommInterfaceQueues')
DebugFlag('DeviceMMR')
DebugFlag('LLVMInterface')
DebugFlag('NoncoherentDma')
DebugFlag('LLVMParse')
DebugFlag('Runtime')
DebugFlag('RuntimeCompute')
DebugFlag('RuntimeQueues')
DebugFlag('SALAM_Debug')
DebugFlag('StreamBuffer')
DebugFlag('StreamDma')
DebugFlag('Trace')
DebugFlag('Step')
#
CompoundFlag('JDEV', ['LLVMInterface','CommInterface', 'Runtime', 'RuntimeCompute', 'RuntimeQueues', 'SALAM_Debug'])
CompoundFlag('HWACC', ['CommInterface', 'LLVMInterface'])
Fixed the issue by adding the MMR read/write requirements listed below:
Addr io_size
, Addr io_addr
, uint8_t *mmr
, ByteOrder endian
, RequestorID masterId
virtual Tick read(PacketPtr pkt)
, virtual Tick write(PacketPtr pkt)
. Implementation for these two could be copied from comm_interface.cc
Thanks for the solution, sorry I forgot to get back to this.
Greetings, hope you are doing well.
Using the most updated version of gem5-SALAM repo, I get a weird "undefined reference" error while building gem5-SALAM after creating a simple SimObject under the
hwacc
directory. This did not use to be the case using the older versions of gem5-SALAM.Classes I'm defining:
The error I get while building gem5-SALAM (happens in the
[ LINK] -> ARM/gem5.opt
step):Thanks in advance!