IC后端物理实现自动化工具 OpenROAD系列(一)OpenROAD开发环境搭建

IC后端物理实现自动化工具 OpenROAD系列(一)OpenROAD开发环境搭建,第1张

IC后端物理实现自动化工具 OpenROAD系列(一)OpenROAD开发环境搭建

我是雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索。
笔记同步在我的个人网站进行更新,欢迎来访查看。

文章目录

一、Code下载编译

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 均是用来指定安装的文件夹路径。

2.2 官方脚本编译

只能试试官方的一键式编译脚本了,在OpenROAD文件夹下输入:

./etc/Build.sh 

注:默认时安装到 /usr/local 路径下,我硬盘空间充足,就直接默认位置了。

耐心等待编译完成。

达到了100%,但又报了一些错误。
经测试,重复执行几次这个脚本就行,直到不报错为止。

2.3 功能测试

最后测试下是否真的编译成功了:

# 先对工具进行测试
./test/regression

测试的工具单元比较多,耐心等待:

没问题!
再对flow进行测试

# run all flow tests
./test/regression flow

这个测试所需的时间就会比较长了,而且把我的电脑CPU(i7)几乎都快拉满了。
OK,有小问题,应该时skywater130nm的PDK hd没下载全,后续再调试,测试完毕,可以确定OpenROAD编译完成,可以愉快的使用OpenROAD了,之后我将出博客讲解如何使用OpenROAD进行 数字 IC 设计

2.4遇到的问题和解决方法
    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工具的生态也会越来越好。

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zaji/5715104.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-12-17
    下一篇 2022-12-17

    发表评论

    登录后才能评论

    评论列表(0条)

    保存