- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
README first: Help for new users
[ Edited ]- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-13-2012 06:49 AM - edited 07-31-2012 01:55 AM
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
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.
Solved! Go to Solution.
Links to FAQ threads
[ Edited ]- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-16-2012 04:06 AM - edited 10-13-2012 12:39 PM
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
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
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
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.
Re: Links to FAQ threads
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-28-2012 08:15 PM
Thanks for the information. A bit overwhelmed but I know this will be very helpful to me and my friends. :smileyhappy:
Re: Links to FAQ threads
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-01-2012 03:42 AM
Re: README first: Help for new users
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-03-2012 04:49 AM
Readed :D
Thanks for the information and have a nice day :D
Re: README first: Help for new users
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-08-2012 08:26 PM
Thanks for this info. *thumbs up
Re: README first: Help for new users
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-17-2012 01:55 AM
thanks for info
Re: README first: Help for new users
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-26-2012 09:31 AM
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!
Re: README first: Help for new users
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-26-2012 09:33 AM
My address email:xuantruong_vtdt@yahoo.com.vn
i hope you will help me.
Re: README first: Help for new users
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-27-2012 01:55 AM
Thank you for the information, its very helpfully information. .











