19 #include <boost/test/unit_test.hpp>
35 BOOST_AUTO_TEST_SUITE(router)
36 BOOST_AUTO_TEST_SUITE(regression)
43 std::fstream fileStream(path.c_str());
44 BOOST_REQUIRE(fileStream.good());
47 importer(fileStream, path);
50 BOOST_REQUIRE(designPtr.get() != 0);
62 std::cout <<
"RouteNets: " << nets.size() << std::endl;
64 BOOST_CHECK_EQUAL(designPtr->getNetCount(), nets.size());
66 std::cout <<
"Unrouting nets..." << std::endl;
67 NetSharedPtrIterator p;
68 for (p = designPtr->netsBegin(); p != designPtr->netsEnd(); p++) {
72 std::cout <<
"RouteNets: " << nets.size() << std::endl;
74 std::cout <<
"Clearing usage from import" << std::endl;
77 std::cout <<
"Finished routing: " << path << std::endl;
79 std::cout <<
"Exporting route nets to physical" << std::endl;
80 ru.
routenets2design(nets, designPtr->netsBegin(), designPtr->netsEnd(), *ddbPtr);
82 std::cout <<
"Exporting XDL" << std::endl;
83 std::fstream xdlExport(exportpath.c_str(), std::ios_base::out);
85 fileExporter(designPtr);
155 int& argc = boost::unit_test::framework::master_test_suite().argc;;
156 BOOST_REQUIRE(argc >= 1);
157 char**&argv = boost::unit_test::framework::master_test_suite().argv;;
160 /
"torc" /
"router" /
"PathFinderRegression");
163 "PathFinderRegression.Virtex2P.Test1.generated.xdl");
164 std::cout << referencePath.string() << std::endl;
171 int& argc = boost::unit_test::framework::master_test_suite().argc;;
172 BOOST_REQUIRE(argc >= 1);
173 char**&argv = boost::unit_test::framework::master_test_suite().argv;;
176 /
"torc" /
"router" /
"PathFinderRegression");
179 "PathFinderRegression.Virtex4.Test1.generated.xdl");
180 std::cout << referencePath.string() << std::endl;
187 int& argc = boost::unit_test::framework::master_test_suite().argc;;
188 BOOST_REQUIRE(argc >= 1);
189 char**&argv = boost::unit_test::framework::master_test_suite().argv;;
192 /
"torc" /
"router" /
"PathFinderRegression");
195 "PathFinderRegression.Virtex5.Test1.generated.xdl");
196 std::cout << referencePath.string() << std::endl;
203 int& argc = boost::unit_test::framework::master_test_suite().argc;;
204 BOOST_REQUIRE(argc >= 1);
205 char**&argv = boost::unit_test::framework::master_test_suite().argv;;
208 /
"torc" /
"router" /
"PathFinderRegression");
211 "PathFinderRegression.Virtex6.Test1.generated.xdl");
212 std::cout << referencePath.string() << std::endl;
217 BOOST_AUTO_TEST_SUITE_END()
218 BOOST_AUTO_TEST_SUITE_END()
void route(RouteNetVector &inNets)
Primary route call.
Device database, including complete wiring and logic support.
void design2routenets(NetSharedPtrIterator netsbegin, NetSharedPtrIterator netsend, RouteNetVector &routenets)
std::vector< RouteNet > RouteNetVector
Vector of RouteNet objects.
Header for the DirectoryTree class.
Provides net routing based on the Nillson graphsearch algorithm.
Provides net routing based on the Nillson graphsearch algorithm.
Header for the Heuristic class.
void routenets2design(RouteNetVector &routenets, NetSharedPtrIterator netsbegin, NetSharedPtrIterator netsend, architecture::DDB &ddb)
Architecture aware importer from XDL format into a physical design.
Provides net routing based on the Nillson graphsearch algorithm.
Header for the XdlExport class.
Encapsulation of filesystem paths that are used by the library.
boost::filesystem::path path
boost::shared_ptr< Design > DesignSharedPtr
Shared pointer encapsulation of a Design.
void testRouteDesign(std::string path, std::string exportpath)
NetSharedPtrVector::iterator NetSharedPtrIterator
Non-constant iterator to Net shared pointers.
Header for the Utilities class.
Provides net routing based on the Nilsson graphsearch algorithm.
Provides the interface for net routers.
Abstract class for a net router.
Abstract class for a net router.
Header for the DDB class.
Header for the PathfinderHeuristic class.
Header for the NetRouter class.
BOOST_AUTO_TEST_CASE(NetRouterHeuristicT)
Unit test for the Heuristic.
Header for the XdlImporter class.
static const boost::filesystem::path & getExecutablePath(void)
Returns the absolute path to the executable directory.
Physical design exporter for XDL.