《基于“矿板”低成本学习FPGA》移植OpenC906第三篇-跑仿真

原创 嵌入式Lee 2024-09-12 16:00

一. 前言

  前面我们移植了openc906到淘到的fpga板子上,生成了bit文件。打样的扩展板和器件还没准备好,趁着这个时间我们来跑一遍openc906的仿真,熟悉下。    

   这里开发环境基于win11+WSL2+Ubuntu24, wsl环境准备可以参考之前分享的文章。

.准备工作

2.1下载源码

git clone https://github.com/XUANTIE-RV/openc906.git

如果连接不上可以取消代理设置

git config --global --unset http.proxy

git config --global --unset https.proxy

2.2安装必备工具

sudo apt install make

sudo apt install gtkwave iverilog

2.3CSH配置

sudo su切换到root用户

2.3.1安装csh

sudo apt install csh

2.3.2切换bashcsh

sudo nano /etc/passwd

将最后的/bin/bash改为/bin/csh

Ctrl+x退出,提示是否保存修改,输入y回车修改后退出。

重新打开终端,sudo su切换到root用户,并echo $SHELL查看是否切换到了CSH

2.2.3配置环境

cd openc906/C906_RTL_FACTORY/

source setup/setup.csh

2.4编译工具链配置

2.4.1下载工具链

从以下地址下载

https://www.xrvm.cn/community/download?id=4352528597269942272

我这里下载的是Xuantie-900-gcc-elf-newlib-x86_64-V2.10.2-20240904.tar.gz

wget https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1725611943439/Xuantie-900-gcc-elf-newlib-x86_64-V2.10.2-20240904.tar.gz

解压

tar -zxvf Xuantie-900-gcc-elf-newlib-x86_64-V2.10.2-20240904.tar.gz

2.4.2配置工具链路径

sudo nano openc906/smart_run/setup/example_setup.csh

设置工具链路径为setenv TOOL_EXTENSION /home/qinyunti/Xuantie-900-gcc-elf-newlib-x86_64-V2.10.2/bin

source openc906/smart_run/setup/example_setup.csh

提示语法错误

