Minimal OpenRISC System on Chip

Installation Instructions

Install Icarus Verilog

You will need at least version 0.9.1 (ftp://ftp.icarus.com/pub/eda/verilog/v0.9/)

Download IP cores

download minsoc

download further necessary IP cores

cd minsoc/rtl/verilog

svn co http://opencores.org/ocsvn/adv_debug_sys/adv_debug_sys/trunk adv_debug_sys

svn co http://opencores.org/ocsvn/ethmac/ethmac/trunk ethmac

svn co http://opencores.org/ocsvn/openrisc/openrisc/trunk/or1200 or1200

svn co http://opencores.org/ocsvn/uart16550/uart16550/trunk uart16550

Install GNU toolchain and adv_jtag_bridge

Follow: http://www.opencores.org/openrisc,gnu_toolchain (to install binutils, gcc, gdb)

To debug and load the firmware you have to use the new advanced_debug_system. This project is included in the minsoc files inside of minsoc/rtl/verilog/adv_debug_sys. There you can find the software in Software and the documentation, which shall help you to go under Doc.

change the Makefile in minsoc/rtl/verilog/adv_debug_sys/Software/adv_jtag_bridge and compile the software using make.

change Makefile, “INCLUDE_JSP_SERVER=true” to “INCLUDE_JSP_SERVER=false”

make

sudo make install

If you have a Xilinx FPGA: copy the description file of your FPGA to your home directory (e.g. “cp /opt/Xilinx/10.1/ISE/spartan3e/data/xc3s500e_fg320.bsd ~/”)

With the adv_jtag_bridge you can also debug your simulation. To do so, the simulation has to include a vpi module. This has to be compiled by your system. The sources are found under “minsoc/rtl/verilog/adv_debug_sys/Software/adv_jtag_bridge/sim_lib/icarus”.

cd minsoc/rtl/verilog/adv_debug_sys/Software/adv_jtag_bridge/sim_lib/icarus

make

cp jp-io-vpi.vpi minsoc/bench/verilog/vpi

Check gdb version, patch it if version 6.8:

or32-elf-gdb -v

Building automata... done, num uncovered: 0/216.

Parsing operands data... done.

GNU gdb 6.8

Copyright (C) 2008 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law. Type "show copying"

and "show warranty" for details.

This GDB was configured as "--host=i686-pc-linux-gnu --target=or32-elf".

Proceed as in FAQ.pdf, “GDB reports “Value being assigned to is no longer active.”, what happened?”