I am snowy fish, an FPGA enthusiast, and my research direction is FPGA architecture exploration.
Pay attention to the official account and pull you into the IC design exchange group.
OpenROAD Support RTL to GDS Flow, which is the back-end physical implementation of chip design.
1, Code download and compilation
1.1 Code download and dependent installation
Open the terminal and enter
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD.git
To reinstall the dependency, enter:
cd OpenROAD sudo ./etc/DependencyInstaller.sh -run sudo ./etc/DependencyInstaller.sh -dev
boost, swig, eigen, lemon and spdlog will be installed automatically.
Then install some libraries required for compilation:
sudo apt-get install libspdlog-dev sudo apt install tcl-dev
2, Code compilation
2.1 manual compilation
Open the terminal under the OpenROAD folder and enter;
mkdir build mkdir install cd build cmake .. -DCMAKE_INSTALL_PREFIX=/home/jc-cao/Disk_sda3/Fudan_FPGA/OpenROAD/install make DESTDIR=/home/jc-cao/Disk_sda3/Fudan_FPGA/OpenROAD/install install
make install takes a long time. Wait patiently. Then I got stuck at 52%:
I don't know how to solve this problem. The library has also been downloaded, but it just can't.
Note: - DCMAKE_INSTALL_PREFIX and DESTDIR are used to specify the folder path of the installation.
2.2 official script compilation
You can only try the official one click compilation script. Enter in the OpenROAD folder:
./etc/Build.sh
Note: by default, it is installed in the path of / usr/local. If I have enough hard disk space, I will directly the default location.
Wait patiently for the compilation to complete.
Reached 100%, but reported some errors.
Repeat the script several times without reporting an error.
2.3 function test
Finally, test whether the compilation is really successful:
# Test the tool first ./test/regression
There are a lot of tool units to be tested. Wait patiently:
no problem!
Then test the flow
# run all flow tests ./test/regression flow
This test will take a long time, and my computer CPU (i7) is almost full.
OK, there's a small problem. skywater130nm PDK hd didn't download completely when it should be. After debugging and testing, it can be determined that OpenROAD has been compiled and can be used happily. Then I'll post a blog to explain how to use OpenROAD for Digital IC design
2.4 problems encountered and Solutions
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message): Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR) (Required is at least version "3.0")
Problem analysis: lack of SWIG library, download and install it
Solution: go to the official website to download SWIG , I downloaded swig-4.0.0. After downloading, decompress it first, then open the terminal and enter:
./configure make sudo make install
Then install the dependent pcre and download it from the official website pcre , unzip after downloading, open the terminal and enter:
./configure make sudo make install cd ./.libs sudo mv -v libpcre.so.* /usr/lib/
View swig version:
swig -version
Installation succeeded!
(2)
CMake Error at src/dpo/CMakeLists.txt:41 (find_package): By not providing "FindLEMON.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "LEMON", but CMake did not find one. Could not find a package configuration file provided by "LEMON" with any of the following names: LEMONConfig.cmake lemon-config.cmake Add the installation prefix of "LEMON" to CMAKE_PREFIX_PATH or set "LEMON_DIR" to a directory containing one of the above files. If "LEMON" provides a separate development package or SDK, be sure it has been installed.
Problem analysis: the LEMON library is missing. Download and install it
Solution: download it first LEMON , I chose lemon-1.2.4 tar. gz:
After decompression, enter the folder, open the terminal and enter:
mkdir build cd build cmake .. make sudo make install
Open road / cmakelists Txt to set the path variable of lemon:
set(LEMON_DIR /usr/local/include/lemon)
(3)
OpenROAD/src/utl/CMakeFiles/utl.dir/LoggerTCL_wrap.cxx:166:10: fatal error: tcl.h: There is no such file or directory
Problem analysis: I can't find tcl,h, but I have installed TCL. Check it out in / usr / include / tcl8 6 under the path. The final discovery is this tcl8 6 No. To install another version of.
Solution: the installation command is:
sudo apt install tcl-dev
3, Summary
I feel that it is troublesome and easy to make mistakes when building an open source tool, especially a large tool. However, with the joint efforts of developers, CMake, a cross platform tool that greatly facilitates code compilation, is coming out. I believe that the construction of the development environment will be easier and easier in the future, and the ecology of open source EDA tools will be better and better.
- For more technical articles and learning materials, please pay attention to my official account: integrated circuit design course.
- Unified across the platform: [snowy fish]