LoginSignup
4
1

More than 3 years have passed since last update.

ModelSimでプロジェクトのソースを相対パスで参照

Last updated at Posted at 2019-08-04

問題点

ModelSimのプロジェクトファイル(*.mpf)では、使用するソースが絶対パスで保存される。
プロジェクトを他の人と共有するのが面倒なので、相対パスで保存したい。

解決策

Location Mapping機能でプロジェクトのソースを相対パスで参照する
ロケーションマップファイルでルートディレクトリを指定すると、プロジェクトファイルにはプロジェクトのルートディレクトリからの相対パスで保存される
詳細はModelSim User's ManualのAppendix B Location Mappingに記載されている

手順

ModelSimがロケーションマップを認識する方法は以下の2通りある

  1. 環境変数MGC_LOCATION_MAPで指定
    環境変数MGC_LOCATION_MAPにファイルへのパスを設定する
  2. 環境変数が無い場合
    mgc_location_mapというファイルを以下の優先順で検索
    • カレントディレクトリ
    • ユーザーのホームディレクトリ
    • ModelSimバイナリがあるディレクトリ
    • ModelSimのインストールディレクトリ

プロジェクトを使う場合はプロジェクトディレクトリ(*.mpfファイルと同じディレクトリ)がカレントディレクトリになるので、*.mpfと同じディレクトリにmgc_location_mapというテキストファイルを作成する

  • mgc_location_map内容
$PRJ
c:\vhdl\project_dir

$PRJからの相対パスで保存される
$PRJは絶対パスで指定する必要がある

  • mgc_location_map自動生成BAT
    生成したいディレクトリで実行する
REM mgc_location_mapを生成する  

cd %~dp0

set MGC_LOCATION_MAP=%~dp0\mgc_location_map

echo $PRJ > %MGC_LOCATION_MAP%
cd >> %MGC_LOCATION_MAP%

  • ModelSimでのプロジェクト設定
    Project SettingsでLocation mapのConvert pathnames to softnamesにチェックする
    無題.png
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1