diff --git a/DRAM/.cproject b/DRAM/.cproject
index 9bfc63fc..0aea2ac1 100644
--- a/DRAM/.cproject
+++ b/DRAM/.cproject
@@ -29,7 +29,7 @@
@@ -63,6 +63,11 @@
+
+
+
+
+
@@ -72,8 +77,11 @@
+
+
+
@@ -85,7 +93,7 @@
-
+
@@ -98,7 +106,7 @@
@@ -174,4 +182,16 @@
+
+
+
+ make
+
+ standalone
+ true
+ true
+ true
+
+
+
diff --git a/DRAM/.gitignore b/DRAM/.gitignore
index 9de9ebd0..d8639600 100644
--- a/DRAM/.gitignore
+++ b/DRAM/.gitignore
@@ -1,3 +1,5 @@
/Debug
/platformArchitect
/standalone
+/standalone
+/platformArchitect
diff --git a/DRAM/.project b/DRAM/.project
index 19711e8f..0ebeb50d 100644
--- a/DRAM/.project
+++ b/DRAM/.project
@@ -1,6 +1,6 @@
- DRAM
+ dram
diff --git a/DRAM/dram/core/scheduling/Command.h b/DRAM/src/core/Command.h
similarity index 93%
rename from DRAM/dram/core/scheduling/Command.h
rename to DRAM/src/core/Command.h
index d2b9436a..f9b2407d 100644
--- a/DRAM/dram/core/scheduling/Command.h
+++ b/DRAM/src/core/Command.h
@@ -8,7 +8,7 @@
#ifndef COMMAND_H_
#define COMMAND_H_
-namespace controller {
+namespace core {
enum Command {NOP, Precharge, PrechargeAll, Activate, Read, Write, ReadA, WriteA, Refresh};
diff --git a/DRAM/dram/core/scheduling/CommandBus.cpp b/DRAM/src/core/CommandBus.cpp
similarity index 95%
rename from DRAM/dram/core/scheduling/CommandBus.cpp
rename to DRAM/src/core/CommandBus.cpp
index f4ad233d..9db270d5 100644
--- a/DRAM/dram/core/scheduling/CommandBus.cpp
+++ b/DRAM/src/core/CommandBus.cpp
@@ -8,7 +8,7 @@
#include "CommandBus.h"
#include
-namespace controller {
+namespace core {
void CommandBus::schedule(const CommandSchedule& schedule)
{
@@ -26,15 +26,16 @@ void CommandBus::scheduleCommand(const ScheduledCommand& command)
changeControllerState(command);
pendingBusCommands.insert(command.getStart());
- lastCommandsOnBus[command.getCommand()][command.getBank()] = command;
- //notify tlm wrapper
+ wrapper.sendCommand(command.getStart(),command.getTransaction(),command.getCommand());
+ lastCommandsOnBus[command.getCommand()][command.getBank()] = command;
lastCommandsOnBus[command.getCommand()][command.getBank()].invalidateTransaction();
+
}
void CommandBus::scheduleTrigger(const Trigger command, sc_time time)
{
- //notify tlm wrapper
+ wrapper.sendTrigger(time,command);
}
ScheduledCommand& CommandBus::getLastCommand(Command command, Bank bank)
diff --git a/DRAM/dram/core/scheduling/CommandBus.h b/DRAM/src/core/CommandBus.h
similarity index 60%
rename from DRAM/dram/core/scheduling/CommandBus.h
rename to DRAM/src/core/CommandBus.h
index 4c55ffbf..e70a4b0d 100644
--- a/DRAM/dram/core/scheduling/CommandBus.h
+++ b/DRAM/src/core/CommandBus.h
@@ -8,41 +8,51 @@
#ifndef INTERNALSCHEDULER_H_
#define INTERNALSCHEDULER_H_
-#include "CommandSchedule.h"
+#include "scheduling/CommandSchedule.h"
#include "core/ControllerState.h"
#include "core/scheduling/Trigger.h"
#include "IInternalScheduler.h"
#include "core/Configuration.h"
#include "core/scheduling/checker/ICommandChecker.h"
+#include "tlm/IControllerWrapper.h"
#include