Нужна помощь относительно того, как реализовать это .. выбор лучшей структуры данных - PullRequest
0 голосов
/ 25 декабря 2010

Я хочу проанализировать комбинационную цифровую схему.Файл ASCII содержит описание схемы в следующем формате:

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

Где: <name> - строка, содержащая не более 20 символов с именем логического элемента.<logic gate> - это строка, содержащая не более 20 символов, определяющая тип логического элемента.Это может быть INPUT, OUTPUT, AND, OR, NOT.<inputs> - это целое число, равное 0 для INPUT, 1 для NOT или OUTPUT, 2 для AND и OR.<outputs> - это целое число, равное 0 для OUTPUT, или больше 0 в противном случае.<input 1>, <last input>, <output> - это строки длиной не более 20 символов, которые идентифицируют имена сети ввода / вывода для логических элементов.<delay> - это целое число, которое определяет время, которое затрачивается логическим элементом для вычисления его функции.

Программа, прочитав файл, содержащий описание схемы, должна рассчитать критический путь схемы, который можетопределяется как путь, соединяющий затвор типа INPUT с одним из типов OUTPUT, для которого сумма задержки затворов в пути является самой высокой среди всех возможных путей в цепи.

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?

Пример

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.

Как я могу это реализовать .?

1 Ответ

1 голос
/ 25 декабря 2010

Если я правильно понимаю ваш вопрос, вы действительно хотите знать, какой алгоритм следует использовать для вычисления критического пути.Это похоже на вопрос типа «какой кратчайший путь?».Я бы порекомендовал Алгоритм Дейкстры для этой проблемы.

...