element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • 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
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • 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 682 subscribers
  • Views 21433 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
  • guzunty
    guzunty over 12 years ago

    Yes indeed.

     

    > So I don't see a lot of people using ready-made cores as a springboard to designing their own programmable logic.

     

    Well let's see what happens with the Guzunty Pi open hardware CPLD board. If even a few percent of the people who like the idea of ready made cores go on the learn to program their own cores from HDL, schematic or tables thats a Good Thing.

     

    Totally agreed on the remote tools idea. Xilinx used to have a web interface themselves did they not?

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

    Derek Campbell wrote:

     

    Totally agreed on the remote tools idea. Xilinx used to have a web interface themselves did they not?

    I believe they did, but I don't remember the details.  I never used it myself.  I can't remember what they charged to use it, or if it was free for smaller devices like WebPACK.  I also don't know why they discontinued it, but I suspect that:

     

    1.  Companies didn't want to send their designs over the Internet for security reasons.

    2.  Difficulty in choosing which versions(s) of the Xilinx software to provide.  As I said earlier, my experience has been that it's best to match the software version to the part you're using.  Also, switching to a different version can result in unexpected changes to design implementation as defaults are handled differently.  For example, I had some logic that was implemented in distributed RAM and when I switched to a newer version of the tools it got assigned to a block RAM.  You don't want these kinds of surprises in the midst of a design.

    3.  Turn-around time was maybe too long or variable.  If running locally, you know how long it's going to take to re-run the tools after a design change, so you can check e-mail, get a cup of coffee, have lunch, write a novel, or whatever.  If it takes a random amount of time, it's hard to plan.  Plus, there are features like ChipScope that let you route an FPGA internal node to a test pin almost immediately.  (At least I think that's what you can do -- I've never used it since it's not in WebPACK.)  That feature might be a bummer over the Internet.

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

    Derek Campbell wrote:

     

    Totally agreed on the remote tools idea. Xilinx used to have a web interface themselves did they not?

    I believe they did, but I don't remember the details.  I never used it myself.  I can't remember what they charged to use it, or if it was free for smaller devices like WebPACK.  I also don't know why they discontinued it, but I suspect that:

     

    1.  Companies didn't want to send their designs over the Internet for security reasons.

    2.  Difficulty in choosing which versions(s) of the Xilinx software to provide.  As I said earlier, my experience has been that it's best to match the software version to the part you're using.  Also, switching to a different version can result in unexpected changes to design implementation as defaults are handled differently.  For example, I had some logic that was implemented in distributed RAM and when I switched to a newer version of the tools it got assigned to a block RAM.  You don't want these kinds of surprises in the midst of a design.

    3.  Turn-around time was maybe too long or variable.  If running locally, you know how long it's going to take to re-run the tools after a design change, so you can check e-mail, get a cup of coffee, have lunch, write a novel, or whatever.  If it takes a random amount of time, it's hard to plan.  Plus, there are features like ChipScope that let you route an FPGA internal node to a test pin almost immediately.  (At least I think that's what you can do -- I've never used it since it's not in WebPACK.)  That feature might be a bummer over the Internet.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
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