UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Reply
Highlighted
Teacher
Posts: 8,355
Registered: ‎07-21-2009
Accepted Solution

README first: Help for new users

[ Edited ]

If you are a new user or visitor here, you are probably either casually surfing for interesting and useful information, or you have a frustrating problem which has you stopped in your tracks.

If you are new to Xilinx FPGAs and design tools, these online beginners' tutorials may be particularly helpful.

If you are stopped in your tracks, this post is written for you.  What follows are suggestions to get useful help as quickly as possible, based on thousands of posts in these forums.

1. Read the manual or user guide. Have you read the manual?  Do you know where to find the manual?

Many of the questions are answered with a simple and quick search of the FPGA family datasheet, or a related document. Of course, the first problem is locating the correct document -- there are 100s of them.  For most current software and device families, Xilinx provides a software tool for finding and accessing useful documents.  This tool is called DocNav (Document Navigator), it installs on your PC, and you can download it with this .ZIP file link.

DocNav currently does not include documents for Virtex-4 or Spartan-3 generation devices, which are still very popular.

  • Spartan-3 family docs may be found here
  • Spartan-3a/3an family docs may be found here and here
  • Spartan-3e family docs may be found here

In addition to the DocNav tool and the documentation webpages linked above, you find Xilinx documents of all types by  searching the Xilinx website (see the search tool in the top right corner of the browser window).

 

If you still cannot find the right document to answer your question, we will try to help you.  Generally, finding and reading the document with the answer provides you with more information, more useful information, and important context information -- in less time than waiting for someone to look up the information and post it on the forum for you.

2. Search the forums for similar topics.  And search the web.


For both inexperienced and experienced designers, 90% of the problems and questions have been addressed before.  There is no "Technical FAQ" section for browsing the 100 most frequently asked technical questions.  Instead, you can search the user forums for any keywords which have been included in any and all previous posts and threads.  To narrow down the search, for better results, try using the 'advanced message search' tool.

If your search turns up 2,000 or so matches, and the first 15 do not answer your question, then no-one will fault you for giving up on the search and creating a new thread to post your question.

 

Especially for general questions of technology and concepts, searching the web (using a search engine) can be very productive and informative.


3. Please do not post the same question on multiple forums.


In a panic and desperate for help, you may be tempted to post your problem in several different forums.  This is called cross-posting.

Please do not do this.

  • In this user forum website, new posts in any of the user forums are easily noticed.  Your one post, in a single forum, will be noticed.
  • Duplicate posts clutter the forums with redundant threads, wasting the time of others who are also seeking needed information.
  • When helpful answers and advice are split between multiple threads, participants and readers alike have a hard time making sense of the discussion.


4. Please do not post a new topic or question on someone else's thread -- start a new thread!

 

Interrupting a discussion with an unrelated topic or question is not simply rude, it is considered disrespectful.  This is called hijacking.

  • If your question or topic is unrelated (and unhelpful) to an existing thread, please start a new thread.
  • We want to avoid unreadable threads with 100s of posts which cover topics ranging from power supplies to memory controllers.  Such threads are of no benefit to the users who will follow after you, and a disservice to the creator of the thread who is also seeking help.


5. Students: Copying code is not the same as learning to design.

Students, please do not ask us to complete your class assignments for you.

  • This is not fair to the volunteers in these forums
  • It robs you of the opportunity to learn how to work these problems out for yourself
  • You will likely have a solution which you do not understand and cannot replicate.

You will hopefully have a long design career ahead of you.  Make the most of the opportunity you have to train yourself to think for yourself.

6. "It does not work" is not a question which can be answered.

A very common problem seen in first-time posts is a vague problem description which is missing some (or all) useful detail.  If you want a useful answer, you will need to provide as much detail and context as possible.  Some of the following details might apply to your problem.  If you follow these suggestions, it will save time for everyone.

 

  • If you can, please describe the "big picture" of your problem, and not just the lowest level details.
  • If you get error or warning messages, please copy and paste these messages into your post.
  • If a certain line of your code is flagged as an error, when you post your code, please mark the line which was flagged.
  • Do not forget to specify which FPGA or FPGA family you are targeting

 

  • If you are using a development board, specify which development board, and not just the FPGA part number
  • If you have questions about interfacing to a specific device, include the device part number and links to the device datasheet and product webpage.
  • If you are using an ADC or DAC, keep in mind that there are 1000s of ADCs and DACs.  Please specify part numbers, and datasheet links are also appreciated.
  • Clocks and serial data are common discussion topics.  Do not forget to specify clock frequencies and serial data rates.

 

  • Text is a very limiting form for technical discussions.  Diagrams of all sorts (timing diagrams, flowcharts, state diagrams, block diagrams, etc.) can be very helpful, especially where language barriers must be overcome.
  • Include a summary of what debugging you have already performed.
  • Does the problem show up in simulation, or only in real hardware (the simulation works, the board does not) ?
  • Is the problem consistent, or intermittent?
  • Can the problem be duplicated on more than one board, or does only one board have this failure?
  • Do not just describe what does not work, also describe what does work.  This helps narrow down the possibilities.

