Forum: FPGA, VHDL & Co. Wieviel Resourcen noch vorhanden?


von Sebastian (Gast)


Lesenswert?

Hallo,

ich hab' mal ein paar kleinere Designs auf einem Spartan3 gebastelt. 
Dort sind ja die Resourcen von "Gattern" super groß. Was sehr praktisch 
bei der ISE 7.1 ist, man weiß sofort wieviel Resourcen man schon 
verbraucht bzw. noch übrig hat (in Prozent) im FPGA.

Nun will ich mal ein kleines Testdesign in einen CPLD programmieren, 
allerdings werde ich aus dem Synthese Report einfach nicht schlau.

Ich habe 5 Register verbraucht. Frage hier: werden für "interne" 
Zustände (z.B. StateMachine) IO-Pins besetzt? Bei den PALS ist das ja 
so. Falls ja wie muss ich die dann beschalten.

Bei einem XC9536 habe ich dann noch 31 Register übrig (36 - 5) Ist 
einfach. Jetzt zeigt der Synthese Report noch folgendes an (natürlich 
ohne meine Fragen):

Cell Usage :
# BELS                             : 49    hat das was mit den Gates zu
#      AND2                        : 13    tun??? XC9536 hat 800
#      AND3                        : 4
#      AND4                        : 1
#      INV                         : 25
#      OR2                         : 5
#      OR3                         : 1
# FlipFlops/Latches                : 7
#      FDC                         : 4      wieviele hab ich??? 36??
#      FTC                         : 3      wieviele hab ich??? 36??
# IO Buffers                       : 9
#      IBUF                        : 5      OK, meine Eingänge
#      OBUF                        : 4      OK, meine Ausgänge

Vielen Dank für Eure Antworten. Als Einzelkämpfer tue ich mir schwer, 
die wirklich richtigen Antworten zusammen zu reimen.

Sebastian

von Falk B. (falk)


Lesenswert?

@ Sebastian (Gast)

>Nun will ich mal ein kleines Testdesign in einen CPLD programmieren,
>allerdings werde ich aus dem Synthese Report einfach nicht schlau.

Das ist ja auch nur die halbe Wahrheit. Du brauchst den Fitter Report, 
welcher am Ende der vollständigen Verarbeitungskette erstellt wird. Dort 
steht dann drin, wieviel Macrozellen gebraucht werden.

MFG
Falk

von Joachim Müller (Gast)


Lesenswert?

> Ich habe 5 Register verbraucht. Frage hier: werden für "interne"
> Zustände (z.B. StateMachine) IO-Pins besetzt?

Es werden Flipflops (Makrozellen) besetzt. Werden diese intern benötigt, 
geht nicht zwangsläufig ein I/O Pin verloren.
In einem Design werden ja normalerweise auch Pins als INPUT genommen. 
Diese benötigen kein Flipflop. D.h. dieses Flipflop kann intern genommen 
werden.
Die kleinen CPLDs haben soviele I/Os wie Makrozellen, die größeren haben 
mehr Makrozellen als I/Os.

Joachim

von Sebastian (Gast)


Lesenswert?

Ahh, der Fitterreport. Na da sind ja die Infos die ich gesucht habe.

Super danke.

Das man den Inputpin der Makrozelle verwenden kann, wenn diese als Latch 
dient klingt logisch. Allerdings frage ich mich da schon wieder welche 
Makrozelle das Fitting Tool für das interne Latchen verwendet hat, damit 
ich der Makrozelle dann einen Inputpin zuweisen kann.

Mal noch eine andere Frage, ich habe immer mal wieder was gelesen von 
manuellem routen von CPLDs / FPGAs bzw ASICs. Kann man das auch bei der 
Xilinx ISE oder ist das manuelle routen Schnee von gestern???

Jo, danke auf jedenfall für die Diskussion,
Sebastian

von Falk B. (falk)


Lesenswert?

@  Sebastian (Gast)

>Das man den Inputpin der Makrozelle verwenden kann, wenn diese als Latch
>dient klingt logisch.

Ist aber nicht bei allen CPLDs so!

> Allerdings frage ich mich da schon wieder welche
>Makrozelle das Fitting Tool für das interne Latchen verwendet hat, damit
>ich der Makrozelle dann einen Inputpin zuweisen kann.

Anders herum wird ein Schuh draus. Einfach das Pin zuweisen, dann muss 
der Fitter das Latch woanders platzieren.

>Mal noch eine andere Frage, ich habe immer mal wieder was gelesen von
>manuellem routen von CPLDs / FPGAs bzw ASICs. Kann man das auch bei der
>Xilinx ISE oder ist das manuelle routen Schnee von gestern???

Kann man, aber das willst du nicht wirklich. Die Zeiten sind vorbei. 
Allerdings wird teilweise noch manuell platziert, das geht im 
Floorplanner.

MFG
Falk

von thomas (Gast)


Lesenswert?

Meines Wissens nach, ist manuelles Place & Route mit der ISE möglich, 
aber ob es sinnvoll bzw. effektiver ist ? ... sicherlich nur mit Viel 
Erfahrung und wenn es unbedingt notwendig ist.

von thomas (Gast)


Lesenswert?

Hupps, da hab ich wohl zu lange nicht F5 gedrückt ;)

von Sebastian (Gast)


Lesenswert?

Naja, also man kennt ja die Ergebnisse vom Autorouter bei Eagle & Co 
(Platinen). Die Verbindungen werden alle erzeugt bei genügend großer 
Anzahl von Layern. Das Ergebnis ist aber immer suboptimal um nicht zu 
sagen Schei....

Keine Ahnung ob der Router von Xilinx das Optimum zusammenstellt. Aber 
wie schon thomas sagte, man braucht dafür bestimmt extrem viel 
Erfahrung.

von Falk B. (falk)


Lesenswert?

@ Sebastian (Gast)

>Naja, also man kennt ja die Ergebnisse vom Autorouter bei Eagle & Co
>(Platinen). Die Verbindungen werden alle erzeugt bei genügend großer
>Anzahl von Layern. Das Ergebnis ist aber immer suboptimal um nicht zu
>sagen Schei....

Autorouter von Platinen unterscheiden sich wesentlich von Autoroutern 
von CPLDs/FPGAs.

MFG
Falk

von Sebastian (Gast)


Lesenswert?

Hab' ich mir schon irgendwo gedacht.

Für CPLDs ist der Floorplaner laut Hilfe eh nicht implementiert. Schade 
eigentlich. Wäre mal ganz nett gewesen da einen Blick reinzuwerfen....

Sebastian.

von Falk B. (falk)


Lesenswert?

@ Sebastian (Gast)

>Für CPLDs ist der Floorplaner laut Hilfe eh nicht implementiert.

Doch, dort heisst er nur ChipViewer.

MFG
Falk

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
Noch kein Account? Hier anmelden.