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?
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
Brauche ich für meine einfache schaltung einen Oszilator? Eigentlich kann das doch alles asynchron laufen oder?
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.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.