6.2. Kritisches Timing

 

  Durch die Verwendung eines Systemtakts von 32MHz in drei der vier LCAs stehen pro Taktperiode ca. 31ns zur Verfügung. Viele Signale müssen in dieser Zeit vom Ausgang eines Flip-Flops über einige Gatter an den D-Eingang eines anderen Flip-Flops gelangen. Durch die Architektur der 3000er-LCAs ist die Durchlaufzeit für eine kombinatorische Verknüpfung zwar konstant, solange sie in­nerhalb eines CLBs aus maximal fünf Eingangssignalen gebildet wird. Die Verzögerungszeiten der Leitungen zwischen den Blöcken hängt jedoch stark von deren Länge ab. Diese wiederum wird von der Anordnung der Blöcke zueinander beeinflußt.

  Für die verwendete 70MHz-Ausführung der 3030er-LCAs können folgende Verzögerungszeiten angenommen werden: [3]

 

Verzögerung vom Ausgang eines CLB-Flip
-Flops bis zum Ausgang des Blocks:                 8ns

 

Verzögerung vom Blockeingang über eine
kombinatorische Verknüpfung bis zum D-
Eingang eines CLB-Flip-Flops (incl.
Setup-Time):                                      8ns

 

  Bei 31ns Zykluszeit stehen für die Leitung zwischen den Blöcken also noch (31-8-8)ns = 15ns zur Verfügung. Dies gilt jedoch nur für den günstigen Fall, in dem die Verknüpfung vollständig in einenem CLB untergebracht werden kann. Kompliziertere Verknüpfun­gen müssen in mehreren CLBs kaskadiert werden, wodurch je Stufe eine Leitungsverzögerung und eine CLB-Durchlaufverzögerung von 9ns hinzukommt.

  Dies betrifft insbesondere das LCA ADRE, in dem durch die ver­wendeten Addierer und Multiplizierer komplexe Verküpfungen ent­halten sind. Diese müssen zwar nicht in einem Taktzyklus bearbei­tet werden (die schnellsten Vorgänge in ADRE laufen in 5 Taktzy­klen = einer CAS-Periode ab), führen aber dennoch dazu, daß dieses LCA unter Normalbedingungen (VCC=5V, TUmg=20°C) nicht ein­wandfrei arbeitet. Erst bei Kühlung des LCAs auf ca. -20°C stellt sich die gewünschte Funktion ein.

  Für dieses Problem stehen mehrere Lösungsansätze zur Verfügung. Zunächst müssen durch Simulation des realen Timings des LCAs, inklusive der Leitungsverzögerungen, die kritischen Pfade identi­fiziert werden. Diese können durch Pipelinig-Methoden in mehrere unkritische Pfade aufgeteilt werden, wie es bereits jetzt an an­deren Stellen der LCAs durchgeführt wurde. Mit den zur Verfügung stehenden Hilfmitteln war eine solche Simulation nicht möglich, sie befindet sich bei der Fa. XILINX in Vorbereitung. Auf diese Weise könnte auch das Timing der restlichen Schaltung sicherge­stellt werden, das unter Worst-Case-Bedingungen ebenfalls kri­tisch werden könnte.

  Die Plazierung und das Routing der LCAs wurde bisher von einem Autorouter übernommen. Bei der Analyse der Ergebnisse zeigte sich, daß diese durch manuelles Eingreifen wesentlich verbessert werden können. Dies setzt jedoch ebenfalls die Kenntnis der kri­tischen Pfade voraus.

  Falls durch die genannten Maßnahmen das Timing nicht sicherge­stellt werden kann, ist auch noch der Einsatz der 100MHz-Ausfüh­rung der LCAs denkbar. Diese sind als 3030er LCA jedoch erst für KW21 in Musterstückzahlen angekündigt.

  Schließlich ist ohnehin die Umsetzung der gesamten Schaltung in ein Gate-Array vorgesehen. Je nach verwendeter Technologie sind diese deutlich schneller als die verwendeteten LCAs, was eben­falls die Timing-Probleme lösen könnte. Zusätzlich kann bei der Gate-Array-Entwicklung von vorneherein das reale Zeitverhalten simuliert werden, wodurch das Timing wirklich sichergestellt wer­den kann.