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
FPGA
  • Technologies
  • More
FPGA
Forum The important of FPGA for the world todays
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 7 replies
  • Subscribers 560 subscribers
  • Views 1343 views
  • Users 0 members are here
  • eda
  • soc
  • fpga
  • verilog
Related

The important of FPGA for the world todays

Former Member
Former Member over 12 years ago

Hi Guys!

 

I was the beginner learn about the FPGA. Is that anyone can tell me, why this device are more usefull rather than another devices to run the project (especially in computer and biomedical engineering)? maybe could be compare with the PIC or another invention.

  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 12 years ago +2
    I beleive it is best to think of a FPGA as a very large solderless breadboard - somewhere between the size of a single garage (for a low end part) up to the size of a basketball court for a large chip…
  • fustini
    fustini over 12 years ago +1
    I think the Papilio website shows some good examples: http://papilio.cc/ . They make really affordable FPGA boards and add-on boards. You can even use a "soft-core" AVR implementation to make your FPGA…
  • dias11
    dias11 over 11 years ago +1
    Hi to all, hi vee I am working with FPGAs the last five years. Well, its the newest and most advanced step in electronics technology. That doesnt means that you be able to solve any problem with FPGAs…
  • fustini
    0 fustini over 12 years ago

    I think the Papilio website shows some good examples: http://papilio.cc/.  They make really affordable FPGA boards and add-on boards.  You can even use a "soft-core" AVR implementation to make your FPGA board Arduino-compatible.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 12 years ago

    I beleive it is best to think of a FPGA as a very large solderless breadboard - somewhere between the size of a single garage (for a low end part) up to the size of a basketball court for a large chip - along with a very, very, very large cupboard of basic logic chip (e.g. 74xx series). You can then use the very smart software tools to populate these virtual breadboards and wire them all together, based on a source-code like description (hence the term Hardware Description Language)..

     

    The smallest common development board's FPGA can be used to build a full 1980's 8-bit computer (RAM, ROM, CPU, I/O, Video), However, if the application aligns nicely with the FPGA's architecture (e.g can leverage the DSP blocks, or is highly parallel in nature) it can process data as fast as a current PC's CPU. A slightly more expensive board will have some DRAM, and enough resources to implement something like a full 100MHz 32-bit CPU.  Due to the relative physical size of logic implemented using a FPGA verses that implemented directly in silicon the clock speeds will only be maybe 20% that of a modern CPU. So unless you can run five of more of your calculations in parallel a CPU will be faster.

     

    Entry level boards start at about US$50, and a high end board can cost many, many thousands. Any board over about US$500 usually requires a full license for the vendor's toolset, which by itself can cost many thousands.

     

    The benefits of FPGAs are that you can build pretty much anything into your design (e.g. Video output, audio, sensor interfaces, DACs, ADCs, LEDs, buttons) just by wiring them to the I/O pins on the FPGA. If your project is 'data flow' project (e.g. sensors -> digital filters -> output) and/or requires precise timing (down to a few nanoseconds) then FPGAs are ideal. If your application requires processing unbounded blocks of data (e.g. sorting large sets of text data) then a FPGA is probably not the answer you are looking for - such applicaitons do not map well to the limited logic resources.

     

    Mike

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • johnbeetem
    0 johnbeetem over 12 years ago in reply to Former Member

    Mike Field wrote:

     

    I beleive it is best to think of a FPGA as a very large solderless breadboard...

     

    The benefits of FPGAs are that you can build pretty much anything into your design (e.g. Video output, audio, sensor interfaces, DACs, ADCs, LEDs, buttons) just by wiring them to the I/O pins on the FPGA. If your project is 'data flow' project (e.g. sensors -> digital filters -> output) and/or requires precise timing (down to a few nanoseconds) then FPGAs are ideal. If your application requires processing unbounded blocks of data (e.g. sorting large sets of text data) then a FPGA is probably not the answer you are looking for - such applicaitons do not map well to the limited logic resources.

    Mike makes some excellent comments.

     

    To elaborate, adding an FPGA to a design gives you the flexibility to put some functionality in software and some in hardware.  Generally, anything that involves complex decision making should be in software, because complexity is cheap in software and expensive in FPGAs where you have a limited number of logic elements.  OTOH, software is poor at many kinds of bit-level algorithms and is usually poor at precise timing.  An FPGA lets you do high-performance bit-level processing much more efficiently than software (a good example is high-performance cryptography) and is a good way to sample and generate I/O with accurate timing, so they're used for low-level data communications and for test equipment that needs to observe and perform low-level protocols.  FPGAs are also a great way to emulate the digital logic for an integrated circuit, so you can do near-real-time functional verification and software development of a new chip before spending US$100K on masks for IC fabrication.  This allows design of complex chips that work correctly with the first silicon.

     

    Here are a couple of recent element14 discussions that talk about FPGAs in more detail:

     

    http://www.element14.com/community/message/64213#64213/l/re-some-fpga-beginner-questions

     

    http://www.element14.com/community/thread/17692

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

    no it's not.  Hardware coding is now as cheap as software. The level of technical knowledge is not necessarily that of some complexities I have done in my computer programming career. Just get in and learn the lingo.

     

    I am a recent novice that is pleased at the accessibility of the coding environment and the technicalities of the basic hardware of which there is a lot to read, but your knowledge gets to be quickly reusable. I have a lot of tasks to be explored that are not the CPU cloning that I find to be a dull use of fpgas.

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

    Chris Price wrote:

     

    no it's not.  Hardware coding is now as cheap as software. The level of technical knowledge is not necessarily that of some complexities I have done in my computer programming career. Just get in and learn the lingo.

    Hi Chris,

     

    I assume you're referring to my comment "anything that involves complex decision making should be in software, because complexity is cheap in software and expensive in FPGAs where you have a limited number of logic elements".  In this case, I'm mostly referring to the BOM cost, not the design cost.  In an FPGA, thousands of gates are expensive and if you have a complex function it may need an FPGA costing hundreds of dollars.  If you can do that same function in software on a microprocessor that only costs a few dollars, the software approach wins.

     

    However, design cost enters in as well.  Compiling a fairly complex C program maybe takes a few seconds or tens of seconds.  Running the equivalent logic through Xilinx tools will take minutes or hours.

     

    So if you want to complete a complex design in a reasonable amount of time with a low-cost implementation, I suggest keeping the logic simple so it can be programmed into a small FPGA and leave everything you possibly can in software.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • michaelkellett
    0 michaelkellett over 11 years ago in reply to johnbeetem

    @John,

     

    To extend your comment re. design cost I use a rule of thumb (dangerous but handy) to compare the time taken to code a non trivial operation in different ways as follows:

     

    Python or other modern very high level langauge:      1

    C                                                                          10

    Assembler                                                             100

    VHDL or Verilog on FPGA                                       1000

     

    An example of the complexity level would be code to handle an ethernet interface to compose, send, receive and decode UDPs, directly controlling an existing (in hardware or IP) MAC and PHY.

     

    Of course the ratios are far from precise and in real life vary a lot - but they explain why real world coding effort goes where it does.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • dias11
    0 dias11 over 11 years ago

    Hi to all, hi vee

    I am working with FPGAs the last five years. Well, its the newest and most advanced step in electronics technology. That doesnt means that you be able to solve any problem with FPGAs. As all technologies have advantages and disadvantanges.

     

    FPGA is actually a chip that its empty. There is no circuit into chip. When you buy it, it can do abseloutly NOTHING !!! Actually you get a chip with some thousands of logic elements. Every one of these logic elements can be made one of the basic gates (not, xor, nor, nand ...) All the logic elements can be also connect each other using  interconnection. They can also use interconnections to find a way to chips pins and act as I/O ports. In order to change the state of any logic elements you have to describe your problem using VHDL or Verilog language. In conclusion, into a FPGA chip you can built any circuit you want, any microcontroller, any CPU, any type or size of memory or any circuit can discribe your problem and so on, until you use any of the available logic elements. Of course we talk about digital logic, you are not be able to build analog circuits like analog filters, ADC, op-amps and others. You also have the ability to reprogram the FPGA any time you want to make changes to your system. Thats amazing !!!  

     

       

    Advantages:

    FPGAs are hardware reconfigurable !!! You can change your system's hardware anytime.
    They are real time multitasking. (They use combinational logic. You can build circuits that executes independently. You can duplicate a circuit many times)

    They are much more faster than a microcontroller or CPU, because they have fast electronics and of course because you can solve problems or problem parts in parallel.

    There are exelent develpment tools, with predefind digital elements, uCs and even CPU systems, that helps you to make any system using only your mouse. (if you know what you click :-)  )

     

     

    Disadvantages

    They are more expensive than uCs and CPUs.

    They are slower than a well build ASIC.

    They are losing your design system everytime you power them off.

    You have to learn VHDL or Verilog.

    They are need more energy than uCs and CPUs. They also tend to heat when you increase the frequency.

    They have many I/O pins. This is hard to solder them or make a pcb design.

     

    Some of the disadvantages may be solved at the future, so more and more companies and research labs try to use FPGAs. Hardware configuaration ability and speed its a real tempter to any application.

     

    I hope to have been helpful.

    Chris

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • 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