元件及元件例化
发布时间:2015/8/26 21:24:23 访问次数:920
元件声明是对VHDL模块的说明,. ACC02E-36-6P(003)使之可在其他模块中被调用。元件声明可放在程序包中,也可以在某个设计的结构体中声明。元件例化是指元件的调用。
元件声明语法:
COMPONENT<元件实体名>
PORT<元件端口信息,同该元件实现时的实体的port部分>;
END COMPONENT;
一一元件例化:
<例化名>:<实体名,即元件名>PORT MAP(<端口列表>);
例如:在一名为cntvhl0的电路设计中调用一个模为10的计数器cntml0和一个七段译码器decode47,则该调用过程即元件例化的VHDL描述如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY cntvhlo IS -cntvhl0为所要设计的电路名
PORT
( rd,ci,clk :rN STD_LOGIC;
co :OUT STD_LOGIC;
qout :OUT STD_LOGIC_VECTOR(6 DOWNT0 0》
END cntvhl0;ARCHITECTURE arch OF cntvhlo ISCOMPONENT decode47 ISPORT
(adr: IN STD_LOGIC_VECTOR(3 DOWNT0 0);
decodeout : OUT STD_LOGIC_VECTOR(6 DOWNT0 0》;
END COMPONENT;COMPONENT cntmlo ISPORT
(ci,nreset,clk :IN STD_LOGIC;
co : OUT STD_LOGIC;
q: BUFFER STD_LOGIC_VECTOR(3 DOWNT0 0》;END COMPONENT;SIGNAL qaBEGIN
Ul : cntml0
U2 :decode47
END arch;STD_LOGIC_VECTOR(3 DOWNT0 01: 一作为中间量PORT MAP(ci,rd,clk,co,qa);PORT MAP(decodeout=>qout,adF>qa)
元件声明是对VHDL模块的说明,. ACC02E-36-6P(003)使之可在其他模块中被调用。元件声明可放在程序包中,也可以在某个设计的结构体中声明。元件例化是指元件的调用。
元件声明语法:
COMPONENT<元件实体名>
PORT<元件端口信息,同该元件实现时的实体的port部分>;
END COMPONENT;
一一元件例化:
<例化名>:<实体名,即元件名>PORT MAP(<端口列表>);
例如:在一名为cntvhl0的电路设计中调用一个模为10的计数器cntml0和一个七段译码器decode47,则该调用过程即元件例化的VHDL描述如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY cntvhlo IS -cntvhl0为所要设计的电路名
PORT
( rd,ci,clk :rN STD_LOGIC;
co :OUT STD_LOGIC;
qout :OUT STD_LOGIC_VECTOR(6 DOWNT0 0》
END cntvhl0;ARCHITECTURE arch OF cntvhlo ISCOMPONENT decode47 ISPORT
(adr: IN STD_LOGIC_VECTOR(3 DOWNT0 0);
decodeout : OUT STD_LOGIC_VECTOR(6 DOWNT0 0》;
END COMPONENT;COMPONENT cntmlo ISPORT
(ci,nreset,clk :IN STD_LOGIC;
co : OUT STD_LOGIC;
q: BUFFER STD_LOGIC_VECTOR(3 DOWNT0 0》;END COMPONENT;SIGNAL qaBEGIN
Ul : cntml0
U2 :decode47
END arch;STD_LOGIC_VECTOR(3 DOWNT0 01: 一作为中间量PORT MAP(ci,rd,clk,co,qa);PORT MAP(decodeout=>qout,adF>qa)
上一篇:顺序(Sequential)语句