FPGARelated.com
Forums

softcore CPU tools

Started by InmateRemo March 20, 2007
I've played around with Xilinx PicoBlaze processor, but it's time to step up 
into 32-bit softcore CPU world for more serious designs, potentially getting 
in line with embedded OS.



I am facing a choice, whether to use always up to date Xilinx EDK tools 
integrated with ISE and MicroBlaze, which comes with good documentation, 
there is a third party uClinux port.

The other alternative is using Altium Designer FPGA goodies bag. They offer 
a wide range of Wishbone compatible cores (no source code though), platform 
independent primitive libraries, a choice of few softcore processors 
including 32-bit RISC core TSK3000, and even support for the same 
MicroBlaze, but I've noticed that supported version is a bit behind.



Currently I am considering Altium route as it brings more value to the 
table, providing vendor independence, but at the same time I would entirely 
depend on Altium continuous support towards FPGAs.



I would appreciate if anybody could share a similar experience or thoughts.




InmateRemo,

Thoughts to share:

I would suggest that Xilinx is the only provider with a continuous
history of providing a code compatible (MicroBlaze) soft processor.

Where others had their first version (which did not work very well) and
then abandoned it (leaving all their customers with useless code).
Xilinx recognizes that to be a serious player in the embedded processor
space there must be backward compatible code (forever).  Intel's rule is
very simple, you can research and play with any architecture you wish,
but there is one, and only one instruction set (x86).

In a similar fashion, we have PicoBlaze (still the KCMP core from long
ago), MicroBlaze (32 bit Harvard architecture soft core optimized for
our architecture -- unchanged as far as instructions from day 1), and
the IBM Power PC family (405, 4??, ???: the roadmap being IBM's "power"
architecture roadmap, just delayed).

With as many customers as we have, with all of their designs, and as
many seats of software (more than 250,000 installed), and our long
history (invented the FPGA in 1984), besides our business position (took
PowerPC(tm IBM) architecture from ~33% in embedded systems when we
introduced Virtex II Pro, to more than 50% of embedded systems today);
you would be well served to stick with Xilinx.

Austin
Hi,

It would depend if you want to use MicroBlaze or not and how important new 
feature of MicroBlaze will be.

Altium is also a nice tool and you should compare the it with Xilinx tools 
to see which one provides best features for your need.
But Xilinx tools will be the tool with best support for MicroBlaze and all 
it's new features.

Being vendor independent is nice but it's also comes with a cost of 
performance and cost.

Good luck in your decision

G�ran

