Frage

Ich möchte einen kombinatorischen digitalen Schaltkreis analysieren. Eine ASCII -Datei enthält die Beschreibung der Schaltung gemäß dem folgenden Format:

<name> <logic gate> <inputs> <outputs> <input 1>…<last input> <output> <delay>

Wo:<name> ist eine Zeichenfolge mit nicht mehr als 20 Zeichen mit dem Namen des Logikgores.<logic gate> ist eine Zeichenfolge mit nicht mehr als 20 Zeichen, die die Art des Logikgores identifiziert. Es kann sein INPUT, OUTPUT, AND, OR, NOT. <inputs> ist eine Ganzzahl gleich 0 für Eingabe, 1 für nicht oder Ausgabe, 2 für und und oder.<outputs> ist eine Ganzzahl, die 0 für die Ausgabe entspricht, oder Greter als 0, sonst.<input 1>, <last input>, <output> sind Saiten mit jeweils nicht mehr als 20 Zeichen, was die Namen des Eingangs-/Ausgangsnetzes für die Logik -Tore identifiziert.<delay> ist eine Ganzzahl, die die Zeit identifiziert, die das Logik -Gate für die Berechnung seiner Funktion benötigt.

Das Programm muss nach dem Lesen der Datei, die die Schaltungsbeschreibung enthält Auf dem Pfad ist der höchste unter allen möglichen Pfaden in der Schaltung.

Can anyone please tell me the data structures that are best suited for storing the information the program has to elaborate.
How could i load the the data structure into the memory?

Beispiel

A INPUT 0 1 net1 1
B INPUT 0 1 net2 1
C INPUT 0 1 net3 1
G1 NOT 1 1 net1 net4 1
G2 OR 2 1 met3 net4 net5 1
G3 AND 2 1 net4 net2 net6 2
G4 AND 2 1 net6 net5 net7 2
D OUTPUT 1 0 net6 1
E OUTPUT 1 0 E 1 



In this example the critical path is A/G1/G2/G4/E with a delay of 7.

Wie kann ich das implizieren.

War es hilfreich?

Lösung

Wenn ich Ihre Frage richtig verstehe, möchten Sie wirklich wissen, welchen Algorithmus Sie verwenden sollen, um den kritischen Pfad zu berechnen. Dies scheint ähnlich wie "Was ist der kürzeste Weg?"-Art der Frage. Ich würde empfehlen Dijkstra -Algorithmus für dieses Problem.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top