3D-ICE 3.0.0
Macros | Typedefs | Enumerations
types.h File Reference
#include <stdint.h>

Go to the source code of this file.

Macros

#define NUM_LAYERS_CHANNEL_4RM   1
 
#define NUM_LAYERS_CHANNEL_2RM   4
 
#define SOURCE_OFFSET_CHANNEL_4RM   0
 
#define SOURCE_OFFSET_CHANNEL_2RM   2
 

Typedefs

typedef uint32_t Quantity_t
 
typedef double Time_t
 
typedef double Temperature_t
 
typedef double Source_t
 
typedef double Power_t
 
typedef double AmbientHTC_t
 
typedef double SolidVHC_t
 
typedef double SolidTC_t
 
typedef double Conductance_t
 
typedef double Capacity_t
 
typedef double SystemMatrixCoeff_t
 
typedef double CoolantHTC_t
 
typedef double CoolantVHC_t
 
typedef double CoolantFR_t
 
typedef double DarcyVelocity_t
 
typedef double Cconv_t
 
typedef double CellDimension_t
 
typedef double ChipDimension_t
 
typedef double SpreaderDimension_t
 
typedef double ChannelDimension_t
 
typedef uint32_t CellIndex_t
 
typedef enum HeatSinkModel_t HeatSinkModel_t
 
typedef enum StackLayerType_t StackLayerType_t
 
typedef enum StackElementType_t StackElementType_t
 
typedef enum ChannelModel_t ChannelModel_t
 
typedef enum Error_t Error_t
 
typedef enum SimResult_t SimResult_t
 
typedef enum AnalysisType_t AnalysisType_t
 
typedef enum OutputQuantity_t OutputQuantity_t
 
typedef enum OutputType_t OutputType_t
 
typedef enum OutputInstant_t OutputInstant_t
 
typedef int NetworkSocket_t
 
typedef uint16_t PortNumber_t
 
typedef enum MessageType_t MessageType_t
 
typedef uint32_t MessageWord_t
 

Enumerations

enum  HeatSinkModel_t { TDICE_HEATSINK_NONE = 0 , TDICE_HEATSINK_TOP , TDICE_HEATSINK_BOTTOM , TDICE_HEATSINK_TOP_PLUGGABLE }
 
enum  StackLayerType_t {
  TDICE_LAYER_NONE = 0 , TDICE_LAYER_SOLID , TDICE_LAYER_SOURCE , TDICE_LAYER_SOLID_CONNECTED_TO_AMBIENT ,
  TDICE_LAYER_SOLID_CONNECTED_TO_SPREADER , TDICE_LAYER_SOLID_CONNECTED_TO_PCB , TDICE_LAYER_SOURCE_CONNECTED_TO_AMBIENT , TDICE_LAYER_SOURCE_CONNECTED_TO_SPREADER ,
  TDICE_LAYER_SOURCE_CONNECTED_TO_PCB , TDICE_LAYER_CHANNEL_4RM , TDICE_LAYER_CHANNEL_2RM , TDICE_LAYER_PINFINS_INLINE ,
  TDICE_LAYER_PINFINS_STAGGERED , TDICE_LAYER_VWALL_CHANNEL , TDICE_LAYER_VWALL_PINFINS , TDICE_LAYER_TOP_WALL ,
  TDICE_LAYER_BOTTOM_WALL
}
 
enum  StackElementType_t { TDICE_STACK_ELEMENT_NONE = 0 , TDICE_STACK_ELEMENT_LAYER , TDICE_STACK_ELEMENT_CHANNEL , TDICE_STACK_ELEMENT_DIE }
 
enum  ChannelModel_t {
  TDICE_CHANNEL_MODEL_NONE = 0 , TDICE_CHANNEL_MODEL_MC_4RM , TDICE_CHANNEL_MODEL_MC_2RM , TDICE_CHANNEL_MODEL_PF_INLINE ,
  TDICE_CHANNEL_MODEL_PF_STAGGERED
}
 
enum  Error_t { TDICE_SUCCESS = 0 , TDICE_FAILURE }
 
enum  SimResult_t {
  TDICE_END_OF_SIMULATION = 0 , TDICE_WRONG_CONFIG , TDICE_SOLVER_ERROR , TDICE_STEP_DONE ,
  TDICE_SLOT_DONE
}
 
enum  AnalysisType_t { TDICE_ANALYSIS_TYPE_NONE = 0 , TDICE_ANALYSIS_TYPE_TRANSIENT , TDICE_ANALYSIS_TYPE_STEADY }
 