"InmateRemo" <remis4pro@yahoo.com.extra> wrote in message 
news:iaYLh.18079$MR6.3246@fe1.news.blueyonder.co.uk...
> I've played around with Xilinx PicoBlaze processor, but it's time to step > up into 32-bit softcore CPU world for more serious designs, potentially > getting in line with embedded OS. > > > > I am facing a choice, whether to use always up to date Xilinx EDK tools > integrated with ISE and MicroBlaze, which comes with good documentation, > there is a third party uClinux port. > > The other alternative is using Altium Designer FPGA goodies bag. They > offer a wide range of Wishbone compatible cores (no source code though), > platform independent primitive libraries, a choice of few softcore > processors including 32-bit RISC core TSK3000, and even support for the > same MicroBlaze, but I've noticed that supported version is a bit behind. > > > > Currently I am considering Altium route as it brings more value to the > table, providing vendor independence, but at the same time I would > entirely depend on Altium continuous support towards FPGAs. > > > > I would appreciate if anybody could share a similar experience or > thoughts. > > > >
InmateRemo wrote:
> I've played around with Xilinx PicoBlaze processor, but it's time to step up > into 32-bit softcore CPU world for more serious designs, potentially getting > in line with embedded OS. > > > > I am facing a choice, whether to use always up to date Xilinx EDK tools > integrated with ISE and MicroBlaze, which comes with good documentation, > there is a third party uClinux port. > > The other alternative is using Altium Designer FPGA goodies bag. They offer > a wide range of Wishbone compatible cores (no source code though), platform > independent primitive libraries, a choice of few softcore processors > including 32-bit RISC core TSK3000, and even support for the same > MicroBlaze, but I've noticed that supported version is a bit behind. > > > > Currently I am considering Altium route as it brings more value to the > table, providing vendor independence, but at the same time I would entirely > depend on Altium continuous support towards FPGAs. > > > > I would appreciate if anybody could share a similar experience or thoughts.
Aren't these two mutually exclusive ?! "(no source code though)" and "providing vendor independence" ie, with no source code, you have just locked yourself into vendor Altium - surely a crazy thing to do ? If you like vendor independance, then look at Lattice Mico8/Mico32, which are open source. -jg
On Mar 20, 11:24 pm, Jim Granville <no.s...@designtools.maps.co.nz>
wrote:
> InmateRemo wrote: > > I've played around with Xilinx PicoBlaze processor, but it's time to step up > > into 32-bit softcore CPU world for more serious designs, potentially getting > > in line with embedded OS. > > > I am facing a choice, whether to use always up to date Xilinx EDK tools > > integrated with ISE and MicroBlaze, which comes with good documentation, > > there is a third party uClinux port. > > > The other alternative is using Altium Designer FPGA goodies bag. They offer > > a wide range of Wishbone compatible cores (no source code though), platform > > independent primitive libraries, a choice of few softcore processors > > including 32-bit RISC core TSK3000, and even support for the same > > MicroBlaze, but I've noticed that supported version is a bit behind. > > > Currently I am considering Altium route as it brings more value to the > > table, providing vendor independence, but at the same time I would entirely > > depend on Altium continuous support towards FPGAs. > > > I would appreciate if anybody could share a similar experience or thoughts. > > Aren't these two mutually exclusive ?! > "(no source code though)" > and > "providing vendor independence" > > ie, with no source code, you have just locked yourself into vendor > Altium - surely a crazy thing to do ? > > If you like vendor independance, then look at Lattice Mico8/Mico32, > which are open source. > > -jg
Yes Lattice Mico8/Mico32 are open source, but can you really use them anywhere else except only with Lattice ISP Lever and Lattice FPGA devices??? Yes, seems like Atlium has invested heavily into FPGAs, leading EDA industry with seamless integration, and having schematics, layout, FPGA code as well as C/C++ code for softcore CPU all integrated into single environment does bring benefits to the design team. And I am sure Altium will support this vision as long as it brings cash on the table.
Picking a Softcore is tough because it requires purchasing software
tools no matter which path you choose (Xilinx EDK, or Altium FPGA
Suite). The frustrating thing with Xilinx is the constant Tool
upgrades every few months... I still have ISE Webpack 7.2 at home and
now they are on 9.2. I don't think Altium requires you to upgrade as
often. I guess you wouldn't have to upgrade Xilinx tools either.

Altium brings a lot more to the table (with multiple cores with
compilers for each). Vender independence isn't that big of a deal...
now that Xilinx has the Spartan 3AN with the built in Flash... I don't
even need to look at the Altera MAXII anymore.

The Lattice Mico32 is pretty cool especially since it has a Wishbone
bus. I haven't looked, but I've been told the Mico32 is written in
behavioral VHDL. So you could port it to Xilinx. You would have to use
the command line GCC and manually figure a way to put the code in the
block RAM or external RAM. I think the Mico32 License says Lattice
only parts, but for home/research use you would be fine.

If you don't want to spend money on tools Mico32 or an 8051 core would
be good choices. You could use SDCC for the 8051 compiler, and you
could get FreeRTOS running on it... That isn't as cool as uClinux, but
you won't have to spend money on tools.

If you have the money I probably would go the MicroBlaze route. The
knowledge gained by training yourself on the Microblaze is more
transferable to another job, if you switch companies... You can pretty
easily talk a company into spending $1000 on ISE and EDK, but spending
$10,000 on Altium is a harder sell.

ERic

RemisN@gmail.com wrote:

