Question

Je veux analyser un circuit numérique combinatoires. Un fichier ASCII contient la description du circuit, selon le format suivant:

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

Où: <name> est une chaîne avec pas plus de 20 caractères avec le nom de la porte logique. <logic gate> est une chaîne avec pas plus de 20 caractères qui identifie le type de porte logique. Il peut être INPUT, OUTPUT, AND, OR, NOT. <inputs> est un nombre entier égal à 0 pour l'entrée, pour une ou NON SORTIE, 2 pour ET et OU. <outputs> est un nombre entier égal à 0 pour la sortie ou Greter à 0 sinon. <input 1>, <last input>, <output> sont des chaînes avec pas plus de 20 caractères chacun, qui identifie les noms du réseau d'entrée / sortie pour les portes logiques. <delay> est un entier qui identifie le temps la porte logique nécessaire pour le calcul de sa fonction.

Le programme, après lecture du fichier contenant la description du circuit, a pour calculer le chemin critique du circuit, qui peut être défini comme étant le chemin reliant une grille du type d'entrée avec l'un des types OUTPUT pour lesquels la somme du retard des portes dans le chemin est le plus élevé parmi tous les chemins possibles dans le circuit.

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?

Exemple

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.

Comment puis-je implent cela.

Était-ce utile?

La solution

Si je comprends bien votre question, vous êtes vraiment vouloir savoir quel algorithme devriez-vous utiliser pour calculer le chemin critique. Cela semble similaire à un « ce qui est le plus court chemin? » - type de question. Je vous recommande l'algorithme de Dijkstra pour ce problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top