-
Now I'd like to use OpenDB Framework and am searching for how to use each tool (i.e. OpenDB, OpenDB, etc) in the OpenROAD repository as a submodule for my open-source project. For example, I'm using the OpenDB Framework as this repository. I would be very appreciative if there is any recommended way to use each tool (like RePlAce, OpenDP, ..) in the OpenROAD repository which is now updated recently, and if you let me know them. Thank you for reading my question. Best regards. |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 16 replies
-
We do not offer each tool as a submodule. It is a lot of overhead to manage submodules (we did that initially). You could make OR itself a submodule and link to the portions you wish. |
Beta Was this translation helpful? Give feedback.
-
You should be able to reference our libraries from your app like target_link_libraries( you would need to include src/CMakeLists.txt |
Beta Was this translation helpful? Give feedback.
-
@QuantamHD what do you think about applying your library separation work to mpl2? |
Beta Was this translation helpful? Give feedback.
-
I'd like to do the favor that you mentioned, but I have a question for you. 1. The construction dependency exists.At least calling #include <unistd.h>
#include <memory>
#include "gtest/gtest.h"
#include "mpl2/rtl_mp.h"
#include "db_sta/dbSta.hh"
#include "par/PartitionMgr.h"
#include "utl/Logger.h"
namespace mpl2 {
TEST(Mpl2, CanConstruct)
{
MacroPlacer2();
}
TEST(Mpl2, init){
MacroPlacer2 macro_placer_2{};
sta::dbSta* db_sta = new sta::dbSta;
sta::dbNetwork* db_network = db_sta->getDbNetwork();
odb::dbDatabase* db_database = odb::dbDatabase::create();
utl::Logger logger;
par::PartitionMgr partition_mgr;
/**
* Construct some data in dbDatabase and dbSta by parsing or calling their methods..
* */
partition_mgr.init(db_database, db_network, db_sta, &logger);
macro_placer_2.init(db_network, db_database, db_sta, &logger, &partition_mgr);
}
}; // namespace mpl2 But at OpenROAD/src/mpl2/test/cpp/mpl2_test.cc:21: undefined reference to `sta::dbSta::dbSta()' I think this problem is due to a linking issue; The Is there any proposed method to use 2. Unless editing code in mpl2/src/*.cpp, there aren’t many things to make unit test.For making the unit test for Even though the assumption of linking the To test whether the ConclusionIf the first problem is solved, the second problem says there are not so many things to make unit test unless I edit the codes. I’d like to ask how I can solve problem 1 (the linking issue for Thank you for reading my questions. |
Beta Was this translation helpful? Give feedback.
@QuantamHD what do you think about applying your library separation work to mpl2?