0

組み合わせデジタル回路を分析したい。ASCIIファイルには、次の形式に従って回路の説明が含まれています。

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

ここで、: <name>は、論理ゲートの名前を持つ20文字以下の文字列です。 <logic gate>論理ゲートのタイプを識別する20文字以下の文字列です。INPUT、、、、、にすることOUTPUTができます。 は、INPUTの場合は0、NOTまたはOUTPUTの場合は1、ANDの場合は2、ORの場合は2に等しい整数です。 OUTPUTの場合は0に等しい整数、それ以外の場合は0よりも大きい整数です。 、>は、それぞれ20文字以下の文字列であり、論理ゲートの入出力ネットの名前を識別します。 論理ゲートがその機能を計算するのにかかる時間を識別する整数です。ANDORNOT<inputs><outputs><input 1><last input>, <output<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.

どうすればこれを実行できますか?

4

1 に答える 1

1

私があなたの質問を正しく理解していれば、クリティカル パスを計算するためにどのアルゴリズムを使用する必要があるかを本当に知りたがっています。これは、「最短経路は?」という質問に似ています。この問題にはダイクストラのアルゴリズムをお勧めします。

于 2010-12-25T19:56:00.827 に答える