3D-ICE
3.0.0
include
non_uniform_cell.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 _NON_UNIFORM_CELL_H_
39
#define _NON_UNIFORM_CELL_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
Non_uniform_cell_t
56
{
57
CellIndex_t
layer_info;
58
ChipDimension_t
left_x;
59
ChipDimension_t
left_y;
60
ChipDimension_t
length;
61
ChipDimension_t
width;
62
CellIndex_t
isChannel;
63
};
64
65
typedef
struct
Non_uniform_cell_t
Non_uniform_cell_t
;
66
67
/******************************************************************************/
78
void
non_uniform_cell_init
(
Non_uniform_cell_t
*non_uniform_cell) ;
79
void
non_uniform_cell_destroy (
Non_uniform_cell_t
*non_uniform_cell) ;
80
void
non_uniform_cell_free (
Non_uniform_cell_t
*non_uniform_cell);
81
void
non_uniform_cell_copy (
Non_uniform_cell_t
*dst,
Non_uniform_cell_t
*src) ;
82
bool
non_uniform_cell_equal (
Non_uniform_cell_t
*non_uniform_cell,
Non_uniform_cell_t
*other) ;
83
void
non_uniform_cell_print (
Non_uniform_cell_t
*non_uniform_cell, FILE *stream,
String_t
prefix) ;
84
85
/******************************************************************************/
86
87
#ifdef __cplusplus
88
}
89
#endif
90
#endif
/* _NON_UNIFORM_CELL_H_ */
non_uniform_cell_init
void non_uniform_cell_init(Non_uniform_cell_t *non_uniform_cell)
Definition:
non_uniform_cell.c:43
string_t.h
String_t
char * String_t
Definition:
string_t.h:55
Non_uniform_cell_t
Definition:
non_uniform_cell.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