2016-07-21 18 views
0

アルテラのQuartusパッケージを使用したFPGAプログラミングの学習を始めます。Quartusプロジェクトのieeeとfloatfixlib vhdlライブラリの関係の説明

私は、次のものが含まれ、いくつかのレガシーコードを持っている:

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_proposedライブラリに(fixed_float_types_c.vhdlfixed_pkg_c.vhdlfloat_pkg_c.vhdl)関連するIEEEライブラリファイルを帰するthis answerを使用し、これにコードを変更:

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ライブラリの関係を記述してください。彼らの発達の理由、短いタイムラインとその現在の状態の簡潔な説明が理想的でしょう。

+1

自分自身でfloatfixlibについて聞いたことがありません。私はそれがieee_proposedの代わりに誰かの非公式の名前だったと思う。その理由を尋ねる必要があります。 –

+1

パッケージfixed_pkgは、ライブラリieeeで-2008で利用できます。 fixed_pkg_c.vhdlにある2008年以前のfixed_pkgは、fixed_float_types_c.vhdlにあるパッケージfixed_float_typesで定義されている丸めタイプに応じて、パッケージジェネリックを定数に置き換えても、ほぼ同じです。コードが新しいライブラリでコンパイルされ、節を使用すると、正しいことがほぼ確実に実行されます。彼らはビヘイビアシミュレーションを介して含まれているデザインを検証する価値があるでしょう。 – user1155120

+1

_c.vhdlは、以前のリビジョンのVHDL実装(特に、2006年に合成ベンダーによって広くサポートされている-1993)の-2008との互換性を提供するvhdl2008cの配布に由来します。固定およびフロートパッケージは、-2008リビジョンに採用されました。IEEE Std 1076-2008 16.10固定小数点パッケージおよび16.11浮動小数点パッケージを参照してください。それらはライブラリieeeに含まれています。 -2008互換のツールがあればそれらを使うことができます。付録G G.4固定小数点パッケージの使用も参照してください。 – user1155120

答えて

2

リンク内のfphdlは、VHDLとVerilogの両方で利用可能で、バイナリ浮動小数点演算のIEEE-754規格の合成適格パッケージを提供しています。Floating-Point HDL Packagesを示しました。

標準の次のリビジョン(IEEE Std 1076-2008)にパッケージを追加するための提案VHDL-200x-fpとして、その努力のVHDL部分が提出されました。

あなたが引用したVHDLファイル名は、合成ベンダーによる広範な普及-2008リビジョン採用の代わりに提供される-1993互換性の分布に由来することを示しています。すべてのzipファイルへのリンクはすべて死んでいますが、一般的な-1993互換のVHDLソースファイルはインターネットアーカイブfphdlリンクでアクセスできます。固定およびパッケージは、参照してください。-2008改訂版に採用されたフロートIEEE STD 1076から2008

This is the "ieee_proposed" library. This is a compatability library, which is designed to provide all of the functionality of the VHDL-200X-FT packages in VHDL-93. The "_c" after the package name is used to denote that this is a 1993 compliant version of this package. Otherwise, the name of the file and the name of the package are the same.

Please compile the following files into a library named "ieee_proposed": standard_additions_c.vhdl
env_c.vhdl
standard_textio_additions_c.vhdl
std_logic_1164_additions.vhdl
numeric_std_additions.vhdl
numeric_std_unsigned_c.vhdl
fixed_pkg_c.vhdl
float_pkg_c.vhdl

はもともと、あなたはあなたの目的を言うだろうREADMEファイルを含め、個々の時代遅れのベンダー対象のディストリビューションにアクセスすることができました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のウェブサイトをホスティング中止最近の結果です。 Accelleraはもともと、VHDL標準の改訂版を-2006年に開発した後、さまざまな変更がIEEE -2008標準改訂になりました。

関連する問題