IC后端物理實現自動化工具 OpenROAD系列(一)OpenROAD開發環境搭建


我是雪天魚,一名FPGA愛好者,研究方向是FPGA架構探索。

file

關注公眾號,拉你進“IC設計交流群”。

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_PREFIXDESTDIR 均是用來指定安裝的文件夾路徑。

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工具的生態也會越來越好。

  • 更多技術文章和學習資料,請關注我的公眾號:【集成電路設計教程】
  • 全平台統一:【雪天魚】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM