mikrocontroller.net

Forum: FPGA, VHDL & Co. Frage zu CPLD Signalen (GTS, GCK etc)


Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe einen XC9572XL in VQ64.
Ich habe noch (fast) keine Ahnung von CPLDs und deshalb bin ich beim 
Entwickeln der Schaltung über die GTS, GCK und GSR Pins gestolpert. Kann 
ich diese genau wie alle anderen Pins als Ein- und Ausgang verwenden 
oder sind die irgendwie limitiert auf eine Richtung oder eine 
festgelegte Funktion?

Ich möchte in das CPLD ein 2x10bit zu 20 bit latch programmieren, dieses 
Latch soll über einen Schieberegistereingang neu beschrieben werden 
können und über einen Takteingang hochgezählt werden können (einfach nur 
+1). Und dann noch 3 inverter, aber die verbrauchen ja keine Macrozellen 
habe ich gehört...

Sollte ich dafür irgend ein Signal speziell auf GTS, GCK oder GSR 
setzen?

Passt sowas überhaupt in ein 72 Macrozellen großes CPLD?

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle diese Pins sind frei verwendbar, aber sollten für spezielle 
Eingangssignale verwendet werden (wenn nötig).
GCK für das Takt-Signal, also den Oszillator (wichtig!!)
GTS für ein externes Tristate-Enable Signal, also wenn ein Bus-Signal 
von außen bestimmt, daß das CPLD die Daten nun auf den Bus legen darf.
GSR für ein externes, globales Reset-Signal (selten verwendet).

Die Schaltung dürfte in den Baustein passen, auch wenn ein 20 Bit Zähler 
für das CPLD nicht wenig ist. Am besten Du schreibst zuerst das 
Programm, bevor Du die HW machst.

Klaus

Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brauche ich für meine einfache schaltung einen Oszilator? Eigentlich 
kann das doch alles asynchron laufen oder?

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Resourcen (= FlipFlops) in einem CPLD sind nicht ideal für Deine 
Anwendung, da Du auf 2 Signale reagieren möchtest (Schieben und 
Incrementieren).
Beides getrennt ist trivial, gemeinsam würdest Du FF mit 2 Takteingängen 
brauchen, die es nicht gibt.

Eine Lösung wäre z.B. eine Takt zu verwenden, der schneller ist als die 
Frequenzen am Schiebe- und Increment-Eingang, diese abzutasten und 
auszuwerten.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es nicht auf die letzte zehntel Nanosekunde ankommt, kann man Takt 
Reset  etc auch ueber "normale" Pins einspeisen. Ab die Verwendung der 
globalen Pins ist sinnvoller.

Ueberleg Dir genau, ob Du ein asynchrones Design willst. Wenn Du nicht 
tausend Sachen bedenkst, ist das der beste Weg, sich ins Knie zu 
schiessen. Besonders, wenn Du noch einen Entwurf mit schaltplan machst. 
Bei FPGA/CPLD kannst Du naemlich bicht davon ausgehen, das ein 
eingezeichnetes Gatter wirklich so realisiert wird, wie Du es zeichnest. 
Damit kommen dann Signale zu frueh oder zu spaet und unter iregndwelchen 
Randbedingungen funltioniert es nicht mehr.

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.