3D-ICE 3.0.0
floorplan.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_FLOORPLAN_H_
40#define _3DICE_FLOORPLAN_H_
41
44#ifdef __cplusplus
45extern "C"
46{
47#endif
48
49/******************************************************************************/
50
51#include <stdio.h> // For the file type FILE
52
53#include "types.h"
54#include "string_t.h"
55
56#include "dimensions.h"
57#include "floorplan_matrix.h"
58#include "floorplan_element_list.h"
59#include "powers_queue.h"
60
61/******************************************************************************/
62
69 {
73
77
80 FloorplanElementList_t ElementsList ;
81
86
91 } ;
92
95 typedef struct Floorplan_t Floorplan_t ;
96
97
98
99/******************************************************************************/
100
101
102
108 void floorplan_init (Floorplan_t *floorplan) ;
109
110
111
120 void floorplan_copy (Floorplan_t *dst, Floorplan_t *src) ;
121
122
123
132 void floorplan_destroy (Floorplan_t *floorplan) ;
133
134
135
146
147
148
159
160
161
173 void floorplan_free (Floorplan_t *floorplan) ;
174
175
176
184 void floorplan_print (Floorplan_t *floorplan, FILE *stream, String_t prefix) ;
185
186
187
200
201 (Floorplan_t *floorplan, Dimensions_t *dimensions, String_t file_name) ;
202
203
204
218 Error_t fill_sources_floorplan (Floorplan_t *floorplan, Source_t *sources) ;
219
220
221
230
231 (Floorplan_t *floorplan) ;
232
233
234
246
247 (Floorplan_t *floorplan, String_t floorplan_element_id) ;
248
249
250
268
269 (Floorplan_t *floorplan, PowersQueue_t *pvalues) ;
270
271
272
291 (
292 Floorplan_t *floorplan,
293 Dimensions_t *dimensions,
294 Temperature_t *temperatures,
295 Quantity_t *n_floorplan_elements,
296 Temperature_t *max_temperatures
297 ) ;
298
299
300
319 (
320 Floorplan_t *floorplan,
321 Dimensions_t *dimensions,
322 Temperature_t *temperatures,
323 Quantity_t *n_floorplan_elements,
324 Temperature_t *min_temperatures
325 ) ;
326
327
328
347 (
348 Floorplan_t *floorplan,
349 Dimensions_t *dimensions,
350 Temperature_t *temperatures,
351 Quantity_t *n_floorplan_elements,
352 Temperature_t *avg_temperatures
353 ) ;
354
355
356
375 (
376 Floorplan_t *floorplan,
377 Dimensions_t *dimensions,
378 Temperature_t *temperatures,
379 Quantity_t *n_floorplan_elements,
380 Temperature_t *gradient_temperatures
381 ) ;
382
383/******************************************************************************/
384
385#ifdef __cplusplus
386}
387#endif
388
389#endif /* _3DICE_FLOORPLAN_H_ */
Floorplan_t * floorplan_calloc(void)
Definition: floorplan.c:109
FloorplanElement_t * get_floorplan_element(Floorplan_t *floorplan, String_t floorplan_element_id)
Definition: floorplan.c:245
void floorplan_print(Floorplan_t *floorplan, FILE *stream, String_t prefix)
Definition: floorplan.c:152
Error_t fill_sources_floorplan(Floorplan_t *floorplan, Source_t *sources)
Definition: floorplan.c:267
void floorplan_free(Floorplan_t *floorplan)
Definition: floorplan.c:139
void floorplan_copy(Floorplan_t *dst, Floorplan_t *src)
Definition: floorplan.c:60
Temperature_t * get_all_gradient_temperatures_floorplan(Floorplan_t *floorplan, Dimensions_t *dimensions, Temperature_t *temperatures, Quantity_t *n_floorplan_elements, Temperature_t *gradient_temperatures)
Definition: floorplan.c:447
Quantity_t get_number_of_floorplan_elements_floorplan(Floorplan_t *floorplan)
Definition: floorplan.c:237
void floorplan_destroy(Floorplan_t *floorplan)
Definition: floorplan.c:93
Floorplan_t * floorplan_clone(Floorplan_t *floorplan)
Definition: floorplan.c:122
Error_t insert_power_values_floorplan(Floorplan_t *floorplan, PowersQueue_t *pvalues)
Definition: floorplan.c:298
Temperature_t * get_all_min_temperatures_floorplan(Floorplan_t *floorplan, Dimensions_t *dimensions, Temperature_t *temperatures, Quantity_t *n_floorplan_elements, Temperature_t *min_temperatures)
Definition: floorplan.c:366
Temperature_t * get_all_avg_temperatures_floorplan(Floorplan_t *floorplan, Dimensions_t *dimensions, Temperature_t *temperatures, Quantity_t *n_floorplan_elements, Temperature_t *avg_temperatures)
Definition: floorplan.c:406
Error_t fill_floorplan(Floorplan_t *floorplan, Dimensions_t *dimensions, String_t file_name)
Definition: floorplan.c:171
void floorplan_init(Floorplan_t *floorplan)
Definition: floorplan.c:47
Temperature_t * get_all_max_temperatures_floorplan(Floorplan_t *floorplan, Dimensions_t *dimensions, Temperature_t *temperatures, Quantity_t *n_floorplan_elements, Temperature_t *max_temperatures)
Definition: floorplan.c:326
char * String_t
Definition: string_t.h:55
Collections of all the structures that are needed for the thermal simulation.
Definition: dimensions.h:311
Structure containing information about a floorplan element.
Structure representing the matrix storing the coefficients of the floorplans tha scales power values ...
The floorplan representing the IC as a set of floorplan elements.
Definition: floorplan.h:69
FloorplanMatrix_t SurfaceCoefficients
Definition: floorplan.h:85
Quantity_t NElements
Definition: floorplan.h:76
String_t FileName
Definition: floorplan.h:72
Power_t * Bpowers
Definition: floorplan.h:90
FloorplanElementList_t ElementsList
Definition: floorplan.h:80
A First In - First Out circular queue to store power values.
Definition: powers_queue.h:63
Error_t
Definition: types.h:401
double Temperature_t
Definition: types.h:71
double Source_t
Definition: types.h:77
uint32_t Quantity_t
Definition: types.h:59
double Power_t
Definition: types.h:83