Issues with Soft-Cores

Hello. I'm a little bit tinkering with soft core cpus for fpgas, but I really have serious issues doing so. Thats why I decided to ask some experts and register here.

I tried to find a efficient softcpu that is supported by a c compiler. As I'm working with a Xilinx Spartan-3, I first tried the Microblaze, which indeed worked. But it's not the solution I was looking for. The Microblaze should be usable like the Picoblaze, which can just be integrated in a verilog module with full access to the cpu bus. So I searched further...

On OpenCores I've stumbled across the "AVR Core" and the microblaze clones "aeMB" and "openFire". I've tried to integrate these 3 into my project. Here are my experiences.

The OpenFire worked in the behavioural simulation as it should. But in post route simulation it seems to have timing issues and starts to get an undefined state after some time.

The aeMB has even issues with the same program I used for the openfire in behavioural simulation as some registers became undefined after some time.

The AVR Core has the same issues as the openfire.

The Picoblaze is the only soft core I've managed to get working. But as the instruction memory is a little bit small and there are no c compilers available, I only used it once.

Maybe It's because I've missed something that I should have done. I'm using the somewhat outdated Spartan-3 Starter Kit of Digilent and even found a SoC on OpenCores that uses the openfire exactly for this board.

But even with the manual that comes with it, I didn't managed to get it working.

Except for this project I'm unable to find other that use these cpus.

What I want to know is, wether there a some people around here that actually used one of these or maybe have a better one to recommend.

The OpenRISC is to big as it used ~520% of my FPGA. :-D

I'm writing all this because I now tried to get these working for 2 weeks and I really can't take it anymore.

--------------------------------------- Posted through

formatting link

Reply to
Slamy
Loading thread data ...

Hi

what about pacoblaze (open-source Verilog variant of PB?)

Also JOP (something different, a hardware Java interpreter:

formatting link
seems to be extensively tested.

The Plasma MIPS from Opencores is also a tested design.

Kind regards Nikolaos Kavvadias

Reply to
Nikolaos Kavvadias

Our ERIC5

formatting link
addresses all your concerns. However, it is not free (EUR 1500,- including VHDL-code and C-compiler).

Regards,

Thomas

formatting link

Reply to
Thomas Entner

Thank you. I will test them. :-)

--------------------------------------- Posted through

formatting link

Reply to
Slamy

Have you looked at the "Simple MicroBlaze Microcontroller," described in XAPP1141? I think this was Xilinx's answer to a beefier PicoBlaze with similar ease of use.

Regards, Gabor

Reply to
Gabor

ve

ch

e
s

st

.
n

Hi,

Regarding OpenRISC resource usage, it's very configurable, and I believe it'll fit on most FPGAs that come on those types of development boards, even with room to spare if you turn off things like FPU, MAC, and turn down the cache sizes.

I'd be willing to help you get it up and running on your board. I help maintain a project called ORPSoC - part of the OpenRISC project - you can usually find me in #opencores on irc.freenode.net

I understand it can be a bit difficult to get this stuff up and running, and I'm interested in making it easy for new comers to get going and would like to find out exactly what parts didn't work for you when you tried things out.

Of late, the OpenRISC's GNU toolchain port has been significantly upgraded, so too various libraries, debugging utilities and its Linux kernel port (so much so it'll be in mainline before long.) I think it's not a bad platform and am interested in working to make it easier to use. Your feedback would be very useful. So please drop by the mailing lists on openrisc.net or the IRC.

Cheers,

Julius

Reply to
Julius

Hello,

Do you have the XC3S200 or XC3S1000 on that board? If you got it from Digilent you would have had the option to get it with the 1000, and it might make a difference.

I also have the Spartan 3 Starter Kit personally, with the 1000. I've lent it to somebody in the office, but I don't think anyone is using it now, so I might see if I can get OpenRISC to work on it. As Julius said, there is the orpsoc project on opencores which has all of the Linux makefiles you need almost ready to go. If you don't need the external memory, and can run on block RAM, then all you need to do is update the makefiles and pin assignments, make a new set of design defines for your board and oscillator frequency, probably update the clock generator to get the right frequencies out of the PLL, and include the "ram_wb" core in the defines. The external SRAM would not be too much harder to get included, but you would need a wishbone controller written for it, which doesn't seem to exist in the IP. I asked somebody about exactly this on the OpenCores forums last week, and received some code very close to what I needed for another board, I just got it updated and am getting ready to test it out. I think it may eventually get contributed back for anyone who needs it. Otherwise I'm willing to share, anyway, so just let me know.

Alternatively, Aeroflex/Gaisler has the LEON3 soft core CPU (based on SPARC), which they offer for free if you don't need the fault tolerant version. They have a board support package for the Spartan 3 Starter Board all ready to go out of the box, and they give pretty good instructions on how to get it running, and it can be debugged directly through the stock Xilinx parallel or USB cable if that's what you happen to have. Once again, if you have the 200 version of that board, you might be out of luck, as their BSP supports the 1000, and I don't know if it would fit in the 200 or not.

Reply to
GrizzlySteve

Am 25.07.11 13:11, schrieb GrizzlySteve:

Definitely no. With limited peripherie (e.g. w/o MMU) it is usable on Spartan3 1000.

For a really small soft-core (with gcc support) take a look at the ZPU.

regards, Bart

Reply to
Bart Fox

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.