试用 wujian100 流程记录

简介: 试用 wujian100 流程记录

1. 前言

官方提供了
隔壁的几个帖子已经总结了开发环境的配置流程,无需赘述 我再说说他们没提到的

1.1 有关License的环境变量

请各位指向正确的license,具体可以在 tools/setup.csh 中改动,也可以自行在 terminal 里手动添加。

  • bash/zsh
export VCS_HOME=/home/xxxx/vcs/vcs/P-2019.06-1/
export PATH=$PATH:/home/xxxx/vcs/vcs/P-2019.06-1/bin/
export PATH=$PATH:/home/xxxx/scl/scl/2018.06-SP1/linux64/bin/
export LM_LICENSE_FILE=xxxx
export SNPSLMD_LICENSE_FILE=xxxx
  • csh
setenv VCS_HOME /home/xxxx/vcs/vcs/P-2019.06-1/
setenv LM_LICENSE_FILE xxxx
setenv SNPSLMD_LICENSE_FILE xxxx
setenv RISCV /home/xxxx/rocket-tools/
setenv LM_LICENSE_FILE xxxx
setenv SNPSLMD_LICENSE_FILE xxxx

1.2 遇到的问题

1.2.1 riscv64-unknown-elf-gcc 无法识别 选项 ‘-mabi=ilp32e’

image.png

应该是我的riscv-tools 工具链设置有问题,请大家自行下载官方工具

解压的时候需要注意,把解压后的文件放置在 riscv-tools 下,以便脚本能够找到 risc-tools/bin/

1.2.2 注意vcs的位置,我目前的机器是linux64的,需要修改setup.csh第14行

2. VCS仿真

2.1 流程

请参照官方文档

2.2 timer_test.c 仿真结果

运行

  ../tools/run_case -sim_tool vcs ../case/timer/timer_test.c

会得到 timer_test.c 的结果

image.png

我们看一眼 timer_test.c 的源码

image.png

看一来是配置了Timer 1d的寄存器,然后等待触发中断,清中断标志位,最后退出。

Hello Friend!

timer test successfully

就是代码的输出了。

2.3 我们看看其他的仿真/测试

image.png

测个gpio玩吧,

image.png

看看波形,这里我们用的是verdi,请自行导入 vcd 文件。

对照c的源码,

image.png

能看到是在将GPIO输出 0xa5a5a5a5,也就是 ob10100101101001011010010110100101。 我们来见检查一下

image.png

果然是这样,嗯,看起来是对的。

3. FPGA bitstream 编译

先占坑,后面慢慢填,
没有 synplify license 啊,穷。

4. 工程结构

我们来翻翻具体的设计。
官方文档提到的:

项目目录结构

|–Project //开源项目工作目录
|–riscv_toolchain //工具链安装目录,用户需要将工具链按照在该目录下。工具链可以在下载页面下载
|–wujian100_open //wujian100_open平台项目工程目录。wujian100_open 平台代码可以通过github下载获取
|–case //仿真使用的测试case
|–doc //wujian100_open平台的用户手册
|–fpga //FPGA制作相关脚本
|–lib //仿真编译使用的脚本及库文件
|–regress //回归测试的结果
|–sdk //软件开发套件
|–soc //SoC RTL源码
|–tb //test bench和monitor文件
|–tools //仿真脚本和环境变量设置文件
|–workdir //执行仿真的工作目录
|–LICENSE
|–README.md

4.1 一些文件

4.1.1 顶层文件

https://github.com/T-head-Semi/wujian100_open/blob/master/soc/wujian100_open_top.v

4.1.2 aou_top

https://github.com/T-head-Semi/wujian100_open/blob/master/soc/aou_top.v
下面接了 pmu_dummy_top (peripheral management unit) ,gpio0_sec_top 和 RTC

4.1.3 感兴趣的部分来了 core_top

https://github.com/T-head-Semi/wujian100_open/blob/master/soc/core_top.v

https://raw.githubusercontent.com/T-head-Semi/wujian100_open/master/soc/E902_20191018.v

想来 剔除注释和合并代码的脚本写的挺不错的,1MB的文件。 后续再仔细分析一下

未完待续

附录

几处typo, 这里的命令应该是 sudo apt-get install / sudo yum install

image.png

原文作者:YangWang
点击查看原文

相关文章
|
3月前
|
前端开发
支付系统--微信支付21--搭建前端环境,payment-demo-front这个项目文件夹是前端显示文件,payment-demo是后端项目,支付页面常见三个页面:购买课程,我的订单,下载账单
支付系统--微信支付21--搭建前端环境,payment-demo-front这个项目文件夹是前端显示文件,payment-demo是后端项目,支付页面常见三个页面:购买课程,我的订单,下载账单
|
5月前
|
小程序 开发者
【内测功能试用申请】支付宝可以半屏打开小程序了!
【内测功能试用申请】支付宝可以半屏打开小程序了!
159 12
|
5月前
|
数据安全/隐私保护
自动阅读专业版第八次更新---原薅羊毛专业版
自动阅读专业版第八次更新---原薅羊毛专业版
27 0
自动阅读专业版第八次更新---原薅羊毛专业版
|
小程序
扫描普通二维码进入体验版小程序却一直进入线上版本?这个配置要注意!
开发小程序过程中,我们会遇到很多不同的场景,其中,扫描普通二维码进入小程序就是其中之一。
|
5月前
自动阅读专业版第七次更新---原薅羊毛专业版
自动阅读专业版第七次更新---原薅羊毛专业版
33 0
|
5月前
|
缓存 前端开发
自动阅读专业版第十一次更新---原薅羊毛专业版
自动阅读专业版第十一次更新---原薅羊毛专业版
39 0
|
5月前
|
区块链 数据安全/隐私保护
自动阅读专业版第十次更新---原薅羊毛专业版
自动阅读专业版第十次更新---原薅羊毛专业版
57 0
|
5月前
|
移动开发 内存技术
自动阅读专业版第九次更新---原薅羊毛专业版
自动阅读专业版第九次更新---原薅羊毛专业版
38 0
|
弹性计算 黑灰产治理
2023阿里云学生服务器申请流程(图文详解)
阿里云有学生服务器吗?当然有,完成学生认证并且完成实验任务可以免费领取7个月时长的学生服务器
711 0
|
弹性计算 Linux 开发工具
阿里云学生服务器免费申请流程(新版教程)
2023阿里云学生服务器免费申请流程,阿里云学生服务器优惠活动:高效计划,可以免费领取一台阿里云服务器,如果你是一名高校学生,想搭建一个linux学习环境、git代码托管服务器,或者创建个人博客网站记录自己的学习成长历程,拥有一台云服务器是很有必要的。阿里云的飞天加速计划3.0——高校计划,面向学生开发者提供免费的云服务器福利,通过学生身份认证及续费任务后,最多可领取7个月免费云服务器ECS资源
300 0