3D-ICE 3.0.0
types.h
Go to the documentation of this file.
1/******************************************************************************
2 * This file is part of 3D-ICE, version 3.1.0 . *
3 * *
4 * 3D-ICE is free software: you can redistribute it and/or modify it under *
5 * the terms of the GNU General Public License as published by the Free *
6 * Software Foundation, either version 3 of the License, or any later *
7 * version. *
8 * *
9 * 3D-ICE is distributed in the hope that it will be useful, but WITHOUT *
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
12 * more details. *
13 * *
14 * You should have received a copy of the GNU General Public License along *
15 * with 3D-ICE. If not, see <http://www.gnu.org/licenses/>. *
16 * *
17 * Copyright (C) 2021 *
18 * Embedded Systems Laboratory - Ecole Polytechnique Federale de Lausanne *
19 * All Rights Reserved. *
20 * *
21 * Authors: Arvind Sridhar Alessandro Vincenzi *
22 * Giseong Bak Martino Ruggiero *
23 * Thomas Brunschwiler Eder Zulian *
24 * Federico Terraneo Darong Huang *
25 * Luis Costero Marina Zapater *
26 * David Atienza *
27 * *
28 * For any comment, suggestion or request about 3D-ICE, please register and *
29 * write to the mailing list (see http://listes.epfl.ch/doc.cgi?liste=3d-ice) *
30 * Any usage of 3D-ICE for research, commercial or other purposes must be *
31 * properly acknowledged in the resulting products or publications. *
32 * *
33 * EPFL-STI-IEL-ESL Mail : 3d-ice@listes.epfl.ch *
34 * Batiment ELG, ELG 130 (SUBSCRIPTION IS NECESSARY) *
35 * Station 11 *
36 * 1015 Lausanne, Switzerland Url : http://esl.epfl.ch/3d-ice *
37 ******************************************************************************/
38
39#ifndef _3DICE_TYPES_H_
40#define _3DICE_TYPES_H_
41
44#ifdef __cplusplus
45extern "C"
46{
47#endif
48
49#include <stdint.h>
50
51/******************************************************************************/
52
53
54
59 typedef uint32_t Quantity_t ;
60
61
62
65 typedef double Time_t ;
66
67
68
71 typedef double Temperature_t ;
72
73
74
77 typedef double Source_t ;
78
79
80
83 typedef double Power_t ;
84
85
86
91 typedef double AmbientHTC_t ;
92
93
94
99 typedef double SolidVHC_t ;
100
101
102
107 typedef double SolidTC_t ;
108
109
110
113 typedef double Conductance_t ;
114
115
116
119 typedef double Capacity_t ;
120
121
122
125 typedef double SystemMatrixCoeff_t ;
126
127
128
133 typedef double CoolantHTC_t ;
134
135
136
141 typedef double CoolantVHC_t ;
142
143
144
149 typedef double CoolantFR_t ;
150
151
152
157 typedef double DarcyVelocity_t ;
158
159
160
165 typedef double Cconv_t ;
166
167
168
169/******************************************************************************/
170
171
172
177 typedef double CellDimension_t ;
178
179
180
187 typedef double ChipDimension_t ;
188
189
190
196 typedef double SpreaderDimension_t ;
197
198
199
205 typedef double ChannelDimension_t ;
206
207
208
213 typedef uint32_t CellIndex_t ;
214
215
216/******************************************************************************/
217
224 {
229 } ;
230
234
235/******************************************************************************/
236
243 {
247
251
255
259
263
267
271
275
279
283
287
291
295
299
303
307
311 } ;
312
316
317/******************************************************************************/
318
325 {
330 } ;
331
335
336/******************************************************************************/
337
346 {
352 } ;
353
357
358
359
366# define NUM_LAYERS_CHANNEL_4RM 1
367
374# define NUM_LAYERS_CHANNEL_2RM 4
375
382# define SOURCE_OFFSET_CHANNEL_4RM 0
383
390# define SOURCE_OFFSET_CHANNEL_2RM 2
391
392/******************************************************************************/
393
401 {
404 } ;
405
408 typedef enum Error_t Error_t ;
409
410
411
418 {
422
426
430
434
438 } ;
439
440
441
445
446/******************************************************************************/
447
455 {
459 } ;
460
461
462
466
467
468
477 {
483 } ;
484
485
486
490
491
492
500 {
508 } ;
509
510
511
515
516
517
525 {
530 } ;
531
532
533
537
538/******************************************************************************/
539
542 typedef int NetworkSocket_t ;
543
544
545
548 typedef uint16_t PortNumber_t ;
549
550
551
559 {
570
571
572
583
584
585
625
626
627
640
641
642
655
656
657
673
674
675
689
690
691
705 } ;
706
707
708
712
713
714
717 typedef uint32_t MessageWord_t ;
718
719/******************************************************************************/
720
721#ifdef __cplusplus
722}
723#endif
724
725#endif /* _3DICE_TYPES_H_ */
double SolidVHC_t
Definition: types.h:99
double Capacity_t
Definition: types.h:119
double AmbientHTC_t
Definition: types.h:91
int NetworkSocket_t
Definition: types.h:542
double CoolantFR_t
Definition: types.h:149
double SystemMatrixCoeff_t
Definition: types.h:125
double Conductance_t
Definition: types.h:113
Error_t
Definition: types.h:401
@ TDICE_SUCCESS
The function returns with success.
Definition: types.h:402
@ TDICE_FAILURE
The function retuerns with a generic error.
Definition: types.h:403
double CoolantHTC_t
Definition: types.h:133
OutputType_t
Definition: types.h:500
@ TDICE_OUTPUT_TYPE_TFLPEL
A single floorplan element.
Definition: types.h:504
@ TDICE_OUTPUT_TYPE_TCOOLANT
The coolant leaving the cavity.
Definition: types.h:507
@ TDICE_OUTPUT_TYPE_TCELL
Single thermal cell.
Definition: types.h:502
@ TDICE_OUTPUT_TYPE_TFLP
All the element in a floorplan.
Definition: types.h:503
@ TDICE_OUTPUT_TYPE_PMAP
The power map of a die (its floorplan)
Definition: types.h:506
@ TDICE_OUTPUT_TYPE_TMAP
The thermal map of a stack element.
Definition: types.h:505
@ TDICE_OUTPUT_TYPE_NONE
Undefined object.
Definition: types.h:501
double Cconv_t
Definition: types.h:165
uint32_t MessageWord_t
Definition: types.h:717
StackLayerType_t
Definition: types.h:243
@ TDICE_LAYER_CHANNEL_2RM
Definition: types.h:286
@ TDICE_LAYER_CHANNEL_4RM
Definition: types.h:282
@ TDICE_LAYER_SOURCE_CONNECTED_TO_SPREADER
Definition: types.h:274
@ TDICE_LAYER_SOLID_CONNECTED_TO_AMBIENT
Definition: types.h:258
@ TDICE_LAYER_SOLID_CONNECTED_TO_SPREADER
Definition: types.h:262
@ TDICE_LAYER_NONE
Definition: types.h:246
@ TDICE_LAYER_SOURCE_CONNECTED_TO_PCB
Definition: types.h:278
@ TDICE_LAYER_PINFINS_STAGGERED
Definition: types.h:294
@ TDICE_LAYER_SOLID
Definition: types.h:250
@ TDICE_LAYER_SOLID_CONNECTED_TO_PCB
Definition: types.h:266
@ TDICE_LAYER_SOURCE
Definition: types.h:254
@ TDICE_LAYER_SOURCE_CONNECTED_TO_AMBIENT
Definition: types.h:270
@ TDICE_LAYER_PINFINS_INLINE
Definition: types.h:290
@ TDICE_LAYER_BOTTOM_WALL
Definition: types.h:310
@ TDICE_LAYER_VWALL_CHANNEL
Definition: types.h:298
@ TDICE_LAYER_VWALL_PINFINS
Definition: types.h:302
@ TDICE_LAYER_TOP_WALL
Definition: types.h:306
double SolidTC_t
Definition: types.h:107
OutputInstant_t
Definition: types.h:525
@ TDICE_OUTPUT_INSTANT_FINAL
At the end of the simulation.
Definition: types.h:527
@ TDICE_OUTPUT_INSTANT_STEP
At every internal time step.
Definition: types.h:529
@ TDICE_OUTPUT_INSTANT_NONE
Undefined instant.
Definition: types.h:526
@ TDICE_OUTPUT_INSTANT_SLOT
At the end of each time slot.
Definition: types.h:528
ChannelModel_t
Definition: types.h:346
@ TDICE_CHANNEL_MODEL_PF_INLINE
Inline pin fins - 2 Resistors model.
Definition: types.h:350
@ TDICE_CHANNEL_MODEL_PF_STAGGERED
Staggered pin fins - 2 Resistors model.
Definition: types.h:351
@ TDICE_CHANNEL_MODEL_NONE
Undefined type.
Definition: types.h:347
@ TDICE_CHANNEL_MODEL_MC_4RM
Microchannel - 4 Resistors model.
Definition: types.h:348
@ TDICE_CHANNEL_MODEL_MC_2RM
Microchannel - 2 Resistors model.
Definition: types.h:349
double SpreaderDimension_t
Definition: types.h:196
double Time_t
Definition: types.h:65
double ChipDimension_t
Definition: types.h:187
double ChannelDimension_t
Definition: types.h:205
double Temperature_t
Definition: types.h:71
OutputQuantity_t
Definition: types.h:477
@ TDICE_OUTPUT_QUANTITY_AVERAGE
Average temperature.
Definition: types.h:479
@ TDICE_OUTPUT_QUANTITY_MINIMUM
Minimum temperature.
Definition: types.h:481
@ TDICE_OUTPUT_QUANTITY_MAXIMUM
Maximum temperature.
Definition: types.h:480
@ TDICE_OUTPUT_QUANTITY_NONE
Undefined type.
Definition: types.h:478
@ TDICE_OUTPUT_QUANTITY_GRADIENT
Maximum - Minimum temperature.
Definition: types.h:482
double Source_t
Definition: types.h:77
MessageType_t
Definition: types.h:559
@ TDICE_RESET_THERMAL_STATE
Reset thermal state to initial temperature.
Definition: types.h:582
@ TDICE_SIMULATE_STEP
Tells the server to run a step.
Definition: types.h:704
@ TDICE_EXIT_SIMULATION
Forces the server to terminate.
Definition: types.h:569
@ TDICE_PRINT_OUTPUT
Request to print thermal state at a specific instant.
Definition: types.h:639
@ TDICE_TOTAL_NUMBER_OF_FLOORPLAN_ELEMENTS
Request for the total number of florplan elements in the stack.
Definition: types.h:654
@ TDICE_INSERT_POWERS
Insert a slot of power values into the power queues.
Definition: types.h:672
@ TDICE_SEND_OUTPUT
Request a message with the thermal state at a specific instant.
Definition: types.h:624
@ TDICE_SIMULATE_SLOT
Tells the server to run a slot.
Definition: types.h:688
double DarcyVelocity_t
Definition: types.h:157
double CellDimension_t
Definition: types.h:177
AnalysisType_t
Definition: types.h:455
@ TDICE_ANALYSIS_TYPE_TRANSIENT
Transient analysis.
Definition: types.h:457
@ TDICE_ANALYSIS_TYPE_NONE
Undefined analysis type.
Definition: types.h:456
@ TDICE_ANALYSIS_TYPE_STEADY
Steady state analysis.
Definition: types.h:458
StackElementType_t
Definition: types.h:325
@ TDICE_STACK_ELEMENT_NONE
Undefined type.
Definition: types.h:326
@ TDICE_STACK_ELEMENT_LAYER
Layer.
Definition: types.h:327
@ TDICE_STACK_ELEMENT_CHANNEL
Channel.
Definition: types.h:328
@ TDICE_STACK_ELEMENT_DIE
Die.
Definition: types.h:329
double CoolantVHC_t
Definition: types.h:141
uint32_t Quantity_t
Definition: types.h:59
uint16_t PortNumber_t
Definition: types.h:548
double Power_t
Definition: types.h:83
uint32_t CellIndex_t
Definition: types.h:213
HeatSinkModel_t
Definition: types.h:224
@ TDICE_HEATSINK_BOTTOM
Bottom heat sink (bottom-most layer)
Definition: types.h:227
@ TDICE_HEATSINK_TOP
Top heat sink (top-most layer)
Definition: types.h:226
@ TDICE_HEATSINK_NONE
Undefined type.
Definition: types.h:225
@ TDICE_HEATSINK_TOP_PLUGGABLE
Top pluggable heat sink.
Definition: types.h:228
SimResult_t
Definition: types.h:418
@ TDICE_END_OF_SIMULATION
Definition: types.h:421
@ TDICE_SOLVER_ERROR
Definition: types.h:429
@ TDICE_SLOT_DONE
Definition: types.h:437
@ TDICE_WRONG_CONFIG
Definition: types.h:425
@ TDICE_STEP_DONE
Definition: types.h:433