enum  OutputQuantity_t {
  TDICE_OUTPUT_QUANTITY_NONE = 0 , TDICE_OUTPUT_QUANTITY_AVERAGE , TDICE_OUTPUT_QUANTITY_MAXIMUM , TDICE_OUTPUT_QUANTITY_MINIMUM ,
  TDICE_OUTPUT_QUANTITY_GRADIENT
}
 
enum  OutputType_t {
  TDICE_OUTPUT_TYPE_NONE = 0 , TDICE_OUTPUT_TYPE_TCELL , TDICE_OUTPUT_TYPE_TFLP , TDICE_OUTPUT_TYPE_TFLPEL ,
  TDICE_OUTPUT_TYPE_TMAP , TDICE_OUTPUT_TYPE_PMAP , TDICE_OUTPUT_TYPE_TCOOLANT
}
 
enum  OutputInstant_t { TDICE_OUTPUT_INSTANT_NONE = 0 , TDICE_OUTPUT_INSTANT_FINAL , TDICE_OUTPUT_INSTANT_SLOT , TDICE_OUTPUT_INSTANT_STEP }
 
enum  MessageType_t {
  TDICE_EXIT_SIMULATION = 0 , TDICE_RESET_THERMAL_STATE , TDICE_SEND_OUTPUT , TDICE_PRINT_OUTPUT ,
  TDICE_TOTAL_NUMBER_OF_FLOORPLAN_ELEMENTS , TDICE_INSERT_POWERS , TDICE_SIMULATE_SLOT , TDICE_SIMULATE_STEP
}
 

Macro Definition Documentation

◆ NUM_LAYERS_CHANNEL_2RM

#define NUM_LAYERS_CHANNEL_2RM   4

The number of layers of thermal cells needed to model a microchannel or pin fins stack elenment according to the 2 resistors model

Definition at line 374 of file types.h.

◆ NUM_LAYERS_CHANNEL_4RM

#define NUM_LAYERS_CHANNEL_4RM   1

The number of layers of thermal cells needed to model a microchannel stack elenment according to the 4 resistors model

Definition at line 366 of file types.h.

◆ SOURCE_OFFSET_CHANNEL_2RM

#define SOURCE_OFFSET_CHANNEL_2RM   2

