3D-ICE 3.0.0
|
#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_t * | heat_sink_calloc (void) |
HeatSink_t * | heat_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 struct HeatSink_t HeatSink_t |
Definition of the type HeatSink_t
Definition at line 143 of file heat_sink.h.
Capacity_t get_spreader_capacity | ( | HeatSink_t * | hsink | ) |
Definition at line 377 of file heat_sink.c.
Conductance_t get_spreader_conductance_east_west | ( | HeatSink_t * | hsink | ) |
Definition at line 387 of file heat_sink.c.
Conductance_t get_spreader_conductance_north_south | ( | HeatSink_t * | hsink | ) |
Definition at line 396 of file heat_sink.c.
Conductance_t get_spreader_conductance_top_bottom | ( | HeatSink_t * | hsink | ) |
Definition at line 405 of file heat_sink.c.
Conductance_t get_spreader_conductance_top_bottom_nonuniform | ( | HeatSink_t * | hsink, |
ChipDimension_t | area | ||
) |
Definition at line 415 of file heat_sink.c.
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
NULL
if the memory allocation fails Definition at line 128 of file heat_sink.c.
HeatSink_t * heat_sink_clone | ( | HeatSink_t * | hsink | ) |
Allocates memory for a new copy of the structure hsink
hsink | the address of the structure to clone |
NULL
if the memory allocation fails NULL
if the parameter hsink is NULL
Definition at line 141 of file heat_sink.c.
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
hsink | the address of the heat sink structure |
dimensions | pointer to the structure storing the dimensions |
row_index | the index of the row |
column_index | the index of the column |
Definition at line 171 of file heat_sink.c.
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
dst | the address of the left term sructure (destination) |
src | the address of the right term structure (source) |
Definition at line 89 of file heat_sink.c.
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 .
hsink | the address of the structure to destroy |
Definition at line 117 of file heat_sink.c.
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.
hsink | the pointer to free |
Definition at line 158 of file heat_sink.c.
void heat_sink_init | ( | HeatSink_t * | hsink | ) |
Inits the fields of the hsink structure with default values
hsink | the address of the structure to initalize |
Definition at line 51 of file heat_sink.c.
void heat_sink_print | ( | HeatSink_t * | hsink, |
FILE * | stream, | ||
String_t | prefix | ||
) |
Prints the heat sink declaration as it looks in the stack file
hsink | the address of the structure to print |
stream | the output stream (must be already open) |
prefix | a string to be printed as prefix at the beginning of each line |
Definition at line 188 of file heat_sink.c.
Error_t initialize_heat_spreader | ( | HeatSink_t * | hsink, |
Dimensions_t * | chip | ||
) |
Computes the spreader number of cells based on the chip dimensions
hsink | the heatsink |
chip | the chip dimensions |
Definition at line 280 of file heat_sink.c.
Error_t initialize_pluggable_heatsink | ( | HeatSink_t * | hsink, |
Analysis_t * | analysis | ||
) |
Initializies the pluggable heatsink
hsink | the heatsink |
analysis | the analysis |
Definition at line 363 of file heat_sink.c.