引言
要利用ORPSoC进行开发,最直接的方式当然是直接用FPGA开发板进行调试,当往往很多时候,直接在FPGA板子上运行的时候会出现问题。这时候,对ORPSoC进行仿真就是非常必要的了,通过仿真,可以尽快的锁定问题,解决问题。本小节就以ORPSoC针对ML501开发板为例,解决这个问题。
1,通用版本的RTL仿真
在opencores提供的ubuntu镜像里面,对于通用的版本(ORPSoC除了通用版本外,针对不同的开发板,有些模块有所差异),ORPSoC的RTL仿真器使用的是icarus,镜像里面已经安装好了,不需要任何工作,就可以对通用版本的ORPSoC进行仿真。请参考orpsoc.pdf的4.4章节。在~/soc-design/orpsocv2/sim/run目录下执行make rtl-tests VPI=1 即可建立VPI和RSP server,给or32-linux-gdb的端口号是50002,
运行or32-linux-gdb,target remote:50002 即可和ORPSoC通信,向ORPSoC中的RAM中load 程序(eg.vmlinux)。
2,仿真环境组成
整个仿真系统由or32-linux-gdb,RSP server,VPI,ORPSoC的jtag tap以及SoC中的其它模块组成。
关于具体细节,我们在介绍advanced debug system时,已经介绍过了,这里不再赘述。
如有疑问,请参考,其中的VPI模式。
http://blog.csdn.net/rill_zhen/article/details/14167515
3,环境要求
1>opencores提供的ubuntu镜像,里面预装了openRISC的gun工具链,以及ORPSoCv2的源文件和由makefile组成的工程结构。