3D-ICE
3.0.0
include
connection.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
#ifndef _CONNECTION_H_
39
#define _CONNECTION_H_
40
43
#ifdef __cplusplus
44
extern
"C"
45
{
46
#endif
47
48
/******************************************************************************/
49
#include <stdio.h>
// For the file type FILE
50
#include "
types.h
"
51
#include "
string_t.h
"
52
53
/******************************************************************************/
54
55
struct
Connection_t
56
{
57
CellIndex_t
node1;
58
CellIndex_t
node1_layer;
59
CellIndex_t
node2;
60
CellIndex_t
node2_layer;
61
CellIndex_t
direction;
// connection direction in z (top bottom =0), x (west, east =1), or y (north south=2);
62
ChipDimension_t
value;
// connection value, it is intercoonect length if two nodes in the same layer, otherwise, it is the area
63
};
64
65
typedef
struct
Connection_t
Connection_t
;
66
67
/******************************************************************************/
78
void
connection_init
(
Connection_t
*connection) ;
79
void
connection_destroy (
Connection_t
*connection) ;
80
void
connection_free (
Connection_t
*connection);
81
void
connection_copy (
Connection_t
*dst,
Connection_t
*src) ;
82
bool
connection_equal (
Connection_t
*connection,
Connection_t
*other) ;
83
void
connection_print (
Connection_t
*connection, FILE *stream,
String_t
prefix) ;
84
85
/******************************************************************************/
86
87
#ifdef __cplusplus
88
}
89
#endif
90
#endif
/* _CONNECTION_H_ */
connection_init
void connection_init(Connection_t *connection)
Definition:
connection.c:43
string_t.h
String_t
char * String_t
Definition:
string_t.h:55
Connection_t
Definition:
connection.h:56
types.h
ChipDimension_t
double ChipDimension_t
Definition:
types.h:187
CellIndex_t
uint32_t CellIndex_t
Definition:
types.h:213
Generated by
1.9.3