OpenROAD Flow 库用作使用 OpenROAD 工具的展示RTL-to-GDS
的过程。 存储库中的脚本 build_openroad.sh
将自动构建 OpenROAD 工具链。
两个主要的文件夹:
tools/
:包含整个 yosys 和 OpenROAD App 的源代码(都通过子模块)以及流程所需的其他工具。flow/
:包含通过流程运行设计的参考配置和脚本。 它还包含公共平台和测试设计。
这两个主要的文件夹相当重要,一是他包含了我们使用这个开源EDA的代码和子工具,二是如果我们网络不好,可以单独的把子模块下载到tools/
文件夹。
我们进入一个文件夹,是我们打算将OpenROAD-flow-scripts
安装的位置。
OpenROAD-flow-scripts安装与测试
预备动作
编译工具
sudo apt install gcc g++ make cmake
git
首先要安装git
,接下来的操作都需要使用这个工具。
sudo apt install git
Packages
sudo apt install libffi-dev tcl time python3-pip
pip3 install pandas
下载Klayout
Klayout
是OpenROAD-flow-scripts
必须的一个工具,我们可以通过终端安装他
sudo apt install klayout
下载OpenROAD-flow-scripts
下载OpenROAD-flow-scripts
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts.git [文件位置]
[文件位置]
是可选的,比如你在那里用/home/xxx/app
,之后这个开源工具包就安装在/home/xxx/
下了,名字叫做app
。如果没有,那么默认安装按执行命令的路径下,文件名为OpenROAD-flow-scripts
注意:recursive
是必须的
OpenROAD下载失败
中间由于每个子模块都太大了,可能下载失败,那么可以等可以下载的下载结束后,在OpenROAD-flow-scripts/tools
目录下,单独下载。
比如OpenROAD
的下载
cd tools/
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD.git
yosys
cd tools/
git clone --recursive https://github.com/The-OpenROAD-Project/yosys.git
安装依赖
OpenROAD
文件夹
我们先去安装OpenROAD
的依赖,这个装好了才能编译成功整个EDA工具。
假设我们现在正在./OpenROAD-flow-scripts/
下,这是我们安装OpenROAD-flow-scripts
的默认文件夹,我们首先到OpenROAD
文件夹下
cd tools/OpenROAD
注意:如果前面OpenROAD
没有安装成功,要先安装成功。
安装依赖
我们接下来安装依赖,我们主要的依赖是通过OpenROAD
来安装的,其余可能有一些依赖,可以通过报错的提示,很简单的安装。
sudo ./etc/DependencyInstaller.sh -run
sudo ./etc/DependencyInstaller.sh -dev
这两条语句执行完毕后,我们基本的依赖都安装好了。
编译OpenROAD-flow-scripts
首先进入OpenROAD-flow-scripts
的文件夹。这个文件夹下的文件有如图的这些。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rz76pNL3-1667120353744)(OpenRoad1/Screenshot from 2022-10-30 16-43-07.png)]
我们在本地进行构建。
./build_openroad.sh --local
验证安装
假设我们现在正在./OpenROAD-flow-scripts/
下,这是我们安装OpenROAD-flow-scripts
的默认文件夹。
- 编译安装是否成功
source ./setup_env.sh
yosys -help
openroad -help
- 子模块是否成功,全部pass说明没问题了,不是全部pass,可能还有点问题,排错靠自己了
cd tools/OpenROAD
./test/regression
测试RTL-to-GDS
流程
假设我们现在正在./OpenROAD-flow-scripts/
下,这是我们安装OpenROAD-flow-scripts
的默认文件夹,我们首先到flow
文件夹下
cd flow/
运行完整的流程
make DESIGN_CONFIG=./designs/sky130hd/ibex/config.mk
我的电脑配置还不错,但是这个流程也跑了5分钟,所以如果电脑差一点的,这个流程跑的时间长也不奇怪,慢慢等。
如果成功,他会生成一个一个GDSII
文件,在flow
文件夹的results/sky130hd/ibex/base/6_final.gds
,我们可以通过klayout打开这个文件,如下图。