Discussion:
[OpenRISC] mor1kx (OpenRISC) support in MiSoC
Sébastien Bourdeauducq
2014-05-15 08:28:44 UTC
Permalink
Hi everyone,

MiSoC (http://m-labs.hk/gateware.html) now supports the mor1kx CPU in
addition to the original LM32.
You can choose mor1kx at compile time by adding "-Ot cpu_type or1k" on
the make.py command line, e.g.
./make.py -Ot cpu_type or1k all
./make.py -Ot cpu_type or1k -p m1 -s FramebufferSoC all

...and that's all, make.py also configures the software build
environment to use the selected CPU.

For a demonstration of the functionalities of MiSoC on a simple design,
have a look at this example:
https://github.com/m-labs/blinkie

(You can use mor1kx with blinkie, just as well as LM32, by using the
same command-line option)

All that SoC targets which support or1k need to do is pass the cpu_type
argument to the GenSoC constructor. The recommended way to do it is to
pass any supplementary keyword arguments to the parent SoC classes using
**kwargs.

NB: BIOS execute-in-place from the flash on the Papilio Pro does not
work with or1k for some reason - I suspect it is reset timing related,
as it also breaks on LM32 when loading the bitstream to SRAM via
xc3sprog. It works fine on Mixxeo, or when using IntegratedBIOS.

Sébastien
Sébastien Bourdeauducq
2014-05-15 18:46:15 UTC
Permalink
Is there a plan for moving away from lm32 or this is just a friendly
step to reach OpenRISC community?
Right now it's about making LM32/mor1kx benchmarks easier, providing an
alternative for people who have concerns about the LM32 license, and
demonstrating the flexbility of the MiSoC design. I'm not going to drop
LM32 anytime soon, especially as mor1kx is noticeably larger.

Sébastien

Loading...