Tools to help port from LPC2294 to FPGA??

Started by Leonard Rohnert July 1, 2007
I've been asked to find the costs of swapping one of our LPC2294 prototypes
onto FPGA. If the move gets the OK, this is going to be a complete SoC
design (with a soft core). I've done various ARM7 (and PIC) designs but
this will be my first FPGA project.

In the archives for this group there is some discussion about some free
tools from pdqlogic http://www.pdqlogic.com/index.html. This company has a
neat board but I don't think the tools will help do the porting I need to
do (could be wrong?).

I couldn't find anything else in this archive : - surely someone else has
done this?

I've googled RapidiTTy (www.tte-systems.com). This seems to work with xilinx
FPGAs (only?), and comes with some kind of MIPS core in the package. The
www site says you can swap code between ARM and FPGA. If you've tried this
stuff, I'd appreciate any feedback (and costs - I couldn't get prices on
the tte site, and their sales guys don't seem to reply to mail on
Sundays...).

Thanks
LenRt.

An Engineer's Guide to the LPC2100 Series

----- Original Message -----
From: "Leonard Rohnert"
To:
Sent: Sunday, July 01, 2007 5:25 PM
Subject: [lpc2000] Tools to help port from LPC2294 to FPGA??
> I've been asked to find the costs of swapping one of our LPC2294
> prototypes
> onto FPGA.

Why? It'll be more expensive, slower and take a lot more power. OTOH, if you
need an FPGA in the system, it can make sense.

Leon
Leonard Rohnert wrote:
>
> I've been asked to find the costs of swapping one of our LPC2294
> prototypes
> onto FPGA. If the move gets the OK, this is going to be a complete SoC
> design (with a soft core). I've done various ARM7 (and PIC) designs but
> this will be my first FPGA project.
>
> In the archives for this group there is some discussion about some free
> tools from pdqlogic http://www.pdqlogic .com/index. html.
> This company has a
> neat board but I don't think the tools will help do the porting I need to
> do (could be wrong?).
>
> I couldn't find anything else in this archive : - surely someone else has
> done this?
>

IIRC, yes, it was done, then they got sued by ARM Inc. for violating
their Intellectual Property. I believe that a court order forced them
to stop offering the core.

Look at some of the hits on:
http://www.google.com/search?hl=en&q=PicoTurbo+lexra+sued&btnG=Search

I would think that you would need a team of good lawyers and deep
pockets before you decide to go the infringement route?

TomW
--
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net http://cyberiansoftware.com http://openzipit.org
"Windows? No thanks, I have work to do..."
----------------
Leonard Rohnert wrote:
>
> I've been asked to find the costs of swapping one of our LPC2294
> prototypes
> onto FPGA. If the move gets the OK, this is going to be a complete SoC
> design (with a soft core). I've done various ARM7 (and PIC) designs but
> this will be my first FPGA project.
>
> In the archives for this group there is some discussion about some free
> tools from pdqlogic http://www.pdqlogic .com/index. html.
> This company has a
> neat board but I don't think the tools will help do the porting I need to
> do (could be wrong?).
>
> I couldn't find anything else in this archive : - surely someone else has
> done this?
>

If your boss is still insistent that "this must be done", have a look
over at http://www.opencores.org/browse.cgi/by_category

They are not ARM cores, but RISC cores. I doubt that you will find an
SoC in the list, but... One thing your boss should keep in mind is that
the ARM core has been around for many years, most of the problems in
that core are known. When dealing with your own custom FPGA core, you
don't know what hardware bug(s) are going to bite you.

TomW
TomW

--
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net http://cyberiansoftware.com http://openzipit.org
"Windows? No thanks, I have work to do..."
----------------
Tom,

Just to make it clear - we have ABSOLUTELY NO INTENTION of infringing any
copyrights, patents, etyc - and our FPGA won't include an ARM core. (In
fact, the RapidiTTy tools are based on a MIPS core - without patented
instructions, as far as I can tell.)

Still hoping someone can give me some feedback about use of these tools?

LenRt

