Forum: FPGA, VHDL & Co. Abstraktion von der Topologie im Chip?


von derjenige (Gast)


Lesenswert?

Hallo,

Ist die Signalgeschwindigkeit nur durch die Logik begrenzt oder sind 
auch die geometrische Längen der Verbindungen im Chip relevant?
Sind Kreuzungen von Signalen teuer?

Muss man also, wenn man ein effizientes Ergebnis möchte, bei der 
Architektur der Hardware berücksichtigen, dass ein Chip 2 Dimensional 
ist oder kann man alles den Synthesetools überlassen?

Danke schonmal

: Verschoben durch Moderator
Beitrag #5885718 wurde von einem Moderator gelöscht.
von Dussel (Gast)


Lesenswert?

FPGA, VHDL und Co. umfasst auch ASICs, deine Frage ist also relativ 
allgemein. ;)

Aber auch im FPGA spielt die Leitungslänge eine Rolle. Dafür haben die 
Entwicklungswerkzeuge Platzierungsmöglichkeiten (Area Constraints), die 
großen Einfluss auf die erreichbare Maximalfrequenz haben können.

Ich denke aber, dass das weniger an der Laufzeit des Signals über die 
Leitung liegt, sondern an den umzuladenden Kapazitäten bei längerer 
Leitung.

von Elias K. (elik)


Lesenswert?

derjenige schrieb:
> oder sind
> auch die geometrische Längen der Verbindungen im Chip relevant?

Klare Antwort: Ja. Die Schaltgeschwindigkeit eines Gatters setzt sich 
zusammen aus dem Ausgangswiderstand eines Gatters (R) und der 
Eingangskapazität der Transistoren im (in den) Folgegatter(n). Zu dem 
RC-Delay kommt das RC-Delay durch die Verdrahtung dazu. Der größere 
Anteil ist aber das Delay durch die Gatter selbst.

Das Problem kann mit Gattern mit stärkeren Ausgangstreibern (kleinerer 
Ausgangswiderstand) vermindert werden.


derjenige schrieb:
> Sind Kreuzungen von Signalen teuer?

Nein. Verhält sich wie im Leiterplatten-Design. Es gibt X Metalllagen. 
Die dürfen voll genutzt werden. Digitale Signale werden idR vom 
Autorouter verlegt. Power-Netze müssen speziell behandelt werden, 
verlegen die meisten Autorouter aber auch gleich mit.

Auf Chip läuft alles mit CMOS-Digital-Signalen. Da ist alles ein 
Standard und dadurch für die Tools entsprechend einfach zu verarbeiten. 
Für Signale, die aus dem Chip raus getrieben werden müssen, gibt es dann 
passende Pad-Zellen mit starken Ausgangstreibern oder zum Beispiel 
Eingangs-Pad-Zellen mit Schmitt-Trigger, oder LVDS-Pad-Zellen, oder ...

Auch im Analogen sind Kreuzungen selten ein Problem, eher parallel oder 
übereinander liegende Leitbahnen.

Bei HF wird Impedanz-Matching auch auf Chip-Ebene nötig.


derjenige schrieb:
> Muss man also, wenn man ein effizientes Ergebnis möchte, bei der
> Architektur der Hardware berücksichtigen, dass ein Chip 2 Dimensional
> ist oder kann man alles den Synthesetools überlassen?

Über die 2-Dimensionalität braucht sich der Designer keine Gedanken 
machen. Darum kümmert sich das Synthesetool. Gute Synthesetools sind 
auch in der Lage, bei Bedarf Gatter mit stärkeren Treibern einzusetzen, 
Clock-Trees zu bauen, usw. Dazu muss der Designer aber auch die 
passenden Vorgaben machen und die Tools richtig nutzen. In der Theorie 
läuft das automatisch, in der Praxis manchmal nicht ganz so reibungslos.

Die Synthesetools beachten nicht die Verdrahtung. Nach dem Routing 
können deswegen alle nennenswerten Tools eine PEX (Parasitics 
Extraction) machen. Daraus können verfeinerte Timing-Informationen 
generiert werden, die wiederum in ein SDF-File (Standard-Delay-Format) 
münden. Mit dem kann z.B. mit modelsim eine sehr realitätsnahe 
Simulation durchgeführt werden.

