OpenRoad和OpenRoad-flow-scripts安装详解
准备工作:虚拟机VMware15.5x + Ubuntu 20.04 + gitclone克隆优化
1.VMware15.5x
磁盘空间至少大于40GB(我初始设置为20GB,最终APP和flow编译出来,根目录空间不足,需要进行外部扩容,麻烦)
(移除打印机;使用ISO映像文件启动)
2.Ubuntu 20.04
ISO映像文件下载:Ubuntu官网网站
选择 Ubuntu (safe graphics)
安装过程中:
左侧选择:中文简体-安装Ubuntu-键盘布局:Chinese-默认-默认-继续-shanghai-用户名和密码填写-复制文件结束以后,在下载文件时,可以点击“skip”
安装VMware tools
问题:重新安装VMware tools为灰色
解决:选择 使用物理驱动器
图形化安装过程
问题:Segmentation fault:网上说是版本不匹配导致(猜测时VMware的版本和Ubuntu版本的问题),因此利用命令行的方式进行下载
//查看codename
$ lsb_release -a
$ sudo gedit /etc/apt/sources.list
//更改为阿里云镜像源, 下方jammy处更换为查看到的codename
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
$ sudo apt-get update
//open-vm-tools:实现显示驱动,屏幕自适应
//open-vm-tools-desktop:实现和主机复制粘贴,拖拽文件
$ sudo apt install open-vm-tools open-vm-tools-desktop
$ sudo reboot
3.gitclone克隆优化
$ sudo apt-get install git
gitclone优化流程:
1.将需要从github.com克隆的项目进行fork;
2.将github中fork的项目同步到gitee的仓库中;
3.git clone命令对应的url修改为gitee对应项目的url
目标实现:
$sudo git clone recursive https://github.com/The-OpenROAD-Project/OpenROAD.git
问题:对应OpenROAD.git有几百MB,并且存在submodule,github.com克隆的速度很慢(200Kb/s),并且存在克隆到中间停住,需要ctrl+c停止,然后重新克隆的问题。
第一步:将https://github.com/The-OpenROAD-Project/OpenROAD.git 对应的项目fork到自己github账户下的仓库里面
第二步:将自己github账户下的仓库项目导入到gitee中,获取对应gitee的URL
第三步: 克隆对应gitee的git仓库,速度会被提升至几兆/s
$ sudo git clone https://gitee.com/zhu-haonan/OpenROAD.git
第四步:克隆对应的submodule
若克隆的父项目内存在submodule,而submodule的大小很大,若直接在github.com克隆,容易克隆失败。
修改父项目的.gitmodule文件内的url地址(与上方同样的操作,得到对应gitee的URL)
$ sudo gedit .gitmodules
//更新所有submodule的URL
$ sudo git submodule sync --recursive
$ sudo git submodule update --init
安装OpeaRoad APP
$ sudo git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD.git
//根据gitclone优化转化为:
$ sudo git clone https://gitee.com/zhu-haonan/OpenROAD.git
//修改submodule的克隆URL:
//更新所有submodule的URL
$ sudo git submodule sync --recursive
$ sudo git submodule update --init
//OpenROAD.git的父项目和子项目均克隆完成
//依赖库的下载
$ cd OpenROAD
$ sudo ./etc/DependencyInstaller.sh -run //需要执行两次,一次获取,一次下载
$ sudo ./etc/DependencyInstaller.sh -dev //需要执行两次,一次获取,一次下载,若克隆卡住的话,直接ctrl+c退出,然后重新执行一次该命令,停住就重复该操作
问题:拒绝访问github.com
解决:修改hosts文件(该步骤可以不用实现)
$ sudo gedit /etc/hosts
//添加内容
140.82.113.3 github.com
151.101.1.194 github.global.ssl.fastly.net
151.101.65.194 github.global.ssl.fastly.net
151.101.129.194 github.global.ssl.fastly.net
151.101.193.194 github.global.ssl.fastly.net
185.199.108.153 assets-cdn.github.com
185.199.109.153 assets-cdn.github.com
185.199.110.153 assets-cdn.github.com
185.199.111.153 assets-cdn.github.com查看IP地址:
https://websites.ipaddress.com/
需要查询的:github.com / github.global.ssl.fastly.net /
assets-cdn.github.com
出现以下,说明依赖库安装完成
//安装编译,默认安装到/usr/local中,通过后缀选项设置自定义安装位置
$ sudo ./etc/Build.sh -cmake="-CMAKE_INSTALL_PREFIX=<prefix_path>"
//安装完成后进行测试
$ ./test/regression
$ ./test/regression flow
安装OpeaRoad-flow-scripts
依赖库安装(在安装完OpeaRoad APP的依赖库基础以后)
1 基于Ubuntu20部署OpenROAD-Flow(更新于2020.11.23)
IC后端物理实现自动化工具 OpenROAD系列(二)OpenROAD-flow-scripts(ORFS) 开发环境搭建
sudo apt install tcl-dev
sudo cp /usr/include/tcl8.6/*.h /usr/include/
sudo ln -s /usr/lib/x86_64-linux-gnu/libtcl8.6.so /usr/lib/x86_64-linux-gnu/libtcl8.5.so
sudo apt install libreadline6-dev bison flex libffi-dev cmake libboost-all-dev swig klayout tcl-dev
sudo apt install libeigen3-dev
sudo apt-get install time
sudo apt install python3-pip
pip3 install pandas
克隆完整的OpeanROAD-flow-scripts(采用上述提到的gitclone优化方法)
修改/OpenROAD-flow-scripts目录下的.gitmodules,修改对应的URL为gitee下的URL
修改/OpenROAD-flow-scripts/tools/OpenROAD目录下的.gitmodules,修改对应的URL为gitee下的URL
开始编译OpenROAD-flow-scripts
$ sudo ./build_openroad.sh --local
//配置环境变量
source./setup_env.sh
//测试
yosys -version
opearoad -version