組み込み機器・ハードウェアの設計開発から装置製作まで社内一貫対応!

組み込み機器・ハードウェア設計製作.com
組み込み機器・ハードウェア設計製作.com

produced by株式会社アイディアイ

設計のポイント

VHDL記述のポイント:port mapは名前による結合を使う

設計内容分類FPGA

実現したい仕様・課題

モジュール接続のport mapを、ポート宣言の並び順に依存する位置結合で記述すると、ポート数が多い場合にどの信号がどのポートへつながっているのか読み取れず、ポートの追加や並べ替えがあった際に無言のまま誤接続となる危険があります。接続の対応関係を明確にし、変更に強い記述にしたいというのが課題です。

設計のポイント

port map(およびgeneric map)は、ポート名 => 信号名 の形式で対応を明示する「名前による結合」で記述します。名前結合であれば、接続の対応関係がコード上で一目瞭然になり、entity側でポートの順序が変わっても接続は影響を受けません。位置結合(信号を宣言順に並べるだけの記法)は、一見簡潔ですが、順序のずれがコンパイルエラーにならず同じ型のポート同士で入れ替わる誤接続を起こし得るため、実務では避けるべき書き方です。名前結合では記述順も自由になるため、クロック・リセット、入力、出力のようにグループ化して並べると、レビューでの確認が容易になります。未使用の出力ポートは open を指定して「意図的に未接続」であることを明示し、単なる書き漏れと区別できるようにします(入力ポートは原則すべて接続し、不要な場合は’0’等の固定値を与えます)。ビット幅の大きい信号の一部を接続する場合も、dout(7 downto 0) => low_byte のようにスライスを名前結合で対応付けられます。「port mapは必ず名前結合、未使用出力はopen明示」をコーディング規約に含めておくことで、接続起因の不具合を大きく減らせます。

【コード例】
u_uart : entity work.uart
port map (
clk => clk,
rst_n => rst_n,
tx_data => send_data,
tx_en => send_en,
txd => uart_txd,
busy => open — 未使用出力はopenを明示
);

VHDL記述のポイント:port mapは名前による結合を使う | 組み込み機器・ハードウェア設計製作.com

補足情報

当事例のような、FPGA設計に関するポイントをまとめた冊子の無料DLが可能です。
是非以下よりご確認ください。

FPGA設計のポイント

>>ダウンロードはこちら!

設計のポイント 一覧

FPGA設計のポイント

お問い合わせ

組み込み機器・ハードウェア 設計製作.comを運営する株式会社アイディアイは、組み込み機器・ハードウェアの設計開発代行サービスを提供しています。
試験装置や制御機器、組み込みボードなど、設計・開発委託先をお探しの皆様、お気軽に当社に御相談ください。

技術資料のダウンロードはこちらから 技術資料ダウンロ―ド メールフォームでのお問い合わせはこちらから ご相談お問合せ