Author Topic: Free ARM core for FPGA  (Read 10111 times)

0 Members and 1 Guest are viewing this topic.

Offline CJayTopic starter

  • Super Contributor
  • ***
  • Posts: 4136
  • Country: gb
Free ARM core for FPGA
« on: October 01, 2018, 08:53:44 pm »
 
The following users thanked this post: asmi

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26886
  • Country: nl
    • NCT Developments
Re: Free ARM core for FPGA
« Reply #1 on: October 01, 2018, 09:55:18 pm »
That seems cool. Anyone going to try this and see what kind of performance can be achieved?
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11234
  • Country: us
    • Personal site
Re: Free ARM core for FPGA
« Reply #2 on: October 01, 2018, 10:07:47 pm »
They've been available for a while. I have played with M1 in a simulator and synthesized a dummy project in FPGA. It does work, but given the licensing limitations and obfuscated code, it is not really practical for hobby use. Maybe if you actually plan to manufacture devices.

Also, it is not clear why it says that is is only Xilinx. I've synthesized it for MAX10 without any issues. They may provide some better tools for Xilinx, of course. But the code is just a Verilog file, nothing special about it.

EDIT: Actually the original DesignStart was CM0 with all the debug features removed. Not sure when they have switched to M1.
« Last Edit: October 01, 2018, 10:35:24 pm by ataradov »
Alex
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4414
  • Country: dk
Re: Free ARM core for FPGA
« Reply #3 on: October 01, 2018, 10:19:19 pm »
the problem is usually where do you find enough memory
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26886
  • Country: nl
    • NCT Developments
Re: Free ARM core for FPGA
« Reply #4 on: October 01, 2018, 10:33:16 pm »
the problem is usually where do you find enough memory
Cortex M1 is microcontroller territory and many FPGAs have tens of KB of internal memory nowadays. And if that is not enough even on a Spartan6 you can connect many megabytes of fast DDR memory.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11234
  • Country: us
    • Personal site
Re: Free ARM core for FPGA
« Reply #5 on: October 01, 2018, 10:38:50 pm »
Looks like they separated into DesignStart Pro and DesignStart FPGA. The first one gives "real" cores for evaluation, but ultimate implementation in ASICs. The later gives you FPGA-optimized cores to be implemented in FPGAs. This is new.

The problem is that FPGA vendors have their own cores well optimized for FPGAs and their memories, usually for free (with purchase of FPGA, or course). Not sure if ARM has enough advantage here.
Alex
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26886
  • Country: nl
    • NCT Developments
Re: Free ARM core for FPGA
« Reply #6 on: October 01, 2018, 10:43:33 pm »
To me the advantage would seem the use of a good compiler. I have the Lattice LM32 in a Xilinx FPGA in a couple of inherited projects.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4414
  • Country: dk
Re: Free ARM core for FPGA
« Reply #7 on: October 01, 2018, 10:56:01 pm »
the problem is usually where do you find enough memory
Cortex M1 is microcontroller territory and many FPGAs have tens of KB of internal memory nowadays. And if that is not enough even on a Spartan6 you can connect many megabytes of fast DDR memory.

but then you have not only spend quite a bit of logic resources for the core but also lots of memory spread out all over the fpga,
which is fine if you are prototyping a custom chip before an expensive tapeout, I've done it back in the day of ARM7TDMI-S

but for an actual product or once you start needing to add external memory an external MCU with ram and flash seems to make more sense


 

Online NorthGuy

  • Super Contributor
  • ***
  • Posts: 3138
  • Country: ca
Re: Free ARM core for FPGA
« Reply #8 on: October 01, 2018, 11:33:47 pm »
What's wrong with Zynq?
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2730
  • Country: ca
Re: Free ARM core for FPGA
« Reply #9 on: October 01, 2018, 11:34:55 pm »

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4414
  • Country: dk
Re: Free ARM core for FPGA
« Reply #10 on: October 01, 2018, 11:40:26 pm »
What's wrong with Zynq?
Price

and a cortex-a9 is a very different from a cortex-m0
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2730
  • Country: ca
