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
    About the element14 Community
  • 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 Some FPGA Beginner Questions
  • 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 Suggested Answer
  • Replies 78 replies
  • Answers 19 answers
  • Subscribers 569 subscribers
  • Views 12244 views
  • Users 0 members are here
Related

Some FPGA Beginner Questions

Former Member
Former Member over 13 years ago

Hi element14!

 

Some time ago I've watched a talk of the nand2tetris course/project. If you've never heard of it you can check it out here: http://www.nand2tetris.org/ Basically it is a course designed to build a computer from the very ground up. It starts with logic gates and goes all the way up to programming a small game project (hence the name nand2tetris). There is also a video available from someone who has been doing the course on FPGA hardware ( http://www.youtube.com/watch?v=UHty1KKjaZw ).

[At one point in the above linked youtube video you can see the designation "ep2c8q208", which should mean the project is running on Altera Cyclone II hardware.]

 

I've always been curious about doing something with FPGA hardware, but never had any idea of a feasible, yet interesting-result-yielding project. Well, as you can probably guess, up until now that is image

 

During my university days I attended an FPGA workshop and I've read some stuff about the hardware components and the available course material, so I think I kind of have an idea about the difficulty of the project. But since everything I've been reading just made me more excited, I decided I absolutely want to give this a shot. Now there's a lot of FPGA information out there, so I'm surely still missing a lot of important information, but I would like to get started and think the best way to learn is to actually experiment with a real FPGA instead of wasting too much time with HDL simulations only to become used to functions that aren't going to synthesize on the board anyway.

 

So I now would like to ask you about some things I'm still unsure about and would like to have clarified before buying an expensive development kit. I've read several articles about Altera and Xilinx and right now my choice would be a Spartan 3E Starter Board - this one to be exact: http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=549

 

The main questions I'm having right now:

- Is there a general reason that would argue against getting the Spartan E3 board?

- I actually have no idea how powerful an FPGA really is.. but assuming it's running on Cyclone II hardware, it probably should run on a Spartan 3 as well? Or is that in itself already a stupid question, as FPGA comparison doesn't work so easily?

- As you can see, the price for the above board is about 150 Euro, which translates to something just short of $200. Yet I continue to find offers (on ebay or other websites) where boards are being sold for under $150 but even include small screens(!)*  What am I missing here? Did I pick an especially expensive outlet, or is there something shady about these cheap deals..?

- In general, who is more newbie-friendly, Altera or Xilinx? (I've worked with VHDL before, which I think is Xilinx, right? Altera's Quartus is probably very similar?)

- From how I understand the FPGA toolchain, in the above linked offer there should be everything included to get me going.. right? o_O

 

I also have this second candidate: http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,836&Prod=ATLYS

- Maybe I'm an idiot, but as I read the offer, *only* the board is sold? I.e., in contrast to the first offer, I would need additional stuff to get something running on the board?

- It also strikes me as a mayor drawback that there is not really an output option besides a few LEDs.. which for me would be very annoying; I'm already unhappy about the board linked before *only* having a small display (which in itself, however, is awesome to have of course).

- This might also be a stupid question: I remember from back in the FPGA workshop I mentioned that getting a number-display to run is not that hard at all. How much more effort is it to get something displayed on a screen (either an attached one or a PC screen accessed via one of the available ports)?

 

And as a final question: I've also seen some very much smaller boards than the ones linked here, that are also much cheaper.. are the boards I'm looking it overkill for what I'd like to do with them? Or does actually the contrary hold, and such a project wouldn't even run on one of the smaller boards available?

 

Thanks for your help!

 

Cheers,

pan

 

________________________

* Here for example:

http://www.sainsmart.com/evaluation-board/fpga-cpld-board/new-ep2c8q208c8n-development-board-kit-fpga-altera-cyclone-nios-ii-with-2-4-lcd.html

  • Sign in to reply
  • Cancel

