Troubleshooting a PLD Circuit: Common Issues and Solutions

  • Thread starter Thread starter EvLer
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around troubleshooting issues with a Programmable Logic Device (PLD) circuit, focusing on common problems encountered during programming and circuit integration. Participants explore potential causes for a non-functioning circuit, including programming errors, electrical issues, and the importance of test vectors.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant describes an issue where a PLD did not light a 7-input LED after programming, expressing doubt about whether the PLD was damaged.
  • Another participant emphasizes the importance of writing test vectors for the design and suggests using an oscilloscope to compare the PLD's behavior with expected outcomes, noting potential issues with logic level compatibility.
  • A different participant proposes a debugging method by configuring the PLD to output a constant high signal to isolate the problem, indicating that if the LED does not light, there may be an electrical issue.
  • One participant questions whether programming the GAL16V8D-25LP for a higher speed could have caused damage and seeks clarification on the meaning of speed in this context.
  • Another participant clarifies that the device speed relates to propagation delay and does not affect the programming operation, asking for more details about the desired function and source code.
  • A later reply recounts a successful resolution involving erasing the chip multiple times and allowing the system to automatically assign output pins, while noting that the PLD was outputting an unexpected voltage level.

Areas of Agreement / Disagreement

Participants express various hypotheses about the causes of the issues, with no consensus reached on the exact reasons for the malfunctioning PLD or the effectiveness of the proposed solutions.

Contextual Notes

Some participants mention the need for test vectors and the importance of logic level compatibility, but the discussion does not resolve the underlying assumptions or dependencies related to the programming and electrical characteristics of the PLD.

EvLer
Messages
454
Reaction score
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
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 achieve. 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:
 
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.
 
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
 
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?
 
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!
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 19 ·
Replies
19
Views
4K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 79 ·
3
Replies
79
Views
8K
Replies
12
Views
3K
  • · Replies 41 ·
2
Replies
41
Views
8K
  • · Replies 20 ·
Replies
20
Views
4K
Replies
0
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
18
Views
2K