3

FPGA デザイン、特にエンベデッド (microblaze) ソフトウェア用に VHDL および C でプログラムされたザイリンクス FPGA に最適なコンフィギュレーション管理ツールはどれですか?

4

7 に答える 7

5

「ベスト」というものはありませんが、ソフトウェアで機能する構成制御ソリューションは FPGA でも問題ありません。フローは非常に似ています。仕事では Subversion を、家では git を使用しており、「なぜ」についてブログに少し書いています。

他の回答では、バイナリ ファイルが引き続き言及されています。私が扱う唯一のバイナリ ファイルはコンパイル製品 (ソフトウェア オブジェクトと実行可能ファイルに相当) であるため、バージョン管理リポジトリには保持せず、リリースごとに zip ファイルを保持します。重要な (そしてイライラするほど再現が遅い) タグをすべて入れて作成したタグです。

于 2012-01-09T16:05:13.763 に答える
1

私は個人的に FPGA プロジェクトに Perforce、Subverion、git、および ClearCase を使用してきました。VHDL と C は単なるテキスト ファイルなので、どれでも問題なく動作します。ただし、他のプロジェクト ファイル、制約ファイル、および使用するすべてのライブラリを必ずキャプチャしてください。

また、ログ ファイルやビットストリームなどの出力をどうするかについても検討してください。どちらも大きくなる傾向があり、ビットストリームはバイナリです。

于 2010-06-10T18:23:23.937 に答える
1

どのリビジョン管理ツールを使用するかは大した問題ではないと思います。一般的に良いと思われるものであれば、おそらくここでは問題ないと思います。私は個人的に、大規模な Verilog + ソフトウェア プロジェクトに Git を使用しており、非常に満足しています。

どのようなバージョン管理を使用していても、困惑するのは次のとおりです。 ザイリンクス ツールは一般に、「入力」と「出力」、または (人間が編集した) 「ソース」と「出力」を明確に区別しません。 (不透明) 「バイナリ」。ツールの多くは、最終実行時間やハッシュ値などの状態情報を「入力」ファイルに保存することを好みます。これは、多くの誤った変更を取得することを意味します。Coregen はこれを .xco ファイルに対して行い、プロジェクト ナビゲーター (メイン GUI) はこれを .xise ファイルに対して行います。また、どちらのツールにも、一見ランダムに、デフォルト値のパラメーターの行を挿入または削除する習慣があります。

私が遭遇した最大の問題は、Coregen のワークフローです。多くの場合、次の少なくとも 1 つが当てはまります。

  1. Coregen で生成された HDL ファイルを手動で編集する必要があります。
  2. Coregen に入力されたパラメーターは、.xco ファイル以外の場所 (通常は出力ファイルのようなもの) に保存されます。
  3. Coregen からの出力を最上位デザインにコピー アンド ペーストする必要があります。

これは、コア生成プロセスへの入力用に単一の論理的なソース/マスターの場所がないことを意味します。そのため、.xco ファイルをバージョン管理下に置いたとしても、実行中のデザインがそれに対応しているとは限りません。公称入力から「同じ」コアを再生成すると、正しい出力が得られない可能性があります。また、合併についても考えないでください。

于 2012-05-21T15:13:23.803 に答える
1

私たちは Perforce を使用しています。Linux ランドにあるコードを、Windows ランドにあるスペックとドキュメントと並べてチェックインできます。そして、分岐、ラベルなどを取得します。

私は、Clearcase から RCS まで、あらゆるものが使用されているのを見てきました。重要なことは、グループのために確立された適切なチェックイン ポリシーのセットを取得し、それを確実に遵守することです。

また、夜間の回帰を自動化しています。そうすれば、誰かがルールを破ると、その人物を特定し、公に恥をかかせることができます。

于 2010-08-01T21:07:04.157 に答える
1

バージョンのラベル付けとバイナリ ファイルをサポートする CM ツールをお勧めします。ほとんどのソフトウェア CM アプリケーションは、ASCII テキスト ファイルで問題ありません。更新のためにファイル全体ではなく、「差分」ファイルを保存するだけかもしれません。

私の推奨事項: PVCS、ClearCase、および Subversion。Microsoft SourceSafe は使用しないでください。リビジョンごとに 1 つのラベルしかサポートしないので、私はそれが好きではありません。

于 2010-06-05T21:32:18.870 に答える
1

Perforce と Subversion が FPGA 集約型の企業で使用されているのを見てきました。

于 2010-06-09T04:41:48.870 に答える
1

以前は Subversion を使用していましたが、2 年前に git に切り替えました。Git は、他のすべてのテキストおよびバイナリ ファイルを処理するのと同様に、FPGA デザイン ファイルを処理します。ファイルとアーティファクトのバージョン管理に必要なのは Git だけです。

デザインをビルドするには、「ise」という単一の ISE プロジェクト (「ise/」というサブディレクトリにある) のみを使用することをお勧めします。ファイル レイアウトについては、githubで私の (非常に控えめな) FPGA オープン ソース プロジェクトを参照してください。ISE ファイルは簡単に再生成できるので、わざわざ保存する必要はありません。私が保存するのは、Verilog ファイルといくつかの ISIM 波形構成ファイルだけです。coregen を使用する他のプロジェクトでは、coregen.cgp プロジェクト ファイルとすべての *.xco スクリプトを保存して、コアを再生成します。次に、*.xco ファイルで実際に coregen を実行するための Makefile を使用します。*.ucf、*.coe、*.xcf など、バージョン管理が必要なザイリンクス固有のファイルが他にもいくつかあります。

Makefile とザイリンクス コマンド ライン ツールを使用して実験しましたが、依存関係を追跡し、適切な引数を使用してツールを呼び出すのは ISE の方がはるかに優れていることがわかりました。ise/プロジェクト ファイルのバージョン管理を間違えないでください。気が狂ってしまいます。ザイリンクスには、リリースごとに変更される 300 ほどの異なるファイル タイプがあります。ファイルを保存する場合は、ISE プロジェクト ファイル自体を .xise 拡張子で試すことができます。再作成するのが難しいもの、たとえば動作することがわかっていてビルドに 6 時間かかったゴールデン ビットファイルなどは、それをコピーして構成を明示的に管理することをお勧めします。

于 2012-01-06T08:29:16.857 に答える