The offset (# layers) within a channel stack elenment modeled with 4 resistors to be added to locate the source layer

Definition at line 390 of file types.h.

◆ SOURCE_OFFSET_CHANNEL_4RM

#define SOURCE_OFFSET_CHANNEL_4RM   0

The offset (# layers) within a channel stack elenment modeled with 4 resistors to be added to locate the source layer

Definition at line 382 of file types.h.

Typedef Documentation

◆ AmbientHTC_t

typedef double AmbientHTC_t

Definition of the type AmbientHTC_t

Ambient heat transfer coefficient

Definition at line 91 of file types.h.

◆ AnalysisType_t

the definition of the type AnalysisType_t

Definition at line 465 of file types.h.

◆ Capacity_t

typedef double Capacity_t

Definition of the type Capacity_t

Definition at line 119 of file types.h.

◆ Cconv_t

typedef double Cconv_t

Definition of the type Cconv_t

C convection coefficient

Definition at line 165 of file types.h.

◆ CellDimension_t

typedef double CellDimension_t

Definition of the type CellDimension_t

For cell length, height, width

Definition at line 177 of file types.h.

◆ CellIndex_t

typedef uint32_t CellIndex_t

Definition of the type CellIndex_t

For cell, layer, row, columns indexes and for counting too

Definition at line 213 of file types.h.

◆ ChannelDimension_t

typedef double ChannelDimension_t

Definitio of the type ChannelDimension_t

Channel length, pitch and porosity

Definition at line 205 of file types.h.

◆ ChannelModel_t

The definition of the type ChannelModel_t

Definition at line 356 of file types.h.

◆ ChipDimension_t

typedef double ChipDimension_t

Definition of the type ChipDimension_t

For chip length and with and coordinates to a point on its surface. Also for floorplan elments dimensions ...

Definition at line 187 of file types.h.

◆ Conductance_t

typedef double Conductance_t

Definition of the type Conductance_t

Definition at line 113 of file types.h.

◆ CoolantFR_t

typedef double CoolantFR_t

Definition of the type CoolantFR_t

Coolant flow rate

Definition at line 149 of file types.h.

◆ CoolantHTC_t

typedef double CoolantHTC_t

Definition of the type CoolantHTC_t

Coolant heat transfer coefficient

Definition at line 133 of file types.h.

◆ CoolantVHC_t

typedef double CoolantVHC_t

Definition of the type CoolantVHC_t

Coolant volumetric heat capacity

Definition at line 141 of file types.h.

◆ DarcyVelocity_t

typedef double DarcyVelocity_t

Definition of the type DarcyVelocity_t

Cooland darcy veloocity

Definition at line 157 of file types.h.

◆ Error_t

typedef enum Error_t Error_t

Definition of the type Error_t

Definition at line 408 of file types.h.

◆ HeatSinkModel_t

The definition of the type HeatSinkModel_t

Definition at line 233 of file types.h.

◆ MessageType_t

Definition of the type MessageType_t

Definition at line 711 of file types.h.

◆ MessageWord_t

typedef uint32_t MessageWord_t

Definition of the type MessageWord_t

Definition at line 717 of file types.h.

◆ NetworkSocket_t

typedef int NetworkSocket_t

Definition of the type NetworkSocket_t

Definition at line 542 of file types.h.

◆ OutputInstant_t

Definition of the type OutputInstant_t

Definition at line 536 of file types.h.

◆ OutputQuantity_t

Definition of the type OutputQuantity_t

Definition at line 489 of file types.h.

◆ OutputType_t

typedef enum OutputType_t OutputType_t

Definition of the type OutputType_t

Definition at line 514 of file types.h.

◆ PortNumber_t

typedef uint16_t PortNumber_t

Definition of the type PortNumber_t

Definition at line 548 of file types.h.

◆ Power_t

typedef double Power_t

Definition of the primitive type Power_t

Definition at line 83 of file types.h.

◆ Quantity_t

typedef uint32_t Quantity_t

Definition of the type Quantity_t

For small quantities as #channels or #floorplan elements

Definition at line 59 of file types.h.

◆ SimResult_t

typedef enum SimResult_t SimResult_t

Definition of the type SimResult_t

Definition at line 444 of file types.h.

◆ SolidTC_t

typedef double SolidTC_t

Definition of the type SolidTC_t

Solid thermal conductivity

Definition at line 107 of file types.h.

◆ SolidVHC_t

typedef double SolidVHC_t

Definition of the type SolidVHC_t

Solid volumetric heat capacity

Definition at line 99 of file types.h.

◆ Source_t

typedef double Source_t

Definition of the primitive type Source_t

Definition at line 77 of file types.h.

◆ SpreaderDimension_t

typedef double SpreaderDimension_t

Definition of the type SpreaderDimension_t

For pluggable heatsink, heat spreader length, height, width

Definition at line 196 of file types.h.

◆ StackElementType_t

The definition of the type StackElementType_t

Definition at line 334 of file types.h.

◆ StackLayerType_t

The definition of the type StackLayerType_t

Definition at line 315 of file types.h.

◆ SystemMatrixCoeff_t

typedef double SystemMatrixCoeff_t

Definition of the type SystemMatrixCoeff_t

Definition at line 125 of file types.h.

◆ Temperature_t

typedef double Temperature_t

Definition of the primitive type Temperature_t

Definition at line 71 of file types.h.

◆ Time_t

typedef double Time_t

Definition of the primitive type Time_t

Definition at line 65 of file types.h.

Enumeration Type Documentation

◆ AnalysisType_t

Enumeration to collect the possible types of thermal analysis that can be run with 3D-ICE.

Enumerator
TDICE_ANALYSIS_TYPE_NONE 

Undefined analysis type.

TDICE_ANALYSIS_TYPE_TRANSIENT 

Transient analysis.

TDICE_ANALYSIS_TYPE_STEADY 

Steady state analysis.

Definition at line 454 of file types.h.

◆ ChannelModel_t

Enumeration to collect the available thermal models that can be used to implement the microchannel. If no channels are declared in the stack, the 4 resistors model is used for solid only stacks.

Enumerator
TDICE_CHANNEL_MODEL_NONE 

Undefined type.

TDICE_CHANNEL_MODEL_MC_4RM 

Microchannel - 4 Resistors model.

TDICE_CHANNEL_MODEL_MC_2RM 

Microchannel - 2 Resistors model.

TDICE_CHANNEL_MODEL_PF_INLINE 

Inline pin fins - 2 Resistors model.

TDICE_CHANNEL_MODEL_PF_STAGGERED 

Staggered pin fins - 2 Resistors model.

Definition at line 345 of file types.h.

◆ Error_t

enum Error_t

Enumeration to collect the possible values returned by functions in the library to indicate errors or success.

Enumerator
TDICE_SUCCESS 

The function returns with success.

TDICE_FAILURE 

The function retuerns with a generic error.

Definition at line 400 of file types.h.

◆ HeatSinkModel_t

Enumeration to collect the supported model of the heat sink

Enumerator
TDICE_HEATSINK_NONE 

Undefined type.

TDICE_HEATSINK_TOP 

Top heat sink (top-most layer)

TDICE_HEATSINK_BOTTOM 

Bottom heat sink (bottom-most layer)

TDICE_HEATSINK_TOP_PLUGGABLE 

Top pluggable heat sink.

Definition at line 223 of file types.h.

◆ MessageType_t

Enumeration to collect all the types of messages that the client can send as a request to the server

Enumerator
TDICE_EXIT_SIMULATION 

Forces the server to terminate.

   The client sends a message without payload :

   | 2 | TDICE_EXIT_SIMULATION |

   The server terminates without a reply
TDICE_RESET_THERMAL_STATE 

Reset thermal state to initial temperature.

   The client sends a message without payload :

   | 2 | TDICE_RESET_THERMAL_STATE |

   The server resets the thermal state and does not reply
TDICE_SEND_OUTPUT 

Request a message with the thermal state at a specific instant.

   The client sends a message with the following payload

   | 4 | TDICE_SEND_OUTPUT | OutputInstant_t | OutputType_t | OutputQuantity_t |

   The server will process all the inspection point (declared in the
   output section) matching the three parameters and will send back the
   following message

   | length | TDICE_SEND_OUTPUT | nip | ip 1 | ... | ip n |

   The message will contain at word 0 the number nip of inspection points
   matching the request. All the ips will be inserted in the message
   following the same order with which they appear in the stack file.
   If nip is zero, the message should be discarded. Otherwise, the
   remaining payloas will contain temperatures according to the type
   of inspection point that has been requested.

   The content of the ips could be

   | Temperature |

   if OutputType_t is Tcell, Tflpel or Tcoolant.

   | nflp | T 1 | ... | T nflp |

   if OutputType_t is Tflp (nflp is its number of floorplan elements).

   | nrows | ncolumns | T 1 | ... | T (nrows x ncolumns) |

   if OutputType_t is Tmap.

   | nrows | ncolumns | S 1 | ... | S (nrows x ncolumns) |

   if OutputType_t is Pmap.
TDICE_PRINT_OUTPUT 

Request to print thermal state at a specific instant.

   The client sends a message with the following payload

   | 4 | TDICE_PRINT_OUTPUT | OutputInstant_t |

   The server will process all the inspection point (declared in the
   output section) matching the output instant and will generate the output
   in their corresponding text file. The server does not reply.
TDICE_TOTAL_NUMBER_OF_FLOORPLAN_ELEMENTS 

Request for the total number of florplan elements in the stack.

   The client sends a message without payload :

   | 2 | TDICE_TOTAL_NUMBER_OF_FLOORPLAN_ELEMENTS |

   The server will send back the number n of floorplan elements in the stack

   | 3 | TDICE_TOTAL_NUMBER_OF_FLOORPLAN_ELEMENTS | n |
TDICE_INSERT_POWERS 

Insert a slot of power values into the power queues.

   The client sends a message with the following payload

   | n + 3 | TDICE_INSERT_POWERS | n | power0 | ... | power n-1 |

   where n is the total number of floorplan elements in the stack.
   The server will access the power vaues received and put them
   into the power queue of each floorplan element. The server will
   respond with the message:

   | 3 | TDICE_INSERT_POWERS | Error_t |
TDICE_SIMULATE_SLOT 

Tells the server to run a slot.

   The client sends a message with the following payload

   | 2 | TDICE_SIMULATE_SLOT |

   The server will execute emulate_slot (power values should be in the
   queues) and returns the state got after the simulation:

   | 3 | TDICE_SIMULATE_SLOT | SimResult_t |
TDICE_SIMULATE_STEP 

Tells the server to run a step.

   The client sends a message with the following payload

   | 2 | TDICE_SIMULATE_STEP |

   The server will execute emulate_step and returns the state got
   after the simulation:

   | 3 | TDICE_SIMULATE_STEP | SimResult_t |

Definition at line 558 of file types.h.

◆ OutputInstant_t

Enumeration to collect the possible istant of time at which the inspection points generate the output

Enumerator
TDICE_OUTPUT_INSTANT_NONE 

Undefined instant.

TDICE_OUTPUT_INSTANT_FINAL 

At the end of the simulation.

TDICE_OUTPUT_INSTANT_SLOT 

At the end of each time slot.

TDICE_OUTPUT_INSTANT_STEP 

At every internal time step.

Definition at line 524 of file types.h.

◆ OutputQuantity_t

The "type" of temperature measurement that can be reported with an inspection point during a thermal simulation. It is used when the measurement is related to a surface.

Enumerator
TDICE_OUTPUT_QUANTITY_NONE 

Undefined type.

TDICE_OUTPUT_QUANTITY_AVERAGE 

Average temperature.

TDICE_OUTPUT_QUANTITY_MAXIMUM 

Maximum temperature.

TDICE_OUTPUT_QUANTITY_MINIMUM 

Minimum temperature.

TDICE_OUTPUT_QUANTITY_GRADIENT 

Maximum - Minimum temperature.

Definition at line 476 of file types.h.

◆ OutputType_t

The "stack object" that can be monitored with an ispection point during a thermal simulation.

Enumerator
TDICE_OUTPUT_TYPE_NONE 

Undefined object.

TDICE_OUTPUT_TYPE_TCELL 

Single thermal cell.

TDICE_OUTPUT_TYPE_TFLP 

All the element in a floorplan.

TDICE_OUTPUT_TYPE_TFLPEL 

A single floorplan element.

TDICE_OUTPUT_TYPE_TMAP 

The thermal map of a stack element.

TDICE_OUTPUT_TYPE_PMAP 

The power map of a die (its floorplan)

TDICE_OUTPUT_TYPE_TCOOLANT 

The coolant leaving the cavity.

Definition at line 499 of file types.h.

◆ SimResult_t

Collection of possible values returned bt the eulation functions

Enumerator
TDICE_END_OF_SIMULATION 

The power values are over

TDICE_WRONG_CONFIG 

The emulation function does not match the configuration

TDICE_SOLVER_ERROR 

The solver routine failed

TDICE_STEP_DONE 

The time step has been simulated correctly

TDICE_SLOT_DONE 

The time slot has been simulated correctly

Definition at line 417 of file types.h.

◆ StackElementType_t

Enumeration to collect the types of a stack element

Enumerator
TDICE_STACK_ELEMENT_NONE 

Undefined type.

TDICE_STACK_ELEMENT_LAYER 

Layer.

TDICE_STACK_ELEMENT_CHANNEL 

Channel.

TDICE_STACK_ELEMENT_DIE 

Die.

Definition at line 324 of file types.h.

◆ StackLayerType_t

Enumeration to collect the types of layer

Enumerator
TDICE_LAYER_NONE 

Undefined type

TDICE_LAYER_SOLID 

Solid layer (passive)

TDICE_LAYER_SOURCE 

Solid layer (active)

TDICE_LAYER_SOLID_CONNECTED_TO_AMBIENT 

Solid layer (passive) connected to the environment to dissipate heat

TDICE_LAYER_SOLID_CONNECTED_TO_SPREADER 

Solid layer (passive) connected to heat spreader to dissipate heat

TDICE_LAYER_SOLID_CONNECTED_TO_PCB 

Solid layer (passive) connected to the pcb to dissipate heat

TDICE_LAYER_SOURCE_CONNECTED_TO_AMBIENT 

Solid layer (active) connected to the environment to dissipate heat

TDICE_LAYER_SOURCE_CONNECTED_TO_SPREADER 

Solid layer (active) connected to heat spreader to dissipate heat

TDICE_LAYER_SOURCE_CONNECTED_TO_PCB 

Solid layer (active) connected to the pcb to dissipate heat

TDICE_LAYER_CHANNEL_4RM 

Liquid layer in Channel 4 resistors model

TDICE_LAYER_CHANNEL_2RM 

Liquid layer in Channel 2 resistors model

TDICE_LAYER_PINFINS_INLINE 

Liquid layer in inline PinFins 2 resistors model

TDICE_LAYER_PINFINS_STAGGERED 

Liquid layer in staggered PinFins 2 resistors model

TDICE_LAYER_VWALL_CHANNEL 

Virtual wall layer in Channel 2rm

TDICE_LAYER_VWALL_PINFINS 

Virtual wall layer in inline/staggered PinFins 2 rm

TDICE_LAYER_TOP_WALL 

Top wall layer in Channel/PinFins 2 rm

TDICE_LAYER_BOTTOM_WALL 

Bottom wall layer in Channel/PinFins 2 rm

Definition at line 242 of file types.h.