5

最近、いくつかの VHDL コードを継承しました。私の最初の反応は、「VHDL には構造体があるのに、なぜどこでもビットベクターを使用するのですか?」というものでした。そして、これは、次のようなものを書く方法がないように見えるためであることに気付きました。

entity Queue is
    generic (
        EL : type
    );
    port (
        data_in  : EL;
        data_out : EL;
        ...
    );
end entity Queue;

これが可能であることを本当に願っています。それをリモートで近似するものさえありますか?エンティティまたはコンポーネントの宣言を再入力する必要がある場合でも、すべての (一般的な幅を法とする) 型のアーキテクチャ定義を再入力することを回避する方法はありますか?

4

2 に答える 2

3

はい、そして Queue を実装することは、それを行う古典的な理由の 1 つです!

これは、VHDL-2008 以降の VHDL にあります。ツールのサポートは、2012 年半ばの時点で可変です。動きの遅い業界について話してください!

于 2012-06-05T10:41:42.030 に答える
1

はいといいえ...

ジェネリック型は、今後の VHDL-2008 標準の新機能です: http://www.doulos.com/knowhow/vhdl_designers_guide/vhdl_2008/vhdl_200x_major/#GenericTypes

ただし、EDA ツールによる VHDL-2008 のサポートはまだ非常に限られています。ツールがサポートしていても、この機能を使用するとコードが移植できなくなります。

VHDL-2002 に固執する場合、解決策は、パッケージ内でインターフェイス タイプを宣言し、mytypes必要な場所で使用することですuse work.mytypes.all

于 2012-06-05T08:34:17.057 に答える