On 7/1/07, Tom Walsh wrote:
>
> Leonard Rohnert wrote:
> >
> > I've been asked to find the costs of swapping one of our LPC2294
> > prototypes
> > onto FPGA. If the move gets the OK, this is going to be a complete SoC
> > design (with a soft core). I've done various ARM7 (and PIC) designs but
> > this will be my first FPGA project.
> >
> > In the archives for this group there is some discussion about some free
> > tools from pdqlogic http://www.pdqlogic .com/index. html.
> > < http://www.pdqlogic.com/index.html.> This company has a
> > neat board but I don't think the tools will help do the porting I need
> to
> > do (could be wrong?).
> >
> > I couldn't find anything else in this archive : - surely someone else
> has
> > done this?
> > IIRC, yes, it was done, then they got sued by ARM Inc. for violating
> their Intellectual Property. I believe that a court order forced them
> to stop offering the core.
>
> Look at some of the hits on:
> http://www.google.com/search?hl=en&q=PicoTurbo+lexra+sued&btnG=Search
>
> I would think that you would need a team of good lawyers and deep
> pockets before you decide to go the infringement route?
>
> TomW
>
> --
> Tom Walsh - WN3L - Embedded Systems Consultant
> http://openhardware.net http://cyberiansoftware.com http://openzipit.org
> "Windows? No thanks, I have work to do..."
> ----------------
>
Oh you mean porting software from an ARM-based LPC2294 to another
type of (soft-core) processor?

I think it depends a lot on the quality of the existing software and
whether it uses a lot of the LPC2294-specific features. It helps a
lot if the new processor uses at least the same basic bit-width,
alignment rules and endianness. When the software is nicely layered
then most of the work should be limited to the hardware abstraction
layer. This is not something that can be automated easily by some
tool.

Bertrik

Leonard Rohnert wrote:
> Tom,
>
> Just to make it clear - we have ABSOLUTELY NO INTENTION of infringing any
> copyrights, patents, etyc - and our FPGA won't include an ARM core. (In
> fact, the RapidiTTy tools are based on a MIPS core - without patented
> instructions, as far as I can tell.)
>
> Still hoping someone can give me some feedback about use of these tools?
>
> LenRt
>
> On 7/1/07, Tom Walsh wrote:
>> Leonard Rohnert wrote:
>>> I've been asked to find the costs of swapping one of our LPC2294
>>> prototypes
>>> onto FPGA. If the move gets the OK, this is going to be a complete SoC
>>> design (with a soft core). I've done various ARM7 (and PIC) designs but
>>> this will be my first FPGA project.
>>>
>>> In the archives for this group there is some discussion about some free
>>> tools from pdqlogic http://www.pdqlogic .com/index. html.
>>> < http://www.pdqlogic.com/index.html.> This company has a
>>> neat board but I don't think the tools will help do the porting I need
>> to
>>> do (could be wrong?).
>>>
>>> I couldn't find anything else in this archive : - surely someone else
>> has
>>> done this?
>>>
>> IIRC, yes, it was done, then they got sued by ARM Inc. for violating
>> their Intellectual Property. I believe that a court order forced them
>> to stop offering the core.
>>
>> Look at some of the hits on:
>> http://www.google.com/search?hl=en&q=PicoTurbo+lexra+sued&btnG=Search
>>
>> I would think that you would need a team of good lawyers and deep
>> pockets before you decide to go the infringement route?
Leonard Rohnert wrote:
>
> Tom,
>
> Just to make it clear - we have ABSOLUTELY NO INTENTION of infringing any
> copyrights, patents, etyc - and our FPGA won't include an ARM core. (In
>

Rather confusing, I would say. You come into an ARM special interest
mailing list, mention code running on an ARM processor (LPC2294), then
say that you want to run your software on an FPGA. Doh! What does that
suggest?

Why don't you go onto an FPGA special interest mailing list and ask them
the question?

Regards,

TomW
--
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net http://cyberiansoftware.com http://openzipit.org
"Windows? No thanks, I have work to do..."
----------------
--- In l..., "Leonard Rohnert" wrote:
>
> Tom,
>
> Just to make it clear - we have ABSOLUTELY NO INTENTION of
infringing any
> copyrights, patents, etyc - and our FPGA won't include an ARM core. (In
> fact, the RapidiTTy tools are based on a MIPS core - without patented
> instructions, as far as I can tell.)
>
> Still hoping someone can give me some feedback about use of these tools?
>
> LenRt
>

I have worked with a couple of FPGA cores (the Z80 clone (T80cpu @
opencores) and one of my own). In both cases, complete operating
systems, compilers, assemblers and linkers were already available.
Without these I would still be loading machine language with console
switches - like the Altair 8800 when it first came out.

In my view, the hangup on building any CPU core is the assembler and C
compiler. So, look into LCC http://www.cs.princeton.edu/software/lcc/
a retargetable ANSI C compiler. Among other things, it generates
code for a MIPS R3000 but it can be retargeted to any reasonable
instruction set. There are retargetable assemblers as well.

