首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

大家帮忙看一下,简单的问题

大家帮忙看一下,简单的问题

我试的小代码,在ise8.2中跑的

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity XOR2 is
PORT( A,B : IN STD_LOGIC;
   Y : OUT STD_LOGIC);
   
end XOR2;

architecture Behavioral of XOR2 is
 SIGNAL COMB : STD_LOGIC_VECTOR(1 DOWNTO 0);
BEGIN
 
 ROCESS(A,B)
  
 BEGIN
  COMB<=A&B;
  CASE COMB IS
   WHEN "00" => Y<='0';
   WHEN "01" => Y<='1';
   WHEN "10" => Y<='1';
   WHEN "11" => Y<='0';
   WHEN OTHERS => Y<='X';
  END CASE;
 END PROCESS;
end Behavioral;

综合没问题,可是在仿真时,输出恒为低,没实现异或功能。另外,只要在进程中用到变量和信号,就出现这种情况

求教

A&B得到的是一位数(0或者1)

A=0,B=0得出comb=0

A=0,B=1得出comb=0

A=1,B=0得出comb=0

A=1,B=1得出comb=1

[此贴子已经被作者于2006-12-26 13:40:41编辑过]

美梦成真-->噩梦降临!
返回列表