VHDLの文法関係 - Shinichi0713/hard-ware GitHub Wiki

<==> の意味

VHDLにおける <==> の意味は以下の通りです。

1. <= の意味(シグナル代入)

  • 「シグナル(信号)への代入」を表す演算子です。
  • 英語では「signal assignment operator」。
  • 例:
    a <= b;
    これは「信号 a に b の値を代入する」という意味です。
  • プロセス内やアーキテクチャ本体などで使われます。
  • 論理回路的には、ワイヤでつなぐイメージです。

2. => の意味(ポートマッピングや集合代入)

  • 「ポートマッピング」や「集合(配列)への値割り当て」に使う演算子です。
  • 英語では「association operator」。
  • 主に2つの場面で使われます。

(1) ポートマッピング

  • コンポーネントやエンティティのポートに信号を割り当てるときに使います。
  • 例:
    U1: entity work.and_gate
        port map (
            a => x,
            b => y,
            c => z
        );
    これは「and_gateのaポートにx信号、bポートにy信号、cポートにz信号を接続する」という意味です。

(2) 配列・集合の値割り当て

  • 複数ビットの値をまとめて指定するときにも使います。
  • 例:
    std_logic_vector'( "1010" )
    または
    (7 => '1', 6 => '0', 5 => '1', 4 => '0')
    これは「7ビット目に'1'、6ビット目に'0'…」という意味です。

まとめ表

記号 主な用途 意味
<= シグナル(信号)への代入 a <= b; aにbを代入する
=> ポートマッピング、集合代入 a => x, (3 => '1', ...) aにxを接続、3番目に'1'を割り当てる

補足

  • <= は「データの流れの向き」を表す(右から左へ値が流れる)。
  • => は「名前(ラベル)と値の対応付け」を表す。

まとめ:

  • <= は信号への代入
  • => はポートマッピングや配列の値割り当て

⚠️ **GitHub.com Fallback** ⚠️