However, both of my projects were microcomputers, not
microcontrollers. Anybody can build a CPU. Adding all the interface
gadgets takes real talent. USARTs, Timers, I2C, SPI, SSP, USB,
Ethernet: that's where it gets difficult. Oh, and integrate them with
the CPU...

As has been mentioned, there is a MIPS core available at opencores.org
but it is archtecturally limited so as not to infringe on the MIPS
patents and copyrights.

Another possibility is to license one of the microcomputer cores from
Xilinx or Altera. Development software is available as are a number
of peripherals. These cores are well known and I imagine support is
readily available.

I suppose it matters a great deal what you expect the CPU to do. If
it exists to support data movement between IO ports then it doesn't
need to be very complex. If you want to solve large scientific
problems then, all of a sudden, the CPU is extremely complex with
floating point arithmetic an absolute requirement.

As to RapidiTTy, I see that they are using the GNU Compiler
Collection. Great! However, when it comes time to "Core Swap" how
does GCC suddenly know how to generate code for the new core? I
wouldn't think it is all that easy to retarget GCC (and its' friends).
My guess is that retargeting is more work than developing the CPU.

Richard
Hi Leonard,

You are right that the tools we supply will not help you port the
LPC2294 functionality to a FPGA. Instead they convert the output of
the Xilinx FPGA design tools & provide a convenient means for
downloading the design to the FPGA.

I'm interested why you want to move to FPGA - I presume you have some
real-time requirement in your application that the LPC2294 can't
handle ? It sure is nice to have the flexibility to implement parts
of your application in programmable hardware rather than trying to
squeeze every clock cycle from your CPU :)

ARM have produced a core which is designed specifically for FPGA &
may be of interest to you. Take a look at http://www.arm.com/products/
CPUs/ARM_Cortex-M1.html

Regards
Dave

--- In l..., "Leonard Rohnert"
wrote:
>
> I've been asked to find the costs of swapping one of our LPC2294
prototypes
> onto FPGA. If the move gets the OK, this is going to be a complete
SoC
> design (with a soft core). I've done various ARM7 (and PIC)
designs but
> this will be my first FPGA project.
>
> In the archives for this group there is some discussion about some
free
> tools from pdqlogic http://www.pdqlogic.com/index.html. This
company has a
> neat board but I don't think the tools will help do the porting I
need to
> do (could be wrong?).
>
> I couldn't find anything else in this archive : - surely someone
else has
> done this?
>
> I've googled RapidiTTy (www.tte-systems.com). This seems to work
with xilinx
> FPGAs (only?), and comes with some kind of MIPS core in the
package. The
> www site says you can swap code between ARM and FPGA. If you've
tried this
> stuff, I'd appreciate any feedback (and costs - I couldn't get
prices on
> the tte site, and their sales guys don't seem to reply to mail on
> Sundays...).
>
> Thanks
> LenRt.
>
>
Hi Leonard,

1. you could look at the Altera NIOSII board. I am told they are good
although i have never tried them.

2. I did use this: MANIK 32 Bit on Xilinx available free from
http://www.niktech.com/index.htm.

I fully agree with Leon Heller,in fact i feel, you will spend more
time implementing a CPU soft core on FPGA than using a uP IC like LPC
or TMS470.

regards
ananth

--- In l..., "Leonard Rohnert" wrote:
>
> I've been asked to find the costs of swapping one of our LPC2294
prototypes
> onto FPGA. If the move gets the OK, this is going to be a complete SoC
> design (with a soft core). I've done various ARM7 (and PIC)
designs but
> this will be my first FPGA project.
>
> In the archives for this group there is some discussion about some free
> tools from pdqlogic http://www.pdqlogic.com/index.html. This
company has a
> neat board but I don't think the tools will help do the porting I
need to
> do (could be wrong?).
>
> I couldn't find anything else in this archive : - surely someone
else has
> done this?
>
> I've googled RapidiTTy (www.tte-systems.com). This seems to work
with xilinx
> FPGAs (only?), and comes with some kind of MIPS core in the package.
The
> www site says you can swap code between ARM and FPGA. If you've
tried this
> stuff, I'd appreciate any feedback (and costs - I couldn't get prices on
> the tte site, and their sales guys don't seem to reply to mail on
> Sundays...).
>
> Thanks
> LenRt.
>
>