3D-ICE 3.0.0
Data Structures | Typedefs | Functions
heat_sink.h File Reference
#include <stdio.h>
#include "types.h"
#include "string_t.h"
#include "dimensions.h"
#include "material.h"
#include "analysis.h"

Go to the source code of this file.

Data Structures

struct  HeatSink_t
 Structure used to store data about the heat dissipation through the top or bottom surfaces of the 2D/3D stack. More...
 

Typedefs

typedef struct HeatSink_t HeatSink_t
 

Functions

void heat_sink_init (HeatSink_t *hsink)
 
void heat_sink_copy (HeatSink_t *dst, HeatSink_t *src)
 
void heat_sink_destroy (HeatSink_t *hsink)
 
HeatSink_theat_sink_calloc (void)
 
HeatSink_theat_sink_clone (HeatSink_t *hsink)
 
void heat_sink_free (HeatSink_t *hsink)
 
Conductance_t heat_sink_conductance (HeatSink_t *hsink, Dimensions_t *dimensions, CellIndex_t row_index, CellIndex_t column_index)
 
void heat_sink_print (HeatSink_t *hsink, FILE *stream, String_t prefix)
 
Error_t initialize_heat_spreader (HeatSink_t *hsink, Dimensions_t *chip)
 
Error_t initialize_pluggable_heatsink (HeatSink_t *hsink, Analysis_t *analysis)
 
Capacity_t get_spreader_capacity (HeatSink_t *hsink)
 
Conductance_t get_spreader_conductance_east_west (HeatSink_t *hsink)
 
Conductance_t get_spreader_conductance_north_south (HeatSink_t *hsink)
 
Conductance_t get_spreader_conductance_top_bottom (HeatSink_t *hsink)
 
Conductance_t get_spreader_conductance_top_bottom_nonuniform (HeatSink_t *hsink, ChipDimension_t area)
 

Typedef Documentation

◆ HeatSink_t

typedef struct HeatSink_t HeatSink_t

Definition of the type HeatSink_t

Definition at line 143 of file heat_sink.h.

Function Documentation

◆ get_spreader_capacity()

Capacity_t get_spreader_capacity ( HeatSink_t hsink)
Returns
the thermal capacity of a cell in the heat spreader

Definition at line 377 of file heat_sink.c.

◆ get_spreader_conductance_east_west()

Conductance_t get_spreader_conductance_east_west ( HeatSink_t hsink)
Returns
the thermal conductance along the x axis of a heat spreader cell

Definition at line 387 of file heat_sink.c.

◆ get_spreader_conductance_north_south()

Conductance_t get_spreader_conductance_north_south ( HeatSink_t hsink)
Returns
the thermal conductance along the y axis of a heat spreader cell

Definition at line 396 of file heat_sink.c.

◆ get_spreader_conductance_top_bottom()

Conductance_t get_spreader_conductance_top_bottom ( HeatSink_t hsink)
Returns
the thermal conductance along the z axis of a heat spreader cell

Definition at line 405 of file heat_sink.c.

◆ get_spreader_conductance_top_bottom_nonuniform()

Conductance_t get_spreader_conductance_top_bottom_nonuniform ( HeatSink_t hsink,
ChipDimension_t  area 
)
Returns
the thermal conductance along the z axis of a heat spreader cell in the non-uniform scenario

Definition at line 415 of file heat_sink.c.

◆ heat_sink_calloc()

HeatSink_t * heat_sink_calloc ( void  )

Allocates memory for a structure of type HeatSink_t

The content of the new structure is set to default values calling heat_sink_init

Returns
the pointer to the new structure
NULL if the memory allocation fails

Definition at line 128 of file heat_sink.c.

◆ heat_sink_clone()

HeatSink_t * heat_sink_clone ( HeatSink_t hsink)

Allocates memory for a new copy of the structure hsink

Parameters
hsinkthe address of the structure to clone
Returns
a pointer to a new structure
NULL if the memory allocation fails
NULL if the parameter hsink is NULL

Definition at line 141 of file heat_sink.c.

◆ heat_sink_conductance()

Conductance_t heat_sink_conductance ( HeatSink_t hsink,
Dimensions_t dimensions,
CellIndex_t  row_index,
CellIndex_t  column_index 
)

Returns the conductance of the heat sink in a given position

Parameters
hsinkthe address of the heat sink structure
dimensionspointer to the structure storing the dimensions
row_indexthe index of the row
column_indexthe index of the column
Returns
the top conductance of the thermal cell in position (layer_index , row_index , column_index ).

Definition at line 171 of file heat_sink.c.

◆ heat_sink_copy()

void heat_sink_copy ( HeatSink_t dst,
HeatSink_t src 
)

Copies the structure src into dst , as an assignement

The function destroys the content of dst and then makes the copy

Parameters
dstthe address of the left term sructure (destination)
srcthe address of the right term structure (source)

Definition at line 89 of file heat_sink.c.

◆ heat_sink_destroy()

void heat_sink_destroy ( HeatSink_t hsink)

Destroys the content of the fields of the structure hsink

The function releases any dynamic memory used by the structure and resets its state calling heat_sink_init .

Parameters
hsinkthe address of the structure to destroy

Definition at line 117 of file heat_sink.c.

◆ heat_sink_free()

void heat_sink_free ( HeatSink_t hsink)

Frees the memory space pointed by hsink

The function destroys the structure hsink and then frees its memory. The pointer hsink must have been returned by a previous call to heat_sink_calloc or heat_sink_clone .

If hsink is NULL, no operation is performed.

Parameters
hsinkthe pointer to free

Definition at line 158 of file heat_sink.c.

◆ heat_sink_init()

void heat_sink_init ( HeatSink_t hsink)

Inits the fields of the hsink structure with default values

Parameters
hsinkthe address of the structure to initalize

Definition at line 51 of file heat_sink.c.

◆ heat_sink_print()

void heat_sink_print ( HeatSink_t hsink,
FILE *  stream,
String_t  prefix 
)

Prints the heat sink declaration as it looks in the stack file

Parameters
hsinkthe address of the structure to print
streamthe output stream (must be already open)
prefixa string to be printed as prefix at the beginning of each line

Definition at line 188 of file heat_sink.c.

◆ initialize_heat_spreader()

Error_t initialize_heat_spreader ( HeatSink_t hsink,
Dimensions_t chip 
)

Computes the spreader number of cells based on the chip dimensions

Parameters
hsinkthe heatsink
chipthe chip dimensions

Definition at line 280 of file heat_sink.c.

◆ initialize_pluggable_heatsink()

Error_t initialize_pluggable_heatsink ( HeatSink_t hsink,
Analysis_t analysis 
)

Initializies the pluggable heatsink

Parameters
hsinkthe heatsink
analysisthe analysis

Definition at line 363 of file heat_sink.c.