打印

可以对标准库里的元件例化吗?如何实现?

[复制链接]
1756|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
epsmc|  楼主 | 2010-5-7 12:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 epsmc 于 2010-5-7 15:25 编辑

这是一个全加器的例子,问题在后面红字标识
library ieee;
use ieee.std_logic_1164.all;
entity h_adder is
port(
  a,b: in std_logic;
  co,so:out std_logic
);
end h_adder;
architecture h_bhv of h_adder is
signal abc : std_logic_vector(1 downto 0);
begin
abc <= a & b;
process(abc)
begin
  case abc is
   when "00" =>so<='0'; co<='0';
   when "01" =>so<='1'; co<='0';
   when "10" =>so<='1'; co<='0';
   when "11" =>so<='0'; co<='1';
   when others =>null;
  
  end case;

end process;
end h_bhv;

library ieee;
use ieee.std_logic_1164.all;
entity or2a is
port( a,b:in std_logic;
   c:out std_logic
  );
end or2a;
architecture or_bhv of or2a is
begin
c<= a or b;
end or_bhv;

library ieee;
use ieee.std_logic_1164.all;
entity f_adder is
port(ain,bin,cin: in std_logic;
   sum,cout: out std_logic
   );

end f_adder;
architecture f_bhv of f_adder is
component h_adder
port(
  a,b: in std_logic;
  co,so:out std_logic);
end component;

component or2a
port( a,b:in std_logic;
   c:out std_logic);
end component;
signal d,e,f : std_logic;
begin
u1: h_adder port map(a=>ain, b=>bin, co=>d, so=>e);
u2: h_adder port map(a=>e, b=>cin, co=>f, so=>sum);
--u3: or2a   port map(a=>d, b=>f, c=>cout);  可以利用标准库里的OR2例化吗?如何实现?例如:u3: or2   port map(a=>d, b=>f, c=>cout);
cout<= d or f;

end f_bhv;

相关帖子

沙发
epsmc|  楼主 | 2010-5-7 15:30 | 只看该作者
电路结构图

新建 BMP 图像.JPG (16.2 KB )

新建 BMP 图像.JPG

使用特权

评论回复
板凳
wuyiyan| | 2011-3-1 15:52 | 只看该作者
肯定是可以的,具体方法我也不知道。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

74

帖子

1

粉丝