DE60116972T2 - Verfahren zum Entwerfen von Zeitablaufbudgets - Google Patents

Verfahren zum Entwerfen von Zeitablaufbudgets Download PDF

Info

Publication number
DE60116972T2
DE60116972T2 DE60116972T DE60116972T DE60116972T2 DE 60116972 T2 DE60116972 T2 DE 60116972T2 DE 60116972 T DE60116972 T DE 60116972T DE 60116972 T DE60116972 T DE 60116972T DE 60116972 T2 DE60116972 T2 DE 60116972T2
Authority
DE
Germany
Prior art keywords
timing
logic
delay value
design
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60116972T
Other languages
English (en)
Other versions
DE60116972D1 (de
Inventor
Noriyuki łc/o Fujitsu Limited Kawasaki-shi Ito
Ryoichi łc/o Fujitsu Limited Kawasaki-shi Yamashita
Yoichiro łc/o Fujitsu Limited Kawasaki-shi Ishikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE60116972D1 publication Critical patent/DE60116972D1/de
Publication of DE60116972T2 publication Critical patent/DE60116972T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Entwerfen von Zeitablaufbudgets zur Verwendung beim Design einer Großintegrationsschaltung (LSI) und insbesondere ein Verfahren, das eine LSI-Schaltung entwerfen kann, während es in geeigneter Weise Signalverzögerungen berücksichtigt, wenn Logikblöcke der LSI-Schaltung angeordnet werden.
  • Ein LSI-Entwurf besteht gewöhnlich aus einem Schritt zur Blockanordnung, um zu bestimmen, in welchen LSI-Teilen Logikblöcke angeordnet werden, nachdem eine Logik aufgebaut wurde und die Logik in Logikblöcke unterteilt wurde, einem Schritt, um die Logikblöcke, die gemäß der Blockanordnung angeordnet sind, durch Elemente wie Transistoren usw. zu ersetzen, und einem Schritt, um die Elemente zu verdrahten.
  • Für das oben beschriebene gewöhnliche Entwurfsverfahren wird die Anordnung der Logikblöcke jedoch zum Zeitpunkt der Blockanordnung bestimmt, ohne zu untersuchen, ob Signalverzögerungen auftreten, wenn eine Logikschaltung gemäß den vorgegebenen Angaben verdrahtet wird. Wenn die Logikschaltung tatsächlich durch das Ersetzen der Logikblöcke durch Elemente gebildet wird, und die Logikblöcke verdrahtet werden, stimmen Signalverzögerungen deshalb in einigen Fällen nicht mit den Angaben überein.
  • Da die Anordnung der Logikblöcke gewöhnlich zu diesem Zeitpunkt geändert werden muß, wird häufig eine Verfahrensrückkehr zu dem Schritt zur Blockanordnung durchgeführt, um die Operationen zu wiederholen. Das Neuerstellen einer Blockanordnung bei der Wiederholung der Operationen schließt häufig ein, wie die Logik in Blöcke unterteilt wird.
  • Wie oben beschrieben tritt bei gewöhnlichen LSI-Entwurfsverfahren eine Wiederholung häufig auf, und viel Zeit ist zum Entwurf erforderlich und gleichzeitig verlangt es von einem Entwerfer viel Arbeit ab, was zu erhöhten Entwurfskosten führt.
  • Dies beruht darauf, daß Operationen durchgeführt werden, ohne irgendwelche Signalverzögerungen zu berücksichtigten, und im Ergebnis stimmen Signalverzögerungen häufig nicht mit Angaben überein, wenn eine Logikschaltung tatsächlich angeordnet wird.
  • Es ist wünschenswert, ein Verfahren zum Entwerfen von Zeitablaufbudgets zu schaffen, das Logikblöcke anordnen kann, während es auf geeignete Weise Signalverzögerungen am Anfang eines LSI-Entwurfs berücksichtigt.
  • Ein Verfahren zum Entwerfen von Zeitablaufbudgets ist ein Verfahren, das einen LSI-Entwurf voranbringt, während es ein Zeitablaufbudget auswertet.
  • Die Veröffentlichung Yasushi Ogawa u.a.: "Timing- and Constraint-oriented Placement for Interconnected LSIS in Mainframe Design", Proceedings of the ACM/IEEE Design Automation Conference, San Francisco, 17.-21. Juni 1991, Proceedings of the ACM/IEEE Design Automation Conference (DAC), US, Band Conf. 28, 17. Juni 1991 (17.06.1991), Seiten 253-258, ISBN: 0-89791-395-7, offenbart ein Entwurfsverfahren, das hierarchische Stiftbelegung verwendet, die sich auf die physikalische Hierarchie, den Zeitablauf berücksichtigende Plazierung und Zeitablaufanalyse bezieht, und ein Verzögerungsmodell zusammen mit der Sektorextrahierung von Unterschaltungen. Das Entwurfsverfahren berücksichtigt jedoch den Grad der Erreichung von Logikblöcken nicht, wenn der Zeitablauf während des Entwurfsverfahrens angepaßt wird.
  • In einer Ausführungsform der vorliegenden Erfindung umfaßt das Verfahren die folgenden Schritte:
    Entwerfen einer Logik, die in eine LSI eingebettet werden soll, und Unterteilen der Logik in Logikblöcke; Einstellen eines Verzögerungswerts zwischen Stiften eines Logikblocks und Bauen eines Signalverzögerungsmodells;
    Anzeigen des eingestellten Verzögerungswerts für einen Entwerfer zusammen mit einer Zwischenverbindungsbeziehung zwischen den Logikblöcken; und
    Entwerfen der Logikblöcke durch Berücksichtigung des Verzögerungswerts; wobei eine Zeitablaufbedingung eines Zeitablaufs für eine Signalfortpflanzung durch Berechnen von Signaleingangs/Signalausgangszeiten bei/von einem Logikblock von dem Verzögerungswert beschrieben wird; und
    wobei, wenn ein Zeitablaufbudget interner Speicherelemente über mehrere Logikblöcke nicht in einen Zielverzögerungswert auf Grundlage der Zeitablaufbedingung fällt, ein neues Zeitablaufbudget der Blöcke durch Verändern des Zeitablaufbudgets gemäß einer proportionalen Verteilung unter Berücksichtigung eines Grads der Erreichung des Entwurfs von jedem Logikblock erzeugt wird.
  • In der obigen Ausführungsform wird ein Verfahren zum Entwerfen von Zeitablaufbudgets geschaffen, das einen LSI-Entwurf voranbringt, während es die Verzögerungswerte der Logikblöcke berücksichtigt, so daß es möglich wird, die Anzahl der Situationen zu verringern, in denen eine Signalverzögerung nicht in einen erforderlichen Zeitrahmen in einem fortgeschrittenen Stadium des LSI-Entwurfs fällt. Folglich können die Anzahl der Male, die Operationen in einem Entwurfsstadium wiederholt werden müssen, und die Entwurfskosten verringert werden. Im Ergebnis kann ein effizienter LSI-Entwurf umgesetzt werden.
  • Bevorzugte Merkmale der Erfindung werden nun rein beispielhaft mit Bezugnahme auf die beiliegenden Zeichnungen beschrieben, in denen:
  • 1 ein Stadium des LSI-Entwurfs/Herstellung erklärt, auf das/die eine bevorzugte erfindungsgemäße Ausführungsform angewendet wird;
  • 2 das Verfahren erklärt, das eine Zeitablaufbedingung eines Logikblocks in einer Vorrichtung zum Entwerfen eines Zeitablaufbudgets gemäß einer erfindungsgemäßen Ausführungsform einstellt;
  • 3 eine Abwandlung eines Modellierverfahrens für eine Zeitablaufbedingung eines Logikblocks gemäß einer erfindungsgemäßen Ausführungsform erklärt;
  • 4 die Beziehung zwischen einer Netzliste, einer Zeitablaufbedingungsbeschreibung und einem Modell erklärt;
  • 5 einen Rechenausdruck einer Wegverzögerung beispielhaft darstellt;
  • 6 das Verfahren erklärt, das überprüft, ob eine Verzögerung zwischen Speicherelementen, die sich über Blöcke erstreckt, in eine Zielverzögerung von einer Zwischenblocknetzliste und einer Blockzeitablaufbeschreibung fällt oder nicht, und ein Prüfergebnis ausgibt (Nr. 1);
  • 7 das Verfahren erklärt, das überprüft, ob die Verzögerung zwischen Speicherelementen, die sich über Blöcke erstreckt, in eine Zielverzögerung von einer Zwischenblocknetzliste und einer Blockzeitablaufbeschreibung eines Blocks (Nr. 2) fällt oder nicht;
  • 8 das Verfahren erklärt, das ein Zeitablaufbudget eines Logikblocks erzeugt, durch welches eine Zeitablaufbedingung eines Logikblocks in Signaleingangs- und Signalaus gangszeiten von Eingangs- und Ausgangsstiften umgewandelt wird;
  • 9 ein Verarbeitungsverfahren zeigt, das verwendet wird, wenn ein Verzögerungswert einen erforderlichen Wert als Ergebnis des Berechnens eines Verzögerungswerts von jedem Weg unter Verwendung der bevorzugten erfindungsgemäßen Ausführungsform nicht erfüllt;
  • 10 ein weiteres Beispiel des Verfahrens erklärt, das ein Zeitablaufbudget abwandelt;
  • 11 das Verfahren erklärt, das ein Zeitablaufbudget anpaßt, während es einen Grad der Zielerreichung hinzufügt;
  • 12 eine Beschreibung der Gruppierung interner Speicherelemente beispielhaft darstellt;
  • 13 das Verfahren erklärt, das Regeln aufstellt, um eine Beschreibung eines Verfahrens zu vereinfachen, das einen Taktversatz für interne Speicherelemente in einer Zeitablaufbudgetbeschreibung oder Zeitablaufbedingungsbeschreibung eines Blocks bereitstellt;
  • 14 die Zeitablaufüberprüfung unter Berücksichtigung eines Taktversatzes beispielhaft darstellt;
  • 15 das Verfahren erklärt, das ein Signal oder einen Weg in einer Blockanordnung gemäß der bevorzugten erfindungsgemäßen Ausführungsform anzeigt;
  • 16 ein weiteres Beispiel des Anzeigeverfahrens aus 15 erklärt;
  • 17 ein Blockdiagramm ist, das die Anordnung einer Vorrichtung zum Entwerfen von Zeitablaufbudgets gemäß der bevorzugten erfindungsgemäßen Ausführungsform zeigt; und
  • 18 die Hardwareumgebung eines Computers erklärt, die erforderlich ist, wenn die Vorrichtung zum Entwerfen von Zeitablaufbudgets gemäß der bevorzugten erfindungsgemäßen Ausführungsform durch ein Programm umgesetzt wird.
  • 1 erklärt ein Stadium des/der LSI-Entwurfs/Herstellung, für welche(s) eine bevorzugte erfindungsgemäße Ausführungsform angewendet wird.
  • Schritt S1 ist ein Stadium, das RTL-Entwurf (Registerübertragungsniveau) genannt wird, in dem eine Logik, die auf einer LSI angebracht werden soll, unter Verwendung einer RTL-Beschreibung entworfen wird. In der bevorzugten erfindungsgemäßen Ausführungsform bestimmt ein Entwerfer einen Signalverzögerungswert nach seiner eigenen Schätzung während dem Stadium des RTL-Entwurfs und entwirft einen Logikblock, während er einen ungefähren Verzögerungswert zwischen Logikblöcken berechnet. Folglich kann ein Verzögerungswert auf einen ungefähr erwünschten Wert eingestellt werden, wenn Logikblöcke verdrahtet werden.
  • In Schritt S2 wird Logiksynthese (Logikaufbau) unter den Logikblöcken auf Grundlage der RTL-Beschreibung durchgeführt, die in Schritt S1 erzeugt wurde. Sobald die RTL-Beschreibung erhalten wird, kann die Synthese automatisch von einem vorhandenen Programm durchgeführt werden. Als ein Ergebnis der Logiksynthese in Schritt S2 wird eine Netzliste in Schritt S3 erzeugt. Die Netzliste besteht aus Daten, die anzeigen, wie Komponenten wie Transistoren, die auf einer LSI angebracht sind, logisch verbunden werden sollen.
  • In Schritt S4 wird einer Blockanordnung, um zu bestimmen, in welchen LSI-Teilen die Logikblöcke angeordnet werden auf Grundlage der Netzliste, die in Schritt S3 erhalten wurde, erzeugt. Die bevorzugte erfindungsgemäße Ausführungsform wird auch in dem Stadium verwendet, indem die Blockanordnung erzeugt wird. Wie Komponenten verbunden sind, ergibt sich nämlich aus der Netzliste. Deshalb kann ein Verzögerungswert aus dieser Information berechnet werden, wenn die Logikblöcke verbunden sind, und es kann bestimmt werden, ob der Verzögerungswert zu einem Wert führt, der für die Operationen der LSI erforderlich ist. Wenn der Verzögerungswert den erforderlichen Wert nicht erfüllt, kehrt das Verfahren hierauf zu der Logiksynthese in Schritt S2 zurück, und eine Netzliste wird erzeugt. Wenn der Verzögerungswert den erforderlichen Wert bei der Erzeugung der Blockanordnung in Schritt S4 erfüllt, kann die Anordnungsinformation der Logikblöcke erhalten werden.
  • Wenn die Anordnungsinformation in Schritt S5 erhalten wird, werden die Logikblöcke auf Grundlage der erhaltenen Anordnungsinformation angeordnet und wird eine versuchsweise Verdrahtung durchgeführt. Dann wird in Schritt S6 eine Verzögerungsberechnung mit einer Verdrahtungslänge auf Grundlage der versuchsweisen Verdrahtung ausgeführt und eine Verzögerungssimulation wird in Schritt S7 durchgeführt.
  • Da die versuchsweise Verdrahtung durchgeführt wird, wird das Vorliegen einer Verzögerung aufgrund eines Umwegs der Verdrahtung, die sich nicht aus der Netzliste ergibt, und dergleichen offensichtlich. Wenn der Verzögerungswert nicht in den erforderlichen Wert als ein Ergebnis der Verzögerungssimulation fällt, wird hierauf eine Blockanordnung in Schritt S4 neu erzeugt. Selbst wenn die neue Erzeugung einer Blockanordnung in Schritt S4 als nicht ausreichend angesehen wird, geht das Verfahren auf die Logiksynthese in Schritt S2 zurück. Dann werden die Operationen wieder durchgeführt.
  • Wenn es sich erweist, daß der Verzögerungswert in den erforderlichen Wert in der Verzögerungssimulation in Schritt S7 fällt, werden die Komponenten innerhalb der entsprechenden Logikblöcke automatisch angeordnet und in Zelleinheiten in Schritt S8 verdrahtet. Dann wird eine Verzögerungsberech nung in Schritt S9 für den Zustand durchgeführt, in dem alle Komponenten angeordnet und verdrahtet sind. In Schritt S10 wird eine Verzögerungsberechnung durchgeführt. Wenn der Verzögerungswert so bestimmt wurde, daß er nicht in den erforderlichen Wert in der Verzögerungssimulation in Schritt S10 fällt, werden die Operationen wiederholt, indem beispielsweise die automatische Anordnung und Verdrahtung in Schritt S8 wieder durchgeführt wird, eine Blockanordnung neu erzeugt wird, oder die Logiksynthese wieder durchgeführt wird. Wenn der Verzögerungswert so bestimmt wird, daß er in den erforderlichen Wert in der Verzögerungssimulation in Schritt S10 fällt, wird erkannt, daß der LSI-Entwurf vollständig ist. Das Verfahren beginnt daher mit einem Herstellungsstadium des Schritts S11.
  • 2 erklärt das Verfahren, das eine Zeitablaufbedingung eines Logikblocks in einer Vorrichtung zum Entwerfen von Zeitablaufbudgets gemäß einer bevorzugten erfindungsgemäßen Ausführungsform einstellt.
  • Ein Teil, das durch ein Quadrat in 2 eingeschlossen ist, zeigt das Stadium eines Logikblocks eines Modells, das eine Verteilung von Verzögerungswerten zum Auswerten eines Zeitablaufbudgets darstellt, und Einstellungen der Verzögerungswerte, die innerhalb des Logikblocks definiert sind. Zusätzlich legt eine Beschreibung in einem oberen Teil aus 2 das Modell der Verteilung von Verzögerungswerten des Logikblocks fest.
  • In dieser bevorzugten Ausführungsform wird eine Zeitablaufbedingung eines Logikblocks dadurch beschrieben, daß ein oder mehrere interne Signalspeicher veranlaßt werden, eine große Anzahl interner Speicherelemente, FFs usw. darzustellen, die in einem Logikblock eingeschlossen sein sollten.
  • Wenn diese bevorzugte Ausführungsform im Stadium des RTL-Entwurfs verwendet wird, wird der Zeitablauf eines Logikblocks grob durch die Intuition eines Entwerfer in Einheiten von Logikblöcken gemäß einer Zykluszeit eines gesamten Chips zugeordnet oder gemäß der Größe eines Logikblocks oder der Anzahl der internen Zellen geschätzt. Wenn diese bevorzugte Ausführungsform im Stadium der Erzeugung des Anordnungsplans verwendet wird, beschreibt eine Person, die für das Entwerfen eines jeden Logikblocks verantwortlich ist, eine Zeitablaufbedingung durch Berechnen eines Verzögerungswerts auf Grundlage eines repräsentativen RC-Werts (Widerstand und Kondensator), der aus der technologischen Information (charakteristische Daten die von einem Hersteller von jeder Komponente bereitgestellt werden) für jeden Weg erhalten wird, während eine Verbindung interner Zellen auf Grundlage der Information einer Netzliste geprüft wird.
  • In der Beschreibung im oberen Teil aus 2 werden zwei Stiftgruppen definiert. Die Stiftgruppen werden „pingr A" und „pingr B" genannt. „pingr A" schließt die Stifte „ADDRA T", „ADDRA C", „ADDRB T" und „ADDRB C", von denen jeder aus einem Bit 0 bis einem Bit 11 besteht, und „NULL T" und „NULL C", von denen jeder aus einem Bit 0 bis zu einem Bit 2 besteht, und dergleichen ein. Ähnlich schließt die "pingr B" „DOUT" und „XDOUT" ein, die aus einem Bit 0 und einem Bit 11 bestehen.
  • Zusätzlich werden interne Speicherelemente wie „FF1", „FF2", „FF3" usw. als ein interner Signalspeicher „IL 0" definiert. Außerdem definiert eine Beschreibung „Verzögerung des Wegs von A nach B 500", daß ein Verzögerungswert eines Wegs von einem Stift „A" (der Stiftgruppe „A" in diesem Fall) zu einem Stift „B" (der Stiftgruppe „B" in diesem Fall) 500 ps beträgt. Ähnlich definiert die Beschreibung in dem oberen Teil, daß ein Verzögerungswert von dem Stift „A" zu einem Stift „OFLG" 600 ps ist, ein Verzögerungswert von dem Stift „A" zu dem IL (internen Signalspeicher) 250 ps ist, ein Verzögerungswert von dem IL zu dem Stift „B" 230 ps ist, ein Verzögerungswert von einem Stift „CK0" zu dem Stift „B" 450 ps ist, ein Verzögerungswert von einem Stift „CK1" zu dem Stift „B" 430 ps ist, ein Verzögerungswert von einem Stift „RST0" zu dem Stift „B" 400 ps ist und ein Verzögerungswert von einem Stift „RST1" zu dem Stift „B" 420 ps ist. Das heißt, das Modellieren einer Zeitablaufbedingung eines Logikblocks wird durchgeführt.
  • Wie oben beschrieben, wird eine große Anzahl interner Speicherelemente, die ursprünglich vorhanden sein sollten, durch einen oder mehrere interne Signalspeicher dargestellt, und eine Zeitablaufbedingung wird beschrieben, so daß das Modellieren einer Zeitablaufbedingung eines Logikblocks vereinfacht werden kann.
  • 3 erklärt eine Abwandlung des Verfahrens zum Modellieren einer Zeitablaufbedingung für einen Logikblock gemäß der bevorzugten erfindungsgemäßen Ausführungsform.
  • In dieser Abwandlung werden Logikblöcke hierarchisch in einer Beschreibung der Zeitablaufbedingung des Logikblocks beschrieben. Wie in einem unteren Teil aus 3 gezeigt ist, ist ein kleiner Logikblock, der als Block 1 bezeichnet ist, nämlich in einem Logikblock eingeschlossen, der einen großen äußeren Rahmen hat. Auf diese Weise kann ein Grad der Freiheit einer Beschreibung der Zeitablaufbedingung vergrößert werden und ein genaueres Modellieren kann umgesetzt werden.
  • Ein oberes Teil der 3 stellt eine Zeitablaufbeschreibung beispielhaft dar. Da ein Teil über einer Linie, die mit (a) bezeichnet ist, ähnlich zu dem aus 2 ist, wird seine Erklärung ausgelassen. Ein Teil unter der Linie, die mit (a) bezeichnet ist, stellt die Verzögerungswerte der Wege ein, die den Block 1 durchlaufen. Für Block 1 sind zwei Eingänge und zwei Ausgänge angeordnet. Das Teil unter der Linie (a) definiert, daß ein Verzögerungswert von einem Stift „A" zu einem Stift „in1" des Blocks 1 200 ps ist, ein Verzögerungswert von einem Stift „A" zu einem Stift „in2" des Blocks 1 150 ps ist, ein Verzögerungswert von einem Stift „out1" des Blocks 1 zu einem Stift „B" 300 ps ist, und ein Verzögerungswert von einem Stift „out2" des Blocks 1 (?) zu dem Stift „B" 250 ps ist. Auch die Verzögerungen im Block 1 können eingestellt werden (obwohl sie in der Beschreibung nicht eingeschlossen sind). Die Verzögerungen können beispielsweise wie in einem unteren rechten Teil der 2 eingestellt sein.
  • Außerdem kann jede Beschreibung der Zeitablaufbedingung in dieser bevorzugten Ausführungsform von einer Netzliste erzeugt werden, nachdem die Netzliste erzeugt wurde.
  • 4 erklärt die Beziehung zwischen einer Netzliste, einer Beschreibung der Zeitablaufbedingung und einem Modell.
  • Wenn ein Modell von einer Netzliste vereinfacht und erzeugt wird, um eine Beschreibung des Zeitablaufs wie in 4 gezeigt zu ermöglichen, wird eine Beschreibung der Zeitablaufbedingung eines Logikblocks erzeugt, indem die drei folgenden Verzögerungstypen erhalten werden:
    • – eine maximale Verzögerung eines Wegs von einem Eingangsstift zu allen internen Speicherelementen;
    • – eine maximale Verzögerung eines Wegs von einem Eingangstift zu einem Ausgangsstift;
    • – eine maximale Verzögerung eines Wegs von allen internen Speicherelementen zu einem Ausgangsstift.
  • Interne Speicherelemente werden nämlich kollektiv durch einen oder mehrere interne Signalspeicher in einem Modell dargestellt. Selbst wenn einen Netzliste mehrere interne Speicherelemente und ihre Verbindungsbeziehung beschreibt, werden sie deshalb zu einer Verbindung zu/von einem oder mehreren internen Signalspeichern in einem Modell zusammengefaßt. Als eine repräsentative Verbindung zu einem internen Signalspeicher wird hierbei der größte Verzögerungswert unter mehreren Verbindungen zu dem internen Signalspeicher, der in der Netzliste beschrieben ist, eingestellt. Als eine repräsentative Verbindung von dem internen Signalspeicher wird auch der größte Verzögerungswert eingestellt.
  • Auch für eine Verbindung von einem Stift zu einem Stift innerhalb eines Logikblocks können zusätzlich mehrere Wege möglicherweise in einer Netzliste beschrieben werden. In diesem Fall wird ein Weg, der den größten Verzögerungswert hat, als ein repräsentativer aus den mehreren Wegen eingestellt. Auf diese Weise wird eine Beschreibung der Zeitablaufbedingung auf Grundlage eines zusammengebauten Modells durchgeführt.
  • Wie oben beschrieben werden Verzögerungswerte auf Grundlage technologischer Information hierbei berechnet, nachdem einen Netzliste erzeugt wurde.
  • 5 stellt einen Rechenausdruck einer Wegverzögerung beispielhaft dar.
  • In dieser Figur wird nachgeprüft, ob ein Verzögerungswert eines Wegs, der bei einem internen Signalspeicher des Blocks 1 beginnt und bei einem internen Signalspeicher des Blocks 3 über Block 2 endet, in eine Zykluszeit eines Chips (die mit 1000 ps hier eingeschätzt wird) fällt oder nicht, Die Berechnung wird wie folgt durchgeführt. Zuerst wird angenommen, daß ein Verzögerungswert eines internen Signalspeichers, der eine Sendeseite „FF" ist, „a" ist. Es wird auch angenommen, das ein Verzögerungswert von dem internen Signalspeicher zu einem Ausgangsstift im Block 1 „b" ist, ein Verzögerungswert von dem Ausgangsstift des Blocks 1 zu einem Eingangsstift des Blocks 2 „c" ist, ein Verzögerungswert im Block 2 „d" ist, ein Verzögerungswert vom Block 2 zum Block 3 „e" ist, und ein Verzögerungswert von einem Eingangsstift zu einem internen Signalspeicher im Block 3 „f" ist, und ein Verzögerungswert des internen Signalspeichers des Blocks 3 „g" ist. Eine Gesamtsumme dieser Verzögerungswerte ist ein Betrag der Signalverzögerung (ein Verzögerungswert des Wegs). Durch Beurteilung, ob ein Betrag, der durch Addition eines Taktversatzes α zu einem Betrag der Signalverzögerung erhalten wird, in 1000 ps, was die Zykluszeit des Chips ist, fällt oder nicht , kann bestimmt werden, daß der Verzögerungswert geeignet entworfen ist.
  • 6 und 7 erklären das Verfahren, das überprüft, ob eine Verzögerung zwischen Speicherelementen, die sich über Blöcke erstreckt, in eine Zielverzögerung gemäß einer Zwischenblocknetzliste und einer Beschreibung des Zeitablaufbedingung eines Blocks fällt, und ein Prüfergebnis ausgibt.
  • 6 ist ein Flußdiagramm, das das Verfahren zeigt, um eine Wegverzögerungsliste zu erzeugen.
  • Zuerst werden in Schritt S20 eine, Netzliste, eine Zeitablaufbeschreibung und eine Zykluszeit eingegeben. Dann wird ein Weg von der Netzliste im Schritt S21 extrahiert. In Schritt S22 wird ein Verzögerungswert des Wegs mit dem Rechenausdruck, der mit Bezug auf die 5 erklärt wird, berechnet. Dann wird in Schritt S23 bestimmt, ob der Verzögerungswert des Wegs die Zykluszeit überschreitet oder nicht. Wenn der Verzögerungswert die Zykluszeit nicht überschreitet, geht das Verfahren zum Schritt S21 und ein weiterer Weg wird verarbeitet. Wenn im Schritt S23 bestimmt wurde, daß der Verzögerungswert des Wegs die Zykluszeit überschreitet, wird eine Wegliste in Schritt S24 ausgegeben. Ein Entwerfer ist dann gezwungen, eine neue Netzliste oder Blockanordnung zu erzeugen.
  • 7 stellt Wegverzögerungslisten und ein Modell beispielhaft dar. Ein oberes Teil dieser Figur stellt das Modell beispielhaft dar, während ihr unteres Teil die Pfadverzögerungslisten beispielhaft darstellt. Die erste Liste unter den Listen in dem unteren Teil aus 7 beschreibt einen Weg, der bei einem „FF" beginnt, einen weiteren Block durchquert, und bei einem „FF" des anderen Blocks endet. Ein Ausgangslogikblock heißt „FAD", und der Weg beginnt bei einem internen Signalspeicher des „FAD". Die erste Zeile der ersten Liste beweist, daß der interne Signalspeicher des „FAD" mit dem Stift „A148" des FAD verbunden ist und ein Verzögerungswert 1552 ps ist. Die nächste Zeile zeigt ein Netz zwischen Blöcken an, das eine Verbindung von dem Stift „A148" des „FAD" zu einem Stift „A64H" eines Blocks „OPR" anzeigt. Dieses Netz heißt „M FAD RESULT BYTE7 P7". Ein Verzögerungswert dieses Netzes wird auf 0 ps eingestellt. Außerdem beschreibt die letzte Zeile der ersten Liste einen Weg von dem Stift „A64H" des „OPR" zu seinem internen Signalspeicher, und ein Verzögerungswert beträgt 129 ps. Der Verzögerungswert des gesamten Wegs, der in der zweiten Spalte von rechts in der letzten Zeile der ersten Liste beschrieben wird, beträgt 1681 ps. Die letzte Spalte in der letzten Zeile der Liste beschreibt eine Differenz zu 1000 ps, was die Zykluszeit ist, und den gesamten Verzögerungswert. In diesem Fall zeigt die Spalte an, daß der Verzögerungswert des Wegs um 681 ps größer als die Zykluszeit ist.
  • Da das Lesen der anderen Listen ähnlich ist, wird eine Erklärung ausgelassen.
  • 8 erklärt das Verfahren, das ein Zeitablaufbudget eines Logikblocks erzeugt, mit dem eine Zeitablaufbedingung eines Logikblocks in Signaleingangs- und Signalausgangszeiten von Eingangs- und Ausgangsstiften umgewandelt wird.
  • Die Eingangszeit und Ausgangszeit werden jeweils für Eingangs- und Ausgangsstifte wie folgt erzeugt. Ein Erzeugungsverfahren wird bestimmt, indem eine maximale Verzögerung bis zu einem internen Speicherelement dadurch berechnet wird, daß ein Weg von jedem Stift in einer Rückwärtsrichtung zurückverfolgt wird.
  • Die Einstellungsformate der Eingangs- und Ausgangszeiten in einem Modell werden unten beispielhaft dargestellt.
  • Eingangsstiftformat
  • Eingangsverzögerung Durchgangszeit Eingangsstiftname Als die Durchgangszeit wird eine Durchgangszeit eines Wegs, der den größten Verzögerungswert unter den Wegen hat, die durch den Eingangsstift durchgehen, eingestellt.
  • Der Name des Eingangsstifts ist der Name des Eingangsstifts eines Blocks, der verarbeitet werden soll.
  • Ausgangsstiftformat
  • Ausgangsverzögerung Durchgangszeit Ausgangsstiftname Als die Durchgangszeit wird eine Durchgangszeit eines Weges, der den größten Verzögerungswert unter den Wegen hat, die durch den Ausgangsstift durchgehen, eingestellt.
  • Der Ausgangsstiftname ist der Name eines Ausgangsstifts eines Blocks, der verarbeitet werden soll.
  • In einem Beschreibungsbeispiel in einem unteren Teil der 8 sind „A01", „A02", „A03" ... als Eingangsstifte des Blocks 1 gezeigt und sind „001", „002",... als Ausgangsstifte des Blocks 1 gezeigt. Eine Eingangszeit eines Eingangsstifts ist einer Eingangszeit eines Wegs, der den größten Verzögerungswert unter allen Verzögerungswerten der Teile der Wege hat, die durch den Eingangsstift durchgehen, und in einer Rückwärtsrichtung bis zu einem internen Signalspeicher von irgendeinem der Logikblöcke zurückverfolgt werden. In diesem Beispiel ist eine Eingangszeit des Eingangsstifts „A01" 431.00 ps. Dies bedeutet, daß der maximale Wert einer Laufverzögerung von einem internen Signalspeicher zu irgendeinem der Logikblöcke 431.00 ps beträgt und daß ein Signal deshalb bei dem Eingangsstift „A01" zu der Zeit 431.00 ps auf Grundlage der Annahme, daß die Ausgangszeit bei den internen Signalspeicher 0 ist, eingeht. Ähnlich zeigt die Beschreibung an, daß die Eingangszeit des Eingangsstifts „A02" 423.00 ps beträgt, und daß die Eingangszeit des Eingangsstifts „A03" 531.00 ps beträgt.
  • Zusätzlich ist eine Ausgangszeit eines Ausgangsstifts eine Zeit, die erhalten wird, indem zu einer Eingangszeit eines Eingangsstifts ein Verzögerungswert eines Wegs addiert wird, der den größten Gesamtverzögerungswert unter den Wegen hat, die von dem Ausgangsstift bis zu dem Eingangsstift in dem Logikblock zurückverfolgt werden. Dementsprechend ist eine Ausgangszeit des Ausgangsstifts „001" 802.00 ps, und ist eine Ausgangszeit des Ausgangsstifts „002" 822.00 ps.
  • Anzumerken ist, das die Eingangs- und Ausgangsstifte anders als die Stifte, die in 8 gezeigt sind, in Block 1 angeordnet sind, und ihre Beschreibungen sind ausgelassen. Dementsprechend bedeutet die Beschreibung, die in dieser Figur gezeigt ist, nicht, daß ein Signal bei dem Eingangsstift „A01" immer zu der Zeit 431,00 ps eingeht und immer zu der Zeit 802,00 ps von dem Ausgangsstift „001" ausgeht. Diese Beschreibung ist allgemein, und Signale, die von den Ausgangsstiften „001" und „002" ausgehen, sind nicht notwendigerweise von einem der Eingangsstifte „A01", „A02" und „A03" eingegangen.
  • 9 zeigt ein Verarbeitungsverfahren, das verwendet wird, wenn ein Verzögerungswert einen erforderlichen Wert als ein Ergebnis des Berechnens des Verzögerungswerts eines Wegs gemäß der bevorzugten erfindungsgemäßen Ausführungsform nicht erfüllt.
  • In dieser bevorzugten Ausführungsform wird geprüft, ob eine Inkonsistenz in einem Zeitablaufbudget (ein tolerierbarer Bereich einer Zeitablaufverschiebung) auftritt, wenn das Zeitablaufbudget abgewandelt wird.
  • Wenn ein Weg (NG-Weg), auf dem eine Eingangszeit eines Signals nicht in eine Zykluszeit fällt, wie in 9 erfaßt wird, erkennt ein Entwerfer diesen Weg nämlich auf einem Bildschirm und wandelt manuell die Eingangs- und Ausgangszeiten der Eingangs- und Ausgangsstifte eines jeden Logikblocks ab. Angenommen, daß die manuellen Abwandlungen zu einem unteren Teil aus 9 führen, so ist in diesem Fall der Wert der Eingangszeit „atime" des Blocks 3 kleiner als derjenige der Ausgangszeit „dtime" des Blocks 2 einer vorhergehenden Stufe. Das Phänomen, daß die Eingangszeit des Blocks 3 eine frühere Zeit als die Ausgangszeit des Blocks 2 ist, wenn sich ein Signal vom Block 2 zum Block 3 fortpflanzt, ist inkonsistent. Deshalb wird dies als ein Fehler angesehen, und eine Warnung wird an einen Entwerfer zum Beispiel dadurch ausgegeben, daß eine Anzeigefarbe der fehlerhaften Zeit geändert wird. Ähnlich ist das Phänomen, daß die Ausgangszeit „dtime" des Ausgangsstifts kleiner als die Eingangszeit „atime" des Eingangsstifts in Block 3 ist, inkonsistent. Deshalb wird dies als ein Fehler angesehen, und eine Warnung wird an den Entwerfer auf ähnliche Weise ausgegeben.
  • Wie oben beschrieben, ist ein Modell gemäß der oben beschriebenen bevorzugten Ausführungsform auf einem Bildschirm beim Endgerät eines Entwerfers angezeigt, und der Entwerfer kann das Modell mit einem Keyboard usw. abwandeln, wodurch ein Entwurf effizient durchgeführt werden kann.
  • 10 erklärt ein weiteres Beispiel des Verfahrens zur Abwandlung eines Zeitablaufbudgets.
  • Zusätzlich liegt das folgende Verfahren als ein Verfahren vor, das die Eingangs- und Ausgangszeiten abwandelt, wenn eine Eingangszeit eines Wegs nicht in eine Zykluszeit, wie oben beschrieben, fällt.
  • Wenn eine Verzögerung zwischen Speicherelementen, die sich über Blöcke erstreckt, nicht in eine Zielverzögerung fällt, wird nämlich eine Beschreibung des Zeitablaufbudgets der Blöcke automatisch mit einer Berechnung einer proportionalen Verteilung erzeugt, und so dafür zu sorgen, daß die Verzögerung in die Zielverzögerung fällt. Ein Rechenausdruck für diese Umsetzung ist die folgende Gleichung.
  • Figure 00190001
  • Wobei τ eine Zykluszeit einer Schaltung ist, T(A, Rückwärts) ein Maximalwert ist, wenn eine Spur von „A" zu einem Startpunkt in einer Rückwärtsrichtung zurückverfolgt wird, und T(A, Vorwärts) ein Maximalwert ist, wenn eine Spur von „A" zu einem Endpunkt in einer Vorwärtsrichtung zurückverfolgt wird. „B", „C" und „D" sind auch ähnlich.
  • Durch Anpassen der Eingangs- und Ausgangszeiten mit solch einer proportionalen Berechnung kann ein Verzögerungs wert von jedem Weg gleichmäßig angepaßt werden. Diese Operation kann von einem Computer ausgeführt werden, nur ein Ergebnis kann einem Entwerfer dargestellt werden (z.B. durch Anzeigen eines Ergebnisses auf einem Bildschirm eines Endgeräts), und der Entwerfer kann veranlaßt werden zu bestimmen, ob das Ergebnis verwendet werden soll oder nicht.
  • Zusätzlich wird es bequemer, indem ein Block, der bereits entworfen wurde, unverändert gelassen wird, wenn eine proportionale Verteilung wie oben beschrieben durchgeführt wird. Das heißt, unterschiedliche Entwerfer entwerfen das Innere entsprechender Logikblöcke. Auf den Empfang einer Benachrichtigung hin, daß ein anderer Entwerfer den von ihm verantworteten Block beendet hat, wird ein Block, der noch nicht entworfen wurde, veranlaßt, eine Zeitablaufverschiebung zu absorbieren, ohne das der andere Entwerfer veranlaßt ist, den beendeten Block neu zu entwerfen, um seinen Verzögerungswert zu ändern. Im Ergebnis wird ein Block, der früher entworfen wurde, unverändert gelassen, so daß ein Entwurf vorangeht, ohne oft zu einem früheren Stadium zurückzugehen.
  • Außerdem wird das oben beschriebene Verfahren, das ein Zeitablaufbudget mit einer proportionalen Verteilung für Stifte eines Blocks bestimmt, auch auf den Fall angewendet, in dem ein Block, der noch nicht entworfen wurde, veranlaßt wird, eine Anpassung eines Zeitablaufbudgets zu absorbieren. Wenn ein Block entworfen wurde, wird der Block hinsichtlich des Zeitablaufs unverändert gelassen, und eine proportionale Verteilung wird für Blöcke durchgeführt, die noch nicht entworfen wurden. Im Ergebnis kann eine Anpassung des Zeitablaufbudgets gleichmäßig durch die Blöcke angepaßt werden, die noch nicht entworfen wurden, und ein Lastungleichgewicht, wie eine Absorption des Zeitablaufbudgets, die von einem Block durchgeführt wird, kann verhindert werden.
  • 11 erklärt das Verfahren, das ein Zeitablaufbudget anpaßt, während es einen Grad der Zielerreichung berücksichtigt. Wenn eine proportionale Verteilung eines Zeitablaufbudgets wie oben beschrieben durchgeführt wird, wird der Grad der Zielerreichung eines jeden Blocks angezeigt, und eine Anpassung wird durchgeführt, während der angezeigte Grad berücksichtigt wird. Der Grad der Zielerreichung eines jeden Blocks variiert abhängig von einem Entwurfsstadium. Angenommen, daß Block 1 angepaßt werden soll, so ist es in vielen Fällen unsicher, in welchem Ausmaß eine Anpassung durchgeführt werden sollte, da die Verzögerungstoleranz der Blöcke 2 und 3 nicht bekannt ist. Wenn angenommen wird, daß die Grade der Zielerreichung der Blöcke 2 und 3 100 Prozent betragen und in diesem Fall unverändert gelassen werden, muß eine Verzögerung nur durch den Block 1 angepaßt werden. Wenn der/die Grad(e) der Zielerreichung eines anderen oder anderer zughöriger Blöcke zu diesem Zeitpunkt angezeigt werden, ist offensichtlich bewiesen, welche Blöcke angepaßt werden sollten. Eine proportionale Verteilung wird durchgeführt, während solch ein Grad der Zielerreichung berücksichtigt wird.
  • Der Grad der Zielerreichung wird von einem Entwerfer eines jeden Blocks als ungefährer Prozentsatz dargestellt, der den Verarbeitungsstatus seiner Entwurfsoperationen anzeigt. Wenn der Grad der Zielerreichung 100 Prozent ist, wenn eine Verzögerung mit einer proportionalen Verteilung angepaßt wird, wird der Betrag der Anpassung nämlich auf 0 eingestellt. Wenn beispielsweise die Grade der Zielerreichung von zwei Blöcken jeweils 30 und 50 Prozent sind, wird eine proportionale Verteilung durchgeführt, indem eine Gewichtung von 5:3 zugewiesen wird.
  • 11 erklärt das oben beschriebene Verfahren, das auf unterschiedliche Fälle angewendet wird.
  • Im Fall 1 sind die Grade der Zielerreichung der Blöcke 2 und 3 100 Prozent. Ein Block, der eine Verzögerung anpassen kann, ist deshalb nur Block 1 auf einem Weg von Block 1 zu Block 3, so daß die Verzögerung im Block 1 angepaßt werden muß. Im Fall 2 ist der Grad der Zielerreichung des Blocks 3 100 Prozent, und eine Verzögerung -kann nicht im Block 3 angepaßt werden. Jedoch sind die Grade der Zielerreichung der Blöcke 1 und 2 jeweils 50 und 30 Prozent. Dementsprechend kann die Verzögerung durch die Blöcke 1 und 2 angepaßt werden. Beispielsweise kann ein Verhältnis einer Verzögerungsanpassung, die durch die Blöcke 1 und 2 durchgeführt wird, auf 3:5 eingestellt werden. Im Fall 3 sind die Grade der Zielerreichung der Blöcke 1, 2 und 3 jeweils 50, 30 und 40 Prozent. Deshalb können alle Blöcke 1 bis 3 verwendet werden, um eine Verzögerung anzupassen. Ein Anpassungsverhältnis kann zu diesem Zeitpunkt auf 1/5: 1/3: 1/4 eingestellt werden. Oder die Verzögerung kann mit einem gleichen Verhältnis der entsprechenden Blöcke angepaßt werden, indem erkannt wird, daß die Grade der Zielerreichung ungefähr gleich sind.
  • Wenn eine Beschreibung eines Zeitablaufbudgets (eine Beschreibung der Eingangs- und Ausgangszeiten eines Blocks) in eine Beschreibung einer Zeitablaufbedingung (eine Beschreibung von Verzögerungswerten) umgewandelt wird, wird ein Verzögerungswert von einem Stift „A" zu einem Stift „X" als q-p in der Beschreibung der Zeitablaufbedingung berech net, beispielsweise wenn atime=p für den Eingangsstift „A" und dtime=q für den Ausgangsstift „X".
  • 12 stellt eine Beschreibung für das Gruppieren interner Speicherelemente dar.
  • In der bevorzugten erfindungsgemäßen Ausführungsform kann ein Taktversatz für interne Speicherelemente in einer Beschreibung eines Zeitablaufbudgets oder einer Beschreibung einer Zeitablaufbedingung eines Logikblocks bereitgestellt werden.
  • Für diese Umsetzung werden die internen Speicherelemente gruppiert, Namen wie „IL1", „IL2",... „ILn" usw. werden vergeben, Versatzwerte werden jeweils für die Gruppen angegeben, und die internen Speicherelemente, die zu den entsprechenden Gruppen gehören, werden numeriert.
  • Ein Beispiel einer Beschreibung ist in 12 gezeigt. In dieser Figur werden interne Signalspeicher „IL1" bis „IL4", die interne Speicherelemente darstellen, in einem Modell namens „CZEU2ALU A" beschrieben. Für „IL1", „IL2", „IL3" und IL4 werden die Taktversatze jeweils auf 0, 100, 300 und –100 ps eingestellt. Zusätzlich werden interne Speicherelemente, die solche Taktversatze haben, in entsprechenden Linien beschrieben und gruppiert.
  • 13 erklärt ein Verfahren, das Regeln aufstellt, um so eine Beschreibung in einem Verfahren zu vereinfachen, das für interne Speicherelemente in einer Beschreibung eines Zeitablaufbudgets oder einer Beschreibung einer Zeitablaufbedingung eines Logikblocks einen Taktversatz bereitstellt.
  • Wenn ein Symbol IL in einem Modell, wie es in (1) aus 13 gezeigt ist, ausgelassen wird, wird ein Taktversatz als 0 behandelt. Ein Versatzwert einer Gruppe, die einen Namen IL hat, wird als auf einen Vorgabewert wie in (2) aus 13 gezeigt, eingestellt erkannt. Wenn das gleiche Interne Speicherelemente sowohl in einer Gruppe mit einem Namen „ILn" (n ist eine ganze Zahl) als auch in einer Gruppe mit dem Namen „IL" eingeschlossen ist, wird der Einstellung von ILn der Vorrang gegeben. Wie in (3) aus 13 gezeigt, wird der Gruppenname eines internen Signalspeichers „IL" als ILn definiert. Für eine Beschreibung von Gruppen kann eine Gruppe, die einen größeren Wert „n" hat, vor einer Gruppe beschrieben werden, die einen kleineren Wert „n" hat, und Gruppennamen können angegeben werden, indem „n" verwendet werden, die nicht aufeinanderfolgen, sondern willkürlich sind. Wenn der Gruppenname „IL" zweifach definiert ist, wie in (4) aus 13 gezeigt, wird zusätzlich eine Warnung ausgegeben, und der Einstellung einer späteren Beschreibungsanweisung in einem Beschreibungsbefehl von IL-Gruppen wird der Vorrang gegeben. Wenn „FF", das ein anderes internes Speicherelement ist, zweifach definiert ist, wird eine Warnung ausgegeben, und Vorrang wird grundsätzlich einer späteren Gruppendefinitionsanweisung gegeben.
  • 14 stellt die Zeitablaufüberprüfung unter Berücksichtigung eines Taktversatzes beispielhaft dar.
  • Hier wird überprüft, ob eine Verzögerung zwischen Speicherelementen, die sich über Blöcke erstreckt, in eine Zielverzögerung gemäß einer Zwischenblocknetzliste, einer Beschreibung der Zeitablaufbedingung eines Blocks und dem oben beschriebenen Blockversatz interner Speicherelemente fällt.
  • Wenn beispielsweise ein Taktversatz 0 ps wie oben in 14 gezeigt ist, wird eine Zeitanpassung durchgeführt, indem überprüft wird, ob eine Zeitablaufzeit eines Wegs, die aus der oben beschriebenen Beschreibung der Eingangs- und Ausgangszeiten erhalten wird, in eine Zykluszeit (1000 ps in diesem Fall) fällt. Wenn der Taktversatz eines internen Signalspeichers „IL" auf einer Sendeseite –300 ps ist und derjenige eines internen Signalspeichers „IL" auf einer Empfangsseite 500 ps ist, wie in der Mitte der 14 gezeigt, wird zusätzlich überprüft, ob ein Zeitablauf in 1800 ps fällt, was erhalten wird, indem 300 und 500 ps zu der normalen Zykluszeit 1000 ps addiert wird. Dies beruht darauf, das der interne Signalspeicher auf der Empfangsseite um 300 ps voraus ist, während der interne Signalspeicher auf der Ausgangsseite um 500 ps hinterher ist. Selbst wenn der Zeitablauf hinter einer Zeitperiode hinterher ist, die erhalten wird, indem 800 ps einschließlich des Taktversatzes zu der Zykluszeit addiert wird, ist es deshalb immer noch ausreichend den Zeitablauf gemäß einem Takt einzuhalten. Wenn die Taktversatze interner Signalspeicher auf einer Empfangsseite und einer Ausgangsseite 0 beziehungsweise –200 ps sind, wie unten in 14 gezeigt, ist ein Takt auf der Ausgangsseite um 200 ps voraus. Deshalb muß ein Signal um diesen Zeitbetrag früher eintreffen. Dementsprechend muß der Zeitablauf des Wegs in 800 ps fallen, was erhalten wird, indem 200 ps von der Zykluszeit 1000 ps abgezogen wird.
  • Auf diese Weise kann eine Zeitablaufanpassung unter Berücksichtigung von Taktversatzen durchgeführt werden.
  • 15 erklärt ein Verfahren, das Signale oder Wege in einer Blockanordnung gemäß der bevorzugten erfindungsgemäßen Ausführungsform anzeigt.
  • Mit diesem Anzeigeverfahren werden Signale und kritische Wege in einem Blockdiagramm in einer Blockanordnung auf einem Bildschirm eines Endgeräts, das ein Entwerfer verwendet, auf Grundlage einer Korrespondenztabelle zwischen Signalnamen in dem Blockdiagramm und denjenigen in einer Netzliste angezeigt.
  • Ein Blockdiagramm, das auf der linken Seite von 15 gezeigt ist, veranschaulicht eine Zwischenverbindungsbeziehung zwischen Funktionsblöcken. In der Zwischenzeit ist die rechte Seite aus 15 ein Entwurfsplanungsbildschirm und veranschaulicht die Anordnung von aktuellen Elementen und Funktionsblöcken auf einer LSI. Solche Skizzen werden auf einem Bildschirm eines Endgeräts angezeigt, auf dem ein Entwurfswerkzeug, das ein Entwerfer verwendet, installiert ist. Der Entwerfer beschreibt Signale und Verdrahtung in dem Blockdiagramm für eine Anzeige, so daß er visuell auf dem Entwurfsplanungsbildschirm erkennen kann, auf welchen Wegen die beschriebenen Signale durchgehen und sich fortpflanzen, oder auf welchen Wegen die beschriebene Verdrahtung ausgeführt wird.
  • Im Ergebnis kann überprüft werden, ob Signalflüsse oder die Verdrahtung einer entworfenen LSI unerwünscht angeordnet sind oder nicht.
  • 16 zeigt ein weiteres Beispiel des Anzeigeverfahrens, das in 15 gezeigt ist.
  • In dieser bevorzugten erfindungsgemäßen Ausführungsform sind Signale gemäß einer Bedingung gruppiert, sind die Gruppen mit Namen bezeichnet, und sind die Signalflüsse in einer Blockanordnung auf Grundlage der vergebenen Gruppennamen angezeigt.
  • Wie durch eine Beschreibung in einem oberen linken Teil der 16 angezeigt, gibt „Zwischenblock" die Verdrahtung zwischen Blöcken an, „Länge ≥ 8000 Gitterpunkte" gibt an, daß die Verdrahtung, die eine Länge gleich oder größer als 8000 Gitterpunkte hat, auf einem Entwurfsplanungsbildschirm angezeigt wird, und ein Name „A" wird dieser Gruppe gegeben. „Zwischenblock(p, q)" zeigt Zwischenblöcke an, die durch „p" und „q" angegeben sind. „Bus A*" zeigt einen Block an, der mit einem Bus, der diesen Namen hat, verbunden ist und unter einem Gruppennamen „B" gruppiert ist. „Zwischenblock&& Länge ≥ 3000 Gitterpunkte =>C" ist ähnlich. Ein Anzeigebeispiel dieser Gruppierung ist in einem oberen rechten Teil der 16 gezeigt.
  • Wenn beispielsweise eine Verdrahtungslänge so lang wie eine Gruppe A ist, ist die Wahrscheinlichkeit hoch, daß die Verdrahtung normalerweise ausgeführt wird, indem ein sehr komplizierter Weg sofort nach dem Entwurf zurückverfolgt wird. Dementsprechend wird die Verdrahtung, deren Länge lang ist, auf einem Entwurfsplanungsbildschirm angezeigt, so daß sehr hilfreiche visuelle Information zur Berücksichtigung der Optimierung der Verdrahtung erhalten werden kann.
  • Wie unten in 16 gezeigt, wird zusätzlich eine Bedingung bestimmt, indem angenommen wird, daß es keine Wiederholerzellen gibt, wenn Signale gemäß der Bedingung gruppiert werden.
  • Dies ist für das Entwerfen einer neuen LSI effektiv, während Entwurfsinformation einer vorher entworfenen LSI als Hilfsmittel verwendet wird. Da die Entwurfsinformation eines vorher entworfenen LSI-Entwurfs nämlich Information eines vollständigen Produkts ist, werden Wiederholer an vielen Stellen eingefügt. Wenn eine neue LSI entworfen wird, führt er jedoch zu einer LSI, der Funktionen hat, die sich von denen der vorhergehenden LSI unterscheiden. Deshalb unterscheiden sich eine angebrachte Logik und Verdrahtung. Dementsprechend sind die Stellen von Wiederholern, die verwendet werden, um den Zeitablauf anzupassen, normalerweise anders als die einer vorhergehenden LSI. Deshalb ist es effizienter einen Entwurf zu beginnen, ohne Wiederholer für das Schätzen von Verzögerungswerten zu verwenden. Wenn die Entwurfsinformation einer vorhergehenden LSI als Hilfsmittel wieder verwendet wird, ist es deshalb effektiv, die oben beschriebene Bedingung für eine Anzeige, wie etwa eine Signalbedingung usw. unter der Annahme, daß es keine Wiederholer gibt, zu bestimmen und anzuzeigen.
  • In diesem Fall werden Signale normalerweise in dem Zustand „Wiederholer berücksichtigen", wie in einem oberen linken Teil der 16 gezeigt, gruppiert. Wenn jedoch angegeben wurde, daß Wiederholer ignoriert werden sollen, wird eine Bedingung unter der Annahme, daß es keine Wiederholer wie in dem Fall „Wiederholer ignorieren" gibt, bestimmt und die Signale werden gruppiert.
  • Ein unteres Teil der 16 zeigt das Konzept für den Fall, das Wiederholer in der Entwurfsinformation eingeschlossen sind, aber zur Zeit einer Anzeige ignoriert werden. Ein Verzögerungsbetrag weicht abhängig davon ab, ob die Wiederholer berücksichtigt werden oder nicht. Deshalb wird eine Verzögerung durch Ansehen der Anzeige geeignet entworfen.
  • 17 ist ein Blockdiagramm, das den Aufbau einer Vorrichtung zum Entwerfen von Zeitablaufbudgets gemäß der bevorzugten erfindungsgemäßen Ausführungsform zeigt.
  • Eine Vorrichtung 10 zum Entwerfen von Zeitablaufbudgets gemäß dieser bevorzugten Ausführungsform umfaßt eine Einheit 11 zum Beschreiben einer Modell/Zeitablauf-Bedingung, eine Einheit 12 zum Durchführen von Operationen, ein vorhandenes Entwurfswerkzeug 13, und eine Anzeigeeinrichtung 14. Ein Nutzer, der ein LSI-Entwerfer ist, entwirft eine LSI mit dem vorhandenen Entwurfswerkzeug (13?). Zu diesem Zeitpunkt macht der Nutzer einen Entwurf, während notwendige Informationen auf der Anzeigeeinrichtung 14 angezeigt wird. wenn ein Logikblock gebaut wird und eine Netzliste oder eine Blockanordnung erzeugt wird. Zu diesem Zeitpunkt wird ein Entwurf gemacht, während ein Zeitablaufbudget in dieser bevorzugten erfindungsgemäßen Ausführungsform ausgewertet wird. Für diese Umsetzung umfaßt die Vorrichtung 10 zum Entwerfen von Zeitablaufbudgets die Einheit 11 zum Beschreiben eines Modells/Zeitablaufbedingung und die Einheit 12 zum Durchführen von Operationen, die Operationen durchführt, die für die Beschreibung eines Modells oder einer Zeitablaufbedingung erforderlich sind.
  • Die Einheit 11 zum Beschreiben eines Modells/Zeitablaufbedingung interpretiert eine Modellbeschreibung und eine Beschreibung einer Zeitablaufbedingung wie diejenigen, die in 2 gezeigt sind, baut ein Modell, und zeigt das gebaute Modell auf der Anzeigeeinrichtung 14 an. Wenn ein Verfahren zu Anpassen eines Zeitablaufs oder eine Verdrahtungsanzeige auf einem Entwurfsplanungsbildschirm durchgeführt wird, wird die Einheit 12 zum Durchführen von Operationen veranlaßt, die notwendigen Operationen durchzuführen, und die Anzeigeeinrichtung 14 wird veranlaßt, ein Ergebnis der Operationen anzuzeigen.
  • Der Nutzer, der ein LSI-Entwerfer ist, bringt den Entwurf interaktiv voran, während er die Anzeige auf der Anzeigeeinrichtung 14 sieht, und berichtigt die Entwurfstadien, die in 1 gezeigt sind, während er ein Zeitablaufbudget mit einem Modell anpaßt.
  • 18 zeigt die Hardwareumgebung eines Computers, die erforderlich ist, wenn die Vorrichtung zum Entwerfen von Zeitablaufbudgets gemäß der bevorzugten erfindungsgemäßen Ausführungsform durch ein Programm umgesetzt wird. Eine CPU 21 führt ein Programm aus, während sie sequentiell das Programm von einem ROM 22 oder einem RAM 21 liest, der über einen Bus 20 verbunden ist. Das Programm, das die bevorzugte erfindungsgemäße Ausführungsform umsetzt, wird durch die CPU21 ausgeführt, nachdem es von einer Speichereinrichtung 27 wie einer Harddisk usw. zu dem RAM 23 kopiert wurde. Oder das Programm, das auf einem tragbaren Speichermedium 29 wie einer Floppydisk einer CD-ROM, eine DVD, einer MO usw. gespeichert ist, wird von einer Leseeinrichtung 28, die auf den RAM 23 kopiert wurde, gelesen und durch die CPU 32 ausgeführt. Zusätzlich kann das Programm, das auf dem tragbaren Speichermedium 29 gespeichert ist, ausgeführt werden, nachdem es durch Kopieren auf das Speichermedium 27 auf einem Computer installiert wurde.
  • Eine Eingabe/Ausgabe-Einrichtung 30 wird durch ein Keyboard, eine Maus, eine Vorlage, einen CRT-Monitor, einen LCD-Monitor usw. konfiguriert. Die Eingabeeinrichtung 30 benachrichtigt die CPU 21 über eine Eingabe von einem Nutzer, der ein LSI-Entwerfer ist, als ein Befehl oder veranlaßt die Speichereinrichtung 27, eine Modellbeschreibung wie eine Zeitablaufbeschreibung usw. zu speichern. Oder die Eingabeeinrichtung 30 wird verwendet, um ein Modell grafisch anzuzeigen, oder einen Entwurfsplanungsbildschirm anzuzeigen.
  • Eine Kommunikationsschnittstelle 24 verbindet einen Computer mit einem Informationsprovider 26 über ein Netzwerk 25 und ermöglicht es, daß das Programm von dem Informationsprovider 26 gedownloadet wird. Oder eine Verbindung kann zu einem Nutzer, der ein LSI-Entwerfer ist und einen weiteren Logikblock entwirft, statt zu dem Informationsprovider 26 hergestellt werden, und der Nutzer kann das Programm unter der Netzwerkumgebung ausführen, um den Entwurf voranzubringen. In diesem Fall kann der Grad der Zielerreichung, der von jedem Entwerfer eingestellt wird, allen Nutzern, die LSI-Entwerfer sind, über das Netzwerk mitgeteilt werden, wodurch die Entwurfsumgebung bequemer gemacht werden kann.
  • Erfindungsgemäß wird ein LSI-Entwurf sequentiell vorangebracht, während ein Zeitablaufbudget ausgewertet wird. Deshalb wird es möglich, die Anzahl der Fälle zu verringern, in denen der Signalübertragungszeitablauf eine erforderliche Bedingung nicht erfüllt, nachdem ein genauer Entwurf gemacht wurde, wodurch die Anzahl der Wiederholungen in einem LSI-Entwurfsstadium verringert wird, und der LSI-Entwurf billig und effizient vorangebracht wird.

Claims (14)

  1. Verfahren zum Entwerfen von Zeitablaufbudgets, das einen LSI-Entwurf voranbringt, während ein Zeitablaufbudget ausgewertet wird, mit: Entwerfen einer Logik, die in einer LSI eingebettet werden soll, und Unterteilen der Logik in Logikblöcke; Einstellen eines Verzögerungswerts zwischen Stiften eines Logikblocks und Bauen eines Signalverzögerungsmodells; Anzeigen des eingestellten Verzögerungswerts für einen Entwerfer zusammen mit einer Zwischenverbindungsbeziehung zwischen den Logikblöcken; und Entwerfen der Logikblöcke durch Berücksichtigung des Verzögerungswerts; wobei eine Zeitablaufbedingung eines Zeitablaufs für eine Signalfortpflanzung durch Berechnen von Signaleingangs/Signalausgangszeiten bei/von einem Logikblock von dem Verzögerungswert beschrieben wird; und wobei, wenn ein Zeitablaufbudget interner Speicherelemente über mehrere Logikblöcke nicht in einen Zielwert auf Grundlage der Zeitablaufbedingung fällt, ein neues Zeitablaufbudget der Blöcke durch Verändern des Zeitablaufbudgets gemäß einer proportionalen Verteilung unter Berücksichtigung eines Grads der Erreichung des Entwurfs von jedem Logikblock erzeugt wird.
  2. Verfahren zum Entwerfen von Zeitablaufbudgets nach Anspruch 1, wobei die Stifte des Logikblocks gruppiert sind, und der größte Verzögerungswert von einem Stift zu einem Stift eingestellt wird.
  3. Verfahren zum Entwerfen von Zeitablaufbudgets nach Anspruch 1, wobei, wenn mehrere Verzögerungswerte als der Verzögerungswert berücksichtigt werden, ein maximaler Wert der mehreren Verzögerungswerte als repräsentativer Wert eingestellt wird.
  4. Verfahren zum Entwerfen von Zeitablaufbudgets nach Anspruch 1, wobei, wenn mehrere interne Speicherelemente in dem Logikblock vorhanden sind, die mehreren internen Speicherelemente kollektiv durch einen internen Signalspeicher dargestellt werden, und ein Verzögerungswert für die internen Speicherelemente, die durch den einen internen Signalspeicher dargestellt werden, in dem Schritt zum Einstellen des Verzögerungswerts eingestellt wird.
  5. Verfahren zum Entwerfen von Zeitablaufbudgets nach Anspruch 1, wobei die Logikblöcke eine hierarchische Struktur haben, so daß ein Logikblock einen weiteren Logikblock einschließt.
  6. Verfahren zum Entwerfen von Zeitablaufbudgets nach Anspruch 1, wobei der Verzögerungswert durch Verwendung von Information eingestellt wird, die von einer Netzliste erhalten wird.
  7. Verfahren zum Entwerfen von Zeitablaufbudgets nach Anspruch 1, wobei ein Zeitablaufbudget eines Logikblocks, der bereits entworfen wurde, unverändert gelassen wird, wenn das Zeitablaufbudget verändert wird.
  8. Verfahren zum Entwerfen von Zeitablaufbudgets nach Anspruch 1, wobei ein Taktversatz internen Speicherelementen zusätzlich zu dem Verzögerungswert bereitgestellt wird, und der Entwurf des Logikblocks unter Berücksichtigung des Verzögerungswerts und des Taktversatzes durchgeführt wird.
  9. Verfahren zum Entwerfen von Zeitablaufbudgets nach Anspruch 1, wobei ein Signalfluß oder eine Weganordnung auf einem Entwurfsplanungsbildschirm durch Signalnamen, die in dem Logikblock angegeben sind, und durch Signalnamen in einer Netzliste angezeigt wird.
  10. Verfahren zum Entwerfen von Zeitablaufbudgets nach Anspruch 9, wobei der Signalfluß oder die Weganordnung durch Gruppieren von Signalen oder Wegen gemäß einer Bedingung und durch Angeben der gruppierten Signale oder Wege angezeigt wird.
  11. Verfahren zum Entwerfen von Zeitablaufbudgets nach Anspruch 10, wobei die Bedingung durch die Tatsache bestimmt wird, daß es keine Wiederholer auf einem Weg gibt, wenn die Bedingung, die zu dem Zeitpunkt einer Anzeige der Signale oder Wege verwendet wird, bestimmt wird.
  12. Vorrichtung zum Entwerfen von Zeitablaufbudgets, die einen LSI-Entwurf voranbringen, während ein Zeitablaufbudget ausgewertet wird, mit: Mitteln zum Entwerfen einer Logik, die in einer LSI eingebettet sein soll, und Unterteilen der Logik in Logikblöcke; Mitteln (11) zum Einstellen eines Verzögerungswerts zwischen Stiften eines Logikblocks und Bauen eines Signalverzögerungsmodells; Mitteln (12,14) zum Anzeigen des eingestellten Verzögerungswerts für einen Entwerfer zusammen mit einer Zwischenverbindungsbeziehung zwischen den Logikblöcken; und Mitteln zum Entwerfen des Logikblocks unter Berücksichtigung des Verzögerungswerts; Mitteln, durch die eine Zeitablaufbedingung eines Zeitablaufs für eine Signalfortpflanzung durch Berechnen von Signaleingangs/Signalausgangszeiten bei/von einem Logikblock von dem Verzögerungswert beschrieben wird; und Mitteln, durch die, wenn ein Zeitablaufbudget interner Speicherelemente über mehrere Logikblöcke nicht in einen Zielwert auf Grundlage der Zeitablaufbedingung fällt, ein neues Zeitablaufbudget der Blöcke durch Verändern eines Zeitablaufbudgets von jedem Logikblock gemäß einer proportionalen Verteilung unter Berücksichtigung eines Grads der Erreichung des Entwurfs von jedem Logikblock erzeugt wird.
  13. Programm, um einen Computer zu veranlassen, ein Verfahren zum Entwerfen von Zeitablaufbudgets auszuführen, das einen LSI-Entwurf voranbringt, während ein Zeitablaufbudget ausgewertet wird, wobei das Verfahren umfaßt: Entwerfen einer Logik, die in eine LSI eingebettet werden soll, und Unterteilen der Logik in Logikblöcke; Einstellen eines Verzögerungswerts zwischen Stiften eines Logikblocks und Bauen eines Signalverzögerungsmodells; Anzeigen des eingestellten Verzögerungswerts für einen Entwerfer zusammen mit einer Zwischenverbindungsbeziehung zwischen den Logikblöcken; und Entwerfen der Logikblöcke unter Berücksichtigung des Verzögerungswerts, wobei eine Zeitablaufbedingung eines Zeitablaufs für eine Signalfortpflanzung durch Berechnen der Signaleingangs/Signalausgangszeiten bei/von einem Logikblock von dem Verzögerungswert beschrieben wird; und wobei, wenn ein Zeitablaufbudget interner Speicherelemente über mehrere Logikblöcke nicht in einen Zielwert auf Grundlage der Zeitablaufbedingung fällt, ein neues Zeitablaufbudget der Blöcke durch Verändern eines Zeitablaufbudgets gemäß einer proportionalen Verteilung unter Berücksichtigung eines Grads der Erreichung des Entwurfs von jedem Logikblock erzeugt wird.
  14. Computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, um einen Computer zu veranlassen, ein Verfahren zum Entwerfen von Zeitablaufbudgets auszuführen, das einen LSI-Entwurf voranbringt, während ein Zeitablaufbudget ausgewertet wird, wobei das Verfahren umfaßt: Entwerfen einer Logik, die in eine LSI eingebettet werden soll, und Unterteilen der Logik in Logikblöcke; Einstellen eines Verzögerungswerts zwischen Stiften eines Logikblocks und Bauen eines Signalverzögerungsmodells; Anzeigen der eingestellten Werte für einen Entwerfer zusammen mit einer Zwischenverbindungsbeziehung zwischen den Logikblöcken; und Entwerfen der Logikblöcke unter Berücksichtigung des Verzögerungswerts, wobei eine Zeitablaufbedingung eines Zeitablaufs für eine Signalfortpflanzung durch Berechnen der Signaleingangs/Signalausgangszeiten bei/von einem Logikblock von den Verzögerungswert beschrieben wird; und wobei, wenn ein Zeitablaufbudget interner Speicherelemente über mehrere Logikblöcke nicht in einen Zielwert auf Grundlage der Zeitablaufbedingung fällt, ein neues Zeitablaufbudget der Blöcke durch Verändern eines Zeitablaufbudgets gemäß einer proportionalen Verteilung unter Berücksichtigung eines Grads der Erreichung des Entwurfs von jedem Logikblock erzeugt wird.
DE60116972T 2001-07-12 2001-11-06 Verfahren zum Entwerfen von Zeitablaufbudgets Expired - Lifetime DE60116972T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001211556 2001-07-12
JP2001211556A JP3953756B2 (ja) 2001-07-12 2001-07-12 タイミングバジェット設計方法

Publications (2)

Publication Number Publication Date
DE60116972D1 DE60116972D1 (de) 2006-04-13
DE60116972T2 true DE60116972T2 (de) 2006-08-10

Family

ID=19046845

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60116972T Expired - Lifetime DE60116972T2 (de) 2001-07-12 2001-11-06 Verfahren zum Entwerfen von Zeitablaufbudgets

Country Status (5)

Country Link
US (1) US6684374B2 (de)
EP (1) EP1276060B1 (de)
JP (1) JP3953756B2 (de)
KR (1) KR100704577B1 (de)
DE (1) DE60116972T2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2450135A1 (en) * 2001-06-08 2002-12-19 Magma Design Automation, Inc. Method for generating design constraints for modulates in a hierarchical integrated circuit design system
US6836874B2 (en) * 2002-06-26 2004-12-28 Agilent Technologies, Inc. Systems and methods for time-budgeting a complex hierarchical integrated circuit
JP2005149273A (ja) * 2003-11-18 2005-06-09 Matsushita Electric Ind Co Ltd 半導体集積回路のフロアプラン装置及びフロアプラン方法
US7213223B2 (en) * 2004-11-19 2007-05-01 Lsi Logic Corporation Method of estimating a total path delay in an integrated circuit design with stochastically weighted conservatism
US7263678B2 (en) * 2005-03-15 2007-08-28 Lsi Corporation Method of identifying floorplan problems in an integrated circuit layout
JP4294000B2 (ja) * 2005-03-24 2009-07-08 富士通株式会社 クロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体
JP4213195B2 (ja) * 2005-08-09 2009-01-21 富士通株式会社 遅延時間解析装置、制御方法及びプログラム
US8504978B1 (en) * 2009-03-30 2013-08-06 Cadence Design Systems, Inc. User interface for timing budget analysis of integrated circuit designs
US9098661B1 (en) * 2008-12-10 2015-08-04 The Mathworks, Inc. Extensible platform for back-annotation of target-specific characterization onto a model of a hardware system
JP5564231B2 (ja) * 2009-10-16 2014-07-30 株式会社日立情報通信エンジニアリング Lsi設計方法及びプログラム
US8397197B1 (en) * 2011-05-25 2013-03-12 Applied Micro Circuits Corporation Integrated circuit module time delay budgeting
CN105447215B (zh) * 2014-09-24 2018-07-27 瑞昱半导体股份有限公司 数字电路设计方法及相关的系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095454A (en) * 1989-05-25 1992-03-10 Gateway Design Automation Corporation Method and apparatus for verifying timing during simulation of digital circuits
US5222030A (en) * 1990-04-06 1993-06-22 Lsi Logic Corporation Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof
US5648913A (en) * 1993-03-29 1997-07-15 Xilinx, Inc. Frequency driven layout system and method for field programmable gate arrays
US5903472A (en) * 1996-10-25 1999-05-11 Advanced Micro Devices, Inc. Method for performing floorplan timing analysis by selectively displaying signal paths based on slack time calculations and integrated circuit made using same
US6510542B1 (en) * 1998-10-08 2003-01-21 Kabushiki Kaisha Toshiba Method of placing a repeater cell in an electricalcircuit
JP2000187676A (ja) * 1998-12-22 2000-07-04 Mitsubishi Electric Corp 論理合成装置および論理合成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001142922A (ja) * 1999-11-15 2001-05-25 Matsushita Electric Ind Co Ltd 半導体集積回路装置の設計方法
US6415426B1 (en) * 2000-06-02 2002-07-02 Incentia Design Systems, Inc. Dynamic weighting and/or target zone analysis in timing driven placement of cells of an integrated circuit design

Also Published As

Publication number Publication date
JP2003030267A (ja) 2003-01-31
KR100704577B1 (ko) 2007-04-06
US20030014720A1 (en) 2003-01-16
EP1276060B1 (de) 2006-02-01
JP3953756B2 (ja) 2007-08-08
EP1276060A2 (de) 2003-01-15
US6684374B2 (en) 2004-01-27
EP1276060A3 (de) 2003-09-24
KR20030006900A (ko) 2003-01-23
DE60116972D1 (de) 2006-04-13

Similar Documents

Publication Publication Date Title
DE60116972T2 (de) Verfahren zum Entwerfen von Zeitablaufbudgets
DE10137574B4 (de) Verfahren, Computerprogramm und Datenverarbeitungsanlage zur Verarbeitung von Netzwerktopologien
DE69724245T2 (de) Verfahren zur plazierung von taktpuffern in einem taktverteilungssystem
DE102015200694A1 (de) Verfahren, computersystem und computerlesbares speichermedium zum erzeugen eines layouts eines integrierten schaltkreises
DE69738556T2 (de) Interaktiver cad-apparat zum entwerfen des zusammenbaus von logischen schaltungen
DE102006020186A1 (de) Vorrichtung und Verfahren von Verzögerungsberechnung für strukturierte ASIC
DE69532307T2 (de) Ausdrucks-Propagierung für hierarchisches Netzlisten
DE10230135A1 (de) Verfahren zum Sicherstellen korrekter Anschlußstiftzuordnungen zwischen Systemplatinenverbindungen unter Verwendung gemeinsamer Abbildungsdateien
DE19630927A1 (de) Verfahren zur Berechnung einer Störlast in einer integrierten Halbleiterschaltung
DE19947892C2 (de) Verfahren zur Umsetzung von Schnittstellendefinitionen und Zwischenformattabelle dafür
DE69718134T2 (de) Verfahren zur Herstellung einer hochintegrierten Schaltung
DE10205559B4 (de) Integrierte Schaltung und Verfahren und Vorrichtung zum Entwurf einer integrierten Schaltung
DE10000451A1 (de) Taktsignalanalyseeinrichtung und Taktsignalanalyseverfahren
DE102015102034A1 (de) Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt
WO2011038863A1 (de) Verfahren und anordnung zum installieren und konfigurieren eines computersystems
EP0202573A2 (de) In C-MOS-Technik realisierte Basiszelle und Verfahren zur automatischen Generierung einer derartigen Basiszelle
EP1543452B1 (de) Verfahren zum bestimmen der anordnung von kontaktflächen auf der aktiven oberseite eines halbleiterchips
JPH09274623A (ja) 伝送線路シミュレーションシステムとそれを用いた伝送線路シミュレーション方法
EP1396801A1 (de) Verfahren zum Entwickeln eines elektronischen Bausteins
DE112013005831T5 (de) Netzlistenabstraktion
DE102006060322A1 (de) Verfahren und Vorrichtung zum automatischen Testen von modellbasierten Funktionen
DE102017104049B4 (de) Verfahren und vorrichtung zum überprüfen der zuverlässigkeit eines chips
DE10104233B4 (de) Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte Halbleiterschaltungsanordnungen
DE10055679A1 (de) Verfahren, Computersystem und Computerprogramm-Produkte zur modellbasierten Generierung von Testszenarien
DE10085006B4 (de) Verfahren zur Übersetzung von Prüfvektoren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE