wujian100_open采坑指南。

简介: 我是如何跑通wujian100_open仿真的。

Hello 大家好!

wujian100_open开源已经有好一段时间了。

这里笔者分享一下第一次跑通wujian100_open仿真过程中遇到的一些坑。

1. 关于小伙伴们遇到的一个坑,大概就是获取源代码。

因为wujian100_open的源代码是放在github上面的,如果从gitbub上下载其实比较慢的。
不过好在压缩包不算大,只有1.54M。还算可以接受。

这里放一个链接:https://codeload.github.com/T-head-Semi/wujian100_open/zip/master

复制链接,使用浏览器下载即可。(当然,迅雷下载也可以。)

2. 第二个坑,是脚本的配置。

比如说,你可能已经遇到了这个错误:

/bin/riscv64-unknown-elf-gcc: Command not found
can't make: *** [crt0.o] Error 127
can't make at ../tools/run_case line 209.
[IC@IC workdir]$ echo $TOOL_PATH
../../riscv_toolchain
[IC@IC workdir]$ ls ../../riscv_toolchain/bin/

明明设置好了环境变量,用ls也看得到,但是就是make报错。
具体原因说起来比较复杂,这里有个简单粗暴的结局办法。

这里我提供解决办法是,把环境变量改成绝对路径,比如:

[IC@IC workdir]$ echo $TOOL_PATH
/data/project/riscv_toolchain

3. 第三个坑,是libstdc++.so.5

如果你安装的是最近更新的Ubuntu18.04,那么你可能会遇到这个问题。
这个文件是Srec2vmem需要用的一个库。
(目测是srec_cat/srec_cmp/srec_info,应该可以用srec_cat替代。有兴趣的小伙伴可以试试,这个是可以找到源码,自己编译的。)
好吧,一些其他的系统也可能有这个问题。
这里我直接放一个可以用的文件,把这个文件放到/usr/lib下面就可以了。

链接:https://pan.baidu.com/s/17eqHzcn0ruDjmBAIMCSvaA 
提取码:am9w

4. 第四个坑是工具与内核。

笔者这里使用的是vcs2014,很多小伙伴都会试着去找一些工具的资源,但是我要说的是,如果你用了很新的系统,就不要用很旧的工具。
但是很新的工具,估计你是找不到的。比如Ubuntu18.04安装vcs2016,工具会直接告诉你不支持5.x内核。

5. 第五个坑是iverilog的坑。

如果你使用的是iverilog的话,Ubuntu默认的iverilog是比较旧的iverilog。
会报一些语句工具不支持,这个解决方法是使用新版iverilog(10.x版本)。
关于如何更换新版iverilog,请自行百度。

6. 接下来应该就比较顺畅了。

如果还有问题的话,那应该是就是如何看波形了。以及如何下载wujian100到FPGA开发板了。

7. 查看波形使用dve工具。

命令行输入dve & 命令,回车–>File–>Open Database–> 选择test.vcd --> open

image.png
image.png

8. 还有一个不算坑的坑

那就是回归测试的时候,只能看到TEST PASS,看不到log,波形也会被覆盖。
可以修改run_case脚本。

if($s_vcs) {
    !system("vcs +v2k -Mupdate -sverilog   $mnt_sim $dump_sim +nospecify +notimingchecks -timescale=1ns/100ps  $top_mod   $wujian100_open_PATH/workdir/$had_v $vcs_incdir $g_vlib_path  $PLItab -l sim.log ") or die "can't run VCS";}

加上 -l sim.log 参数,就能保存下log了。

如果要保存下log和vcd波形的话。
需要修改run_case, 如:

!system("cp run_case.report ../regress/regress_result/$case_make\.report") or die "can't copy";(原脚本内容,可在脚本中找到)
!system("cp sim.log  ../regress/regress_result/$case_make\.log") or die "can't copy";
!system("cp test.vcd ../regress/regress_result/$case_make\.vcd") or die "can't copy";

好了,那么本文就写到这里了,下一篇会写一写下载到fpga过程中遇到的坑。

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

相关文章
|
Ubuntu Linux Shell
Windows-下学习阿里平头哥-RISC-V-芯片开发平台-wujian100
上个月,在第六届互联网大会上,阿里的平头哥,对,就是那个人狠话不多的公司!他们宣布开源了 wujian100 这个芯片设计平台。搭载基于 RISC-V 架构的玄铁 902 处理器。
Windows-下学习阿里平头哥-RISC-V-芯片开发平台-wujian100
|
物联网 开发工具 芯片
剑池CDK开发工具介绍 | 《平头哥剑池CDK快速上手指南》第一章
剑池CDK是平头哥推出的一款专业面向IoT开发领域的集成开发环境,该集成开发环境围绕平头哥“1天上手,5天出原型,20天出产品”1520技术理念,为开发者提供简洁统一的图形开发界面,帮助开发者进行应用开发。该开发环境目前已支持平头哥自研指令集C-SKY架构和RISC-V架构的芯片的开发。
剑池CDK开发工具介绍  |  《平头哥剑池CDK快速上手指南》第一章
|
算法 物联网 开发工具
开放下载!《平头哥剑池CDK快速上手指南》
自定义自己平台的 SDK,平头哥芯片开放社区第三本系列电子书《平头哥剑池CDK快速上手指南》现已开放下载,立即下载阅读吧!
30128 0
开放下载!《平头哥剑池CDK快速上手指南》
|
存储 测试技术 开发工具
Wujian SoC 平台_介绍|学习笔记
快速学习 Wujian SoC 平台_介绍
488 0
Wujian SoC 平台_介绍|学习笔记
|
Linux 开发工具 异构计算
【ZYNQ】QSPI Flash 固化程序全攻略
【ZYNQ】QSPI Flash 固化程序全攻略
3287 0
|
存储 安全 前端开发
|
存储 安全 物联网
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU IP-面向低功耗领域CPU
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU IP-
3626 0
|
存储 编译器 开发工具
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链-RISC-V工具链简介
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链
844 0
|
NoSQL IDE 物联网
RISC-V生态全景解析(八):平头哥玄铁CPU调试系统介绍
编辑语: 芯片开放社区(OCC)面向开发者推出RISC-V系列内容,通过多角度、全方位解读RISC-V,系统性梳理总结相关理论知识,构建RISC-V知识图谱,促进开发者对RISC-V生态全貌的了解。
2971 0
RISC-V生态全景解析(八):平头哥玄铁CPU调试系统介绍