3D-ICE 3.0.0
floorplan_element.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_ELEMENT_H_
40#define _3DICE_FLOORPLAN_ELEMENT_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 "ic_element_list.h"
58#include "powers_queue.h"
59
60/******************************************************************************/
61
69 {
73
78
82 ICElementList_t ICElements ;
83
88
93 } ;
94
98
99
100
101/******************************************************************************/
102
103
104
111
112
113
123
125
126
127
137
138
139
150
151
152
163
164
165
179
180
181
192
193 (FloorplanElement_t *flpel, FloorplanElement_t *other) ;
194
195
196
207
208 (FloorplanElement_t *flpel, FILE *stream, String_t prefix) ;
209
210
211
225 (
226 FloorplanElement_t *flpel,
227 Dimensions_t *dimensions,
228 Temperature_t *temperatures
229 ) ;
230
231
232
246 (
247 FloorplanElement_t *flpel,
248 Dimensions_t *dimensions,
249 Temperature_t *temperatures
250 ) ;
251
252
253
267 (
268 FloorplanElement_t *flpel,
269 Dimensions_t *dimensions,
270 Temperature_t *temperatures
271 ) ;
272
273
274
288 (
289 FloorplanElement_t *flpel,
290 Dimensions_t *dimensions,
291 Temperature_t *temperatures
292 ) ;
293
294
295
308
309 (FloorplanElement_t *flpel, PowersQueue_t *pvalues) ;
310
311/******************************************************************************/
312
313#ifdef __cplusplus
314}
315#endif
316
317#endif /* _3DICE_FLOORPLAN_ELEMENT_H_ */
Temperature_t get_gradient_temperature_floorplan_element(FloorplanElement_t *flpel, Dimensions_t *dimensions, Temperature_t *temperatures)
Temperature_t get_min_temperature_floorplan_element(FloorplanElement_t *flpel, Dimensions_t *dimensions, Temperature_t *temperatures)
void floorplan_element_print(FloorplanElement_t *flpel, FILE *stream, String_t prefix)
FloorplanElement_t * floorplan_element_calloc(void)
void floorplan_element_init(FloorplanElement_t *flpel)
Error_t insert_power_values_floorplan_element(FloorplanElement_t *flpel, PowersQueue_t *pvalues)
void floorplan_element_copy(FloorplanElement_t *dst, FloorplanElement_t *src)
FloorplanElement_t * floorplan_element_clone(FloorplanElement_t *flpel)
bool floorplan_element_same_id(FloorplanElement_t *flpel, FloorplanElement_t *other)
Temperature_t get_avg_temperature_floorplan_element(FloorplanElement_t *flpel, Dimensions_t *dimensions, Temperature_t *temperatures)
void floorplan_element_destroy(FloorplanElement_t *flpel)
void floorplan_element_free(FloorplanElement_t *flpel)
Temperature_t get_max_temperature_floorplan_element(FloorplanElement_t *flpel, Dimensions_t *dimensions, Temperature_t *temperatures)
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.
ChipDimension_t Area
PowersQueue_t * PowerValues
ICElementList_t ICElements
A First In - First Out circular queue to store power values.
Definition: powers_queue.h:63
Error_t
Definition: types.h:401
double ChipDimension_t
Definition: types.h:187
double Temperature_t
Definition: types.h:71
uint32_t Quantity_t
Definition: types.h:59