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