root@qinyunti:/home/qinyunti# source openc906/smart_run/setup/example_setup.csh
bash: /*Copyright: No such file or directory
bash: openc906/smart_run/setup/example_setup.csh: line 3: syntax error near unexpected token `('
bash: openc906/smart_run/setup/example_setup.csh: line 3: `Licensed under the Apache License, Version 2.0 (the "License");'

把前面的license部分注释掉

.编译

cd openc906/smart_run/

每次重新打开过终端后以下两条指令都需要执行

source ../C906_RTL_FACTORY/setup/setup.csh

source ./setup/example_setup.csh

make help可以查看命令

进行编译make compile,提示没有work目录需要手动创建

root@qinyunti:/home/qinyunti/openc906/smart_run# make compile
[THead-smart] Compiling smart now ...
[THead-smart] SIM = iverilog
/bin/sh: 1: cd: can't cd to ./work
make: *** [Makefile:65: compile] Error 2

创建work目录

mkdir work

在此编译提示以下错误

qinyunti% make compile
[THead-smart] Compiling smart now ...
[THead-smart] SIM = iverilog
iverilog: cannot open command file /gen_rtl/filelists/C906_asic_rtl.fl for reading.
make: *** [Makefile:65: compile] Error 1
qinyunti%

gen_rtl/filelists/C906_asic_rtl位于C906_RTL_FACTORY目录下而不是/目录下

查看Makefile文件

sudo nano Makefile

路径如下

ifeq ($(SIM), iverilog)
SIM_FILELIST := $(SIM_FILELIST) -f ${CODE_BASE_PATH}/gen_rtl/filelists/C906_asic_rtl.fl -f ${CODE_BASE_PATH}/gen_rtl/filelists/tdt>else
SIM_FILELIST := $(SIM_FILELIST) -f ../logical/filelists/sim.fl
endif
qinyunti% echo ${CODE_BASE_PATH}
/home/qinyunti/openc906/smart_run

看到目录对应不上

必须要位于openc906/C906_RTL_FACTORY下执行source ./setup/setup.csh

才会将${CODE_BASE_PATH}设置为openc906/C906_RTL_FACTORY路径才能对应上。

所以正确步骤如下,每一步的路径都要对。

假设当前位于 openc906外,

cd openc906/C906_RTL_FACTORY

source ./setup/setup.csh

然后

cd ../smart_run/

source ./setup/example_setup.csh

然后再make compile

如果还有提示

qinyunti% make compile
[THead-smart] Compiling smart now ...
[THead-smart] SIM = iverilog
xuantie_core.vvp: Permission denied
error: Code generator failure: -1
make: *** [Makefile:65: compile] Error 255

则使用注意要切换到root用户执行

.Runcase

work目录下生成了vvp文件

qinyunti# ls work
xuantie_core.vvp
qinyunti#

make showcase可以看到caselist

qinyunti# make showcase
Case lists:
ISA_THEAD
ISA_INT
ISA_LS
ISA_FP
coremark
MMU
interrupt
exception
debug
csr
cache
qinyunti#

执行coremark

make runcase CASE=coremark

提示如下错误

qinyunti# make runcase CASE=coremark
[THead-smart] Compiling smart now ...
[THead-smart] SIM = iverilog
Toolchain path: /home/qinyunti/Xuantie-900-gcc-elf-newlib-x86_64-V2.10.2/bin
/bin/sh: 1: Syntax error: Bad fd number
make[2]: *** [setup/smart_cfg.mk:61: coremark_build] Error 2
make[1]: *** [Makefile:101: buildcase] Error 2
make: *** [Makefile:125: runcase] Error 2
qinyunti#

先跳到/bin

cd /bin

cp bash ./sh

再回到smart_run目录下,重新runcase

还有错误

qinyunti# make runcase CASE=coremark
[THead-smart] Compiling smart now ...
[THead-smart] SIM = iverilog
Toolchain path: /home/qinyunti/Xuantie-900-gcc-elf-newlib-x86_64-V2.10.2/bin
make[2]: *** [setup/smart_cfg.mk:61: coremark_build] Error 2
make[1]: *** [Makefile:101: buildcase] Error 2
make: *** [Makefile:125: runcase] Error 2
qinyunti#

查看log

sudo nano work/coremark_build.case.log

看到如下错误

原来是Srec2vmem无可执行权限

添加可执行权限

sudo chmod a+x ./tests/bin/Srec2vmem

重新runcase

make runcase CASE=coremark DUMP=on

DUMP=on表示生成vcd文件。

coremark我电脑太慢了,换个简单点的跑

make runcase CASE=csr DUMP=on

这个很快就跑完了

五. 查看波形文件

波形文件位于work目录下

test.vcd

输入gtkwave回车,打开gtkwave

打开文件

此时可以双击左边的信号,查看波形

.总结

以上跑了一遍仿真,初步了解了整个流程,整个过程有如下几点需要注意

1.需要手动创建work目录

2.需要切换bashcsh,先要安装csh,使用root用户,避免后面权限问题, 注意需要修改root用户的bashcsh

3.设置环境,注意一定要在openc906/C906_RTL_FACTORYsource,否则目录不对找不到C906_asic_rtl.fl文件。

cd openc906/C906_RTL_FACTORY

source ./setup/setup.csh

4.设置编译器

cd ../smart_run/

source ./setup/example_setup.csh

example_setup.csh文件中前面使用了/**/ 注释不符合语法,改为#注释掉。

5.复制/bin/bash/bin/sh

cd /bin

cp bash ./sh

6.Srec2vmem文件添加可执行权限,sudo chmod a+x ./tests/bin/Srec2vmem