Ein schnelles Design ist oft weniger eine Frage der Synthese, sondern 
des Designs. Die max. Taktfrequenz ist durch den längsten 
kombinatorischen Pfad zwischen zwei FlipFlops vorgegeben. Der Designer 
kann bei Bedarf die Pfade verkürzen durch zusätzliche FlipFlops oder 
optimierte Logik.

von C. A. Rotwang (Gast)


Lesenswert?

derjenige schrieb:

> Muss man also, wenn man ein effizientes Ergebnis möchte, bei der
> Architektur der Hardware berücksichtigen, dass ein Chip 2 Dimensional
> ist oder kann man alles den Synthesetools überlassen?

Ja, ein Designer sollte schon wissen, wieviel Logic er in einem logic 
level/LUT unterbringt und ab wann das nächste CLB in den kritischen Pfad 
kommt.
Dann kommt er vielleicht selbst dahinter warum seine FSM mit 16 states 
soviel schneller taktet als eine mit 17 states. Oder ein 32bit 
PRN-counter schneller  countet als ein 0-8-15 binary counter.
Und nein, die Entscheidung, wieviel states für eine FSM optimal sind und 
ob Arithmetics besser als PRN, gray, binary oder SRL implementiert ist, 
nimmt kein Synthesetool dem Designer ab.

von derjenige (Gast)


Lesenswert?

Vielen Dank für die Antworten, sehr interessant.
Es ist also ähnlich wie bei normalen sequenziellen Programmen; der 
Compiler nimmt einem zwar viel Arbeit ab, aber man muss verstehen, was 
der Compiler macht und wie sich Caches, Syscalls usw verhalten und bei 
Bedarf auch einzelne Register in der Implementation zuordnen können um 
zu sehen, wie die Hardware genau aussieht,die die Tools ausspucken.

von Elias K. (elik)


Lesenswert?

Noch ein paar Sachen als Nachtrag: Die Synthese und Place&Route 
unterscheiden sich geringfügig, ob die Zielhardware ein FPGA oder ein 
FullCustom ASIC im Standardzellenentwurf ist. Ich sprach von ASIC, die 
anderen eher von FPGA.

Das erste Problem der Synthese ist, aus der Beschreibung herauszulesen, 
was der Designer erreichen möchte. Damit das reibungslos funktioniert, 
schreibt das Synthesetool mitunter enge Regeln vor, wie die Beschreibung 
aussehen muss.

Als Beispiel die Dokumentation zu Quartus: 
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/qts/qts_qii5v1.pdf
In Kapitel 12 findest du Empfehlungen, wie die Beschreibung aussehen 
soll, um zum Beispiel den Block-RAM aus dem FPGA zu nutzen, und nicht 
RAM aus den Logikblöcken zu bauen. Oder den Mutiplier-Block zu nutzen, 
und keinen Multiplizierer aus Gattern aufzubauen.

Häufig läuft es darauf hinaus, dass der Digital-Designer sich überlegt, 
wie die Logik prinzipiell aussehen soll. (State-Machines, 
kombinatorische Logik, Register, Multiplier, Speicher, ...) und diese 
dann mit der entsprechenden Syntax beschreibt. Damit ist in gewissen 
Grenzen schon vorher klar, was das Synthesetool daraus generieren wird.

Der Vergleich mit dem nötigen Wissen über Compiler und deren Umsetzung 
von Interrupts, Timer-Nutzung, Schleifen usw. ist daher gar nicht so 
schlecht.

Edit: Hier sind noch ein paar Beispiele: 
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/qts/qts_qii51007.pdf 
(zum Beispiel Kapitel 13 für einfache FlipFlops)

: Bearbeitet durch User
von Weltbester FPGA-Pongo (Gast)


Lesenswert?

derjenige schrieb:
> Ist die Signalgeschwindigkeit nur durch die Logik begrenzt oder sind
> auch die geometrische Längen der Verbindungen im Chip relevant?

Die Geometrien SIND die Logik und Längen sind ausschlaggebend für die 
Schaltzeit / Laufzeit.

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.