Author Topic: Cortex-M hardcore in FPGA?  (Read 9300 times)

0 Members and 1 Guest are viewing this topic.

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Cortex-M hardcore in FPGA?
« Reply #25 on: September 19, 2017, 06:53:32 am »
No, there would still be regular peripherals on-die. Just like the PSoC. The FPGA fabric should be in addition to what you'd expect from a regular MCU, not instead of.
Yeah, I want that too. Furthermore, I tried to pitch this to people. The biggest problem here is the amount of characterization that goes into FPGA-like device. Plus, reasonably big capacity will require real HDL support, and that's a lot of RnD, or some really expensive deals with HDL vendors.

It will just make it too expensive to manufacture and support. So FPGA in a micro is not happening.

You are most likely to see CM0 integrated into the FPGA. But FPGA vendors will not include MCU peripherals, since the same issue of verification and software support will not make it feasible from that side as well.

Basically, forget about this until  MCU vendor merges with an FPGA vendor. Then we will see some killer devices, but at killer price point as well.
« Last Edit: September 19, 2017, 06:57:35 am by ataradov »
Alex
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Cortex-M hardcore in FPGA?
« Reply #26 on: September 19, 2017, 06:57:09 am »
Forget it. It will never happen.
 

Offline gnif

  • Administrator
  • *****
  • Posts: 1675
  • Country: au
Re: Cortex-M hardcore in FPGA?
« Reply #27 on: September 19, 2017, 07:06:52 am »
I dropped the ST library about a week into my first foray into the STM32 series, IMO is is one of the worst libraries breaking most every rule (macro abuse, useless stub functions, endless assertions). I moved from this to rolling my own but then came across libstm32 (at the time) which was brilliant. Nowdays I use ChibiOS, it does a very good job of abstracting the hardware away from your code allowing you to write efficient, fast and understandable code.

As for an IDE, I use ViM and Makefiles... every now and then I decide to give a full IDE a go again, but quickly get annoyed with it and go back to ViM.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26892
  • Country: nl
    • NCT Developments
Re: Cortex-M hardcore in FPGA?
« Reply #28 on: September 19, 2017, 08:17:15 am »
No, there would still be regular peripherals on-die. Just like the PSoC. The FPGA fabric should be in addition to what you'd expect from a regular MCU, not instead of.
Yeah, I want that too. Furthermore, I tried to pitch this to people. The biggest problem here is the amount of characterization that goes into FPGA-like device. Plus, reasonably big capacity will require real HDL support, and that's a lot of RnD, or some really expensive deals with HDL vendors.

It will just make it too expensive to manufacture and support. So FPGA in a micro is not happening.
Well you can buy Psoc, Zync today. And there is also the LM32 softcore from Lattice.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Cortex-M hardcore in FPGA?
« Reply #29 on: September 19, 2017, 08:20:05 am »
Well you can buy Psoc, Zync today. And there is also the LM32 softcore from Lattice.
From a MCU realm only psoc gets close, and it is still way too far away (in FPGA part).

Zync is way too expensive (considering board and power supply requirements).

And obviously all FPGA vendors have softcores, and LM32 is far from the best of them.
Alex
 

Offline xaxaxa

  • Regular Contributor
  • *
  • Posts: 248
  • Country: ca
Re: Cortex-M hardcore in FPGA?
« Reply #30 on: September 25, 2017, 06:44:22 am »
You could just use a spartan 6 fpga (xc6slx9, about $5 on aliexpress) and add a softcore (there are many existing ones on the internet). It has plenty of capacity to fit a softcore and lots of peripherals and even DSP blocks. You will need an external spi flash though. HS usb is easily done using a usb phy and a usb serial core (google "vhdl usb serial" and "ulpi_port utmi bridge"); I've gotten >20MB/s transfer using this combination.
« Last Edit: September 25, 2017, 06:46:13 am by xaxaxa »
 

Offline splin

  • Frequent Contributor
  • **
  • Posts: 999
  • Country: gb
Re: Cortex-M hardcore in FPGA?
« Reply #31 on: September 25, 2017, 11:25:32 am »
Well, the most recent disappointment was with the STM32F446, which has a different USB controller than the other chips in the F4xx series. Something that isn't highlighted or mentioned in the migration documents.

You have to wonder why ST mess about with the peripherals so much - ok fixing faults and adding new features is fair enough but they don't seem to put much priority on maintaining compatability as close as it is possible to do so. Of course they must suffer as much as everyone else from this in the amount of development effort and cost they incur in developing and maintaining the STD Peripheral, HAL and HAL-LL libraries. Let hope they learn their lesson, but I wouldn't hold my breath. It probably results from having different families designed by different, far flung development teams.

As to the change in USB peripheral from the '419 to the '446, perhaps it's because they licenced the 419 USB controller from Quicklogic and wanted a cheaper, perhaps in-house peripheral for newer parts? I don't know for certain that they licenced Quicklogic's part - I can't find any public announcements to that effect - but the register layout and names are remarkably similar:

http://www.quicklogic.com/assets/pdf/data-sheets/QL-Hi-Speed-USB-2.0-OTG-Controller-Data-Sheet.pdf

