Troubleshooting a PLD Circuit: Common Issues and Solutions

  • Thread starter EvLer
  • Start date
In summary, a PLD can go wrong if incompatible logic levels are used, or if the PLD was not configured with the correct truth table. Test vectors and looking at the behavior of the device can help to identify the issue.
  • #1
EvLer
458
0
How can a PLD go wrong?
The TA watched me burn it (with Dataman) but then when i connected my circuit it did not light my 7-input LED. So, my question is how to check it... for some reason i don't believe that PLD is fried, because i used my friend's (burned it for my truth table) and it did not produce any output either. Circuit is pretty simple and i am pretty sure it is working fine.
Thanks much.
 
Engineering news on Phys.org
  • #2
LOL. That's never happened to meeee!

Well, did you write test vectors for your design, and did the programmer use those test vectors to verify the burned PLD? You need to write test vectors for your simulator to test out your design, and have the programmer also run them at programming time.

Also, look at the behavior of your PLD in the circuit, compared to the design behavior that you were trying to acheive. Can you figure out what is wrong by looking at the behavior with an oscilloscope? It could be something as simple as incompatible logic levels. Some PLDs only output TTL levels, so if you are trying to drive 74HC-type logic with a PLD, your Voh may not be high enough to satisfy the CMOS Vih requirement.

Did I mention test vectors already... :biggrin:
 
  • #3
I'll repeat berkeman, test vectors are your friend.

Here is another thing I try:
Configure your PLD with the following truth table, Output=1 (always high regardless
of input). I relize this is not the intended behavior but this is just for a quick/easy debug check. This we separate the input from the output helping you isolate the problem. It will also confirm that the burn process 'can' work.

If the LED does not light then you have an electrical issue on the output and you will be in a good position to locate the root cause. (For instance if the PLD output is not
high then the burn process failed, or perhaps the PLD has no power!) If the LED does light look into the logic encoded into your truth table more closely and at the input signals.
 
  • #4
OK, i think i maybe figured it out: i programmed my GAL16V8D-25LP for speed of -10 instead of -25, could that be the reason? and if so, does it mean that i fried it permanently. And to begin with, what does the speed stand for?

thanks... i'll look into vectors
 
  • #5
EvLer said:
OK, i think i maybe figured it out: i programmed my GAL16V8D-25LP for speed of -10 instead of -25, could that be the reason? and if so, does it mean that i fried it permanently. And to begin with, what does the speed stand for?

thanks... i'll look into vectors
No, the device speed has nothing to do with the programming operation. The propagation delay ("speed") is used in your timing calculations when you use PLDs, CPLDs and FPGAs for more complex functions, like memory address mapping controllers for microprocessor circuits.

Can you post the function that you want to achieve, your source code, and the report file for your PLD design?
 
  • #6
well... between 2 TA's they got it to work erasing the chip 100 times and turning off the burning station, in the process they fried my 7-input LED. I think it actually started to work when we let Abel assign output pins by itself without specifying the outputs as originally was intended by lab specifications. Why is that?
And yeah.. what was going on is that PLD was always outputting 4.08V when the output should have been low. I will post chip report for you to see ... when i get to the lab machine...

Thanks for the suggestions!
 

Related to Troubleshooting a PLD Circuit: Common Issues and Solutions

1. What is a PLD?

A PLD stands for programmable logic device. It is a type of integrated circuit that can be programmed to perform specific logic functions based on the user's needs.

2. How can a PLD go wrong during programming?

A PLD can go wrong during programming if there are errors in the programming code or if there is a problem with the programming device or software. Additionally, incorrect power supply or improper handling of the PLD can also cause issues during programming.

3. Can a PLD go wrong after it has been programmed?

Yes, a PLD can go wrong after it has been programmed if there were errors in the programming code or if there was damage to the PLD during programming or handling. Additionally, external factors such as temperature fluctuations or electromagnetic interference can also cause a PLD to malfunction after it has been programmed.

4. How can I troubleshoot a malfunctioning PLD?

The first step in troubleshooting a malfunctioning PLD is to check the programming code for any errors. If the code is correct, then the programming device and software should be checked for any issues. If everything appears to be in working order, then the PLD itself should be examined for any physical damage or defects. It may also be helpful to consult the manufacturer's documentation or support for further assistance.

5. Can a PLD be repaired if it goes wrong?

It depends on the type and extent of the malfunction. In some cases, a PLD may be reprogrammed to fix the issue. However, if there is physical damage to the PLD, it may need to be replaced. It is important to handle PLDs carefully and follow proper programming procedures to minimize the risk of damage and potential repairs.

Similar threads

Replies
4
Views
845
  • Electrical Engineering
Replies
19
Views
1K
  • Electrical Engineering
Replies
33
Views
679
  • Electrical Engineering
Replies
20
Views
772
  • Electrical Engineering
2
Replies
41
Views
4K
Replies
1
Views
722
  • Electrical Engineering
Replies
12
Views
785
  • Electrical Engineering
Replies
3
Views
1K
Replies
12
Views
2K
Back
Top