次の構造を持つ VHDL のエンティティがあります。
-- Imports...
entity myentity is
port (..specifying in and out signals..);
end myentity;
architecture beh_myentity of myentity is
begin
process(..sensitivity list..)
-- Some variables
file myfile : text open write_mode
is "myentlog.txt"; -- <== My problem is here!!!
begin
-- ..The process body..
end process;
end beh_myentity;
ファイルを開くのに問題はありません。すべてが機能します。私は問題があります。テストベンチを作成して実行するときは、通常、エンティティのインスタンスを 1 つ作成します。しかし、私の場合は、2 つのインスタンスを配置する必要があります。私の問題は、ファイル名との競合が発生し、1 つのプロセスが (同じ) ログ ファイルのオープンと書き込みに必然的に失敗することです。
これを解決したいので、ここで質問します:
ポートにシグナルがあります。シグナル値をファイル名に追加してもよろしいですか? 残念ながら、これは最善の方法ではありません (そのようなことがうまくいくかどうかさえわかりません)。
テストベンチでエンティティのインスタンス名を表す変数を取得する方法はありますか?
ファイル名の最後に添付できるように、文字列をエンティティに渡す方法はありますか?
ありがとうございました