2016-07-13 7 views
0

タイトルは本当にすべてです。使用方法:.tclスクリプトのset_global_assignment -name QIP_FILEが失敗する - Quartus

私はこれらの種類の割り当てを設定するときに環境変数を使用する必要がある設定があります。ほとんどがうまくいくように見えますが、tclスクリプトのQIP_FILE割り当てには、Quartusのエラーがあります。 .qsfプロジェクトファイルで明示的なパスを使用すると機能します。 .qsfファイルに環境変数を使用する方法はありますか、私の.tclスクリプトで何か問題がありますか?

私が使用している行は次のようになります。事前に

set_global_assignment -name QIP_FILE $::env(MY_VAR_PATH)/my/path/my.qip 

この上の任意のヘルプは素晴らしいことだ、

おかげ

EDIT:の.tclを使用しようとしたとき、私は取得エラースクリプトは:

------------------------------------------------ 
ERROR: Can't open project: flash_leds 

    while executing 
"project_open $project_name -cmp $ap_name" 
    (file "/opt/altera/15.0/quartus/common/tcl/internal/qsh_smart.tcl" line 60) 
------------------------------------------------ 
+1

おそらくMY_VAR_PATHの内容に依存します。その絶対パスが1つの場合は、パスを整理するのに役立つ 'file normalize $ :: env(MY_VAR_PATH)/ my/path/my.qip'を試してください。 – patthoyts

+0

このように使用すると、コードは実際に相対パスを必要とする可能性もあります。希望はそれが本当ではない!エラーメッセージは何を正確に表していますか? –

+0

あなたは@patthoytsと同じ問題を提案してみました。ちょうど編集としてエラーを追加しました。それは、プロジェクトを開くことができないと文句を言う... –

答えて

1

私は解決策を見つけることができました!

、それはまた、調達を必要とし、他のスクリプトが含まれていて、私は(.qsfファイルにソースとしての.tclスクリプトを呼び出していました。

set_global_assignment -name QIP_FILE ... 

コマンドが」doesnのことを、何らかの理由で、判明.tclファイルがソースを使用して呼び出されたときに動作します(ただし、他のset_global_assignment呼び出しが機能します...実際に何が起こっているのかわかりません)。

これを解決するには別の.tclファイルを作成し、そのすべてのset_global_assignment呼び出しは、もう一方のファイルにのみ他のファイルを残します。ソーススクリプト。この新しいファイルには、次のように.qsfファイルに含まれています

set_global_assignment -name SOURCE_TCL_SCRIPT_FILE <filename> 

これは私の問題を解決するように見えた、とQIPファイルが正しく環境変数のパスを使用していました。

+0

まず、私はそれがあなたのために働いてうれしいです。第二に、W! T! F!私はそのようなコードを動作させるいくつかの方法を考えることができ、それらのすべての最後のものは、奇妙な奇妙です... –

+0

私は不同意ではない...それは私が残念ながら立ち往生したばかりの世界です! –

関連する問題