The extra time and effort of an adequately detailed problem description will save time and effort in the long run.

A useful and complete description of the design demonstrates that you understand your design and the problem.  Often, taking the time to describe your design will help you to organise your thoughts and your understanding -- and this will help lead you to the source of your problem.

 

Would you like to solve your design problem yourself?  If your design can synthesise, then it can be simulated.  Many logic design problems are discovered in logic simulation, and the Xilinx ISE toolset includes a logic simulator (called ISIM).  If you learn to perform logic simulation, you are also learning to debug your designs on your own.   A logic simulator is available at any time of day or night, and you do not need to wait for an online response.  As a wise colleague wrote: There is something called a simulator that is very useful for determining if the logic is correct.  There is also something called a web forum, which is not a simulator...


7. You are not charged extra fees for comments in your code.

Another common problem is extensive sections of HDL code posted for review, without a description of how the code works or its intended function.  And without comments.  When trying to review source code which we are seeing for the very first time, well-written comments are a huge help.  If the code is not well described or commented, the volunteers may be less likely to spend the time and effort required to figure out what you are trying to implement.

Not only are well-written comments helpful to strangers reading your code, they are also helpful to you, the designer.  They help remind you of details you may forget over time, and they help you to quickly and easily assemble sections of your code into a larger design.

8. Many of the answers and responses in these forums are written by unpaid volunteers.

The volunteers in these forums are freely giving their time and expertise to assist you (and others).  These forums are not intended to replace direct end-user support from Xilinx (the WebCase portal, for example).  So, please do not be too hard on the folks trying to help you.

 

The volunteers are not Xilinx employees, and will not have access to internal Xilinx designs and technical secrets (including future product plans).  You may not be entirely fond of the advice or suggestions you receive, but try to accept such responses in the generous spirit with which they are offered.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.

Accepted Solutions
Teacher
Posts: 8,355
Registered: ‎07-21-2009

Links to FAQ threads

[ Edited ]

NOTE  This post is a continuing work in progress!

 

This post is a list of links to (mostly) existing user forums posts (or threads).  Each linked item is a "reference material" discussion or presentation of some fundamental principle, concept, problem, or issue which is useful to the new user -- or the beginner-level designer.  Over time this list will grow.  Your questions, comments, and suggestions are welcome.

Design Fundamentals:

handling asynchronous inputs  thread#1 thread#2 thread#3
using clock enables (instead of gated clocks or multiple clocks)  thread#1  thread#2

asynchronous design in Xilinx FPGAs  thread#1

an example of signal timing analysis  thread#1

the RESET signal and function in FPGA design      PLD Blog post on RESET     Ken's RESET white paper

 

Design skills:

I'm a beginner with FPGA designs - where do I start?  Online training tutorials and more:  link#1   link#2   thread#1  thread#2   thread#3 

A blog site for non-FPGA types learning about FPGAs

VHDL/Verilog tutorials and book recommendations  thread#1  link#1  thread#2  thread#3

FPGA design book recommendations thread#1

Excellent beginner's guide, using Basys board and VHDL -- but genuinely useful to all beginners.  Highly recommended!

 

Board design:

decoupling capacitor selection and placement  thread#1   thread#2    thread#3

local (on-board) power supply design for dummies
signal termination and transmission line basics  thread#1

FPGA doesn't configure from SPI on power up - configuration needs to be delayed thread#1  thread#2

Advice thread for board designers

 

Common Interfaces and FPGA techniques:

I2C basics link#1 link#2 code examples   I2C spec Rev 4  wiki articles: I2C  SMBus  MDIO  SPD  EDID

SPI (serial peripheral interface) basics  Wiki article  fpga4fun tutorial  the 'other' SPI 

async serial/UART  wiki async serial article  wiki RS-232 article   wiki ASCII codes article   find code   tutorial design

picoblaze-based UART   link #1   link#2

high-speed async serial, using USB-serial bridge  thread#1

Block RAM initialisation  link#1  link#2  link#3  link#4  link#5  link#6  Data2MEM UG6658 (v13.3)

clock forwarding to an output pin   thread #1  thread #2

VCCO connection for unused IO banks  link#1   link#2   link#3   link#4   link#5

pushbutton switch debouncing    description   example solution

