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
RoadTests & Reviews
  • Products
  • More
RoadTests & Reviews
RoadTest Forum What's Stopping You Building Your Next Project with an FPGA? (Please, Don't Blame the Cost!)
  • Blog
  • RoadTest Forum
  • Documents
  • RoadTests
  • Reviews
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join RoadTests & Reviews to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 100 replies
  • Subscribers 2565 subscribers
  • Views 8305 views
  • Users 0 members are here
  • scasny
  • xilinx
  • fpgafeatured
Related

What's Stopping You Building Your Next Project with an FPGA? (Please, Don't Blame the Cost!)

rscasny
rscasny over 7 years ago

The community does a ton of projects with MCUs. If they do the job for you, that's great. But the element14 community is about learning, experimenting and roadtesting. In this spirit, I am proposing that you should try building your next project with an FPGA (SoC), if it suits the application, of course. What's stopping you? Oh, some members have voiced the cost issue. Granted, some FPGAs do cost a lot. But chip manufacturers are rolling out economical chipsets that most makers, pro-makers or experienced hobbyists can afford. (If you can't, then apply to a RoadTest and if you win you can get a dev board for FREE.) I think FPGA / SoCs will move into a more important place for electronic designers, especially for IoT applications. Perhaps it's time to experiement with one. What's stopping you?

 

Here's a link to a current roadtest:Digilent ARTY S7 Dev Board (Xilinx Spartan 7)   Apply today!

 

Randall Scasny

RoadTest Program Manager

  • Sign in to reply
  • Cancel

Top Replies

  • Workshopshed
    Workshopshed over 7 years ago +16
    Hi Randall, I have been thinking about getting started with FPGAs this year. I've got myself a "TinyFPGA". I've gone for the $12 A version which is based on the Lattice Mach XO2-256. That's it's about…
  • ipv1
    ipv1 over 7 years ago +8
    rscasny I just posted a comment for this in the vivado discussion. To answer this question in short, I find very few projects worthy of an FPGA. An IoT application with FPGAs sounds fascinating though…
  • shabaz
    shabaz over 7 years ago +8
    There's a simple CPLD project here that I had a lot of fun working on, in case it helps provide ideas: Programmable Logic Project: Pseudo-Random Noise Generator CPLDs and FPGAs are great for signal generation…
  • SGarciaV
    SGarciaV over 7 years ago in reply to cybermah

    I understand what you are saying. It isn't as easy as picking a project and then implementing it with an FPGA. You could use your favorite search engine and search for FPGA projects. Something interesting might come up.

     

     

    For me it sort of fell into place. A fellow poster at another group mentioned that a fellow on eBay was selling Altera DE1s for $75, and accepting offers. That, in conjunction that the seller was local and open to pickup, motivated me to offer $65USD. He accepted the offer and I got eh FPGA. I know of a project using this product where the Color Computer 3, a Tandy/Radio Shack computer of the 80s, is being replicated using the DE1, so I have where to go to make use of this FPGA.

     

     

    The logic behind using programmable hardware is having a project that uses digital logic that can be bunched up together in one device. I may have some logic that uses NAND gates, a multiplexer and some flip flops. Instead of using 5 or 6 discrete chips, I can think of bunching that logic into one device. Of course, a product like the DE1 is overkill, but there are other programmable devices, such as CPLDs (Complex Programmable Logic Device) or in some cases when it is simple logic, even  PALs and GALs can be used (although more modern solutions are preferred). The key to getting started is to not let the technology overwhelm you. Check out paces like Hackaday to see if other people have projects using FPGAs or other programmable logic devices.

     

     

    Good luck with your endeavor!

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • COMPACT
    COMPACT over 7 years ago in reply to SGarciaV

    No, one gets processing to work on the Microblaze core and uses VHDL or similar to configure its hardware features.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • COMPACT
    COMPACT over 7 years ago in reply to SGarciaV

    I've been using programmable logic since the 1970's; back then it was OTP (One Time Programmable) so you really had to do your homework to ensure you wouldn't program a dud.

    The easiest way to implement a relatively complex design is to use an overpowered and over featured FPGA and then get the design to fit into the smallest FPGA for production.

     

    Like electronics, one normally doesn't use Maxwell's equations for circuit design and the same is relatively true for Programmable logic design where the fitting is automated.

     

    If you're just learning, then you can use Schematic capture with one additional task - the assignment of the I/O pins to your design.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • COMPACT
    COMPACT over 7 years ago in reply to michaelkellett

    I did one about 13 years ago. I designed a FPGA microbee(an Australian 1980's computer) and added extras such as PS/2 Mouse and Keyboard, and IDE hard disk support. The design outputs its own colour graphics from the FPGA.

    I used a combination of Schematic Capture and VHDL design. I used the VHDL to define my special components and used the Schematic Capture to interconnect them.

     

    As for mixed small designs the PSoC 5 is great as it allows a mixture of Programmable Logic along with an ARM processor.  The PSoC 6 if it gets more UDB (Universal Digital Blocks) combined with its USB hosting capabilities extends its usefulness even more.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • COMPACT
    COMPACT over 7 years ago in reply to COMPACT

    Like DAB, I've retired due to illness and its subsequent disabilities and on occasion attempt to enthuse others to learn this fascinating craft.

     

    As DAB says;

     

    "Just a thought."

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • ntewinkel
    ntewinkel over 7 years ago

    I just noticed FPGAs can be used for HDMI output, which would be a very interesting use case: fpga4fun.com - HDMI

    But the assembly-like language used on that example website makes me run for the hills.

     

    My hope is something like this: Basic Arduino to output video and sound (https://playground.arduino.cc/Main/TVout ), with the outputs connected to an FPGA that converts it to HDMI.

     

    The ultimate goal is to show images and play mp3s from an SD card on a TV using an HDMI connection.

     

    Would this be possible? (question is to the FPGA experts image re the HDMI part - I can handle the Arduino to TV-out and Audio-out part)

     

    -Nico

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Cancel
  • ntewinkel
    ntewinkel over 7 years ago in reply to ntewinkel

    ps, I do realize that a Raspberry Pi zero would make this very easy image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • jc2048
    jc2048 over 7 years ago in reply to ntewinkel

    Have you tried the Arduino TVout? By the looks of that page, it can only be one bit per pixel and big, chunky pixels at that.

     

    The FPGA could do the HDMI part at 25MHz quite easily. You'd need to look at the signalling levels on the HDMI - I'm not familiar with it hardware-wise, but you could probably work with one of the many differential standards that FPGAs provide. It would need a proper PCB.

     

    A better architecture (than having the Arduino struggling to produce the video timing) would be to have a frame store in the FPGA (or a memory attached to the FPGA if there wasn't enough internal RAM going spare) that got scanned and output. The Arduino would then write to it once (setting or resetting pixels) and the FPGA would then deal with refreshing the display. It would be similar to an old CGA graphics card in a PC, except you'd be designing the graphics chip. The interface between the Arduino and the FPGA could be whatever you wanted, but SPI might work well.

     

    Another fun idea, taking a further step back in history, would be to do a vector display. The Arduino could write a sequence of line end-point pairs to the FPGA and the FPGA could draw the vectors on-screen (you might decide to get the Arduino to sort them into a favourable order first). You could then do Asteroids in it's original form.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Cancel
  • ntewinkel
    ntewinkel over 7 years ago in reply to jc2048

    Thanks Jon!

     

    >Have you tried the Arduino TVout? By the looks of that page, it can only be one bit per pixel and big, chunky pixels at that.

     

    Eww, no I had not looked at it in that much detail, but that doesn't sound very good. I wonder if they only just meant it to be used for the old 80's style arcade games.

     

    I like your idea of frames being sent to the FPGA, seems much nicer.

     

    -Nico

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • COMPACT
    COMPACT over 7 years ago in reply to ntewinkel

    I've pumped out "hires" monochrome 640 x 256 line output from an AVR32.

     

    To pump out modern digital video signal's you'll need to use differential pair transceivers.

    There are some complex encoding to be performed and it requires a fair bit of horsepower unless you stick to the special case colours where an encoding engine is not required.

     

    Vector output is fun. The easiest way is to use an Oscilloscope or Laser Projector as the output driver.

    DAC's they way aha aha      We like it aha aha.

    • Cancel
    • Vote Up +4 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