0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何离线运行pulp代码呢?

冬至子 来源:验证工程师的自我修养 作者:木马哥 2023-06-14 14:45 次阅读

引言

最近在折腾pulp,代码很优秀,强烈推荐。想在公司环境中跑起来,但鉴于公司eda服务器无法连外网,需要从外部导入数据。

整理了一些要求,供大家参考:

1.离线安装bender, 加入path路径

  • 把~/bin目录加到PATH路径中。
  • 测试下bender命令是否可行:bender --help

2.离线下载依赖仓库

例如打算跑axi这个repo,打开它目录下Bender.yaml文件,搜索dependencies关键词:

dependencies:  
    common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.27.0 }  
    common_verification: { git: "https://github.com/pulp-platform/common_verification.git", version: 0.2.3 } 
    tech_cells_generic:  { git: "https://github.com/pulp-platform/tech_cells_generic.git", version: 0.2.2 }

说明它依赖comon_cellss、common_verification、tech_cells_generic这三个仓库,把那些仓库也clone到与axi平行的目录。

目录树结构如下图所示:

image.png

3.修改Bender.yml 文件

默认运行会根据Bender.yml中的depenencies关键词,自动clone代码下来。

我们需要做离线运行,代码已经下载好了,直接改Bender.yml。把git关键词改成path,目录也改成相对路径(相对Bender.yml的路径)。

common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.27.0 } 
改成 
common_cells: { path: "../common_cells"}

此外,我们还需要进一步修改依赖包中的Bender.yml ,否则bender还是会在读取依赖包的时侯再次发起git clone操作。

比如common_cells中的bender.yml

common_verification: { git: "https://github.com/pulp-platform/common_verification.git", version: 0.2.0 }
tech_cells_generic: { git: "https://github.com/pulp-platform/tech_cells_generic.git", version: 0.2.11 }
修改成
common_verification: { path: "../common_verification", version: 0.2.0 }
tech_cells_generic: { path: "../tech_cells_generic", version: 0.2.11 }

4.编译运行

以axi为例,需要切换到scripts目录下运行

cd scripts

#编译
./compile_vsim.sh

#运行
./run_vsim.sh
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AXI总线
    +关注

    关注

    0

    文章

    66

    浏览量

    14244
收藏 人收藏

    评论

    相关推荐

    基于RISC-V的平行超低功率(PULP)介绍

    来协助芯片的开发设计。GAP8应用了基于RISC-V的平行超低功率(PULP)。PULP作为一个开源计算平台
    发表于 12-14 08:19

    FLASH中的代码是如何得到运行

    转载请注明出处。这是个好问题,要全面回答还是比较麻烦问题1:FLASH中的代码是如何得到运行?比如PC指针是在哪里由谁设置的?以ARM为例:ARM-cortex-M3/4的单片机(比如STM32 MK60等):该类单片机的
    发表于 12-17 06:37

    VB-01离线语音芯片模块该如何去使用

    VB-01离线语音芯片模块该如何去使用?如何去实现VB-01离线语音模块智能家居的方案设计
    发表于 12-23 09:58

    为什么单片机的代码在Flash中运行

    单片机与电脑在代码运行空间的区别在哪?为什么单片机的代码在Flash中运行?这样不会搞得
    发表于 01-26 06:39

    umqtt如何接受离线消息

    umqtt的cleansession貌似不对用户开发,默认打开。 以下情景:umqtt如何接受离线消息? umqtt客户端订阅主题后发生了异常掉线,重新发起订阅后如何接受掉线期间别人发布的消息?
    发表于 08-10 18:08

    使用AT-Link离线功能将多个工程代码合并烧录

    类似方案商和终端用户分别设计的各自工程文件代码,如何使用 AT-Link 离线功能将代码合并烧录?
    发表于 10-23 06:31

    如何利用开源工具 Pulp 对Linux软件仓库进行管理

    主要组成部分是由 Pulp 项目提供的。虽然 Pulp 是这个产品的一个组成部分,但它也是一个独立的、自由开源的项目,自身也在取得巨大的进步。
    的头像 发表于 09-16 16:06 2108次阅读

    openharmony 运行代码操作

    openharmony 运行代码操作 openharmony 运行代码,本文主要介绍windows环境下OpenHarmony社区代码操作:
    的头像 发表于 06-21 19:46 2124次阅读

    为什么单片机的代码在Flash中运行,单片机的代码运行位置跟电脑有什么不同?

    /SD卡/EMMC/NAND)中读出,拷贝到RAM,再在RAM中去执行代码。2. 为什么是这样?为什么单片机的代码在Flash中运行?这样不会搞得
    发表于 12-01 16:06 6次下载
    为什么单片机的<b class='flag-5'>代码</b>在Flash中<b class='flag-5'>运行</b>,单片机的<b class='flag-5'>代码</b><b class='flag-5'>运行</b>位置跟电脑有什么不同?

    介绍一个神级开源项目PULP

    PULP项目已经被用于很多芯片设计,其中有40多款芯片已经流片成功,下面是部分流片芯片的介绍。
    的头像 发表于 11-02 09:46 3031次阅读

    如何将Android代码转换成JS代码运行

    Autojs这个工具中,因为它本身是使用的Rhino引擎开发的,因此它可以把Android代码转换成JavaScript语法的代码运行,Autojs提供了几个相关的方法来辅助运行转换
    的头像 发表于 03-03 14:05 2503次阅读

    linux虚拟机怎么运行代码

    运行代码是Linux虚拟机中的常见操作,本文将详细介绍如何运行代码。 首先,要运行代码,你需要先
    的头像 发表于 11-17 10:12 4798次阅读

    python怎样运行代码

    讨论Python代码运行方式,包括解释器、交互式环境和命令行。 Python代码可以通过两种主要的方式运行:解释执行和编译执行。解释执行是指将源
    的头像 发表于 11-22 10:31 1115次阅读

    python软件怎么运行代码

    Python是一种高级编程语言,它被广泛用于开发各种类型的应用程序,从简单的脚本到复杂的网络应用和机器学习模型。要运行Python代码,您需要一个Python解释器,它可以将您的代码翻译成计算机可以
    的头像 发表于 11-28 16:02 841次阅读

    如何离线运行pulp代码

    最近在折腾pulp代码很优秀,强烈推荐。想在公司环境中跑起来,但鉴于公司eda服务器无法连外网,需要从外部导入数据。
    的头像 发表于 01-25 10:18 405次阅读
    如何<b class='flag-5'>离线</b><b class='flag-5'>运行</b><b class='flag-5'>pulp</b><b class='flag-5'>代码</b>?