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 2563 subscribers
  • Views 8320 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…
Parents
  • 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
  • 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
  • jc2048
    jc2048 over 7 years ago in reply to COMPACT

    How do you do that on an Arduino when 640x256 needs 20k of SRAM to hold the image?

     

    For the 'vector' display, I was thinking of the FPGA rendering the vector data in real-time on each frame to get a raster.

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

    Compress it a bit.  1920 bytes for 80 x 24 characters and store the bit maps (8 x ((10 or 11)) in Flash.

     

    FPGA rendering a vector image is a challenge - You'll have to use Bresenham's Line and Circle Algorithms or similar.

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

    When I designed Laser Printer controllers (30+ years ago) instead of Flash we'd use RAM and compile the programmable characters on the fly as the paper was feeding through the printer.

    That way we could have some degree of graphics available from very limited memory available.

    If the image couldn't be rendered with the limited memory available an error message was displayed on the printer to say so.

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

    When I designed Laser Printer controllers (30+ years ago) instead of Flash we'd use RAM and compile the programmable characters on the fly as the paper was feeding through the printer.

    That way we could have some degree of graphics available from very limited memory available.

    If the image couldn't be rendered with the limited memory available an error message was displayed on the printer to say so.

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