介绍一个神级开源项目PULP

电子说

1.3w人已加入

描述

今天又和大家介绍一个神级开源项目PULP。

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

这个项目的研究已经从单核拓展到了簇的研究。下面是该项目的一些产出成果。

云服务器

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

云服务器

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

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

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

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

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

云服务器

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

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’目录下看看是否有东西。

云服务器

设置环境变量

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

编译结果如下

云服务器

第五步 下载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"的图标。

云服务器

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






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分