评论 (0)
  • 2024年10月09日 Global Info Research调研机构发布了《全球多通道数字局部放电检测仪行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告研究全球多通道数字局部放电检测仪总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至20
    GIRtina 2024-10-09 09:48 44浏览
  • 2024年10月09日 调研机构Global Info Research出版了《全球自动化微孔板热封仪行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告主要分析全球自动化微孔板热封仪总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。规模分析包括收入和市场份额等。深入分析了全球范围内主要企业竞争态势,收入和市场份额等,同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预
    GIRtina 2024-10-09 10:22 75浏览
  • 随着电子技术的不断发展,越来越多的精密细小器件逐步开放和增长,作为对细小器件检测的bi备仪器—探针台也显得越来越重要。探针台可以将待测器件进行放大几十到上千倍,可将微观层面的东西搬到宏观上来进行研究,连接测试仪器仪表进行测量。那么如何选择一款适合的探针台显得尤为重要。第一,我们需要选择合适尺寸的样品座,会有2英寸、4英寸、6英寸、8英寸和12英寸之分,如果我们测试的样品是大的晶圆或器件,我们还需要注意的是,探针是否能满足扎到样品的任意位置。第二,我们选用探针臂的数量和类型,可以zui多同时搭载6
    锦正茂科技 2024-10-09 13:07 37浏览
  • 本文适用于触觉智能的SigmaStar、瑞芯微、全志等所有芯片方案产品,搭载Linux系统(Ubuntu / Debian /Buildroot)均可。本次使用到的是触觉智能的Purple Pi R1双网口开发板,搭载了SigmaStar SSD201/SSD202D芯片,类树莓派设计,双核A7,带WiFi功能,是嵌入式新人入门学习的高性价比开发板!1、什么是源?软件源就相当于软件库,需要安装什么软件,只需要使用简单的命令,系统就会从源中获取相应的软件。系统会从一个叫做源列表的文件去读取软件源的
    Industio_触觉智能 2024-10-09 14:48 15浏览
  • 本文介绍Android7.1修改网络优先级方法,基于触觉智能SBC3968主板,搭载瑞芯微RK3399芯片,这块主板的网络优先级默认是网口>WiFi>4G,下面就手把手教大家怎么修改。1、查看当前网络优先级数值源码根目录下执行以下命令查看网口命令(复制后删除换行)cat frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetNetworkFactory.javagrep NETWORK_SCORE由结果priva
    Industio_触觉智能 2024-10-09 12:15 33浏览
  • 2024年10月08日 调研机构Global Info Research出版了《全球X射线变压器行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告主要分析全球X射线变压器总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。规模分析包括收入和市场份额等。深入分析了全球范围内主要企业竞争态势,收入和市场份额等,同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数据为20
    GIRtina 2024-10-08 14:02 80浏览
  • 2024年10月08日 Global Info Research调研机构发布了《全球电池绝缘纸粘贴机行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告研究全球电池绝缘纸粘贴机总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数据
    GIRtina 2024-10-08 14:27 77浏览
  • 2024年10月08日  Global Info Research行业调研机构发布的《全球袖套制造机行业总体规模、主要厂商及IPO上市调研报告,2024-2030》分析了全球袖套制造机总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数据为
    GIRtina 2024-10-08 14:16 84浏览
  • 1.引言 汽车进入智能化时代,自动泊车功能已成为标配。在研发测试阶段,实车测试面临测试场景覆盖度不足、效率低下和成本高昂等挑战。为解决这些问题,本文提出一种自动泊车HiL仿真测试系统方案,可大幅度提升测试效率及测试场景覆盖度、缩短测试周期、加速产品迭代升级。 2.自动泊车系统简介 多传感器融合的自动泊车技术结合了超声波雷达和摄像头来实现车位探测和环境感知。超声波雷达通过实时探测周围障碍物的距离,结合车辆自身的长宽,判断是否存在可泊入的空间车位,而摄像头则通过实时图像
    北汇信息 2024-10-09 13:43 25浏览
  • 2024年10月08日 调研机构Global Info Research出版了《全球电子汽车衡(地磅)行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告主要分析全球电子汽车衡(地磅)总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。规模分析包括收入和市场份额等。深入分析了全球范围内主要企业竞争态势,收入和市场份额等,同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预
    GIRtina 2024-10-08 13:41 66浏览
  • 2024年10月09日 Global Info Research调研机构发布了《全球脉冲函数任意噪声发生器行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告研究全球脉冲函数任意噪声发生器总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023
    GIRtina 2024-10-09 10:24 61浏览
  • 2024年10月09日  Global Info Research行业调研机构发布的《全球钻孔探地雷达行业总体规模、主要厂商及IPO上市调研报告,2024-2030》分析了全球钻孔探地雷达总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数
    GIRtina 2024-10-09 10:33 56浏览
  • 2024年10月09日  Global Info Research行业调研机构发布的《全球冲击型加速度传感器行业总体规模、主要厂商及IPO上市调研报告,2024-2030》分析了全球冲击型加速度传感器总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至202
    GIRtina 2024-10-09 10:29 65浏览
  • 探针台(Probe Station)是一种用于对半导体器件进行电性能测试的重要设备。它通常由精密的机械结构、高性能的探针针头和电性能测试仪器组成。探针台可以对半导体芯片、集成电路和其他微电子器件进行直接的电性能测试,从而为研究和生产提供有价值的信息。探针台在半导体行业的研究和生产中发挥着重要作用。主要应用领域包括:半导体器件开发:在新型半导体器件的研发过程中,需要对其电性能进行多次测试,以优化器件结构和工艺参数。探针台提供了快速、准确的电性能测试手段,有助于研究人员了解器件性能并进行改进。生产过
    锦正茂科技 2024-10-09 10:33 13浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