VHDL语言编程的错误谁给解决一下啊?谢啦

libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitytvsisport... library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity tvs is port
(a,b,c,d,e:in std_logic_vector;
f:out std_logic_vector);
end tvs;
architecture tvs_arch of tvs is
begin
process(a,b,c,d)
begin
if
(e=1,a+b+c+d=2 or a+b+c+d=3) then f<=1;
end if;
if
(e=1,a+b+c+d=0 or a+b+c+d=4) then f<=0;
end if;
if
(e=0,a+b+c+d=3) then f<=1;
end if;
if
(e=0,a+b+c+d/=3) then f<=0;
end if;
e<=f;
end process;
end tvs_arch;

Error (10514): VHDL aggregate error at tvs.vhd(13): can't determine type of aggregate -- found 0 possible types

Error: Quartus II Analysis & Synthesis was unsuccessful. 1 error, 0 warnings
展开
 我来答
23_shi
2014-05-04 · 超过42用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:81.2万
展开全部
std_logic_vector是要定义长度的。
if
(e=1,a+b+c+d=2 or a+b+c+d=3) then f<=1;
end if
这边的判断和赋值也要注意长度。后续代码相同修改。
更多追问追答
追问
怎么定义长度啊?
(a,b,c,d,e:in std_logic_vector(3 downto 0)
这样么?
追答
嗯,是的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式