Re: Free ARM core for FPGA
« Reply #11 on: October 02, 2018, 12:25:29 am »
but for an actual product or once you start needing to add external memory an external MCU with ram and flash seems to make more sense
FPGA gives you endless flexibility to use whatever memory you need, and not the only those supported by MCU of your choice, and share memory bandwidth with other modules of your system.

Online NorthGuy

  • Super Contributor
  • ***
  • Posts: 3138
  • Country: ca
Re: Free ARM core for FPGA
« Reply #12 on: October 02, 2018, 12:28:53 am »
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4414
  • Country: dk
Re: Free ARM core for FPGA
« Reply #13 on: October 02, 2018, 12:34:12 am »
What's wrong with Zynq?
Price

and a cortex-a9 is a very different from a cortex-m0






Yes, much better.

it is like bicycle vs. an SUV, each have it's purpose

 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4414
  • Country: dk
Re: Free ARM core for FPGA
« Reply #14 on: October 02, 2018, 12:38:37 am »
but for an actual product or once you start needing to add external memory an external MCU with ram and flash seems to make more sense
FPGA gives you endless flexibility to use whatever memory you need, and not the only those supported by MCU of your choice, and share memory bandwidth with other modules of your system.

but an FPGA is an expensive way to implement dumb memory
 

Online NorthGuy

  • Super Contributor
  • ***
  • Posts: 3138
  • Country: ca
Re: Free ARM core for FPGA
« Reply #15 on: October 02, 2018, 02:19:39 am »
What's wrong with Zynq?
Price

and a cortex-a9 is a very different from a cortex-m0

Yes, much better.

it is like bicycle vs. an SUV, each have it's purpose

And what's the purpose of building a soft M0 core in the fabric which cannot be achieved by the built-in A9 cores?
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2730
  • Country: ca
Re: Free ARM core for FPGA
« Reply #16 on: October 02, 2018, 02:50:20 am »
And what's the purpose of building a soft M0 core in the fabric which cannot be achieved by the built-in A9 cores?
Ability to use much cheaper FPGAs like A7 or S7 as there are no built-in A9 cores.

Online NorthGuy

  • Super Contributor
  • ***
  • Posts: 3138
  • Country: ca
Re: Free ARM core for FPGA
« Reply #17 on: October 02, 2018, 03:19:00 am »
And what's the purpose of building a soft M0 core in the fabric which cannot be achieved by the built-in A9 cores?
Ability to use much cheaper FPGAs like A7 or S7 as there are no built-in A9 cores.

This is impossible to discuss without knowing what is the resource utilization for these soft cores including memory supply etc.

If your goal is to save money, you can get external real M0 "cores" for less than $1 a piece.
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2730
  • Country: ca
Re: Free ARM core for FPGA
« Reply #18 on: October 02, 2018, 03:52:56 am »
This is impossible to discuss without knowing what is the resource utilization for these soft cores including memory supply etc.
This is very easy to figure out as the core is available for download. M1 core takes about 2k LUTs, 3k FFs and 3 BRAMs (in default configuration).

If your goal is to save money, you can get external real M0 "cores" for less than $1 a piece.
Zynq is about 2 times more expensive than equivalent Artix, while being a MASSIVE overkill if M1 suffices.

Online NorthGuy

  • Super Contributor
  • ***
  • Posts: 3138
  • Country: ca
Re: Free ARM core for FPGA
« Reply #19 on: October 02, 2018, 04:37:50 am »
Zynq is about 2 times more expensive than equivalent Artix, while being a MASSIVE overkill if M1 suffices.

Not really. There's no exact equivalency, but

Small Zynq: $46.13 - https://www.digikey.com/product-detail/en/xilinx-inc/XC7Z007S-1CLG225C/122-2002-ND/
Similar Artix: $32.90 - https://www.digikey.com/product-detail/en/xilinx-inc/XC7A25T-1CPG238C/XC7A25T-1CPG238C-ND/
Slightly bigger Artix to accommodate softcore: $40.04 - https://www.digikey.com/product-detail/en/xilinx-inc/XC7A35T-1CPG236C/122-1907-ND/

