(3) 端口形式与意义 port : 该block的端口; port map : block 端口与外部的端口匹配; generic 与generic 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; 读者可以对照两者的对应关系,理解port和port map的作用。
|