Amiya · 2021年12月13日

[开源项目]PULP攻克计划之如何将simulation 跑起来

看我公众号的粉丝应该都知道,最近我们组织了一群粉丝攻克pulp这个项目。经过我们一段时间努力,我们已经将pulp的simulation跑起来了。今天和大家分享一下如何将pulp这个项目跑起来。

PULP全称Parallel Ultra Low Power (PULP),是苏黎世理工大学发起的一个开源项目,旨在研究低功耗、小面积的芯片处理架构。该计划自2013年开始到现在已经8年了。这个项目的研究已经从单核拓展到了簇的研究。下面是该项目的一些产出成果。

image.png

PULP项目已经被用于很多芯片设计,其中有40多款芯片已经流片成功,下面是部分流片芯片的介绍。

image.png

内置pulp的开发板在Greenwave等官网平台有售,有兴趣的粉丝可以去官网搜罗。

image.png

PULP的资源库是相当丰富的,我和我的粉丝们选择了OpenPulp这个多核的项目作为我们的研究对象。以下是我们将仿真跑起来的一些步骤,小伙伴们如果也想学习可以参考下。

第一步是我们的环境搭建,我们开始选择采用虚拟机作为开发环境,但是遇到一些问题,第一个是我们需要翻墙抓代码,第二个虚拟机里面的相关软件不全,会遇到一些奇怪的问题,第三个我们小伙伴人手一个虚拟机,那么会做很多重复的工作。在此情况下我们采用了云服务器,安装的操作系统是ubuntu18.04。对于这一部分的介绍可以参考我之前的文章。

[看完这个中学生也可以设计芯片-如何用云服务器搭建一个芯片SOC环境(上)]

第二步是EDA软件的安装,这部分网上有很多文章介绍,这里不做多说。

下面我将介绍安装pulp,在安装pulp的时候,我们用git clone 抓代码遇到以下无法访问的权限问题。

image.png

对于这个问题,可以参照下面链接解决。

https://docs.github.com/en/authentication/connecting-to-github-with-ssh

第三步是安装riscv编译需要的工具链

下载工具链代码

git clone --recursive https://github.com/pulp-platform/pulp-riscv-gnu-toolchain

安依赖库

apt-get install autoconf automake autotools-dev curl libmpc-devlibmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtoolpatchutils bc zlib1g-dev

安装toolchain

cd pulp-riscv-gnu-toolchain
./configure --prefix=/data/eda/pulp-toolchain --with-arch=rv32imc--with-cmodel=medlow --enable-multilib
make

这个编译时间会比较久,请耐心等待。

安装好后,到/data/eda/pulp-toolchain’目录下看看是否有东西。

image.png

设置环境变量

exportPULP_RISCV_GCC_TOOLCHAIN=/data/eda/pulp-toolchain
exportPATH=${PULP_RISCV_GCC_TOOLCHAIN}/bin:$PATH

第四步build pulp

克隆代码 

git clone https://github.com/pulp-platform/pulp

编译代码

cd pulp
source setup/vsim.sh
make checkout
make scripts
make build

编译结果如下

image.png

第五步 下载regression和pulp runtime

cd pulp

git clone https://github.com/pulp-platform/regression_tests.git

git clone https://github.com/pulp-platform/pulp-runtime.git

跑仿真

source pulp-runtime/configs/pulp.sh
cd regression_tests/hello
make clean all run gui=1

会自动打开questasim图像界面,然后点"run-all"的图标。

image.png

到此我们的pulp 跑起来了。接下来我们将从环境,架构等各方面对pulp进行深入研究。

作者:IC bug 猎人
原文链接:处芯积律

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
11235
内容数
1222
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息