2017-08-11 12 views
2

私はghdlシミュレータが新しく、ウィンドウでghdlを使用しています。私は自分のコンピュータにghdl(ghdl-0.33-win32)をセットアップし、単純な加算器コードを試してみました。私は現在David Bishopの固定小数点パッケージと浮動小数点パッケージを使用した数学方程式をシミュレートする必要があります。私は私にライブラリを含めて、それをコンパイルすると、エラーを与える:ghdl-0.33にvhdl固定小数点ライブラリを含めるにはどうすればよいですか?

"fixed_pkg" not found in library "ieee"

または私は私のプロジェクトファイルにfixed_pkg_cファイルをコピーした場合は、作業をコンパイルします。

"fixed_pkg" not found in library "work"

を誰かが(私の道を示すことができますか、これらの固定されたパッケージとfloatパッケージを含めるには、私が従うべきコマンドセットを用意していますか?

+0

GHDLを呼び出すために使用するコマンドラインは何ですか? Btw。 GHDL 0.34は、次の日にリリースされる予定です。リリースプロセスではまだ少し問題があるので、現在表示されている0.34バージョンは新しいファイルで再度上書きされます。 => https://github.com/tgingold/ghdl/releases – Paebbels

答えて

2

ghdl-0.33-win32インストールでは、VHDL標準のIEEE 1076-2008リビジョンの一部がサポートされています。

このサポートには、そのリビジョンに含まれるDavid Bishopの固定および浮動小数点合成適格ライブラリが含まれます(IEEE Std 1076-2008、16.事前定義言語環境、16.10固定小数点パッケージおよび16.11浮動小数点パッケージを参照)。そのリビジョンのIEEEパッケージを受け入れたので、それらはライブラリIEEEにあります。

ghdl -is 93cでサポートされているデフォルトのリビジョン(-1993は、標準の後のリビジョンでサポートされている範囲インデックスの混合リテラルおよび式境界をサポートしています)。

-2008リビジョンの準拠のghdlを呼び出すには、分析(-a)および詳細(-e)コマンドに--std = 08オプションを使用します。

ちょうどそのようなWin32の分布としてGHDLのタイムコード生成バージョンで(ジャストインタイムコードで)MCODEを用いて見られるもの区別あり:

、実行コマンドのInvoking GHDLに最新GHDL DocumentationセクションからWin32のための分散などMCODEバージョン-e精巧なコマンドは冗長であり、実行コマンド(-r)と同じオプションを含める必要があります

run -r

Runs/simulates a design. The options and arguments are the same as for the elaboration command.

  • GGC/LLVM: simply, the filename of the executable is determined and it is executed. Options are ignored. You may also directly execute the program. The executable must be in the current directory.
  • mcode: the design is elaborated and the simulation is launched. As a consequence, you must use the same options used during analysis.

解析コマンド(-a)。

ghdlのGCCまたはLLVMバージョンとは異なり、mcodeバージョンでは、代わりにrunコマンド用に精緻化を提供するための任意の関連オプションが必要です。ファイルで見つかったエンティティを、分析工夫とシミュレーションのためのコマンドは次のようになりGCCまたはLLVM GHDL実装とVHDLファイルとエンティティの

ghdl -a --std=08 vhdl_file_name 
ghdl -e --std=08 entity_name 
ghdl -r entity_name 

実行コマンド(-r)をシミュレートします複数のアーキテクチャの1つまたは宣言された構成を選択することもできます。

ghdlのmcodeバージョンの場合、エラボレーションコマンドは無視されます。分析のオブジェクトコードファイルも、別個の実行可能ファイルもありません。ライブラリファイルがあります(workという名前の作業ライブラリの場合は-2008デフォルトではwork-obj08.cfという名前が付けられています)。GHDL最小コマンドのMCODEバージョンの

は次のようになります。

精緻化コマンドが実行コマンドで余分、推敲前のシミュレーションであり、また、分析コマンドで共有任意の有効な推敲のオプションでなければなりません
ghdl -a --std=08 vhdl_file_name 
ghdl -r --std=08 entity_name 

runコマンドに渡されます。

library ieee; 
use ieee.fixed_pkg.all; 

は目に見えるfixed_pkgで見つかっ宣言を行うコンテキスト句の範囲内でなければなりません--std = 08エンティティまたはアーキテクチャを使用したIEEE -2008ライブラリにfixed_pkgパッケージのためにアクセスするにはfixed_pkgに宣言があることを示すuse節が表示されます。

Tristanは現在、win32 mcodeバージョン(mingw32)と64ビットLLVMバージョン(mingw64)の両方を含むghdl-0.34をリリースしました。一致するGHDL Documentationは、強調表示されたカラーバーで便利なヒントを提供します。

ghdlはオープンソースなので、操作と文書化の両方で矛盾を修正するために、ユーザーのフィードバックに大きく依存します。

矛盾はissueとして報告することができます(githubログインが必要です)。 ghdlのドキュメントの明確さの欠如を反映する問題は、改善につながる可能性があります。

GTKWaveでは、GHDLの波形形式をサポートする波形ビューアはSourceforgeから取得できます。 ghdlは、gtkwaveで使用されるVCDおよびFST波形ダンプファイルフォーマットもサポートしています。

関連する問題