3D-ICE 3.0.0
inspection_point.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_INSPECTION_POINT_H_
40#define _3DICE_INSPECTION_POINT_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_element.h"
58#include "stack_element.h"
59#include "network_message.h"
60
61/******************************************************************************/
62
70 {
74
78
82
86
90
94
98
102
106
110
115
119 } ;
120
124
125
126
127/******************************************************************************/
128
129
130
137
138
139
149
151
152
153
163
164
165
176
177
178
189
190
191
205
206
207
218
219 (InspectionPoint_t *ipoint, InspectionPoint_t *other) ;
220
221
222
232
233 (InspectionPoint_t *ipoint, FILE *stream, String_t prefix) ;
234
235
236
249 void align_tcell
250 (
251 InspectionPoint_t *ipoint,
252 ChipDimension_t xval,
253 ChipDimension_t yval,
254 Dimensions_t *dimensions
255 ) ;
256
257
258
270 (
271 InspectionPoint_t *ipoint,
272 OutputType_t type,
273 OutputQuantity_t quantity
274 ) ;
275
276
277
289
290 (InspectionPoint_t *ipoint, Dimensions_t *dimensions, String_t prefix) ;
291
292
293
306 (
307 InspectionPoint_t *ipoint,
308 Dimensions_t *dimensions,
309 Temperature_t *temperatures,
310 Source_t *sources,
311 Time_t current_time
312 ) ;
313
314
315
327 (
328 InspectionPoint_t *ipoint,
329 OutputQuantity_t output_quantity,
330 Dimensions_t *dimensions,
331 Temperature_t *temperatures,
332 Source_t *sources,
333 NetworkMessage_t *message
334 ) ;
335
336/******************************************************************************/
337
338#ifdef __cplusplus
339}
340#endif
341
342#endif /* _3DICE_INSPECTION_POINT_H_ */
InspectionPoint_t * inspection_point_calloc(void)
bool inspection_point_same_filename(InspectionPoint_t *ipoint, InspectionPoint_t *other)
Error_t generate_inspection_point_output(InspectionPoint_t *ipoint, Dimensions_t *dimensions, Temperature_t *temperatures, Source_t *sources, Time_t current_time)
InspectionPoint_t * inspection_point_clone(InspectionPoint_t *ipoint)
void inspection_point_free(InspectionPoint_t *ipoint)
Error_t generate_inspection_point_header(InspectionPoint_t *ipoint, Dimensions_t *dimensions, String_t prefix)
void inspection_point_print(InspectionPoint_t *ipoint, FILE *stream, String_t prefix)
void inspection_point_destroy(InspectionPoint_t *ipoint)
void align_tcell(InspectionPoint_t *ipoint, ChipDimension_t xval, ChipDimension_t yval, Dimensions_t *dimensions)
void fill_message_inspection_point(InspectionPoint_t *ipoint, OutputQuantity_t output_quantity, Dimensions_t *dimensions, Temperature_t *temperatures, Source_t *sources, NetworkMessage_t *message)
bool is_inspection_point(InspectionPoint_t *ipoint, OutputType_t type, OutputQuantity_t quantity)
void inspection_point_init(InspectionPoint_t *ipoint)
void inspection_point_copy(InspectionPoint_t *dst, InspectionPoint_t *src)
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 containing info about the output to be printed while simulating.
FloorplanElement_t * FloorplanElement
OutputQuantity_t Quantity
OutputInstant_t Instant
ChipDimension_t Yval
CellIndex_t ColumnIndex
StackElement_t * StackElement
ChipDimension_t Xval
ChipDimension_t ActualXval
ChipDimension_t ActualYval
OutputType_t OType
Structure used to store messages to be sent over network.
Structure used to store data about the stack element that compose the 2D/3D stack.
Definition: stack_element.h:93
Error_t
Definition: types.h:401
OutputType_t
Definition: types.h:500
OutputInstant_t
Definition: types.h:525
double Time_t
Definition: types.h:65
double ChipDimension_t
Definition: types.h:187
double Temperature_t
Definition: types.h:71
OutputQuantity_t
Definition: types.h:477
double Source_t
Definition: types.h:77
uint32_t CellIndex_t
Definition: types.h:213