2007年07月31日

VHDL TIPS 「incomplete typeの使用法」

VHDL TIPS 「access typeの使用法」に関連して「incomplete type」を紹介する。

ソフトウェアでは、複数のデータを管理する時、次のデータポインタを自分のデータ内に含めてチェーンさせるような事がよくある。
これを表現するには、ポインタとデータパッキングの考え方が必要だと思うが、VHDLではaccess typeとrecord typeがあるので、この点では問題はない。
ただ、VHDLではaccess typeでポインタを定義する時には、record typeの定義が必要で、record typeでデータパッキングを定義する時には、access typeの定義が必要になる。この矛盾を回避する時に「incomplete type」を使用する。

使用方法は簡単で、あとで使用する名前を先にtype宣言してしまうだけである。

以下に定義部分だけの例を紹介する。


    -- 後で定義するrecord typeの名前だけを先に定義する(incomplete type)
    type    DATA_PACK;
    -- 仮に定義した名前でポインタを定義
    type    PACK_PTR  is access DATA_PACK;
    -- 仮に定義した名前に実際の定義を割り当て
    type    DATA_PACK is record
        next_pack   :   PACK_PTR;
        header      :   std_logic_vector(7 downto 0);
        data        :   std_logic_vector(31 downto 0);
    end record;



投稿時刻(21:00)│コメント(0)VHDL 

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
最新コメント
ブログ内検索
カテゴリ別表示
月別表示
問い合わせ・連絡先
ta_bo__@livedoor.com

本サイトは以下のアクセス解析を使用しております。
基礎化粧品