an example source-synchronous ADC interface, developed step by step in a forum thread

using PLL to filter clock jitter   thread#1

Design/development of video frame buffer using Spartan-6 MIG DRAM controller (generally interesting thread!)

DDR2/DDR3 DRAM memory interfaces: pin swapping rules   thread #1

Quick and dirty VGA output from FPGA  article#1    article#2

 

Configuration problems:

DONE pin doesn't go HIGH   PLD blog article

How to drive an LED to indicate DONE:  thread

 

Miscellaneous topics:

how to use an oscilloscope
project management link#1
debugging techniques

serial ADC interface methods  link#1
everything you wanted to know about the .mcs PROM file data format   thread#1    AR#476

BGA sockets  thread#1


Development board topics:
care and feeding of ADC, pre-amp, and DAC on many Xilinx development boards link#1  link#2  link#3  link#4

care and feeding of the onboard 2-line character LCDs  link#1  link#2  LCD control example using PicoBlaze

DVI-D vs. HDMI vs. DVI-A vs. VGA    link#1  link#2  wiki EDID article 

FMC link#1 link#2 link#3  link#4

Chrontel CH7301C VGA/DVI video encoder datasheet registers apnote (plus many forum threads discussing this device)

single-player PONG game (Verilog) for Spartan-3A Starter Kit development board  link  youtube video

 

 

ISE toolset

ISE toolset documentation  link#1

"Classic" versions of ISE toolsets for old FPGA families  Table   Answer Record   ISE Classics download page    forum thread

ISE source files types summary   [12.4]   [13.4]    [14.1]

logic trimming in ISE  link#1

Multi-source or multiple drivers error message   thread#1

trouble downloading the software from the Xilinx website?  Try this.

how iMPACT performs indirect programming of configuration memory   link#1

CLOCK_DEDICATED_ROUTE = FALSE error/warning message explained    link#1   link#2

 

Non-ISE toolset

Jim Wu's ADEPT tool - start here.  Excellent report-generation and analysis tool.

 

USB Platform Cable

Trouble installing 13.x, 14.x drivers in Windows 7 machines.  link#1  link#2  link#3

 

Words of wisdom for design students with software backgrounds
These are the first major conceptual hurdles for newbie student designers to overcome:

 

  • The laws of physics do not apply to software, but they apply to real hardware.
  • Verilog, VHDL, and C are imprecise tools for specifying hardware.  You cannot understand how imprecise these tools are unless you first understand the properties and limits of hardware.

 

