www.mikrocontroller.net

Forum: FPGA, VHDL & Co. CPLD kaputt ???


Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich habe hier einen Xilinx XC9572-15 verwendet. Dieser zeigt aber ein
äußerst merkwürdiges Verhalten. Versorgt wird er mit 5V.

Programmiere ich ihn (mit iMPACT), so funktioniert dies einwandfrei.
Auch verifizieren und löschen klappt. Nur beim Funktionstest meldet er
mir einen Fehler (keinen Vektor gefunden).

Doch nun zum eigentlich komischen : Ich habe ihn heute lange Zeit mit
einem zweikanal-oszi ausgemessen und seltsame Entdeckungen gemacht.
Zuerst einmal hatte jeder Output-Pin ein grundsätzlich anderes
Verhalten als in der PostSim-Simulation. Und als krönender Abschluss
traten an fallenden Flanken negative Impulse von bis zu -3(!)V und +7V
auf. Das kann ja irgendwie nicht nurmal sein. manche Pins haben sogar
von -2 bis 6V geschwungen !

Ist das ein Fehler des Oszis oder ist der Chip wirklich kaputt ? Ich
möchte nicht hoffen, dass daran angeschlossene Chips nun auch im A****
sind. Ist denn das überhaupt möglich, dass ein CPLD weit jenseits der
Versorgungsspannungen noch solche Spikes ausstößt bzw. dauerhaft so
ausladend schwingt ?

Gemessen hab ich mit einem 1:1 Abnehmerkopf, Masseanschluss an
Gerätemasse, Tastkopf an Signal.

Der CPLD ist direkt am Chip mit 100nF gepuffert. Auf der Versorgung
befinden sich aber noch weitere 4 100nF sowie ein 470µF.

Ist das villeicht ein Bug bei Xilinx oder was ist hier los ???

Schaltplan und VHDL folgt.

Vielen Dank für alle Antworten.

Autor: Christoph Wagner (christoph)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
VHDL Code.

Autor: Christoph Wagner (christoph)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Layout.

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist ja ein wunderschönes Layout. ;)

Ähem, tritt das problem nur bei einem CPLD auf? hast du mal versucht
das CPLD außerhalb deiner schaltung zu testen?

Ich glaube nicht, dass das schwingen normal ist... :)

Autor: Christoph Wagner (christoph)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
woohups ... falsche Datei ... einen Moment ... fix vom USB-Stick holen
...

ich hab auch noch ein zweites CPLD hier herumliegen ... aber will es
aus Angst es auch noch zu zerschießen nich einsetzen (oder dass es von
eventuell hegegangenen Nachbarchips mitgerissen wird) ... ist das
eigentlich normal, dass der "functional test" nicht geht ?

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay. Muss wohl messfehler gewesen sein ... an meinem 1-Kanal-Oszi zu
Hause erkenn ich keine negativen Impulse ... ebensowenig große
positive. Dort befindet sich alles sozusagen in bester Ordnung.
Allerdings ist der CPLD immernoch abweichend von der Postfit. Was kann
das für Ursachen haben ?

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie stimmt was im CPLD nicht. Offenbar versucht dieser Eingänge
als Ausgänge zu betreiben und invertiert Signale, sodass z.T. die
Betriebsspannung wegen Kurzschlüssen zusammenbricht !!! Was ist an dem
verdammten Teil verquer ? Kennt das Problem villeicht jemand ?
Hab ich eventuell irgendwas wichtiges im Code vergessen ?

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das mit den functional test ist glaube ich normal. Jedenfalls habe ich
das bei mir auch (impact mit cheaptag kabel).

Warum der nicht geht weiss ich nicht.

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So viel ich verstanden habe, geht der Funktional Test nur wenn man im
Jedec-File Testvektoren mitgibt.
Diese lassen sich aber nur mit ABEL (!!) erzeugen.

Der Funktionale Test ist jedenfalls nicht ein Selbsttest des CPLD's,
wie man vielleicht im ersten Moment vermuten könnte.

Klaus

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha. Danke für die Informatio.

Leider zeigt der CPLD immer noch nich das Verhalten, dass er soll.
Offenbar bleiben einige Pins auf tristate, manche Treiben dauerhaft low
und manche high und manche geraten mit ihrem Verhalten auf
Kollisionskurs mit dem µC. Also irgendwas läuft da kollosal schief.
Natürlich deckt sich auch die Postfit nicht mit dem was eigentlich
passiert. Ein Kumpel hat auch mal seinen Prof von der TU Ilmenau
gefragt und dieser meinte, dass es bei Xilinx eigentlich nicht üblich
seie, dass solche Unterschiede auftreten ... Irgendwie bin ich total
verwirrt !

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche ISE Version benutzt du? Alles SPs installiert.

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ISE 7.1i ... hab ich  Mitte Oktober runtergeladen.

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun ja, 7.1i ohne Service-Packs,da läüft mit CPLDs recht wenig, weiß ich
aus eigener Erfahrung, also unbedingt updaten.

Gruß Volker

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
8.1i funktioniert ?

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
8.1i funktioniert !

Ist zwar eine ziemlich langwierige Sache das Upzudaten (runterladen,
installieren, updaten, neu einrichten, ...) aber jetz gehts endlich.
Ich hab spaßenshalber mal die ".jed" Dateien von 7.1 und 8.1
verglichen und die sind komplett unterschiedlich. Jetz läuft das Design
nämlich auch.

Dankeschön für eure Hilfen !

Trotz dessen frag ich mich, wie die von Xilinx bei einem so langlebigen
Projekt wie der ISE (immerhin bei Versionsnummer 8 (!) angelangt) so
lange so große Bugs übersehen können ?!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.