mikrocontroller.net

Forum: FPGA, VHDL & Co. Verknüpfung von Schaltungsteilen bei Xilinx Schematic


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich bastel zur zeit an einem Projekt mit einem Xilinx CPLD, einem
XC9536. Jetzt habe ich folgendes Problem, vereinfacht dargestellt habe
ich einen bidirektionalen 8-Bit zähler und eine Dekoderschaltung welche
die Signale von einem Winkelencoder mit 4-Flankenauswertung in Takt und
richtung für den zähler umwandelt. Das ganze Projekt ist als Schaltplan
mit dem Xilinx WebPack gezeichnet. Die beiden einzelteile der Schaltung
der Schaltung funktionieren, wenn ich sie einzeln betreibe, d.h. wenn
ich die Ein-und ausgänge der Dekoderschaltung nur auf IOs lege. Die
Ein-und Ausgänge des Zählers auch auf IOs. Wenn ich das Programm
übersetzen lasse und den Fitter durchlaufen lasse habe ich 21 von 36
Makrozellen belegt und 80 von 180 Produkttermen benötigt. Das ist ja
alles ganz schön. Aber wenn ich jetzt die Ausgäne der Dekoderschaltung
anstatt mit IOs mit den eingängen des Zählers verbinde, so nimmt sich
das Programm 32 Makrozellen und würde 210 Produktterme benötigen, es
stehen ja aber nur 180 zur verfügung. Wie kann ich diese Verbindung
zwischen den Schaltungsteilen so umstricken das es passt? Ich könnte ja
auch beigehen und die Ausgänge der Dekoderschaltung auf IOs legen und
die Eingänge des Zählers auch. Schließend könnte ich die beiden Pins
außen verbinden. Aber irgendwie muss das doch einfacher gehen. Ich habs
schon mit nem Buffer versucht, aber das hat auch nicht funktioniert.

mfg
Stefan

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

der Schematic Editor fügt keine weitere Logik hinzu, er kann nur
verbinden. Wenn mit dem Schematic mehr Logik benötigt wird als bei den
Einzelmodulen zusammen, so kann das nur bedeuten, daß die Synthese bei
den Einzelmodulen Logic weggekürzt hat, da sie keine Funktion besitzt.
Beim Gesamtschematic ist dies nicht möglich, da die Ausgänge ja wieder
Eingänge eines anderen Moduls sind.

Kannst Du bitte mal ein Bild der schematic und veentuell den vhdl Code
posten ?

Gruß

Martin

Autor: Stefan (Gast)
Datum:
Angehängte Dateien:
  • preview image for xc.jpg
    xc.jpg
    58,2 KB, 245 Downloads

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Bild der Schematic habe ich angehängt. Es ist nicht das Projekt an dem
ich grade bin. Meins ist größer. Jedoch tritt hier das gleiche Phänomen
auf. In der Mitte des Bildes, da wo das X ist sind links die
Ausgangssignale der Dekoderschaltung zu sehen. Auf der rechten seite
die eingänge des zählers. Wenn die Schematic so wie sie dort zu sehen
ist übersetzt und gefittet wird, so werden 12 Makrozellen benötigt und
33 Produktterme gebildet. Werden allerdings diese beiden Ausgänge und
die beiden Eingänge entfernt und die ausgänge der ODER-Gatter der
linken seite direkt mit den Clock und Dir eingängen des Zählers
verbunden, so benötigt das Design 13 Makrozellen und 70 Produktterme.
Bei meinem Projekt wirkt sich dieser Effekt nur eben noch stärker aus.

mfg
Stefan

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle zusammen,
ich hab mein Problem soeben gelöst. Ich habe an die Ausgänge der Gatter
auf der linken seite OBUF-Elemente (Output Buffer) gesetzt. An deren
Ausgänge da wo normalerweise ein IO-Marker hinkommt habe ich einen IBUF
(Input Buffer) gesetzt. An den Ausgang des IBUF dann den Takt bzw.
Richtungseingang des Zählers.

mfg
Stefan

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich nochmal. Also das mit den OBUF Ausgang auf IBUF eingang ist auch
nicht so recht das ware, da man damit jeweils einen IO verschenkt und
diesen nicht nutzen kann. Normale Buffer werden bei der
Schaltplaneingabe einfach rausgekürzt, habe ich in einer Anleitung zum
WebPack gelesen. Villeicht weis ja jemand wie man verhindern kann das
diese Buffer einfach gelöscht werden.

mfg
Stefan

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.