Saturday 6 July 2013

CPLD chip postmortem notes

Yesterday after tidying up the messy wiring of the Guzunty Pi in the 19" rack mount chassis, I retested gz_load and found it not working anymore.  I tried to run the core 16o8i and found it not working either.  I was very surprised, because I very carefully securely cable tied all the signal and power cable to make sure avoiding intermittent poor contacts and carelessly pulling cable too hard etc.

I thought hard and then remembered one possible cause of the trouble.  I remember when I tested core loading, I found I forgot to connect power and immediately got the error message TDO  mismatch.  I corrected the mistake and tried again, these time there was not instant TDO mismatch but seems hanged.

So I pressed control-C to interrupt the gzloading process.

Afterwards, I never succeeded to do loading again.  I suspected the following.

Pressing control-C to interrupt gzloading might permanently damage the CPLD chip.

To prove my hypothesis, this morning I used another GPi board to do swap testing.  I first made sure that the second GPi can load OK, then swap the CPLD chip and test again.  This time the second GPi with the suspecious CPLD no longer can load.  On the other hand, the first GPi which could not load, perhaps with the bad chip, after swapping with the good chip, can load again.

So it is very likely that the CPLD chip on the first GPi is damaged, because I interrupted the loading process, or other reasons, say randomly aging too fast etc.

Now I will replace the seemingly damaged CPLD chip and tested both GPi's again.

pi@raspberrypi ~/fongtoy $ cd ..
pi@raspberrypi ~ $ ls
bcm2835-1.17                         mcp23008
bcm2835-1.17 (1).tar.gz              messages_2013apr1101.txt
berryio_install.sh                   messages.txt
b.tar                                mp3
cd01.sh                              networking_restart_record_2013apr1101.txt
cd.sh                                py-spidev
Desktop                              python_games
dmesg_record                         python_programs
dmesg_record.txt                     quick2wire
Documents                            rasp_control
fongtoy                              RPi.GPIO-0.5.0a
fongvision                           RPi.GPIO-0.5.0a.tar.gz
fpl426.py                            Scratch
Guzunty                              scripts
ifconfig_record_2013apr1101.txt      src
iwconfig_record_2013apr1101.txt      svnc.sh
iwlist_long_record_2013apr1101.txt   WiFi
iwlist_short_record_2013apr1101.txt  wiringPi
lsmod_record_2013apr1101.txt         WiringPi2-Python
ls.sh                                WiringPi-Python
lsusb_record_2013apr1101.txt

pi@raspberrypi ~ $ cd Guzunty
pi@raspberrypi ~/Guzunty $ cd Pi

pi@raspberrypi ~/Guzunty/Pi $ cd src

pi@raspberrypi ~/Guzunty/Pi/src $ cd gz_test

pi@raspberrypi ~/Guzunty/Pi/src/gz_test $ sudo gz_load gz_test.xsvf
Guzunty loader v5.01, portions courtesy Xilinx, Inc.
XSVF file = gz_test.xsvf
ERROR:  TDO mismatch and exceeded max retries
ERROR at or near XSVF command #48.  See line #48 in the XSVF ASCII file.
ERROR:  TDO mismatch and exceeded max retriesExecution Time = 0.160 seconds

pi@raspberrypi ~/Guzunty/Pi/src/gz_test $ sudo gz_load gz_test.xsvf
Guzunty loader v5.01, portions courtesy Xilinx, Inc.
XSVF file = gz_test.xsvf
SUCCESS - Completed XSVF execution.
Execution Time = 9.980 seconds

pi@raspberrypi ~/Guzunty/Pi/src/gz_test $ sudo gz_load gz_test.xsvf
Guzunty loader v5.01, portions courtesy Xilinx, Inc.
XSVF file = gz_test.xsvf
ERROR:  TDO mismatch and exceeded max retries
ERROR at or near XSVF command #48.  See line #48 in the XSVF ASCII file.
ERROR:  TDO mismatch and exceeded max retriesExecution Time = 0.150 seconds

pi@raspberrypi ~/Guzunty/Pi/src/gz_test $ sudo gz_load gz_test.xsvf
Guzunty loader v5.01, portions courtesy Xilinx, Inc.
XSVF file = gz_test.xsvf
SUCCESS - Completed XSVF execution.
Execution Time = 10.130 seconds
pi@raspberrypi ~/Guzunty/Pi/src/gz_test $ date
Sat Jul  6 03:10:14 UTC 2013
pi@raspberrypi ~/Guzunty/Pi/src/gz_test $

.END

No comments:

Post a Comment