element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum Role for FPGA or CPLD with Raspberry Pi
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 143 replies
  • Subscribers 670 subscribers
  • Views 19262 views
  • Users 0 members are here
Related

Role for FPGA or CPLD with Raspberry Pi

michaelkellett
michaelkellett over 13 years ago

Interesting - we obviously move in rather different circles despite being in the same business:

 

Take the current project:

 

One master processor (ARM Cortex M4 with ARM serial debugging port and 4 wire trace, Ethernet, USB and serial for debugging)

One supervisor processor (ARM Cortext M0 with ARM serial debugging port)

FPGA with JTAG port

Up to 6 slave processors (ARM Cortex M4s with ARM serial debugging ports)

All in one little box about 25cm x 160cm x 5cm

 

Now to bring up the Ethernet on the master processor I can use its serial port for "printf" error messages (from the Ethernet/TCP/IP library) and the ARM debugging port to load/run/trace the processor. The ARM trace interace box (Keil Ulink Pro) is a USB interface to the development PC.

The superivisor processor is connected via another Ulink to another PC.

The FPGA JTAG interface is USB to yet another PC.

The fourth PC runs Wiresharc and is connected by Ethernet to see what's coming out.

 

It would be nice if the debug tools had Ethernet rather than USB interfaces but they don't.

I could isolate the serial debug port but since I must have three other non-isolated connections it's not worth the effort.

 

This system is all quite low power - so certainly safe to humans and fairly safe to computers. (The really exposed parts are the debug interfaces and there is nothing to be done about that since they need fast conenctions to the hardware.)

In the last 10 years I've lost one debugger and one PC due to my mistakes and in the same time at least 10 PCs have just died (as they do) so it's a cost effective approach.

 

Of course when these things connect to external systems handling real power different rules apply.

 

(AFIK most Ethernet interfaces are not specifically tested for mains safety - either during qualification or as part of normal regular safety checks (and the flash test requirement for Ethernet magnetics is 1500V AC which is OK for some equipment but not for all)).

 

Michael Kellett

  • Sign in to reply
  • Cancel
