Aldecシリーズの第2弾は、プロジェクトファイルについてです。
サンプルのプロジェクトファイルとして、examples/interface/dpi/basicディレクトリにあるものを見てみます。
このサンプルは、DPI-Cの例題でVerilog HDLとC++コードがプロジェクト内にあります。
このサンプルは、DPI-Cの例題でVerilog HDLとC++コードがプロジェクト内にあります。
デザインは下記のように指定します。この場合は、basic.rdsnがデザインファイルになります。
デザインは、複数していすることができます。
このコンフィギュレーションとは、MicrosoftのVisual StudioのRelase/Debugなどと同じようなものを設定するもの。
たとえば、
デフォルトのコンフィギュレーションは、
デザインは、複数していすることができます。
<designs> <design path="basic.rdsn" /> </designs>デフォルトのデザインは、次のようにactive-designにて指定します。
<active-design name="basic" />コンフィギュレーションを設定できます。
このコンフィギュレーションとは、MicrosoftのVisual StudioのRelase/Debugなどと同じようなものを設定するもの。
たとえば、
<configurations> <configuration name="optimized" > <design name="basic" configuration="optimized" /> </configuration> <configuration name="debug" > <design name="basic" configuration="debug" /> </configuration> </configurations>な設定がされていた場合は、2つのコンフィギュレーション(optimizedとdebug)が存在することになります。
デフォルトのコンフィギュレーションは、
<active-configuration name="debug" />のように設定し、この場合は、"debug"になります。
rdsnは、riviera-designの略でデザインファイル。
デザインファイルにもコンフィギュレーションを指定します。
rwspで指定したconfigurationと同じもの。
optimizedとdebugの2つをそれぞれ指定します。
違いは、
1)、中間コード用ディレクトリ名
2)、コンパイル(Verilog HDL/c++)時のデバック情報のON/OFF
3)、シミュレーション時のデバック機能のON/OFF
ソースコード(Verilog HDL/C++)だけでなく、コマンドファイル(doファイル)や
テキストファイルも指定できます。
デザインファイルにもコンフィギュレーションを指定します。
rwspで指定したconfigurationと同じもの。
<configurations> <configuration name="optimized" /> <configuration name="debug" /> </configurations>propertiesにて、各コンフィギュレーションで何をするかを指定します。
optimizedとdebugの2つをそれぞれ指定します。
違いは、
1)、中間コード用ディレクトリ名
2)、コンパイル(Verilog HDL/c++)時のデバック情報のON/OFF
3)、シミュレーション時のデバック機能のON/OFF
<properties> <configuration name="optimized" > <global> <intermediate-dir value="./optimized" /> </global> <library> <simulated-library value="basic" /> <active-library value="basic" /> <simulated-modules value="top;" /> </library> <compilation> <verilog> <generate-debug-information value="false" /> </verilog> <cpp> <generate-debug-information value="false" /> <output-file value="./optimized/dpi_lib" /> <application-type value="4" /> </cpp> <vhdl> <generate-debug-information value="false" /> </vhdl> </compilation> <simulation> <verilog> <slp> <enable value="true" /> </slp> <dpi-applications value="1|optimized/dpi_lib;" /> </verilog> </simulation> </configuration> <configuration name="debug" > <global> <intermediate-dir value="./debug" /> </global> <library> <simulated-library value="basic" /> <active-library value="basic" /> <simulated-modules value="top;" /> </library> <compilation> <verilog> <generate-debug-information value="true" /> </verilog> <cpp> <generate-debug-information value="true" /> <output-file value="./debug/dpi_lib" /> <application-type value="4" /> </cpp> <vhdl> <generate-debug-information value="true" /> </vhdl> </compilation> <simulation> <general> <enable-cdebug value="true" /> <enable-debug value="true" /> </general> <verilog> <dpi-applications value="1|debug/dpi_lib;" /> </verilog> </simulation> </configuration> </properties>必要なファイルのパスの指定は、structureにて行います。
ソースコード(Verilog HDL/C++)だけでなく、コマンドファイル(doファイル)や
テキストファイルも指定できます。
<structure> <file path="src/project_runme.do" /> <file path="src/debug_windows.do" /> <file path="src/breakpoints.do" /> <file path="src/variables.do" /> <file path="readme.txt" /> <file path="src/dpi_basic.cpp" /> <file path="src/dpi_basic.sv" /> </structure>
検証、Verification、Aldec、SystemVerilog