(3) 端口形式与意义
  port : 该block的端口;
  port map : block 端口与外部的端口匹配;
  genericgeneric map 与此类似。

  例:
    architecture A of E is
      component adder_8
       port( i1,i2: in BV_8; Sum: out BV_8; carry: out Bit);
      end component;
      for a8:adder_8 use entity adder(ripple_carry)
        port map (p1=>i1, p2=>i2, p3=>sum, p4=>carry);
    begin
      a8: adder_8 port map (i1=>s1, i2=>s2, Sum=>T, carry=>cy);
    end architecture A;

  其中adder的定义为:
    entity adder is
     port (p1, p2: in BV_8; p3:out BV_8; p4: out Bit);
    end adder;

    architecture ripple_carry of adder is
      signal internal_carry: Bit;
    begin
      …
    end architecture ripple_carry ;

  以上的结构描述可以写成等价的block形式:
    a8: block
      port (i1, i2: in BV_8; Sum: out BV_8; carry:out Bit);
      port map (i1=>S1, i2=>S2, Sum=>T, carry=>cy);
      begin
        adder: block
          port (p1, p2: in BV_8; p3: out BV_8; p4: out Bit);
          port map (p1=>i1, p2=>i2, p3=>Sum, p4=>carry)
          signal internal_carry: Bit;
        begin
         …
        end block adder;
      end block a8;
  读者可以对照两者的对应关系,理解portport map的作用。