or

Big Artix-based Zinq - $113.89 - https://www.digikey.com/product-detail/en/xilinx-inc/XC7Z020-1CLG400C/122-1851-ND/
Similar Artix - $125.58 - https://www.digikey.com/product-detail/en/xilinx-inc/XC7A100T-1CSG324C/122-1886-ND/

 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26886
  • Country: nl
    • NCT Developments
Re: Free ARM core for FPGA
« Reply #20 on: October 02, 2018, 06:23:29 am »
the problem is usually where do you find enough memory
Cortex M1 is microcontroller territory and many FPGAs have tens of KB of internal memory nowadays. And if that is not enough even on a Spartan6 you can connect many megabytes of fast DDR memory.

but then you have not only spend quite a bit of logic resources for the core but also lots of memory spread out all over the fpga,
which is fine if you are prototyping a custom chip before an expensive tapeout, I've done it back in the day of ARM7TDMI-S

but for an actual product or once you start needing to add external memory an external MCU with ram and flash seems to make more sense
Not if you need to interface directly with peripherals inside the FPGA where you need to move a reasonable amount of data around. For some projects a soft core makes a lot of sense. One of the projects I'm involved in has an ARM CPU on board and a soft core is used to implement a fast realtime control loop (and other household tasks).

@Northguy: a Zync adds too much complexity because the ARM cores in there are much more complex than a 'simple'  Cortex M1 or M3.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline a59d1

  • Regular Contributor
  • *
  • Posts: 102
  • Country: us
Re: Free ARM core for FPGA
« Reply #21 on: October 02, 2018, 07:24:07 am »
Why would you want this instead of a picoRV2?
 

Online Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Free ARM core for FPGA
« Reply #22 on: October 02, 2018, 09:49:22 am »
Cool, back in 2001 we needed something like this for prototyping, 25 pieces or something like that.
I remember the quote from Arm being a high 5 numbers, way too much for just a prototype but they had only one pricescheme back then IIRC.
We ended up using a Nios core instead.
Why you want this? That could differ per solution in our case we needed a 1024 bit HW multiplier and other cryptorelated resources and time does matter so if you can directly copy the results to the core registers that can be really helpfull instead of serially clocking it in.
A softcore can also bring advantages to protecting your product from cloners.
 

Offline julianhigginson

  • Frequent Contributor
  • **
  • Posts: 783
  • Country: au
Re: Free ARM core for FPGA
« Reply #23 on: October 02, 2018, 11:50:37 am »
I guess how well it goes will depend on how easy it is to use the arm core(s) with your custom logic, and how easy it is to get to everything you need to from your code... if it's easy to generate good hw API, and integrate with good arm toolchains, maybe it's worthwhile sometimes, assuming the soft arm is similar in resource use to similar existing options. there's plenty of existing options for running processor cores in your digital logic for programatic applications when you need something like that, so for this to gain a share of that space alongside the solutions that everyone already uses and knows, you'd want to see some advantages rather than just arm brand recognition....

Seems to me that if you're considering one of these M1 or M3 cores to be the bulk of your design in a regular small FPGA like a Spartan or artix, well, you'd be far better off with microsemi smartfusion (or maybe even cypress psoc if the digital design requirements are simple enough...)

Also don't forget the big A series processor zynq (and the newer A53/R5 cored socs) has another big advantage over straight FPGA. It also has a dedicated DDR controller... Very valuable if you have an application that needs a lot of memory storage coupled closely to your digital hw design, like lots of FPGA applications seem to.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26886
  • Country: nl
    • NCT Developments
Re: Free ARM core for FPGA
« Reply #24 on: October 02, 2018, 01:39:16 pm »
Also don't forget the big A series processor zynq (and the newer A53/R5 cored socs) has another big advantage over straight FPGA. It also has a dedicated DDR controller... Very valuable if you have an application that needs a lot of memory storage coupled closely to your digital hw design, like lots of FPGA applications seem to.
(Almost) every modern FPGA has a hardware DDR memory controller nowadays so that doesn't really make a difference.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf