Princeton Reconfigurable Gate Array (PRGA) is a customizable, scalable, versatile, extensible open-source framework for building and using custom FPGAs.
一、安装依赖
经过测试,最适合安装PRGA的Ubuntu版本为20.04,不建议在22.04下安装。
$sudo apt update
$sudo apt-get install gcc git cmake libbz2-dev libssl-dev libreadline-dev libsqlite3-dev pkg-config bison flex libffi-dev python-dev libtbb-dev libgtk-3-dev libx11-dev libeigen3-dev graphviz tcl-dev liblzma-dev libtoolkit-perl libncurses5-dev python-pip
$sudo apt-get install aptitude
$sudo aptitude install gcc git cmake libbz2-dev libssl-dev libreadline-dev libsqlite3-dev pkg-config bison flex libffi-dev python-dev libtbb-dev libgtk-3-dev libx11-dev libeigen3-dev graphviz tcl-dev liblzma-dev libtoolkit-perl libncurses5-dev python-pip
安装完依赖后可以开始下载源代码
git clone https://github.com/PrincetonUniversity/prga.git
可选的git初始化和重置网络代理
git init
git config --global --unset https.https://github.com.proxy
git config --global --unset http.https://github.com.proxy
二、编译安装PRGA
git成功后
chmod -R 750 prga #修改权限
cd prga
./envscr/install #开始编译
可能存在的问题
- 网络环境导致无法下载或者很慢,尝试使用代理下载
- 编译出错,检查依赖是否成功安装
在install 过程中出错通常是依赖不全,虽然本文已经给出大部分依赖但是由于系统版本的不同也有可能有疏漏。
三、安装iverilog
sudo nano /etc/apt/sources.list #也可以用vi等其他编辑器
#添加下面内容
deb http://archive.ubuntu.com/ubuntu/ edgy universe
deb-src http://archive.ubuntu.com/ubuntu/ edgy universe
#保存后
sudo apt-get update
sudo apt-get install iverilog
四、运行PRGA例子
# 启动 Python 虚拟环境
source ./envscr/activate
# build an example FPGA
make -C examples/fpga/magic/k4_N2_8x8
# create CAD & verification project
make -C examples/app/bcd2bin/magic_k4_N2_8x8
# run RTL-to-bitstream flow and post-implementation simulation
make -C examples/app/bcd2bin/magic_k4_N2_8x8/tests/basic
最后出现TEST PASSED则说明完全成功。