Limbo
3.5.4
Toggle main menu visibility
Loading...
Searching...
No Matches
test
parsers
def
test_adapt.cpp
Go to the documentation of this file.
1
7
8
#include <iostream>
9
#include <fstream>
10
11
#include <
limbo/parsers/def/adapt/DefDriver.h
>
12
13
using
std::cout;
14
using
std::cin;
15
using
std::endl;
16
using
std::string;
17
20
class
DefDataBase
:
public
DefParser::DefDataBase
21
{
22
public
:
24
DefDataBase
()
25
{
26
cout <<
"DefDataBase::"
<< __func__ << endl;
27
}
28
30
virtual
void
set_def_dividerchar
(
string
const
& token)
31
{
32
cout << __func__ <<
" => "
<< token << endl;
33
}
34
35
virtual
void
set_def_busbitchars
(
string
const
& token)
36
{
37
cout << __func__ <<
" => "
<< token << endl;
38
}
39
40
virtual
void
set_def_version
(
string
const
& token)
41
{
42
cout << __func__ <<
" => "
<< token << endl;
43
}
44
45
virtual
void
set_def_design
(
string
const
& token)
46
{
47
cout << __func__ <<
" => "
<< token << endl;
48
}
49
50
virtual
void
set_def_unit
(
int
token)
51
{
52
cout << __func__ <<
" => "
<< token << endl;
53
}
54
55
virtual
void
set_def_diearea
(
int
t1,
int
t2,
int
t3,
int
t4)
56
{
57
cout << __func__ <<
" => "
<< t1 <<
","
<< t2 <<
","
<< t3 <<
","
<< t4 << endl;
58
}
59
60
virtual
void
add_def_row
(
DefParser::Row
const
&)
61
{
62
cout << __func__ << endl;
63
}
64
66
virtual
void
add_def_component
(
DefParser::Component
const
& c)
67
{
68
cout << __func__ <<
": "
<< c.
comp_name
<<
": status = "
<< c.
status
<< endl;
69
}
70
71
virtual
void
resize_def_component
(
int
token)
72
{
73
cout << __func__ <<
" => "
<< token << endl;
74
}
75
77
virtual
void
add_def_pin
(
DefParser::Pin
const
& p)
78
{
79
cout << __func__ <<
": "
<< p.
pin_name
<< endl;
80
}
81
83
virtual
void
resize_def_pin
(
int
token)
84
{
85
cout << __func__ <<
" => "
<< token << endl;
86
}
87
89
virtual
void
add_def_net
(
DefParser::Net
const
& n)
90
{
91
cout << __func__ <<
": "
<< n.
net_name
<<
": weight "
<< n.
net_weight
<< endl;
92
}
93
95
virtual
void
resize_def_net
(
int
token)
96
{
97
cout << __func__ <<
" => "
<< token << endl;
98
}
99
101
virtual
void
resize_def_blockage
(
int
n)
102
{
103
cout << __func__ <<
" => "
<< n << endl;
104
}
105
107
virtual
void
add_def_placement_blockage
(std::vector<std::vector<int> >
const
& vBbox)
108
{
109
cout << __func__ <<
" => "
;
110
for
(std::vector<std::vector<int> >::const_iterator it = vBbox.begin(); it != vBbox.end(); ++it)
111
cout <<
"("
<< (*it)[0] <<
", "
<< (*it)[1] <<
", "
<< (*it)[2] <<
", "
<< (*it)[3] <<
") "
;
112
cout << endl;
113
}
114
115
virtual
void
resize_def_region
(
int
n)
116
{
117
cout << __func__ <<
" => "
<< n << endl;
118
}
119
120
virtual
void
add_def_region
(
DefParser::Region
const
& region)
121
{
122
cout << __func__ <<
"\n"
<< region;
123
}
124
125
virtual
void
resize_def_group
(
int
n)
126
{
127
cout << __func__ <<
" => "
<< n << endl;
128
}
129
130
virtual
void
add_def_group
(
DefParser::Group
const
& group)
131
{
132
cout << __func__ <<
"\n"
<< group;
133
}
134
135
virtual
void
end_def_design
()
136
{
137
cout << __func__ << endl;
138
}
139
};
140
142
void
test1
(
string
const
& filename)
143
{
144
cout <<
"////////////// test1 ////////////////"
<< endl;
145
DefDataBase
db;
146
DefParser::read
(db, filename);
147
}
148
150
void
test2
(
string
const
& filename)
151
{
152
cout <<
"////////////// test2 ////////////////"
<< endl;
153
DefDataBase
db;
154
DefParser::Driver
driver (db);
155
//driver.trace_scanning = true;
156
//driver.trace_parsing = true;
157
158
driver.
parse_file
(filename);
159
}
160
165
int
main
(
int
argc,
char
** argv)
166
{
167
168
if
(argc > 1)
169
{
170
test1
(argv[1]);
171
test2
(argv[1]);
172
}
173
else
174
cout <<
"at least 1 argument is required"
<< endl;
175
176
return
0;
177
}
DefDriver.h
Driver for Def parser.
DefDataBase
Custom class that inheritates DefParser::DefDataBase with all the required callbacks defined.
Definition
test_adapt.cpp:21
DefDataBase::add_def_region
virtual void add_def_region(DefParser::Region const ®ion)
add region
Definition
test_adapt.cpp:120
DefDataBase::resize_def_blockage
virtual void resize_def_blockage(int n)
set number of blockages
Definition
test_adapt.cpp:101
DefDataBase::add_def_pin
virtual void add_def_pin(DefParser::Pin const &p)
add pin
Definition
test_adapt.cpp:77
DefDataBase::resize_def_net
virtual void resize_def_net(int token)
set number of nets
Definition
test_adapt.cpp:95
DefDataBase::set_def_unit
virtual void set_def_unit(int token)
Definition
test_adapt.cpp:50
DefDataBase::resize_def_pin
virtual void resize_def_pin(int token)
set number of pins
Definition
test_adapt.cpp:83
DefDataBase::add_def_net
virtual void add_def_net(DefParser::Net const &n)
add net
Definition
test_adapt.cpp:89
DefDataBase::set_def_dividerchar
virtual void set_def_dividerchar(string const &token)
Definition
test_adapt.cpp:30
DefDataBase::end_def_design
virtual void end_def_design()
end of design
Definition
test_adapt.cpp:135
DefDataBase::resize_def_region
virtual void resize_def_region(int n)
set number of regions
Definition
test_adapt.cpp:115
DefDataBase::set_def_version
virtual void set_def_version(string const &token)
Definition
test_adapt.cpp:40
DefDataBase::resize_def_component
virtual void resize_def_component(int token)
Definition
test_adapt.cpp:71
DefDataBase::add_def_placement_blockage
virtual void add_def_placement_blockage(std::vector< std::vector< int > > const &vBbox)
add placement blockages
Definition
test_adapt.cpp:107
DefDataBase::DefDataBase
DefDataBase()
constructor
Definition
test_adapt.cpp:24
DefDataBase::set_def_design
virtual void set_def_design(string const &token)
Definition
test_adapt.cpp:45
DefDataBase::add_def_row
virtual void add_def_row(DefParser::Row const &)
add row
Definition
test_adapt.cpp:60
DefDataBase::resize_def_group
virtual void resize_def_group(int n)
set number of groups
Definition
test_adapt.cpp:125
DefDataBase::add_def_group
virtual void add_def_group(DefParser::Group const &group)
add group
Definition
test_adapt.cpp:130
DefDataBase::add_def_component
virtual void add_def_component(DefParser::Component const &c)
add component
Definition
test_adapt.cpp:66
DefDataBase::set_def_busbitchars
virtual void set_def_busbitchars(string const &token)
Definition
test_adapt.cpp:35
DefDataBase::set_def_diearea
virtual void set_def_diearea(int t1, int t2, int t3, int t4)
Definition
test_adapt.cpp:55
DefParser::DefDataBase
Base class for def database. Only pure virtual functions are defined. User needs to inheritate this...
Definition
DefDataBase.h:452
DefParser::Driver
Definition
DefDriver.h:43
DefParser::Driver::parse_file
bool parse_file(const string &filename)
test2
void test2(string const &filename)
test 2: use class wrapper DefParser::Driver
Definition
test_adapt.cpp:150
DefParser::read
bool read(DefDataBase &db, const string &defFile)
API for DefParser. Read DEF file and initialize database by calling user-defined callback functions.
DefParser::Component
cell in placement
Definition
DefDataBase.h:101
DefParser::Component::status
string status
placement status
Definition
DefDataBase.h:104
DefParser::Component::comp_name
string comp_name
component name
Definition
DefDataBase.h:102
DefParser::Group
group to describe cells corresponding to region
Definition
DefDataBase.h:255
DefParser::Net
net to describe interconnection of netlist
Definition
DefDataBase.h:196
DefParser::Net::net_weight
int32_t net_weight
net weight
Definition
DefDataBase.h:198
DefParser::Net::net_name
string net_name
net name
Definition
DefDataBase.h:197
DefParser::Pin
pin of node/cell
Definition
DefDataBase.h:155
DefParser::Pin::pin_name
string pin_name
pin name
Definition
DefDataBase.h:156
DefParser::Region
region to describe regions like fence
Definition
DefDataBase.h:221
DefParser::Row
placement row
Definition
DefDataBase.h:71
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