Parents
  • johnbeetem
    johnbeetem over 11 years ago

    There's a nice new write-up of Valent F(X) FPGA boards for RasPi and BeagleBone at Linux Gizmos: BeagleBone and Raspberry Pi gain FPGA add-ons.  Boards not yet available commercially, but they're considering a Kickstarter.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to johnbeetem

    Very interesting.  I had a good chuckle at "LOGI-BONE SLIM" and "LOGI-BONE PHAT". :-)

     

    Care to hazard a guess at pricing?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to guzunty

    I think you're right about the questionable appropriateness of a $99 add-on board for the $35 niche, Derek.  If finances stretch that far then it doesn't really make a lot of sense to couple it with a very low-end CPU board that introduces unnecessary problems and limitations.  Sensibly, one would choose a more capable processor platform.

     

    In contrast, Guzunty Pi is an excellent match of processor and programmable logic in both capability and pricing.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • guzunty
    guzunty over 11 years ago in reply to morgaine

    We also considered a CPLD add on for the BBB when it was first announced.

     

    However, there we came to the conclusion that the dedicated IO processors in that product provide enough real time heavy lifting that a CPLD probably wouldn't add very much. What do you think?

     

    The much greater resources in a Spartan make it a different equation, though. I think Logi-bone may end up being a better match for the BBB.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 11 years ago in reply to morgaine

    Morgaine Dinova wrote:

     

    Very interesting.  I had a good chuckle at "LOGI-BONE SLIM" and "LOGI-BONE PHAT". :-)

     

    Care to hazard a guess at pricing?

    I asked about Mark-1 pricing last year in this RasPi Forum thread.  Michael Jones said they were "shooting for under 100".  He didn't say whether this was GBP, USD, or Euros.

     

    Edit: For comparison, you can get a Papillio Pro with Spartan 6 LX9 for US$85 or Papillio One with Spartan 3 250E for US$38 -- very attractive.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to guzunty

    Derek Campbell wrote:

     

    We also considered a CPLD add on for the BBB when it was first announced.

     

    However, there we came to the conclusion that the dedicated IO processors in that product provide enough real time heavy lifting that a CPLD probably wouldn't add very much. What do you think?

     

    Although that's true, programmable logic and realtime software/microcontrollers are two different things. If the goal is education or promoting the use of programmable logic among enthusiasts then there is ample room for CPLDs as BBB add-ons at Guzunty Pi prices or thereabouts (a full cape would necessarily cost a bit more).

     

    If the goal is simply to meet a realtime requirement then I'd agree, BBB already has a lot of capability in that regard just on its own.

     

    The much greater resources in a Spartan make it a different equation, though. I think Logi-bone may end up being a better match for the BBB.

     

    Oh, I'm even-handed in that respect --- a $99 FPGA board doesn't make much sense on a BBB either!  Although the BBB has more capability than the Pi, it's in the same price niche, so it wouldn't really be a price-balanced pairing.

     

    Perhaps something like the dual-core A20-OLinuXino-MICRO-4GB would provide a better-matched CPU foundation for a $99 FPGA board?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 11 years ago in reply to morgaine

    Morgaine Dinova wrote:

     

    Perhaps something like the dual-core A20-OLinuXino-MICRO-4GB would provide a better-matched CPU foundation for a $99 FPGA board?

    Or, for that same US$99 you'll soon be able to get a Zynq 7010 board with dual-core Cortex-A9 and 1GB DDR3.  It also happens to have a 16-core parallel processor image

     

    [Yes, I know you already know about that board -- I'm just having fun and reminding the community of the possibilities.]

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to morgaine

    It's worth pointing out that an FPGA add-on board doesn't have to cost $99.  Lattice, Altera and Xilinx all have FPGA devices listed for less than £10 single unit pricing at Farnell UK, and even a bottom-end Spartan-6 device costs only £13.45.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to johnbeetem

    Indeed, we'll all be playing with Parallella in November or not long thereafter. image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • guzunty
    guzunty over 11 years ago in reply to morgaine

    The Spartan-6 price is indeed very attractive, and believe me, it was a very tempting idea. However, as I know you know, the cost of the bare component is not the end of the story.

     

    The Spartan-6 comes in (IIRC) a QFP-144 package which precludes home assembly for most people likely to be interested (I know it wouldn't put _you_ off! :-) ).

     

    Of course, there is the Papilio Pro at $85, but I think a bare bones FPGA add on could definitely be made for even less than that. Guzunty proves that the host board can take care of the programming directly, so a lot of peripheral hardware needed on a standalone board can be eliminated.

     

    Even paring the support hardware back, you're still left with the problem of buildability. Ease of assembly is one reason we designed the Guzunty Pi to use a device that can use a through hole PLCC socket. Pre-assembled as opposed to self assembled adds quite a bit to the bottom line.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to guzunty

    Derek Campbell wrote:

     

    Even paring the support hardware back, you're still left with the problem of buildability. Ease of assembly is one reason we designed the Guzunty Pi to use a device that can use a through hole PLCC socket.

     

    That design choice was probably a very good one in that it made assembly easy for newcomers to open hardware.

     

    John has mentioned on many occasions his long-term project for a fully open source toolpath for programmable logic.  I wonder if a simple board like yours (reworked to be less specific to Pi) wouldn't provide a suitable first target on which to collaborate?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • guzunty
    guzunty over 11 years ago in reply to morgaine

    By coincidence, I was reviewing open source toolchains this very day. :-)

     

    I found projects like Icarus, but my conclusion was that it is not currently possible to go all the way to hardware.

     

    I'd love to have this misapprehension corrected if such it is. :-)

     

    As for a board design less specific to the Pi, I have been considering this for a quite a while.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • guzunty
    guzunty over 11 years ago in reply to morgaine

    By coincidence, I was reviewing open source toolchains this very day. :-)

     

    I found projects like Icarus, but my conclusion was that it is not currently possible to go all the way to hardware.

     

    I'd love to have this misapprehension corrected if such it is. :-)

     

    As for a board design less specific to the Pi, I have been considering this for a quite a while.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Children
  • johnbeetem
    johnbeetem over 11 years ago in reply to guzunty

    Derek Campbell wrote:

     

    By coincidence, I was reviewing open source toolchains this very day. :-)

     

    I found projects like Icarus, but my conclusion was that it is not currently possible to go all the way to hardware.

     

    I'd love to have this misapprehension corrected if such it is. :-)

     

    As for a board design less specific to the Pi, I have been considering this for a quite a while.

    Hi Derek,

     

    Thank you for mentioning Icarus which I assume is Icarus Verilog.  I didn't know it existed -- I knew about GHDL, an open-source VHDL simulator.  From my brief look at the Icarus site, it seems it can only be used for simulation and net list generation, for example it can generate EDIF for Atmel AT40K series and perhaps others.  You still need to use the vendor's place, route, and bit stream generation.

     

    Icarus is a great name for the project, because if you get too close to the Truth -- which we'll represent as the Sun -- the Xilinx and Altera lawyers will see to it that you go down in flames.

     

    I'm still aiming at Cypress PSoC 4 or 5LP as a target for FLOSS design tools.  They already document almost everything I'll need for my design tools, and it may be that I can reverse-engineer the rest.  However, I'd rather do it with their permission so I can publish the code.  My project has been slowed down by some family needs, but once I've completed the current release 0.0h of my software I'll be ready to start in on Cypress routing.  At that point I'll ask some of the Cypress people who post at element14 if Cypress would see me as a helper, as an Icarus image, or as a mad knight-errant who can safely be ignored.  It may be that they'll release the information before I need it, but I'm not holding my breath.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • guzunty
    guzunty over 11 years ago in reply to johnbeetem

    Yes, that's Icarus.

     

    I found GHDL too. It looked to me that it too can't go all the way to hardware.

     

    The Cypress devices look interesting, but they already have the programmable logic on board, so likely no need for an add on to provide it. Unless, that is, the idea would be to add a PSoC to the other SBCs. Then we're back to the build ability issue (unless there are more hobbyist friendly packages in the range I haven't found yet).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 11 years ago in reply to guzunty

    Although it doesn't address John's search for open source tools here's another RPi FPGA add on at  a reasonable price. It's ready made and fitted with a reasonably current part. I like the Lattice stuff and since they are currently shifting more than a million FPGAs per day they should be around for a  little while at least.

     

    http://www.bugblat.com/products/pif/

     

    MK

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to michaelkellett

    That's excellent news, thanks for that info, Michael!

     

    'Not sure why Bugblat seem to be hiding the FPGA details until you get to the manual or schematic, but the board uses a Lattice MachXO2 (that's a capital 'O' and not a zero peeps) which is a pretty nice device that I was looking into trying myself (but I haven't yet) --- the MachXO2 Pico dev board is listed at Farnell UK.

     

    Both versions of Bugblat's PIF board are cheaper than the Pico (*), which uses the smaller of Bugblat's two MachXO2 devices, so Bugblat wins on price as well as on convenience for Pi users.

     

    It's nice to see interest in programmable logic rising among the ARM enthusiast generation.

     

    ===

     

    (*)  To be fair, the MachXO2 Pico has a lot more on the board --- see Element14's quite detailed introduction document.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • guzunty
    guzunty over 11 years ago in reply to morgaine

    Nice device. Not sure about the board itself though.

     

    Maybe I missed something from the Foundation, but when did it become good practice to wire up the Pi No Connect signals?

     

    EDIT: I take that back and stand corrected. The eLinux reference wiki pages and the Foundations own documentation have been updated.

     

    Yeah, that's a nice board. Can't beat that for capacity per $.

     

    One thing about the Guzunty, though, it is 5 volt tolerant which the Lattice is not, so taking inputs from a full speed Arduino is out (without adding external diodes and resistors). Also because the Guzunty is socketed, if you do overvolt the device it's simply a matter of putting in a new one. Any QFP based board would be headed for the trash can in that situation for most people.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to guzunty

    The two devices aren't even remotely the same in capability nor price, so they can't really be compared as rivals, only broadly to identify their respective areas of application.  Each one has a huge range of uses for which the other would be completely useless, and only a very tiny number of uses in which they both match the requirements perfectly and hence overlap.

     

    Actually, maybe the latter "tiny number" is zero. image

     

    Seriously, there's nothing to be defensive about regarding the XC9500XL, everyone seems to agree it's a great CPLD, and  there's probably not an FPGA in existence with its low gate count and price and power consumption.  The same applies when comparing the Guzunty board versus some FPGA board, including that MachXO2 product.  There's no significant overlap.  Each has its distinct niche.

     

    Engineering comparisons for the purpose of choice only make sense within a fairly narrow range of similar utility where any choice would satisfy the requirement.  Comparisons between devices that cannot (sensibly) satisfy the same requirement are just of journalistic value, for slow news days.

     

    I know I'm preaching to the converted here, but I find it indefensible that FPGAs seem to be assigned more merit just because they're perceived as "sexy" while CPLDs are somewhat "dowdy".  That's not engineering.  They're both forms of programmable logic and exercise similar hardware skills.

     

    Maybe CPLDs need some hype and anthropomorphizing to raise their profile --- "Adopt a cuddly CPLD today." image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 11 years ago in reply to morgaine

    Morgaine Dinova wrote:

     

    'Not sure why Bugblat seem to be hiding the FPGA details until you get to the manual or schematic, but the board uses a Lattice MachXO2 (that's a capital 'O' and not a zero peeps) which is a pretty nice device that I was looking into trying myself (but I haven't yet) --- the MachXO2 Pico dev board is listed at Farnell UK.

    I've never used the MachXO2 myself, but at first glance it looks like a good architecture.  Lattice has an interesting history in CPLDs and FPGAs.  They used to have their own CPLD line, but at one point took over the Mach CPLD technology from AMD.  I used those parts quite a bit before switching over to Xilinx 9500XL.  Lattice acquired their FPGA technology indirectly from Lucent (formerly AT&T Bell Labs), who had licensed Xilinx technology with permission to improve it, resulting in the Orca FPGAs which I understand were quite good.  It looks like the MachXO2 is decended from that path.  Lattice just announced MachXO3, but I'll wait to check the specs until they're available without registering.

     

    But wait, there's more!  Lattice recently acquired SiliconBlue which has an interesting FPGA that has SRAM configuration for development, but you can also freeze the configuration using a write-once anti-fuse technology so that they power on in the correct configuration and it's harder obtain the configuration through reverse-engineering.  Most of the SiliconBlue chips are small and cheap.

     

    Personally, I'm amazed that Lattice is able to survive combining all these various technologies into a single company.  Usually these kinds of mergers end in disaster.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 11 years ago in reply to morgaine

    Morgaine Dinova wrote:

     

    Seriously, there's nothing to be defensive about regarding the XC9500XL, everyone seems to agree it's a great CPLD, and  there's probably not an FPGA in existence with its low gate count and price and power consumption.  The same applies when comparing the Guzunty board versus some FPGA board, including that MachXO2 product.  There's no significant overlap.  Each has its distinct niche.

     

    ...

     

    Maybe CPLDs need some hype and anthropomorphizing to raise their profile --- "Adopt a cuddly CPLD today." image

    I suspect that the SiliconBlue iCE40 devices from Lattice may come close to XC9500XL pricing, because they're pretty small.  Also, in terms of power consumption an FPGA generally beats a CPLD except when first configuring an SRAM array at power-up.  This is because most CPLDs use PLA structures, i.e., wide NOR gates with resistive pull-ups, so when they're pulled down there's DC current.  FPGAs use almost all their power when switching with very little DC loss, though it gets worse with smaller geometry.  The Actel IGLOO which uses Flash to store configuration uses hardly any power, and make a nice glue chip except that they cost a lot more than an XC9500XL (at least they did so last time I looked).

     

    The Xilinx CoolRunner uses gates for ORing instead of wide NOR gates so it's also very low power.  Anyone remember the first CoolRunner adverts with the chip powered by a couple of oranges?  (Or were they lemons or grapefruit? I don't have that data book handy).

     

    Speaking of "cuddly CPLDs", I guess Morgaine never saw (or has forgotten) the old MMI PAL data books, which were filled with cartoon drawings of friendly, smiling "PALs" in standing-up DIP packages.  MMI was one of the first in the PLD biz, though Signetics had PLAs before them.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to johnbeetem

    John Beetem wrote:

     

    Lattice just announced MachXO3, but I'll wait to check the specs until they're available without registering.

     

    I guess that means the MachXO2 line was successful enough not to get dropped.  I suspect that the smaller players like Lattice are desperately trying to survive in the tiny market gaps left by Xilinx, so it'll be interesting to see what new card the MachXO3 brings into play.

     

    But wait, there's more!  Lattice recently acquired SiliconBlue which has an interesting FPGA that has SRAM configuration for development, but you can also freeze the configuration using a write-once anti-fuse technology so that they power on in the correct configuration and it's harder obtain the configuration through reverse-engineering.  Most of the SiliconBlue chips are small and cheap.

     

    So sad that protecting "IP" is given such prominence instead of rapidly churning out new product to make reverse engineering irrelevant through lateness.  Boy this industry is a million miles away from the OSHW worldview.

     

    It's a big pity that there isn't a company like Parallax with their open community worldview (their latest Propeller-2 was designed in conjunction with their community of users), but producing programmable logic instead of microcontrollers.  If their open M.O. works for the Propeller product line, I don't see why it shouldn't work for designing open CPLDs and FPGAs.  It would automatically secure the company a loyal user base without any competition whatsoever in the open space.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 11 years ago in reply to morgaine

    Bugblat cost is also hidden by a $22 charge for shipping, so the real cost is close to $60 while you can get the breakout board with the largest XO2 chip for $26 directly from Lattice.

     

    I have been using the Lattice family since the GAL families in the 80's.

    I like the fact that they are instant on, and do not need to relaod the firmware at each power on like Xilinx and Altera. But they are limited in size, about 6500 LUTs.

    Teir larger FPGA family is the ECP3, but they all are large ball count BGA, so not for the average DIY dude.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube