Pregunta

quiero analizar un circuito digital combinacional. Un archivo ASCII contiene la descripción del circuito, de acuerdo con el siguiente formato:

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

Donde: <name> es una cadena con no más de 20 caracteres con el nombre de la puerta lógica. <logic gate> es una cadena con no más de 20 caracteres que identifica el tipo de puerta lógica. Puede ser INPUT, OUTPUT, AND, OR, NOT. <inputs> es un número entero igual a 0 para la entrada, 1 para NO o salida, 2 para Y, y OR. <outputs> es un número entero igual a 0 para la salida, o Greter de 0 en caso contrario. <input 1>, <last input>, <output> son cadenas con no más de 20 caracteres cada una, que identifica los nombres de la red de entrada / salida para las puertas lógicas. <delay> es un número entero que identifica el tiempo la puerta lógica toma para el cálculo de su función.

El programa, después de leer el archivo que contiene la descripción del circuito, tiene que calcular la ruta crítica del circuito, que se puede definir como la ruta de la conexión de una puerta del tipo de entrada con uno de tipo de salida para los que la suma del retardo de las puertas de la ruta es la más alta entre todos los posibles caminos en el circuito.

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?

Ejemplo

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.

¿Cómo puedo cuasi experimental esto.?

¿Fue útil?

Solución

Si entiendo bien su pregunta, en realidad está queriendo saber qué algoritmo se debe utilizar con el fin de calcular la ruta crítica. Esto parece similar a un "¿cuál es el camino más corto?" - tipo de pregunta. Me gustaría recomendar Algoritmo de Dijkstra para este problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top