VHDL中的结构设计:元件例化语句 设计的要点:建立元件端口之间的连接 元件:已经定义的电路模块(实体),可以 来自标准库中,也可以是自己或他人以前编 译过的实体 元件的基本要点: 元件名输入/输出端口特点;
VHDL中的结构设计:元件例化语句 设计的要点:建立元件端口之间的连接; 元件:已经定义的电路模块(实体),可以 来自标准库中,也可以是自己或他人以前编 译过的实体; 元件的基本要点: 元件名 输入/输出端口特点;
kanda kiny entity butnot is u1 u2 port(x, y: in bit; z: out bit); end butnot architecture str of butnot is signal temp bit; component kin port (a: in bit; y: out bit) end component; component kand2 port(a, b: in bit; y: out bit);end component
VHDL中的结构设计的实例 entity butnot is port (x,y: in bit; z: out bit); end butnot; architecture str of butnot is signal temp: bit; component kinv port (a: in bit; y: out bit); end component; component kand2 port (a,b: in bit; y: out bit);end component;
VHDL中的结构设计的实例 begin ul: kin port map(y, temp); u2: kand2 port map(x, temp, z); end str: kand kiny u1 u2
VHDL中的结构设计的实例 begin u1: kinv port map(y,temp); u2: kand2 port map(x,temp,z); end str;
VHDL中的结构设计的特点 Architecture str of实体名is 元件说明;-(电路设计中使用的元件及端口) 信号说明;-(电路设计中各中间连接点) begin 元件使用语句;--(端口与信号(中间连接点 及输入输出端点)的连接关系) end str
VHDL中的结构设计的特点 Architecture str of 实体名 is 元件说明;--(电路设计中使用的元件及端口) 信号说明;--(电路设计中各中间连接点) begin 元件使用语句;--(端口与信号(中间连接点 及输入/输出端点)的连接关系) end str;
VHDL中的结构设计:元件说明 component元件名 port(信号名:模式信号类型; ●●●●●● 信号名:模式信号类型) end component i 要点: 所用的电路实体应在Work库或已说明的库中 模块名称和对应端口名称顺序应完全一致
VHDL中的结构设计:元件说明 component 元件名 port(信号名:模式 信号类型; ……. 信号名:模式 信号类型); end component; 要点: 所用的电路实体应在work库或已说明的库中; 模块名称和对应端口名称顺序应完全一致;
实体与元件说明的对比 entity kanda is port(a, b: in std logic; y: out std logic) end kand component kand port (a, b: in std I y: out std logic); end component
实体与元件说明的对比 entity kand2 is port(a, b: in std_logic; y: out std_logic); end kand2; component kand2 port(a, b: in std_logic; y: out std_logic); end component;
VHDL中的结构设计:元件使用 元件编号:元件名 port map(信号对应表) 元件使用语句要点: 对每一元件应该指定唯一的编号 元件名称应该与已经有的元件名称完全一致; 元件使用语句为并行语句,只能在结构体中使 用,不能在子程序中(函数、过程、进程)使 用
VHDL中的结构设计:元件使用 元件编号:元件名 port map(信号对应表); 元件使用语句要点: 对每一元件应该指定唯一的编号; 元件名称应该与已经有的元件名称完全一致; 元件使用语句为并行语句,只能在结构体中使 用,不能在子程序中(函数、过程、进程)使 用
信号对应表的格式 将本元件的各端口与外部的信号接点或端口建 立连接;每个连接应该具有一个唯一的名称 例:原来元件的端口: port(a, b: in std logic y: out std logic); 顺序关联法:port(data,en,out) 名称关联法:port(a=>data,y=>out,b=>en);
信号对应表的格式 将本元件的各端口与外部的信号接点或端口建 立连接;每个连接应该具有一个唯一的名称; 例:原来元件的端口: port(a, b: in std_logic;y: out std_logic); 顺序关联法:port(data,en,out); 名称关联法:port(a=>data,y=>out,b=>en);
VHDL中的结构设计的实例 质数检测器的结构设计p284表4-43 architecture prime arch of prime is signal n3 Ln2 L, nl l:std logic; signal n31 n0, n31 n2I n1, n2l n1 n0 n2 nll nO: std logic; component kinv port(a: in std logic; y: out std logic);end component; component kand2 port(a0, al: in std logic;y: out std logic);end component; component kand port(a0, al, a2: in std logic;y: out std logic);end component; component kor4 port(a0, al, a2, a3: in std logic; y: out std logic);end component
VHDL中的结构设计的实例 质数检测器的结构设计p.284 表4-43 architecture prime1_arch of prime is signal n3_l,n2_l,n1_l:std_logic; signal n3l_n0,n3l_n2l_n1,n2l_n1_n0 ,n2_n1l_n0:std_logic; component kinv port (a: in std_logic;y: out std_logic);end component; component kand2 port (a0,a1: in std_logic;y: out std_logic);end component; component kand3 port (a0,a1,a2: in std_logic;y: out std_logic);end component; component kor4 port (a0,a1,a2,a3: in std_logic;y: out std_logic);end component;
VHDL中的结构设计的实例 begin ul: kiny port map(n(3), n3 D; u2: kin port map(n(2), n2 D; u3: kiny port map(n(1), nl D; u4: kand2 port map(n3 L, n(0), n31 n0) u5: kand3 port map(n3 L, n2 L,n(1), n31 n2I nD); u6: kand3 port map(n2 L,n(1), n(0), n2l n1 n0); u7: kand3 port map(n(2), nl l, n(0), n2 n1l nO); u8: kor 4 port map (n3l n0, n31 n21 nl, n2I nl n0, n2 nll no, f end prime arch;
VHDL中的结构设计的实例 begin u1: kinv port map (n(3),n3_l); u2: kinv port map (n(2),n2_l); u3: kinv port map (n(1),n1_l); u4: kand2 port map (n3_l,n(0),n3l_n0); u5: kand3 port map (n3_l,n2_l,n(1),n3l_n2l_n1); u6: kand3 port map (n2_l,n(1),n(0),n2l_n1_n0); u7: kand3 port map (n(2),n1_l,n(0),n2_n1l_n0); u8: kor4 port map (n3l_n0,n3l_n2l_n1,n2l_n1_n0,n2_n1l_n0,f); end prime1_arch;