3D-ICE 3.0.0
|
SystemC/TLM-2.0 wrapper for 3D-ICE. More...
#include "include/IceWrapper.h"
Public Member Functions | |
IceWrapper (std::string serverIp, unsigned int portNumber) | |
~IceWrapper () | |
unsigned int | getNumberOfFloorplanElements () |
void | sendPowerValues (std::vector< float > *powerValues) |
void | simulate () |
void | getTemperature (std::vector< float > &TemperatureValues, OutputInstant_t instant, OutputType_t type, OutputQuantity_t quantity) |
void | getTemperatureMap (std::string filename) |
void | getPowerMap (std::string filename) |
This class provides support to bind 3D-ICE with simulation tools based on SystemC/TLM2.0 like DRAMSys, DRAMPower, and many others.
Definition at line 61 of file IceWrapper.h.
IceWrapper::IceWrapper | ( | std::string | serverIp, |
unsigned int | portNumber | ||
) |
IceWrapper constructor
Establishes a connection with the 3D-ICE server and gets information about system architecture. The server must be up and running and waiting for a connection.
serverIp | the IP address of the server |
portNumber | the port number of the server |
IceWrapper::~IceWrapper | ( | ) |
IceWrapper destructor
Closes the connection with the 3D-ICE server and releases previously allocated resources.
unsigned int IceWrapper::getNumberOfFloorplanElements | ( | ) |
Gets the number of floorplan elements
void IceWrapper::getPowerMap | ( | std::string | filename | ) |
Generates an output file containing values that correspond to a power map of the die.
filename | name of the output file |
void IceWrapper::getTemperature | ( | std::vector< float > & | TemperatureValues, |
OutputInstant_t | instant, | ||
OutputType_t | type, | ||
OutputQuantity_t | quantity | ||
) |
Gets the temperature values regarding the last thermal simulation step
TemperatureValues | buffer to be filled with the temperature values |
instant | instant of time at which the inspection points generate the output |
type | inspection point of interest |
quantity | which of temperature records (e.g., average, maximum, minimum, gradient) shall be provided |
void IceWrapper::getTemperatureMap | ( | std::string | filename | ) |
Generates an output file containing values that correspond to a thermal map of the stack element.
filename | name of the output file |
void IceWrapper::sendPowerValues | ( | std::vector< float > * | powerValues | ) |
Sends power information to the 3D-ICE server
Typically the power information is dynamically generated during the simulation and then passed to the server periodically. The server uses this information among others to calculate the temperatures of the system.
powerValues | a vector containing the power values of all floorplan elements |
void IceWrapper::simulate | ( | ) |
Requests the simulation of a time slot to the server.
This function sends and receives messages using network sockets and it blocks until waiting for the simulation result.