文章目录
注:转载请注明出处
作者:雪天鱼
记录下学习过程,个人水平有限,可能理解有误,后续若发现错误之处,会及时更新。
OpenFPGA可以自己下载源代码或者直接使用其所提供的 Docker Image,分别对应文章的 一、Code下载与编译和 二、使用Docker Image,大家按需求选择即可。
一、Code下载与编译
1.1 工具安装
系统: ubuntu 20.04 64位
开发工具版本要求:
- gcc/g++ 5+
- cmake 3.12+
- gtk+ 3.0
- iverilog 10.1+ (用于 Verilog-to-Verification flow)
可通过 gcc/cmake --version
进行版本查看,
(1) GTK3.0安装
我的ubuntu未安装 GTK+ 3.0,通过输入下述命令安装:
sudo apt-get install build-essential
sudo apt-get install libgtk-3-dev
sudo apt-get install pkg-config
pkg-config --modversion gtk+-3.0
(2) iverilog安装
sudo apt-get install iverilog
我安装下来 iverilog 版本为10.3
1.2 编译
OpenFPGA 使用 CMake 自动生成 和管理Makefile脚本,进行自己选择的工作目录下打开终端,输入下述命令进行代码下载和编译:
git clone https://github.com/LNIS-Projects/OpenFPGA.git
cd OpenFPGA
make all
注:
(1) 不能采用下载ZIP压缩包的方式下载源代码,那样无法用上面的命令进行编译,用 git clone 就好
(2) 可使用 make -j<int>
加速编译,<int>
用于指定用于编译的处理器核数量
(3) 通过命令cmake .. -DVPR_USE_EZGL=on
使能VPR的GUI
openfpga文件夹内容:
编译结果(编译时间较长,耐心等待):
编译完成验证:
在openfpga根目录,输入命令:
python3 openfpga_flow/scripts/run_fpga_task.py compilation_verification --debug --show_thread_logs
运行结果保存在对应的task目录下
至此开发环境就搭建好了,之后的博客将介绍如何使用OpenFPGA进行Product Flow 和 End-user Flow
1.3 编译时可能出现的报错
(1)报错:Could NOT find TBB (missing: TBB_INCLUDE_DIRS TBB_LIBRARIES)
解决方法:
sudo apt-get install libtbb-dev
我安装的版本是 2020.1
(2)报错:Could NOT find Readline (missing: Readline_INCLUDE_DIR Readline_LIBRARY)
解决方法:
sudo apt-get install libreadline6-dev
(3)报错:bash:tclsh:未找到命令
解决方法:
sudo apt-get install tcl
(4)报错:正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|0.0.0.0|:443… 失败:拒绝连接
解决方法:这个链接需要*才能登录,所以*下就行。
二、使用 Docker Image
我也是刚刚接触Docker,参考的是这篇博客:Docker学习 入门(一) 作者:四月天五月雨
2.1 安装 Docker
系统:Ubuntu20.04
(1)更新apt包索引
sudo apt update
(2)通过HTTPS使用仓库(repository)安装:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
(3)添加Docker官方的GPG密钥到系统:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
(4)添加docker源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
(5)再更新源
sudo apt update
(5)安装docker,ce是免费的,ee是企业版
sudo apt install docker-ce
(6)安装后查看docker版本
docker -v
出现版本信息说明,安装成功,如下图所示:
2.2 OpenFPGA Docker Image使用
(1)从仓库拉取镜像到本地
sudo docker pull ghcr.io/lnis-uofu/openfpga-master:latest
(2)查看镜像是否下载成功
sudo docker images
(2)激活 openfpga_shell
sudo docker run -it ghcr.io/lnis-uofu/openfpga-master:latest openfpga/openfpga -i
openfpga的控制台如下图所示:
2.3 Demo 测试
运行编译验证task
sudo docker run -it ghcr.io/lnis-uofu/openfpga-master:latest bash -c "source openfpga.sh && run-task compilation_verification"
出现下述结果表明没问题,此 Openfpga 的Docker Image可以正常使用:
OpenFPGA Docker Images的更多使用方法将在后续文章中进行更新。
参考文档和博客:
【1】OpenFPGA 开源文档 Getting Started » How to Compile
【2】ubuntu18.04安装docker最新版 作者:LuffysMan