Top Replies

  • johnbeetem
    johnbeetem over 13 years ago +2 suggested
    Hi Christian, I just saw your discussion today. I don't check the element14 FPGA page much since activity is rare. There's some good FPGA discussion in this thread at the Raspberry Pi group, including…
  • michaelkellett
    michaelkellett over 10 years ago in reply to Former Member +2 suggested
    I'm going to offer some advice which has worked well for me over the last 10 years. Forget Xilinx and Altera and download the Lattice toolset - not as capable as the full Xilinx kit but good enough to…
  • michaelkellett
    michaelkellett over 10 years ago in reply to michaelkellett +2 suggested
    A simple counter example for LED twinkles ! There must be a way to add a text file - someone please tell how ! MK
  • michaelkellett
    0 michaelkellett over 10 years ago in reply to Former Member

    When the synthesis and fitter tools have finished they produce lots of reports which you should have a look at. You'll find that if you didn't use a clock in your design then there won't be a pin assigned to one, so to answer your question,

     

    An FPGA design which consists entirely of combinatorial logic will not need a clock.

     

    In reality such designs are very rare indeed, all FPGA's from A,L M and X are intended to implement synchronous designs so clocks (often several different ones) are needed.

     

    For example, if you had an 8 digit 7 seg display to drive you could do it with 8 hex -> 7 seg decoders but it would almost certainly be more efficient to use 1 and share it, which would require some clocking.

     

    As soon as you get on to anything serious you need state machines and they will need clocks.

     

    (This is because of the way FPGAs work - I think (but can't quote a proof) that any time dependent logic design can be implemented synchronously or asynchronously from a logical point of view - it's just that FPGAs don't do asynchronous stuff well.)

     

    I haven't forgotten the example - it may happen today.

     

    MK

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • michaelkellett
    0 michaelkellett over 10 years ago in reply to michaelkellett

    A simple counter example for LED twinkles !

     

    image

     

    There must be a way to add a text file - someone please tell how !

     

    MK

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Former Member
    0 Former Member over 10 years ago in reply to michaelkellett

    Thanks.  Now I'm clear on how the clocks are used, and why there are preferred pins.

     

    On this forum, I'm looking through the "advanced editor", and don't see any attachment options, except for video and images.  I guess they expect that you just have to copy/paste it in.

    Found it....  On bottom.  On the lower right side, is "attach".  I saw it just before I hit "Add Reply".

    Why it's not up in the menu bar with everything else...? No idea.

     

    -Scott

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

    Hello Scott,

     

    I've never used the advanced editor before - just for a lark I'll attach a file of the same example.

     

    Thanks.

     

    MK

    Attachments:
    vhdl_heartbeat.vhd.zip
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • johnbeetem
    0 johnbeetem over 10 years ago in reply to michaelkellett

    Michael Kellett wrote:

     

    (This is because of the way FPGAs work - I think (but can't quote a proof) that any time dependent logic design can be implemented synchronously or asynchronously from a logical point of view - it's just that FPGAs don't do asynchronous stuff well.)

    Asynchronous design is a nightmare.  It's all hazards and races.  It's important for all digital engineers to have studied asynchronous design, because it's the theory that backs up why it's so critical to meet setup, hold, and minimum clock pulse width requirements.

     

    Asynchronous theory normally requires that logic operates in "fundamental mode".  In fundamental mode, only one input changes at a time, and the effects of that change must settle before the next input change.  If two inputs change at the same time (e.g., the clock and data inputs of a flip-flop) or one changes before the effects of the other have settled, you can have unpredictable behavior including metastability.

     

    Asynchronous theory is tractable if you stick with fundamental mode.  If you can't assume fundamental mode, it becomes very difficult in general.

     

    Synchronous design is a special case of asynchronous design.  In synchronous design, data signals propagate through combinational logic (with no loops) and they can change simultaneously as long as the effects settle before the next clock edge.  When the clock edge occurs, you normally assume that all registers driven by that clock update simultaneously, i.e., the changed outputs of those registers do not propagate so fast that they change inputs to registers that haven't finished updating.  As long as you use global clock nets, this requirement is satisfied by the FPGA circuits and you don't need to worry about it.

     

    I've kept things simple by assuming edge-triggered registers with a single clock.  Using latches and multiple clocks gets a lot more interesting image

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

    hey dear...Greeting of the Day!!!!!

    I am beginner of FPGA and VHDLl coding,I'm using spartan6(lx9,tqg144) development board i want to display text and images on monitor display by VGA connector is is possible with spartan6???!! IS, IS POSSIBLE to dispay any text ?? any image?? on monitor.

    Small help also would be great helpful

    thanks!!

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

    It's possible and even quite easy if you are prepared to put up with limited colour resolution.

     

    The key problem is that for VGA you need three analogue signals (Red, Green and Blue) and the obvious way to make them is with three DACs. You can buy chips made for the purpose but if you only want to use the basic kit you have you can make a restricted display without.

     

    Here's a link:

     

    https://www.pantechsolutions.net/cpld-fpga-boards/vga-interfacing-with-spartan-3-primer

     

    You'll get loads of information if you Google "fpga vga". Take the time to get the VGA spec form somewhere and find out how the signals work. You can learn a lot from reading the data sheets and app notes a bout early video controllers like MC6845.

     

    MK

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

    Here are some VGA 'blogs at Gadget Factory, the maker of the Papilio Spartan-3E and Spartan-6 FPGA boards: http://www.gadgetfactory.net/tag/vga/

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

    hey john Thanks allot !

    Thanks for your warm welcome and support ..

    since 11days i have been reading different tutorials and materials but

    i am not satisfied how to display text and how to display image but up

    to now i think i will be possible...

    last question i am using spartan 6(XC6SLX9-TQG144) (xilinx X-SP6-X9)

    board (it is not micro board) and i cant find its proper

    configurations as well as all functions i have google it hundrads of

    times but i got all information about micro board so how can i get

    proper configuration..

    thank you very much for your reply..

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

    hey thanks allot ,it feels good to see your response ..i am just

    beginner, i  just have done simple projects on xilinx ise 13.1 with

    xilinx spartan6(xc6slx9-tqg144) board i want to enhance and improve my

    knowledge in this field so how can i start honestly i take a project

    of displaying text "hello world" and image on vga monitor so how can i

    interrface keyboard and mouce in ps2 port and vga configuration how

    can i go ahead....thanks..!!

    • Cancel
    • Vote Up 0 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 © 2026 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