首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

OpenRisc-三-SOC develop environment build and test

2013-11-08 
OpenRisc-3-SOC develop environment build and test引言openrisc是开源computer architecture中推广的比

OpenRisc-3-SOC develop environment build and test

引言

openrisc是开源computer architecture中推广的比较好的。工具也比较齐全,比如,compiler,debugger,architecture simulator,rtl simulator。。。这些tool都有,并且都是opensource的,有极大的灵活性。

学习一种技术最好的方式就是使用它,修改它。(the best way to learn and understandthe openrisc is to use it - rill_zhen)。

这一小节就介绍开发环境的搭建。

 

3.1 参考

有一些document和web link可以参考:

1》当然是官网了:

http://opencores.org/or1k/Main_Page

 

2》另外一个比较好的参考网站:

http://www.embecosm.com/download/ean2.html

 

3》国内我们有一个qq群,可以参与讨论,相互学习与交流:

277505520

 

3.2 最简单的方法:

一般有两种方式:用现成的;自己安装。

opencores提供了一个virtualbox的镜像,里面所有的工具(除FPGA IED外)都install好了。

下载地址:

http://opencores.org/or1k/Ubuntu_VirtualBox-image_updates_and_information

需要注意的是:这个链接可以下载,但是可能国内down不下来,我down了好几次都没down下来,所以让我一个在US的一个朋友帮忙download下来的。感兴趣的朋友可以留言,我传给你。

 

3.3 get start

1,用or1ksim跑helloworld

1》cd ~/soc-design/helloworld-or1ksim

2》make run 或者make logrun ,或者干脆自己敲一下:sim -m8M helloworld --trace >rill.trace 。这个看一下Makefile就明白了。

3》可以看到模拟结果rill.trace等文件。可以看出来,or1ksim只是一个简单的解释型ISS(instruction set simulator),不是cycle accurate的,所以对于研究computer architecture的朋友就稍微有些失望了,gem5,simplescaler这些simulator可能会好些。会如下图:

OpenRisc-三-SOC develop environment build and testOpenRisc-三-SOC develop environment build and test

 

 

2,用or1ksim跑linux

1》cd ~/soc-design/linux

2》make ARCH=openrisc defconfig

3》make ARCH=openrisc

4》sim -f arch/openrisc/or1ksim.cfg vmlinux

5》然后在桌面的左上角,你就会看到linux的启动过程了,如果搞过embedded,这一幕肯定很熟悉了。如下图:

OpenRisc-三-SOC develop environment build and test

OpenRisc-三-SOC develop environment build and test

 

 

3,RTL 仿真

在用simulator将architecture模拟后,可以得到体系结构的performance,并反复改进后,就要写RTL了(verilog HDL 或者VHDL),然后再用modelsim 等仿真工具进行functional 和 timing的仿真。当然RTL的仿真肯定是cycle accurate的,呵呵。当然openrisc这些仿真工具是不能用的,因为这些不是开源的。他用的是verilator,具体参考:http://opencores.org/or1k/ORPSoC

思路是先用仿真软件产生VCD文件(对verilog熟悉的哥们肯定知道VCD文件,在testbench里面调用dumpvars()产生),然后用GTK产生波形。

就好像咱们平时用modelsim产生fsdb文件(用dumpfile("rill.fsdb")),然后用debussy调试一样。关于or1200的rtl仿真,我的第一篇blog里面有,我是用modelsim仿真的。

步骤:

1》cd soc-design/orpsocv2/sim/run

2》make rtl-test TEST=or1200-cabsic VCD=1

3》gtkwave ../out/or1200-cbasic.vcd ../../../../signal.sav &

4》这时,就能看到波形了。如下图:

OpenRisc-三-SOC develop environment build and test

 

 

3.4 小结

对openrisc有一个感性的直观的认识了吧,有条件的话就buy一个openrisc的develop board(RMB1350左右),移植一个也行,那就更perfect了。

enjoy!

热点排行