Limbo
3.5.4
Toggle main menu visibility
Loading...
Searching...
No Matches
test
parsers
lef
test_adapt.cpp
Go to the documentation of this file.
1
7
8
#include <iostream>
9
#include <fstream>
10
#include <string>
11
12
#include <
limbo/parsers/lef/adapt/LefDriver.h
>
13
14
using
std::cout;
15
using
std::endl;
16
using
std::string;
17
25
class
LefDataBase
:
public
LefParser::LefDataBase
26
{
27
public
:
29
typedef
LefParser::LefDataBase
base_type
;
30
32
LefDataBase
() :
base_type
()
33
{
34
cout <<
"constructing LefDataBase"
<< endl;
35
}
36
39
virtual
void
lef_version_cbk
(
string
const
& v)
40
{
41
cout <<
"lef version = "
<< v << endl;
42
}
43
45
virtual
void
lef_version_cbk
(
double
v)
46
{
47
cout <<
"lef version = "
<< v << endl;
48
}
49
51
virtual
void
lef_dividerchar_cbk
(
string
const
& v)
52
{
53
cout <<
"lef dividechar = "
<< v << endl;
54
}
55
57
virtual
void
lef_units_cbk
(LefParser::lefiUnits
const
& v)
58
{
59
v.print(stdout);
60
}
61
63
virtual
void
lef_manufacturing_cbk
(
double
v)
64
{
65
cout <<
"lef manufacturing = "
<< v << endl;
66
}
67
69
virtual
void
lef_useminspacing_cbk
(lefiUseMinSpacing
const
& v)
70
{
71
v.print(stdout);
72
}
73
75
virtual
void
lef_clearancemeasure_cbk
(
string
const
& v)
76
{
77
cout <<
"lef clearancemeasure = "
<< v << endl;
78
}
79
81
virtual
void
lef_busbitchars_cbk
(
string
const
& v)
82
{
83
cout <<
"lef busbitchars = "
<< v << endl;
84
}
85
87
virtual
void
lef_layer_cbk
(LefParser::lefiLayer
const
& v)
88
{
89
v.print(stdout);
90
}
91
93
virtual
void
lef_via_cbk
(LefParser::lefiVia
const
& v)
94
{
95
v.print(stdout);
96
}
97
99
virtual
void
lef_viarule_cbk
(LefParser::lefiViaRule
const
& v)
100
{
101
v.print(stdout);
102
}
103
105
virtual
void
lef_spacing_cbk
(LefParser::lefiSpacing
const
& v)
106
{
107
v.print(stdout);
108
}
109
111
virtual
void
lef_site_cbk
(LefParser::lefiSite
const
& v)
112
{
113
v.print(stdout);
114
}
115
117
virtual
void
lef_macrobegin_cbk
(std::string
const
& v)
118
{
119
cout << __func__ <<
" => "
<< v << endl;
120
}
121
123
virtual
void
lef_macro_cbk
(LefParser::lefiMacro
const
& v)
124
{
125
v.print(stdout);
126
}
127
129
virtual
void
lef_prop_cbk
(LefParser::lefiProp
const
& v)
130
{
131
v.print(stdout);
132
}
133
135
virtual
void
lef_maxstackvia_cbk
(LefParser::lefiMaxStackVia
const
& v)
136
{
137
v.print(stdout);
138
}
139
141
virtual
void
lef_obstruction_cbk
(LefParser::lefiObstruction
const
& v)
142
{
143
v.print(stdout);
144
}
145
147
virtual
void
lef_pin_cbk
(lefiPin
const
& v)
148
{
149
v.print(stdout);
150
}
151
};
152
154
void
test1
(std::string
const
& filename)
155
{
156
cout <<
"////////////// test1 ////////////////"
<< endl;
157
LefDataBase
db;
158
if
(
LefParser::read
(db, filename))
159
cout <<
"read successfully"
<< endl;
160
else
cout <<
"read failed"
<< endl;
161
}
162
167
int
main
(
int
argc,
char
** argv)
168
{
169
170
if
(argc > 1)
171
{
172
for
(
int
i = 1; i < argc; ++i)
173
test1
(argv[i]);
174
}
175
else
176
cout <<
"at least 1 argument is required"
<< endl;
177
178
return
0;
179
}
180
LefDriver.h
Driver for Lef parser.
LefDataBase
Custom class that inheritates LefParser::LefDataBase with all the required callbacks defined....
Definition
test_adapt.cpp:26
LefDataBase::lef_pin_cbk
virtual void lef_pin_cbk(lefiPin const &v)
pin callback, describe pins in a standard cell
Definition
test_adapt.cpp:147
LefDataBase::lef_spacing_cbk
virtual void lef_spacing_cbk(LefParser::lefiSpacing const &v)
spacing callback
Definition
test_adapt.cpp:105
LefDataBase::lef_dividerchar_cbk
virtual void lef_dividerchar_cbk(string const &v)
set divider characters
Definition
test_adapt.cpp:51
LefDataBase::lef_version_cbk
virtual void lef_version_cbk(string const &v)
set LEF version
Definition
test_adapt.cpp:39
LefDataBase::lef_site_cbk
virtual void lef_site_cbk(LefParser::lefiSite const &v)
site callback
Definition
test_adapt.cpp:111
LefDataBase::lef_layer_cbk
virtual void lef_layer_cbk(LefParser::lefiLayer const &v)
add layer
Definition
test_adapt.cpp:87
LefDataBase::lef_units_cbk
virtual void lef_units_cbk(LefParser::lefiUnits const &v)
set unit
Definition
test_adapt.cpp:57
LefDataBase::LefDataBase
LefDataBase()
constructor
Definition
test_adapt.cpp:32
LefDataBase::lef_version_cbk
virtual void lef_version_cbk(double v)
set LEF version
Definition
test_adapt.cpp:45
LefDataBase::lef_obstruction_cbk
virtual void lef_obstruction_cbk(LefParser::lefiObstruction const &v)
obstruction callback
Definition
test_adapt.cpp:141
LefDataBase::lef_busbitchars_cbk
virtual void lef_busbitchars_cbk(string const &v)
set bus bit characters
Definition
test_adapt.cpp:81
LefDataBase::base_type
LefParser::LefDataBase base_type
base type
Definition
test_adapt.cpp:29
LefDataBase::lef_prop_cbk
virtual void lef_prop_cbk(LefParser::lefiProp const &v)
property callback
Definition
test_adapt.cpp:129
LefDataBase::lef_macro_cbk
virtual void lef_macro_cbk(LefParser::lefiMacro const &v)
macro callback, describe standard cell type
Definition
test_adapt.cpp:123
LefDataBase::lef_clearancemeasure_cbk
virtual void lef_clearancemeasure_cbk(string const &v)
set clearance measure
Definition
test_adapt.cpp:75
LefDataBase::lef_viarule_cbk
virtual void lef_viarule_cbk(LefParser::lefiViaRule const &v)
add via rule
Definition
test_adapt.cpp:99
LefDataBase::lef_useminspacing_cbk
virtual void lef_useminspacing_cbk(lefiUseMinSpacing const &v)
set use min space
Definition
test_adapt.cpp:69
LefDataBase::lef_maxstackvia_cbk
virtual void lef_maxstackvia_cbk(LefParser::lefiMaxStackVia const &v)
noise margin callback
Definition
test_adapt.cpp:135
LefDataBase::lef_macrobegin_cbk
virtual void lef_macrobegin_cbk(std::string const &v)
macro begin callback, describe standard cell type
Definition
test_adapt.cpp:117
LefDataBase::lef_via_cbk
virtual void lef_via_cbk(LefParser::lefiVia const &v)
add via
Definition
test_adapt.cpp:93
LefDataBase::lef_manufacturing_cbk
virtual void lef_manufacturing_cbk(double v)
set manufacturing entry
Definition
test_adapt.cpp:63
LefParser::LefDataBase
Base class for lef database. Only pure virtual functions are defined. User needs to inheritate this...
Definition
LefDataBase.h:126
LefParser::read
bool read(LefDataBase &db, const string &lefFile)
API for LefParser. Read LEF file and initialize database by calling user-defined callback functions.
main
int main()
Definition
test_ChromaticNumber.cpp:78
test1
void test1()
test function API
Definition
test_solvers.cpp:11
Generated on
for Limbo by
1.17.0