# How can a PLD go wrong?

1. Oct 4, 2005

### EvLer

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 belive 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.

2. Oct 5, 2005

### Staff: Mentor

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...

3. Oct 5, 2005

### es

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. Oct 5, 2005

### EvLer

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. Oct 5, 2005

### Staff: Mentor

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. Oct 7, 2005

### EvLer

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!