clock distribution
asynchronous design
power supply sequencing and power supply supervisor
how to read a datasheet (different than Austin's blog entries for reading Xilinx datasheets)
troubleshooting a board which will not self-configure successfully
and, of course, my favourite topic:  circuit board photography.

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.

View solution in original post


All Replies
Teacher
Posts: 8,355
Registered: ‎07-21-2009

Links to FAQ threads

[ Edited ]

NOTE  This post is a continuing work in progress!

 

This post is a list of links to (mostly) existing user forums posts (or threads).  Each linked item is a "reference material" discussion or presentation of some fundamental principle, concept, problem, or issue which is useful to the new user -- or the beginner-level designer.  Over time this list will grow.  Your questions, comments, and suggestions are welcome.

Design Fundamentals:

handling asynchronous inputs  thread#1 thread#2 thread#3
using clock enables (instead of gated clocks or multiple clocks)  thread#1  thread#2

asynchronous design in Xilinx FPGAs  thread#1

an example of signal timing analysis  thread#1

the RESET signal and function in FPGA design      PLD Blog post on RESET     Ken's RESET white paper

 

Design skills:

I'm a beginner with FPGA designs - where do I start?  Online training tutorials and more:  link#1   link#2   thread#1  thread#2   thread#3 

A blog site for non-FPGA types learning about FPGAs

VHDL/Verilog tutorials and book recommendations  thread#1  link#1  thread#2  thread#3

FPGA design book recommendations thread#1

Excellent beginner's guide, using Basys board and VHDL -- but genuinely useful to all beginners.  Highly recommended!

 

Board design:

decoupling capacitor selection and placement  thread#1   thread#2    thread#3

local (on-board) power supply design for dummies
signal termination and transmission line basics  thread#1

FPGA doesn't configure from SPI on power up - configuration needs to be delayed thread#1  thread#2

Advice thread for board designers

 

Common Interfaces and FPGA techniques:

I2C basics link#1 link#2 code examples   I2C spec Rev 4  wiki articles: I2C  SMBus  MDIO  SPD  EDID

SPI (serial peripheral interface) basics  Wiki article  fpga4fun tutorial  the 'other' SPI 

async serial/UART  wiki async serial article  wiki RS-232 article   wiki ASCII codes article   find code   tutorial design

picoblaze-based UART   link #1   link#2

high-speed async serial, using USB-serial bridge  thread#1

Block RAM initialisation  link#1  link#2  link#3  link#4  link#5  link#6  Data2MEM UG6658 (v13.3)

clock forwarding to an output pin   thread #1  thread #2

VCCO connection for unused IO banks  link#1   link#2   link#3   link#4   link#5

pushbutton switch debouncing    description   example solution

an example source-synchronous ADC interface, developed step by step in a forum thread

using PLL to filter clock jitter   thread#1

Design/development of video frame buffer using Spartan-6 MIG DRAM controller (generally interesting thread!)

DDR2/DDR3 DRAM memory interfaces: pin swapping rules   thread #1

Quick and dirty VGA output from FPGA  article#1    article#2

 

Configuration problems:

DONE pin doesn't go HIGH   PLD blog article

How to drive an LED to indicate DONE:  thread

 

Miscellaneous topics:

how to use an oscilloscope
project management link#1
debugging techniques

serial ADC interface methods  link#1
everything you wanted to know about the .mcs PROM file data format   thread#1    AR#476

BGA sockets  thread#1


Development board topics:
care and feeding of ADC, pre-amp, and DAC on many Xilinx development boards link#1  link#2  link#3  link#4

care and feeding of the onboard 2-line character LCDs  link#1  link#2  LCD control example using PicoBlaze

DVI-D vs. HDMI vs. DVI-A vs. VGA    link#1  link#2  wiki EDID article 

FMC link#1 link#2 link#3  link#4

Chrontel CH7301C VGA/DVI video encoder datasheet registers apnote (plus many forum threads discussing this device)

single-player PONG game (Verilog) for Spartan-3A Starter Kit development board  link  youtube video

 

 

ISE toolset

ISE toolset documentation  link#1

"Classic" versions of ISE toolsets for old FPGA families  Table   Answer Record   ISE Classics download page    forum thread

ISE source files types summary   [12.4]   [13.4]    [14.1]

logic trimming in ISE  link#1

Multi-source or multiple drivers error message   thread#1

trouble downloading the software from the Xilinx website?  Try this.

how iMPACT performs indirect programming of configuration memory   link#1

CLOCK_DEDICATED_ROUTE = FALSE error/warning message explained    link#1   link#2

 

Non-ISE toolset

Jim Wu's ADEPT tool - start here.  Excellent report-generation and analysis tool.

 

USB Platform Cable

Trouble installing 13.x, 14.x drivers in Windows 7 machines.  link#1  link#2  link#3

 

Words of wisdom for design students with software backgrounds
These are the first major conceptual hurdles for newbie student designers to overcome:

 

  • The laws of physics do not apply to software, but they apply to real hardware.
  • Verilog, VHDL, and C are imprecise tools for specifying hardware.  You cannot understand how imprecise these tools are unless you first understand the properties and limits of hardware.

 

clock distribution
asynchronous design
power supply sequencing and power supply supervisor
how to read a datasheet (different than Austin's blog entries for reading Xilinx datasheets)
troubleshooting a board which will not self-configure successfully
and, of course, my favourite topic:  circuit board photography.

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
Newbie
Posts: 1
Registered: ‎03-28-2012

Re: Links to FAQ threads

Thanks for the information. A bit overwhelmed but I know this will be very helpful to me and my friends. :smileyhappy:

Newbie
Posts: 1
Registered: ‎04-01-2012

Re: Links to FAQ threads

Thank you for the information, its very helpfully information.
Newbie
Posts: 4
Registered: ‎04-03-2012

Re: README first: Help for new users

Readed :D

 

 

Thanks for the information and have a nice day :D

Newbie
Posts: 1
Registered: ‎04-08-2012

Re: README first: Help for new users

Thanks for this info. *thumbs up

Alexander Herrera
Visitor
Posts: 3
Registered: ‎04-09-2012

Re: README first: Help for new users

got it~
thanks for info
Newbie
Posts: 2
Registered: ‎05-26-2012

Re: README first: Help for new users

Thanks you instruction for newmembers!

I am also a newmember and i am working with core generator,xilinx11.1 have core generator but it no used and how  i can purchase license.

i have been cracked complete but it not used.you help me please!

Newbie
Posts: 2
Registered: ‎05-26-2012

Re: README first: Help for new users

My address email:xuantruong_vtdt@yahoo.com.vn

i hope you will help me.

Newbie
Posts: 1
Registered: ‎05-26-2012

Re: README first: Help for new users

Thank you for the information, its very helpfully information. .

Abogados Barcelona