ARM + FPGA CPU Module running Yocto Linux?

No, I'm pointing out that your argument on costs doesn't necessarily stack up.

The reason why the options are so constrained, and why this doesn't exist as a popular product, is that not many Linux-capable CPUs have an external bus interface or a high bandwidth GPIO interface. Basically you're stuck with PCIe (which ups the FPGA cost a lot) or things with SPI to try and squeeze enough bandwidth out.

Things like the OMAP PRUs might do it, but I'm not sure what useful bandwidth you can get at the end of the day (since there's no help with the wire protocol, you have to do it all in software).

That leaves the options as roughly:

- Zynq/Intel SoC parts (on-chip FPGA)

- some Microsemi parts with a hard Cortex M (not Linux capable)

- OMAP PRU

- I think I saw a single iMX part with an external bus interface, but it was slow

- an FPGA with a soft core running Linux (Microblaze, NIOS-II, RISC-V of some kind). These have a myriad of sharp edges, as the core/kernel/drivers/compiler/distro is often not very polished

- PCIe

- a few parts (eg Cavium ThunderX) which expose the cache coherency protocol externally. You'd be very much on your own here.

Another horrible idea: write a NAND flash interface for the FPGA and use that to emulate an external bus interface. You'd have to disentangle whatever cleverness the CPU's NAND controller tries to do, but in principle the bandwidth is there.

Basically you've boxed yourself into a corner here, so all these options are not very appealing.

Theo

Reply to
Theo
Loading thread data ...

If you're purchasing in the 1000+ qty annually, you should NOT be using Digikey for pricing. That should be a negotiation with your Avent rep. In higher volumes, I've seen pretty significant prices negotiated for our customers.

You mentioned in a more recent response that you use Zynqs in other products, so you might consider trying to design in common parts to increase your total corporate purchase qty of the same part to help negotiate better prices.

Reply to
kkoorndyk

k

as

us

h
e

he

was

col

le

are

I was thinking about his bandwidth requirement. While you say there aren't many ARMs running Linux with external memory interfaces (which makes me wo nder how they build all those Beagle Bones, etc.) wouldn't an Ethernet inte rface at 100 Mbps do the job? Ok, I guess you'd need two since the OP want s one for other use. Are there any ARM CPUs with TWO Ethernet interfaces?

Rick C.

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

formatting link

Reply to
gnuarm.deletethisbit

I did find one, only checked what AP listed. Turns out Atmel nee Microchip has ARM processors with SRAM-like external memory interfaces in the SAMA5 family. I don't know if it's fast or easy to use from a software point of view.

A Belgian company has apparently designed a router based on one of these,

formatting link

It has an FPGA (Intel's Max 10) connected to the ARM via this external memory interface.

Reply to
Anssi Saari

I need 5-10 MByte per second, which I do not see as a problem if I design a module myself. I have found three acceptable ways of interfacing the FPGA.

  1. A separate 8/16 bit memory bus
  2. NAND Flash interface
  3. QSPI interface which is memory mapped. You write to the Address range, and the H/W will generate an SPI read or write access automatically.

There are several parts which has a Memory Bus and a Secondary bus, and that is useful. That includes the AM335x, AM437x, AM65x, SAMA5, Renesas RZ/xxx and some NXP iMX parts. The AMxxxx until the AM65xx has deficiencies we do not like, but the AM65xx is just sampling. Might be too late.

I am pretty sure however, I can do the job with a simple ARM9 and a NAND flash interface to the FPGA.

So there are plenty of options.

There are no corners. Any CPU from the list above combined with an FPGA is probably useable (we prefer something else than Renesas though)

AP

Reply to
A.P.Richelieu

The AM335x on the Beaglebone has two buses. One for DDR3 memory, and then a second bus which can either be

  • A normal non-multiplexed bus A[2x..0], D[15..0]
  • A Multiplexed bus with A[2x..16], AD[15:0]
  • A double Multiplexed bus with AAD[15:0]. The Adress is sent over two cycles. Unfortunately, one of the write strobes is in conflict with a peripheral I need, so I can only do word access, not byte access to the FPGA.

Plenty of them, but we are not going to run Ethernet to the FPGA... I doubt a CPU module would do that as well.

AP

Reply to
A.P.Richelieu

Thank You. That is the type of answer I am looking for. The Max 10, is most likely too small. Cyclone 10, Spartan 6 or better in terms of logic. Need internal SRAM for buffers as well. No need for Gigabit transceivers though.

AP.

Reply to
A.P.Richelieu

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

That is more like it, unfortunately, it is not a single module, and the Lattice FPGA is not on the accepted list.

Might look at it for some homebrew stuff though. AP.

Reply to
A.P.Richelieu

We know what the Zynq is all about and it has been rejected for this project. You don't have access to all our decision criteria, but you are free to beat a dead horse if you want to.

AP

Reply to
A.P.Richelieu

Not much of a thread really. Some guy demanding that others here do his work for him while being a bit surly about questions he considers irrelevant.

I guess beggars can't be choosers. This conversation is still better than religious tirades. c.a.f is pretty light on topics these days.

Rick C.

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

formatting link

Reply to
gnuarm.deletethisbit

Den 2019-02-02 kl. 04:27, skrev snipped-for-privacy@gmail.com:

I specify already in my first entry what I am looking for. I also specify what I am not looking for.

And no, I am not asking anyone to do work for me. I am asking people to share knowledge which they might have. That is what Newsgroups are for.

You expect me to be pleased when anyone comes with a suggestion which directly violates the small list of requirements, and starts nagging, when I explain that things like the Zynq has been rejected.

There are other reasons than I mentioned why the Zynq is rejected, but those reasons are not for public knowledge. AP

Reply to
A.P.Richelieu

s work for him while being a bit surly about questions he considers irrelev ant.

han religious tirades. c.a.f is pretty light on topics these days.

No one expects you to like anything. You just come across as rude. I'm no t sure what you expected of this thread. If your tone had been a bit more pleasant and willing to discuss things rather than sounding very irritated, the thread would have been more interesting to read and participate in.

When someone offers a suggestion you don't like, it is perfectly acceptable to not respond at all rather than berate them. Like this one. Rather tha n come back with more rudeness, you could have just ignored the post. I su ppose I am be a bit clueless, thinking that my post will have any impact. People on the Internet are what they are. Silly to expect them to be any d ifferent on such a limited medium.

BTW, you might try asking on comp.arch.embedded. Since the board you are l ooking for is as much CPU as FPGA their might be more knowledge of the avai lable modules in that group.

Rick C.

+- Tesla referral code -
formatting link
Reply to
gnuarm.deletethisbit

I personally consider it rude to suggest the Zynq, when I explicitly stated that this is not what I am looking for.

There are people that tried to give genuine answers, and they are worth thanks, and respect. People that keep on derailing the question less so.

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.