0

アルテラの Quartus パッケージを使用して FPGA プログラミングの学習を始めています。

以下を含むレガシーコードがあります。

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.math_real.all;
library floatfixlib;
use floatfixlib.fixed_pkg.all; --this is the VHDL93 implementation of the VHDL08 fixed point code from http://www.eda-stds.org/fphdl/
use work.ioarrays.all;

残念ながら、コメント内のリンクは現在無効になっています。

最初に次のエラーが発生しました。

Error (10481): VHDL Use Clause error at myvhdlfile.vhd(8): design library "floatfixlib" does not contain primary unit "fixed_pkg"

読み回した後、この回答を使用して、関連する ieee ライブラリ ファイル ( fixed_float_types_c.vhdlfixed_pkg_c.vhdlfloat_pkg_c.vhdl) を ieee_proposed ライブラリに関連付け、コードを次のように変更しました。

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.math_real.all;
library ieee_proposed;
use ieee_proposed.fixed_pkg.all;
use work.ioarrays.all;

その後、コンパイルされたように見えます。

ただし、これが正しいアプローチであるかどうかは確信が持てず、これらのライブラリの開発の背後にある高レベルのストーリーについての理解が不足しています。

したがって; ieee と floatfixlib vhdl ライブラリの関係を説明してください。それらの開発の理由、簡単なタイムライン、および現在のステータスの簡潔な説明が理想的です。

4

1 に答える 1

2

リンクのfphdlFloating-Point HDL Packagesの略で、 VHDL と Verilog の両方で使用でき、バイナリ浮動小数点演算の IEEE-754 標準の合成適格パッケージを提供します。

その取り組みの VHDL 部分は、標準の次の改訂 (IEEE Std 1076-2008) にパッケージを追加するための提案 VHDL-200x-fp として提出されました。

引用したVHDLファイル名は、合成ベンダーによる2008年のリビジョンの広範な採用の代わりに提供された1993年の互換性ディストリビューションに由来することを示しています。すべての zip ファイルへのリンクはすべて無効になっていますが、一般的な -1993 互換の VHDL ソース ファイルは Internet Archive fphdlリンクからアクセスできます。

当初は、目的を示す README ファイルを含む個々の日付付きベンダー ターゲット ディストリビューションにアクセスできました。

これは「ieee_proposed」ライブラリです。これは、VHDL-93 の VHDL-200X-FT パッケージのすべての機能を提供するように設計された互換性ライブラリです。パッケージ名の後の "_c" は、これがこのパッケージの 1993 年準拠バージョンであることを示すために使用されます。それ以外の場合、ファイルの名前とパッケージの名前は同じです。

次のファイルを「ieee_proposed」という名前の ライブラリ に コンパイル し て ください






固定および浮動小数点パッケージは、-2008 リビジョンに採用されました。IEEE Std 1076-2008 16.10 固定小数点パッケージおよび 16.11 浮動小数点パッケージを参照してください。これらはライブラリ ieee に含まれています。-2008 互換のツールがあれば、それらを使用できます。付録 G G.4 固定小数点パッケージの使用も参照してください。

この場合、fixed_pkg パッケージを含むリビジョン 2008 に準拠した VHDL ツールを使用する代わりに、これらの合成適格ソースをライブラリにコンパイルできます。

Brian と Jim のコメントからわかるように、パッケージは、必要なパッケージの use 句を少しいじることで、別のリソース ライブラリ (作業を含む) をターゲットにすることができます。

2011 年頃から、VHDL 合成に適した浮動小数点を提供するライブラリ ieee_proposed でこれらのパッケージをサポートする合成ベンダーが一般的になりました。一部のベンダーは、事前に分析されたリソース ライブラリを提供します。

コードがライブラリ ieee_proposed でそれらを参照して分析および詳細化する場合は、パッケージをライブラリに分析したか、これらのパッケージがライブラリ ieee にある場合に -2008 互換性も提供する可能性のあるベンダーによって提供されます。

自分でコードをリソース パッケージに分析できない場合。Stackoverflow には、ベンダー固有の問題を示すいくつかの質問があります。歴史的に、彼らは回避策を必要とするベンダー ツールの VHDL -1993 言語の問題を示す傾向がありました。良いニュースは、これらの機能に対するユーザーの要求が、2008 年の機能の取り込みを促進するのに役立ったことです。

互換性ディストリビューションと -2008 の間には、パッケージ ジェネリックなどの機能の可用性に基づいた違いがあります。互換パッケージは、固定小数点および浮動小数点バイナリ演算だけでなく、-1993 対応ツールとの -2008 互換性をサポートするという考えも提供します。

すぐに利用できる履歴が失われたのは、最近 Accellera が vhd.org/eda.org Web サイトのホスティングを中止したためです。Accellera は当初、VHDL 標準の -2006 リビジョンを後援して開発し、さまざまな変更を経て IEEE -2008 標準リビジョンになりました。

于 2016-07-21T21:45:25.097 に答える