Was man durchaus machen kann, vor allem, wenn man eine Komponente in
verschiedene Zieltechnologien bringen will: Nur diese eine Komponente in
ein Design packen, die I/Os ueber evtl. mehrere Schieberegister
'entkoppeln', dann die Daumenschrauben bzgl. Timing anziehen.
Ergebnis: Man bekommt eine ganz passable Aussage, wieviele LUTs in Reihe
liegen, deren Durchlaufzeit ist vom Ziel-FPGA vorgegeben. Nun noch mit
etwas Phantasie einen 'Routing-Nasenfaktor' pro LUT drauf. Damit hat man
ein ganz gutes Gefuehl, was die Komponente denn so maximal an Takt
zulaesst. Dass das in einem realen Design dann passt ist meist zwar
illusorisch, aber aufschlussreich.
Ich hab's vor ein paar Jahren mal fuer einen CORDIC gemacht, die
Implementierung sollte in 90nm/65nm/45nm Designs von X, A, und L. Und
bei allen 90nm Technologien bin ich dann auch nicht auf die gewuenschten
100MHz gekommen. Aufpassen muss man auch, dass man LUT4 oder LUT6
beruecksichtigt.
Alles in allem war's eine Spielerei, ziemlich sinnbefreit... Schneller
geht's wenn man eine Komponente einfach in sein Design instanziiert 'und
einfach mal probiert'. Aber interessant war es schon, den Timing Report
von 3 verschiedenen Tools mal wirklich im Detail zu analysieren, sollte
man vlt. wirklich mal durchexerzieren. Man kommt dann naemlich bei ganz
anderen Designs auch irgendwie schneller zum (Timing-)Problem wenn's mal
hakt.
Also Fazit von meiner Seite: Gebracht hat's nix, aber umsonst war's auch
nicht :o)