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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor mark_boden
Visitor
13,012 Views
Registered: ‎02-20-2014

FPGA DONE Pin

Jump to solution

I was wondering someone could help me, I am looking to have some indication that the FPGA has finished programming. The data sheets says not to drive the pin directly with an LED. Any recommendations on how to attach an LED to this pin to indicate that the program has been succesfully loaded.

 

Many Thanks

 

Mark

-----------------------------------------------------------------------------------------------

Everything Should Be Made as Simple as Possible, But Not Simpler
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Teacher eteam00
Teacher
21,468 Views
Registered: ‎07-21-2009

Re: FPGA DONE Pin

Jump to solution

Any of the following answers should work:

 

  • Drive an LED from a 'spare' IO pin.  In your source code, output a steady state LOW on this pin, which will drive the LED cathode LOW and turn it on.  Until the FPGA is configured, the LED will be off.
  • Buffer the DONE pin with a logic-level nFET (e.g. BSS138 or FDN337N), and use the FET to drive the LED cathode LOW.
  • Instead of providing an LED which indicates DONE, connect the DONE signal to the LED cathode.  The LED will indicate NOT DONE rather than DONE.

-- 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.
5 Replies
Highlighted
Teacher eteam00
Teacher
21,469 Views
Registered: ‎07-21-2009

Re: FPGA DONE Pin

Jump to solution

Any of the following answers should work:

 

  • Drive an LED from a 'spare' IO pin.  In your source code, output a steady state LOW on this pin, which will drive the LED cathode LOW and turn it on.  Until the FPGA is configured, the LED will be off.
  • Buffer the DONE pin with a logic-level nFET (e.g. BSS138 or FDN337N), and use the FET to drive the LED cathode LOW.
  • Instead of providing an LED which indicates DONE, connect the DONE signal to the LED cathode.  The LED will indicate NOT DONE rather than DONE.

-- 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.
Instructor
Instructor
12,997 Views
Registered: ‎08-14-2007

Re: FPGA DONE Pin

Jump to solution

I vote for the first approach.

 

In my humble opinion, adding an LED to the DONE signal is a waste of a good LED.  Once you've debugged your configuration issues, you'll be very glad to have an LED that can be used to indicate other debug information, like blinking to indicate that the clock system is running, etc.

-- Gabor
Teacher eteam00
Teacher
12,985 Views
Registered: ‎07-21-2009

Re: FPGA DONE Pin

Jump to solution

I agree with Gabor.

 

A link to this thread has been added to the New Users forum README thread.

 

-- 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.
0 Kudos
Visitor mark_boden
Visitor
12,970 Views
Registered: ‎02-20-2014

Re: FPGA DONE Pin

Jump to solution

Thanks again for all the help guys

-----------------------------------------------------------------------------------------------

Everything Should Be Made as Simple as Possible, But Not Simpler
0 Kudos
Visitor cleonjones
Visitor
4,975 Views
Registered: ‎10-16-2012

Re: FPGA DONE Pin

Jump to solution

Using another pin to drive an LED is not an ideal solution - it uses up a pin, and only works if the code in the FPGA is properly driving it (e.g. if you load an image that has forgotten to set this pin, you may spend a lot of time wondering why the "DONE" signal is not asserting).

 

It's better to use the actual DONE signal, and there's no need to use a transistor.

 

Connect DONE to 3.3V via a pullup resistor of 330 Ohms.

Connect DONE also to the anode of an LED (just not blue or white, as the voltage drop is too high).

Connect the cathode of the LED to another 330 Ohms, and other side of that resistor to ground.

 

During configuration the DONE signal is driven low and the LED is off. DONE will sink about 10mA through the pullup, benign.

After configuration DONE tri-states, and the LED will turn on, powered by 3.3V through 660 Ohms.

The drop across a typical red or green LED is about 1.8V, so the LED gets about 2mA of on current.

 

The purpose of the lower resistor to ground is so that the voltage level of the DONE maintains a valid 'high' level, about 2.6V, in case other logic wants to read this. If nobody needs to read the DONE level then you don't even need this resistor (connect cathode directly to ground).

 

We have used this circuit for years.