It looks like Altera use the same USB implementation in the Cyclone V (and others perhaps?):

https://www.altera.com/hps/cyclone-v/index.html#topic/sfo1410069623936.html

It does mean you have the possibility of porting an STM32F419 USB stack to a soft core Cortex on Cyclone V but they probably licenced different releases and then added their own 'tweaks' which might make it a frustrating excercise at the least...

For those implementing USB on an STM32F40x, 41x or 42x the Quicklogic documentation might provide a useful alternative to STs.

Anybody any idea how much ST might be having to pay to license this - a few tenths of a cent, cents or tens of cents per device?


 

Online Ice-Tea

  • Super Contributor
  • ***
  • Posts: 3070
  • Country: be
    • Freelance Hardware Engineer
Re: Cortex-M hardcore in FPGA?
« Reply #32 on: September 25, 2017, 11:31:03 am »
Just wondering why you were put of by the Microsemi website? Still seems like a pretty good match for your requirements.. Been following these things for some time, genuinely wondering...

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1198
  • Country: fi
Re: Cortex-M hardcore in FPGA?
« Reply #33 on: September 25, 2017, 11:59:10 am »
As to the change in USB peripheral from the '419 to the '446, perhaps it's because they licenced the 419 USB controller from Quicklogic and wanted a cheaper, perhaps in-house peripheral for newer parts? I don't know for certain that they licenced Quicklogic's part - I can't find any public announcements to that effect - but the register layout and names are remarkably similar
Both Altera and ST are using the Synopsys dwc2 controller.

Offline Yansi

  • Super Contributor
  • ***
  • Posts: 3893
  • Country: 00
  • STM32, STM8, AVR, 8051
Re: Cortex-M hardcore in FPGA?
« Reply #34 on: September 25, 2017, 02:43:27 pm »
Also, their prices are pretty insane. I'm switching from the F446 to F429, which is a $12 chip (@1 qty). I can source dual-core Cortex-A9 SoCs for $2...

I wonder how much of that price difference is because of the large flash on the M4's

It seems stmdude is just bitching around and crying like a small baby. Instead of facing the issues, he is throwing the blame on ST and thinking he will make his own peripherals.  Sorry. Not gonna happen, not that easy. 
 

Offline stmdudeTopic starter

  • Frequent Contributor
  • **
  • Posts: 479
  • Country: se
Re: Cortex-M hardcore in FPGA?
« Reply #35 on: September 25, 2017, 04:20:22 pm »
It seems stmdude is just bitching around and crying like a small baby. Instead of facing the issues, he is throwing the blame on ST and thinking he will make his own peripherals.  Sorry. Not gonna happen, not that easy. 

Yea, boo-hoo.  *sniffles*

If you had _actually_ read the thread instead of jumping to conclusions, you'd have understood what I'm looking for.

I wasn't "blaming" ST for anything either. They've changed in a direction that I don't agree with, and I'm researching alternatives. No blame was attributed. I was simply disappointed, as I've spent _a lot_ of time with their chips, and shipped millions of devices based on them. I've spoken to my FAEs and STE "suit" about it, but there's nothing they can do, even though we're a decently sized customer.

Now, as it seems that there isn't a "dream-chip" for me, I'll settle for something more conventional. Right now it's leaning towards NXPs LPC-series. I'll design a simple test-board and evaluate further from that experience.
 

Offline splin

  • Frequent Contributor
  • **
  • Posts: 999
  • Country: gb
Re: Cortex-M hardcore in FPGA?
« Reply #36 on: September 25, 2017, 05:02:52 pm »
As to the change in USB peripheral from the '419 to the '446, perhaps it's because they licenced the 419 USB controller from Quicklogic and wanted a cheaper, perhaps in-house peripheral for newer parts? I don't know for certain that they licenced Quicklogic's part - I can't find any public announcements to that effect - but the register layout and names are remarkably similar
Both Altera and ST are using the Synopsys dwc2 controller.

Interesting - I see ST's Ethernet controller is also provided by Synopsis:

http://www.electronicspecifier.com/around-the-industry/synopsys-designware-usb-20-and-ethernet-ip-enables-first-pass-success-for-stmicroelectronics

That means you could base STM32F4xx USB and Ethernet drivers on Linux drivers such as:

https://github.com/nomis/linux/tree/master/drivers/usb/dwc2

I wonder if QuickLogic also licenced Synopsis's USB OTG design for their ArcticLink products? I can't imagine they would have created a register level compatible version. If so, I'm surprised I can't find any such reference/news item.
 

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1198
  • Country: fi
Re: Cortex-M hardcore in FPGA?
« Reply #37 on: September 25, 2017, 07:11:43 pm »
That means you could base STM32F4xx USB and Ethernet drivers on Linux drivers such as:
https://github.com/nomis/linux/tree/master/drivers/usb/dwc2
The current kernels have specific support for the stm32f4x9 USB controller.

Quote
I wonder if QuickLogic also licenced Synopsis's USB OTG design for their ArcticLink products?
Dunno, but there doesn't seem to be any QuickLogic drivers in the Linux kernel. However I haven't really heard about the company before so I don't know about which products their IP might be used in.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf