ARM + FPGA CPU Module running Yocto Linux?

Is there any ARM + FPGA CPU Module running linux using any of:

  • NXP i.MX6/7/...
  • Texas Instrument Sitara AM335x or better
  • Microchip SAMA5
  • Renesas RZ/xxx

It needs to be connected to a low price FPGA, Intel or Xilinx.

  • Zynq or Intel SoC solutions need not apply.

Other vendors will be difficult to accept.

=====================

The CPU Module needs at least

  • 128 MB RAM
  • 128 MB Flash. Connector will have
  • 100 Mbps Ethernet
  • 12 x 10 Mbps SPI channels (most will be implemented in the FPGA)
  • 5 x 921,200 BAUD serial ports (some in FPGA perhaps)
  • SD-Card
  • A few custom protocol LVDS channels ===================== The processor has to be connected to an FPGA on a suitable interface providing 5-10 MB/second transfer rate. The FPGA needs to have 80-100 free I/O, not including the interface to the CPU to implement SPIs, UARTs and other custom signals ===================== The CPU should be able to load the FPGA after reset. Preferably right after loading the U-Boot (during the BOOTDELAY timer). ===================== Preferably, the processor should be able to access the internals of the FPGA like it was on the memory bus.

Putting the FPGA on a 16 bit memory interface will work

Some chip support a transparent mode where you do a memory read/write which gets translated to a Quad SPI access, or a NAND flash controller access.

I.E: You can write to a register over SPI by: FPGA_REGISTER = value; instead of

spi_packet = { .cmd = SPI_WRITE, .addr = FPGA_REGISTER, .size = sizeof(value), .data = &value } spi_transfer(&spi_packet);

We plan to use Yocto for developing Linux, so any Yocto solution would be appreciated.

Looking forward to ideas.

AP

Reply to
A.P.Richelieu
Loading thread data ...

I am not familiar with modules (i.e. boards) that contain an ARM and an FPGA unless they are in the same devices which you have an unstated reason to avoid. Care you share the rational for not using those obvious solutions?

You don't indicate what your outline size requirements are. Would you consider a daughter board mounted on something like a Beagle board? What sort of quantities would you be expecting to buy?

Rick C.

- Get 6 months of free supercharging - Tesla referral code -

formatting link

Reply to
gnuarm.deletethisbit

onsdag den 30. januar 2019 kl. 18.13.34 UTC+1 skrev A.P.Richelieu:

why not Zynq? it has everything you ask for and the same ARM-9 as the NXP

Reply to
lasselangwadtchristensen

Den 2019-01-30 kl. 18:44, skrev snipped-for-privacy@gmail.com:

Because it is way too expensive.

You can get a better ARM chip for $6-7 in 1k qty. A Cyclone 10 FPGA is $8-9. Can You get a Zynq for $14-16 in 1k volume? Digikey shows one off pricing for the cheapest Zynq to be $46. If they can give 40% discount at 1k, it is still $30 = 2x price.

Another thing is that the onboard peripherals generally suck. At least when I looked at them the last time. I do not care to waste my time on why.

This means that we have to spend time doing peripherals in the FPGA. They need to be supported by Linux drivers. We do not want to add that development effort.

AP

Reply to
A.P.Richelieu

We will do a base board, for which we need a CPU+FPGA module, so no adding two boards together.

We are looking for an existing board for some prototyping. Not having someone design it for us. A few boards will be OK.

Ideally, the module would have a suitable connector that can be used, or if not, it would be good to have a schematic that can be used to design our own physical format.

Volume for the end product is 1k/year, but we expect the production to be long lifed.

AP

Reply to
A.P.Richelieu

.

XP

It is hard to know what you really need and what you may have prematurely d iscounted from what you post above. You say you need peripherals with Linu x drivers, but you didn't indicate much in your original post other than va rious peripherals you plan to mostly implement in the FPGA.

So even with the separate CPU and FPGA approach how can anyone recommend a solution when we don't know all the requirements?

One thing I do know is that the FPGA vendors will provide some amazingly go od prices if you can commit to quantities they care about. They want to ta lk to you in person and are happy to do so. That's why Digikey doesn't hav e qty 1k pricing. Set up some lunch dates and let Xilinx and Intel take yo u to lunch. They are often happy to do that. They've done it with me.

Rick C.

  • Get 6 months of free supercharging + Tesla referral code -
    formatting link
Reply to
gnuarm.deletethisbit

Bear in mind that on a daughterboard you have to pay for ARM+FPGA+DRAM+storage+PCB+connectors+vendor profit.

If you're doing a Zynq/CycloneSoC you're paying for Zynq+DRAM+storage

It's not immediately clear that you're going to win by buying a third-party board, especially one where you want security of supply (so no random China board).

I could see it swing towards the daughterboard approach if this means you can get away with a cheaper PCB (no BGAs, DDR routing). I'm not sure if the power supply arrangements would be simpler too.

You mean the hard peripherals (ethernet, USB, SD, etc), usually Synopsys IP as found in other SoCs? Or the Xilinx/Intel soft peripherals?

AFAICS some of your requirements (100M ethernet, SD) will be hard logic on Zynq or Cyclone. The others (12 SPI channels, 5 UARTs) will have to be soft logic, at which point the driver situation is more or less the same whichever platform you pick.

Theo

Reply to
Theo

We are using the Zynq in other places, so the decision has been made to skip it for this project due to price, but mostly because of the periperals.

I have stated my needs. ========================= A CPU + FPGA combination.

5-10 MB/s connection to the FPGA 80-100 FPGA I/O, some with LVDS. Memory needs An existing board with decent Linux support. It should not be based on Zync or SoC. The ARM chips should be from the vendors above.

Exactly what we intend to do with the FPGA is not something I can comment. And it is not worthwhile to enter a discussion why a Zynq or SoC should fit, that train has left.

An example of something that almost works is

formatting link

This has everything, except a slow interface to the FPGA. The MACH series is a little small though. A Cyclone 10 or Spartan 6 are probably the minimum level FPGA we are looking for.

formatting link
Seems to have a nice interface, but the Marvell processor is a no,no.

AP

Reply to
A.P.Richelieu

Am 30.01.19 um 19:21 schrieb A.P.Richelieu:

The BeagleBoneBlack has at least a 16 bit multiplexed data bus, even when it shares pins with other stuff.

I'm looking into that because I want a FPGA that has support for some JESDI204B lanes to connect to some contemporary ADCs and DACs.

And on-chip CPUs have been a royal pain from Power-PC to Picoblaze. I like it when I know that at least my Linux runs stable, so bugs must be in user land or the hardware - and not in my driver that kills my ssh access.

It found it quite OK to run the time-critical stuff on a PRU and just hand the Linux-ARM the time-decoupled data via shared buffers. There is a C compiler for the PRUs in the standard BBB Linux distribution.

regards, Gerhard

Reply to
Gerhard Hoffmann

You are trying to convince me to look at Zynq and SoC. That is what I explicitly said I was not going to do.

AP

Reply to
A.P.Richelieu

Goggle cpu module with fpga you will get lots of hits

A couple that might work

formatting link
formatting link

--
Chisolm 
Republic of Texas
Reply to
Joe Chisolm

Thanks, but the myirtech uses the Zync, and the TS-4740 uses a Marvell CPU.

This might work:

formatting link

NXP ARM Cortex-A5 with Cortex-M controllers and an 80 MHz memory bus to an Artix-7

The AM335x CPU on the Beagleon with an FPGA on a module would be better, since that is a preferred chip.

AP

Reply to
A.P.Richelieu

onsdag den 30. januar 2019 kl. 19.28.43 UTC+1 skrev A.P.Richelieu:

if you only need a few for prototyping why does it matter if it is stacked boards?

Reply to
lasselangwadtchristensen

Den 2019-01-30 kl. 19:53, skrev Gerhard Hoffmann:

There is also the integrated solution from Octavo Systems. Beaglebone with eMMC and DDR3 SDRAM + Power in a 400 pin BGA.

Adding an FPGA to that, with a high speed bus: Yum, Yum...

AP

Reply to
A.P.Richelieu

Den 2019-01-30 kl. 20:27, skrev snipped-for-privacy@gmail.com:

It will be mounted on a low volume test board, to test the functionality outside the module. There is a maximum height restriction. The real motherboard can have a different module connector.

AP

Reply to
A.P.Richelieu

onsdag den 30. januar 2019 kl. 20.35.51 UTC+1 skrev A.P.Richelieu:

if you are doing a board anyway just put the FPGA on that

Reply to
lasselangwadtchristensen

Den 2019-01-30 kl. 21:05, skrev snipped-for-privacy@gmail.com:

Not going to happen.

Please everyone. I know what I plan to do and I am not going to explain why.

I want a CPU module. That CPU module has those restrictions I have mentioned.

That means

  • no Zync
  • No SoC
  • no FPGA outside the module
  • no CPU outside the module
  • Not two PCBs
  • No Marvell CPU, No CPU which is not delivered by NXP,TI, or MicroChip.
  • No SPI interface between CPU and FPGA.
  • Not anything that will deviate from what I described so far.

AP

Reply to
A.P.Richelieu

onsdag den 30. januar 2019 kl. 21.33.14 UTC+1 skrev A.P.Richelieu:

so you are firmly committed to a plan that involves a board you can't find and might not even exist

best of luck

Reply to
lasselangwadtchristensen

It will be interesting to see what they think "low cost" is. Please post back here if you get a price from them.

--
Chisolm 
Republic of Texas
Reply to
Joe Chisolm

Den 2019-01-30 kl. 22:31, skrev snipped-for-privacy@gmail.com:

If we cannot find the module, then we will design it ourselves. Right now, I prefer getting something which is as close to our final solution as possible, but fits from a physical point of view.

AP

Reply to
A.P.Richelieu

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.