FPGARelated.com
Forums

C-Compiler for free VHDL controller core ?

Started by Peter Winkler April 8, 2006
Hi !

I would like to use a free microcontroller core on my
Spartan 3 FPGA. 

There are quite some free cores available, but I would like to know
what everybody is using. It would be great if the free core would be
supported by gcc or some other free C-Compiler.

I also need a UART, so what I am searching for is:

* free FPGA controller core (with UART)
* C-Compiler supporting it

Do you know if something like this is available ? It is not
practical for a non-professional to license a controler
core and tool-chain, or ?

TIA
Peter


Maybe an OpenRISC?

They have a GCC port for the chip on freecores.org, though the simplest
config on my XC3S200 would use up ~75% of it!

-Isaac

Isaac Bosompem wrote:
> Maybe an OpenRISC? > > They have a GCC port for the chip on freecores.org, though the simplest > config on my XC3S200 would use up ~75% of it!
That's an option that should work. The OP mentioned a microcontroller, so that case I'd expect an AVR clone would be good enough (I think I've seen them around but regardless it would not be hard to reproduce). GCC supports AVR quick nicely. Another all time favorite is MIPS for which GCC have had well tested support for quite a while. The best alternative however is likely the microblaze clone aeMB which is a better fit for FPGAs and has good GCC support. However, license issues aren't not entirely clear, but for non-commercial use I wouldn't worry. There. I'm sure there are other excellent choices. No, ARM is not one of them :-) Tommy
choices
* Pico(Paco)Blaze
* AVR
* C16 from opencores
* aeMB is not fully compliant as MicroBlaze i have tested with assembly
programs but some commands are wrong, so its not ready for c compiler

if you have S400 or larger than you can use some 32 bit cores, in S200
it is getting very tight with 32 bit processors (commercial MicroBlaze
is ok in S200)

if you are looking to have full normal GCC support the there are no so
many options :(
LEON3 smallest system fits s400

Antti

The gr16/32 CPUs are very old and designed in Verilog, but you might
still find them useful.

I think Jan Gray ported LCC to the architecture and also had a complete
SoC example with UART and everything.



Speaking of aaMB, did they actaully looked if it FITS into an apa150
when they wrote the docs??

Thanks for your suggestions ! I think I will have a look at these two:

>* Pico(Paco)Blaze >* AVR
I very much like AVR controllers, so maybe it is a good idea to look at this core. And there is also WinAVR. I hope I can get it to run on my XC3S200. Don't you think it is somewhat strange, that there are so few options for a soft prozessor for hobby stuff ? Is it so much work to design a soft core ? Not sure, but looking at the AVR core from opencores, it seems development was stopped in 2003 and only a limited number of I/O lines are available. However, I am very glad that it exists at all ... ;) P.
<burn.sir@gmail.com> schrieb im Newsbeitrag 
news:1144579508.239684.10820@e56g2000cwe.googlegroups.com...
> The gr16/32 CPUs are very old and designed in Verilog, but you might > still find them useful. > > I think Jan Gray ported LCC to the architecture and also had a complete > SoC example with UART and everything. > > > > Speaking of aaMB, did they actaully looked if it FITS into an apa150 > when they wrote the docs?? >
you mean "aeMB" ? the original author did very little testing and the core is not full, it does do lots of instructions ok, but I think it messes up with delay slots and link register I think it should fit into APA150 but I havent run that synthesis but just out curiosity i peeked into my trashbox and did run synthesis of NIOS-II clone for Lattice XP3: 605 slices - 39% :) hum maybe I should continue the work on that Antti
"Peter Winkler" <idontwant@totell.com> schrieb im Newsbeitrag 
news:1ndi32lhgriblsukneeh81cifdf8gnqac2@4ax.com...
> Thanks for your suggestions ! I think I will have a look at these two: > >>* Pico(Paco)Blaze >>* AVR > > I very much like AVR controllers, so maybe it is a good idea to > look at this core. And there is also WinAVR. I hope I can get > it to run on my XC3S200. > > Don't you think it is somewhat strange, that there are so few > options for a soft prozessor for hobby stuff ? Is it so much work > to design a soft core ? Not sure, but looking at the AVR core > from opencores, it seems development was stopped in 2003 > and only a limited number of I/O lines are available. However, > I am very glad that it exists at all ... ;) > > P.
it does exist and does work I have done some work with it 1) I think i had made verilog version of it 2) tried to use better io peripheral bus system that would be configurable 3) one time had it integrated into Xilinx EDK ! 4) I have a special toplevel that works as Atmel appnote AVR910 compatible programmer in the opencores version there is base address of one port wrong and yes the development is pretty much stopped an no its not hard to write a processor ip-core not at all but having full infra-structure, peripheral bus and compiler support, and debuf support is what makes it more complex task Antti
On 8 Apr 2006 16:10:26 -0700, "Isaac Bosompem" <x86asm@gmail.com>
wrote:

>Maybe an OpenRISC? > >They have a GCC port for the chip on freecores.org, though the simplest >config on my XC3S200 would use up ~75% of it! > >-Isaac
That may be a little bit too large for me :)
Peter Winkler wrote:
> Hi ! > > I would like to use a free microcontroller core on my > Spartan 3 FPGA. > > There are quite some free cores available, but I would like to know > what everybody is using. It would be great if the free core would be > supported by gcc or some other free C-Compiler.
There's PIC and Z80 clones on opencores.org. The sdcc compiler could be used for them. Philipp