我在VHDL语言中定义了信号z,想把实体里的a,b,c相加付给z: z<=a+b+c;请赐教怎么样才可以实现,哎。
2个回答
展开全部
这里的abc是什么数据类型呢?
如果是多位二进制序列,则可以用z<=a+b+c表达式实现。如果是一位二进制,就得用z<=a OR b OR c这个表达式了。
一位二进制:
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY xyz IS
PORT(a,b,c:in std_logic;
z:out std_logic);
END xyz;
ARCHITECTURE n OF xyz IS
BEGIN
z<=a OR b OR c;
END n;
多位二进制序列:
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY xyz IS
PORT(a,b,c:in std_logic_vector(3 downto 0);
z:out std_logic_vector(3 downto 0));
END xyz;
ARCHITECTURE n OF xyz IS
BEGIN
z<=a+b+c;
END n;
如果是多位二进制序列,则可以用z<=a+b+c表达式实现。如果是一位二进制,就得用z<=a OR b OR c这个表达式了。
一位二进制:
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY xyz IS
PORT(a,b,c:in std_logic;
z:out std_logic);
END xyz;
ARCHITECTURE n OF xyz IS
BEGIN
z<=a OR b OR c;
END n;
多位二进制序列:
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY xyz IS
PORT(a,b,c:in std_logic_vector(3 downto 0);
z:out std_logic_vector(3 downto 0));
END xyz;
ARCHITECTURE n OF xyz IS
BEGIN
z<=a+b+c;
END n;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询