> On Mar 20, 11:24 pm, Jim Granville <no.s...@designtools.maps.co.nz> > wrote: > >>InmateRemo wrote: >> >>>I've played around with Xilinx PicoBlaze processor, but it's time to step up >>>into 32-bit softcore CPU world for more serious designs, potentially getting >>>in line with embedded OS. >> >>>I am facing a choice, whether to use always up to date Xilinx EDK tools >>>integrated with ISE and MicroBlaze, which comes with good documentation, >>>there is a third party uClinux port. >> >>>The other alternative is using Altium Designer FPGA goodies bag. They offer >>>a wide range of Wishbone compatible cores (no source code though), platform >>>independent primitive libraries, a choice of few softcore processors >>>including 32-bit RISC core TSK3000, and even support for the same >>>MicroBlaze, but I've noticed that supported version is a bit behind. >> >>>Currently I am considering Altium route as it brings more value to the >>>table, providing vendor independence, but at the same time I would entirely >>>depend on Altium continuous support towards FPGAs. >> >>>I would appreciate if anybody could share a similar experience or thoughts. >> >>Aren't these two mutually exclusive ?! >>"(no source code though)" >>and >>"providing vendor independence" >> >>ie, with no source code, you have just locked yourself into vendor >>Altium - surely a crazy thing to do ? >> >>If you like vendor independance, then look at Lattice Mico8/Mico32, >>which are open source. >> >>-jg > > > Yes Lattice Mico8/Mico32 are open source, but can you really use them > anywhere else except only with Lattice ISP Lever and Lattice FPGA > devices???
Look at their web site. Open source means that.
> > Yes, seems like Atlium has invested heavily into FPGAs, leading EDA > industry with seamless integration, and having schematics, layout, > FPGA code as well as C/C++ code for softcore CPU all integrated into > single environment does bring benefits to the design team. And I am > sure Altium will support this vision as long as it brings cash on the > table.
Is that an Altium user talking, or the PR spin on a sales brochure ? -jg
On Mar 21, 1:15 pm, Rem...@gmail.com wrote:

Hi all,

> Yes Lattice Mico8/Mico32 are open source, but can you really use them > anywhere else except only with Lattice ISP Lever and Lattice FPGA > devices???
Yes, you can. I'ts running on my Spartan-3E starter kit and I'm currently porting it over to the Altera Cyclone-II Starter kit. I don't have it integrated into the Eclipse IDE Lattice is shipping -- but at least I've got the CPU running in my own wishbone based SOC. Having the source for all components available feels quite good for me. And it's cross-platform. I won't go back to MicroBlaze in the foressable future. j.
On Mar 21, 8:40 pm, j...@zilium.de wrote:
> On Mar 21, 1:15 pm, Rem...@gmail.com wrote: > > Hi all, > > > Yes Lattice Mico8/Mico32 are open source, but can you really use them > > anywhere else except only with Lattice ISP Lever and Lattice FPGA > > devices??? > > Yes, you can. > > I'ts running on my Spartan-3E starter kit and I'm currently porting it > over to the > Altera Cyclone-II Starter kit. > > I don't have it integrated into the Eclipse IDE Lattice is shipping -- > but at least I've > got theCPUrunning in my own wishbone based SOC. > > Having the source for all components available feels quite good for > me. And it's cross-platform. > I won't go back to MicroBlaze in the foressable future. > > j.
>>-jg >>Is that an Altium user talking, or the PR spin on a sales brochure ?
I am just Altium User and I love the tool for sch capture, layout, SPICE and signal Integrity Analysis. haven't jumped on it with FPGA develpments. So far I've been using Xilinx ISE.
> I'ts running on my Spartan-3E starter kit and I'm currently porting it > over to the > Altera Cyclone-II Starter kit.
you really got my attention on Mico32, since my target hardware is Xilinx. How is performance running on Xilinx Spartan3, what clock frequency can you push it to. And thanks for clarifying this. I always thought that Lattice Mico32 is like Microbalze, with code tailored for specific architecture. Well I guess then it was one unselfish move from Lattice point of view :) Just have read that uClinux is in the process of being ported to Mico32. This open source project could really take off.
> The Lattice Mico32 is pretty cool especially since it has a Wishbone > bus. I haven't looked, but I've been told the Mico32 is written in > behavioral VHDL.
It's written in Verilog. The only Lattice specific code in the CPU is in the debug unit, as that makes use of the Lattice JTAG hardware block. Cheers, Jon