在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1472|回复: 4

[求助] VHDL

[复制链接]
发表于 2015-10-23 09:49:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x




  1. LIBRARY IEEE ;
  2. USE IEEE.STD_LOGIC_1164.ALL ;
  3. USE IEEE.STD_LOGIC_ARITH.ALL ;
  4. USE IEEE.STD_LOGIC_UNSIGNED.ALL ;

  5. ENTITY bj7  IS
  6. PORT (A :  IN STD_LOGIC_VECTOR(6 DOWNTO 0) ;
  7.       Y :  OUT STD_LOGIC ) ;
  8. END ;

  9. ARCHITECTURE BEHAVE OF bj7 IS
  10. SIGNAL YI : STD_LOGIC ;
  11. BEGIN
  12.       PROCESS(A)
  13.       VARIABLE TEMP : INTEGER ;
  14.       BEGIN
  15.         TEMP := 0 ;
  16.         FOR I IN 0 TO 6 LOOP
  17.            TEMP :=TEMP + A(I);
  18.         END LOOP ;
  19.         IF TEMP > 3  THEN
  20.          YI <= '1' ;
  21.         ELSE
  22.          YI <= '0' ;
  23.         END IF ;
  24.       END PROCESS ;
  25.       Y <= YI ;
  26. END BEHAVE ;


复制代码




Error (10327): Vhdl error at bj7.vhd(20): can't determine definition of operator ""+"" -- found 0 possible definitions
发表于 2015-10-23 13:12:45 | 显示全部楼层
19行的A(I)改为A[I]试试
发表于 2015-10-23 13:18:52 | 显示全部楼层
回复 2# powermm

不好意思搞错了,Verilog和VHDL弄混了
发表于 2015-10-23 15:17:41 | 显示全部楼层
A(I)为STD_LOGIC; TEMP为 INTEGER ,类型需要转换吧。
发表于 2015-10-23 15:21:21 | 显示全部楼层
修改成  TEMP :=TEMP + conv_integer(A(I downto I));
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-20 20:21 , Processed in 0.022829 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表