1

私は、MATLABのmexコマンドでコンパイルすることを目的とした一連の音声処理ルーチン(Cで記述)を使用しています。FPGAを使用して高速化することに興味があるこのC関数があります。

ハードウェアは、入力ポートを介して指定された入力パラメーターを受け取り、残りの入力はハードコーディングされる定数として受け取り、C関数内のどこかで特定の変数(たとえばfoo)を出力ポートに渡します。

fooの計算グラフ(これが正しい用語かどうかわからない)をトレースすることに興味があります。つまり、fooが中間計算変数にどのように関連するか。中間計算変数は、最終的には入力パラメーターとハードコードされた定数に依存します。これは、ロジックをフラット化して、ハードウェア記述言語を使用してコーディングできるようにするとともに、 fooの値に影響を与えない無関係なロジックを削除できるようにするためです。欠点は、一部の中間変数がグローバルであるため、トレースが頭痛の種になることです。

特定のCヘッダーとソースファイルのセットを分析し、使用されているすべての変数のある種の依存関係グラフを使用して、指定された変数がどのように変更されたかを追跡する手段を提供する自動化ツールはありますか?

4

1 に答える 1

1

あなたが探しているのは、価値分析を行うためのツールだと思います。

これを行うために利用できるツールの中で、 CodeSurferはおそらくそこにある最高のものだと思います。もちろん、それもかなり高価ですが、あなたが学生であれば、彼らはアカデミックライセンスプログラムを持っています。オープンソース側では、Frama-Cはこれをより限定された方法で実行することもでき、学習曲線がはるかに急になります。しかし、それは無料で、あなたが行きたいところにあなたを連れて行きます。

于 2011-02-16T02:09:25.270 に答える