3D-ICE 3.0.0
die.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_DIE_H_
40#define _3DICE_DIE_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 "floorplan.h"
57#include "layer_list.h"
58
59/******************************************************************************/
60
69 struct Die_t
70 {
74
78
82
90 LayerList_t Layers ;
91
95
99
103
104 } ;
105
108 typedef struct Die_t Die_t ;
109
110
111
112/******************************************************************************/
113
114
115
121 void die_init (Die_t *die) ;
122
123
124
133 void die_copy (Die_t *dst, Die_t *src) ;
134
135
136
145 void die_destroy (Die_t *die) ;
146
147
148
158 Die_t *die_calloc ( void ) ;
159
160
161
171 Die_t *die_clone (Die_t *die) ;
172
173
174
186 void die_free (Die_t *die) ;
187
188
189
199 bool die_same_id (Die_t *die, Die_t *other) ;
200
201
202
211 void die_print (Die_t *die, FILE *stream, String_t prefix) ;
212
213/******************************************************************************/
214
215#ifdef __cplusplus
216}
217#endif
218
219#endif /* _3DICE_DIE_H_ */
void die_print(Die_t *die, FILE *stream, String_t prefix)
Definition: die.c:142
void die_copy(Die_t *dst, Die_t *src)
Definition: die.c:62
void die_destroy(Die_t *die)
Definition: die.c:81
Die_t * die_calloc(void)
Definition: die.c:92
bool die_same_id(Die_t *die, Die_t *other)
Definition: die.c:135
void die_free(Die_t *die)
Definition: die.c:122
Die_t * die_clone(Die_t *die)
Definition: die.c:105
void die_init(Die_t *die)
Definition: die.c:45
char * String_t
Definition: string_t.h:55
Structure used to store data about the dies that compose the 2D/3D stack.
Definition: die.h:70
String_t Id
Definition: die.h:73
CellIndex_t NLayers
Definition: die.h:77
CellIndex_t SourceLayerOffset
Definition: die.h:81
Floorplan_t Floorplan
Definition: die.h:94
CellIndex_t Discr_X
Definition: die.h:98
LayerList_t Layers
Definition: die.h:90
CellIndex_t Discr_Y
Definition: die.h:102
The floorplan representing the IC as a set of floorplan elements.
Definition: floorplan.h:69
uint32_t CellIndex_t
Definition: types.h:213