我是雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索。
笔记同步在我的个人网站进行更新,欢迎来访查看。
1.1 Code下载与依赖安装 二、代码编译
2.1 手动编译2.2 官方脚本编译2.3 功能测试2.4遇到的问题和解决方法 三、总结
OpenROAD 支持 RTL to GDS Flow ,即芯片设计的后端物理实现。
一、Code下载和编译 1.1 Code下载与依赖安装打开终端,输入
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD.git
再安装依赖,输入:
cd OpenROAD sudo ./etc/DependencyInstaller.sh -run sudo ./etc/DependencyInstaller.sh -dev
会自动安装boost、swig、eigen、lemon、spdlog。
再安装编译所需的一些库:
sudo apt-get install libspdlog-dev sudo apt install tcl-dev二、代码编译 2.1 手动编译
在 OpenROAD 文件夹下打开终端,输入;
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 所需时间比较久,耐心等待。然后我卡在了52%:
这个问题我不知道如何解决,库也下载了呀,但就是不行。
注:-DCMAKE_INSTALL_PREFIX 和 DESTDIR 均是用来指定安装的文件夹路径。
只能试试官方的一键式编译脚本了,在OpenROAD文件夹下输入:
./etc/Build.sh
注:默认时安装到 /usr/local 路径下,我硬盘空间充足,就直接默认位置了。
耐心等待编译完成。
达到了100%,但又报了一些错误。
经测试,重复执行几次这个脚本就行,直到不报错为止。
最后测试下是否真的编译成功了:
# 先对工具进行测试 ./test/regression
测试的工具单元比较多,耐心等待:
没问题!
再对flow进行测试
# run all flow tests ./test/regression flow
这个测试所需的时间就会比较长了,而且把我的电脑CPU(i7)几乎都快拉满了。
OK,有小问题,应该时skywater130nm的PDK hd没下载全,后续再调试,测试完毕,可以确定OpenROAD编译完成,可以愉快的使用OpenROAD了,之后我将出博客讲解如何使用OpenROAD进行 数字 IC 设计
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")
问题分析:缺少 SWIG 库,下载安装即可
解决方法:去官网下载 SWIG ,我下载的是 swig-4.0.0 ,下载好后先解压,再打开终端,输入:
./configure make sudo make install
再安装依赖 pcre ,去官网下载 pcre,下载好后解压,打开终端,输入:
./configure make sudo make install cd ./.libs sudo mv -v libpcre.so.* /usr/lib/
查看swig版本:
swig -version
安装成功!
(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.
问题分析:缺少库 LEMON,下载安装即可
解决方法:先去下载 LEMON,我选择的是 lemon-1.2.4.tar.gz:
解压后进入该文件夹,打开终端,输入:
mkdir build cd build cmake .. make sudo make install
再在 OpenROAD/CMakeLists.txt 的首行设置 lemon 的路径变量:
set(LEMON_DIR /usr/local/include/lemon)
(3)
OpenROAD/src/utl/CMakeFiles/utl.dir/LoggerTCL_wrap.cxx:166:10: fatal error: tcl.h: 没有那个文件或目录
问题分析:找不到 tcl,h,但明明我已经安装过了tcl。查看了下,在 /usr/include/tcl8.6 路径下。最终发现是这个tcl8.6不行。要安装另一个版本的。
解决方法:安装命令为:
sudo apt install tcl-dev三、总结
感觉每次搭建一个开源工具,尤其是大工具时都很麻烦,很容易出错,但随着开发人员的共同努力,现在出来了 CMake这样极大方便代码编译的跨平台工具,相信以后搭建开发环境一定会越来越轻松的,开源EDA工具的生态也会越来越好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)