OpenCoresのプロジェクトは、svnで管理されています。実際にOpenCoresにプロジェクトを作ってsvnで管理を始める前に、まずローカルサーバのsvnでファイル構成を整理しました。今回のプロジェクトのディレクトリ構成は次のように決めました。
ディレクトリ名 | 説明 |
bin | Verilogシミュレーション用スクリプトなど |
clib | APIのソース |
demo_app | デモアプリのソース |
doc | ドキュメント |
implement | FPGAプロジェクトデータ |
rtl | 設計データ |
scenario | テストベンチ |
screen_shot | デモアプリのキャプチャ画面 |
sim_work | Verilogシミュレーション用ディレクトリ |
tool | 3Dデータ変換ツール |
readme.txt | プロジェクト全体の説明 |
ローカルsvnで確認をする理由
- svnで管理すると、次の作業が楽になります。
- プロジェクトに不要なファイルを見つけやすくなる
- 実行するマシンの環境依存の見つけやすくなる
プロジェクトに不要なファイルを見つけやすくなる
FPGA用ツールのプロジェクトデータは、最終データを生成するために本当に必要なファイルだけを選別するのが結構大変です。例えば、FPGAの論理合成などで作られた中間ファイルがプロジェクトに残っていないか、またベンダーに著作権があるソースコードが残っていないかなどの確認が必要になります。svnを使うと、プロジェクトの中身を簡単に初期状態に戻すことができるので、このような試行錯誤が楽になります。
実行するマシンの環境依存の見つけやすくなる
通常、開発はローカルマシンの決まったディレクトリで行っていることが多いと思います。この場合、プロジェクトがそのローカルマシンの絶対パスのファイルに依存していたり、またそのローカルマシンにしかインストールされていないソフトに依存しているのに気づかないことがあります。svnで管理すると、今までの作業を簡単に別のマシンやディレクトリに移すことができるので、これらの確認が楽になります。