VHDL
时间:10-02
整理:3721RD
点击:
- LIBRARY IEEE ;
- USE IEEE.STD_LOGIC_1164.ALL ;
- USE IEEE.STD_LOGIC_ARITH.ALL ;
- USE IEEE.STD_LOGIC_UNSIGNED.ALL ;
- ENTITY bj7 IS
- PORT (A : IN STD_LOGIC_VECTOR(6 DOWNTO 0) ;
- Y : OUT STD_LOGIC ) ;
- END ;
- ARCHITECTURE BEHAVE OF bj7 IS
- SIGNAL YI : STD_LOGIC ;
- BEGIN
- PROCESS(A)
- VARIABLE TEMP : INTEGER ;
- BEGIN
- TEMP := 0 ;
- FOR I IN 0 TO 6 LOOP
- TEMP :=TEMP + A(I);
- END LOOP ;
- IF TEMP > 3 THEN
- YI <= '1' ;
- ELSE
- YI <= '0' ;
- END IF ;
- END PROCESS ;
- Y <= YI ;
- END BEHAVE ;
Error (10327): VHDL error at bj7.vhd(20): can't determine definition of operator ""+"" -- found 0 possible definitions
19行的A(I)改为A[I]试试
不好意思搞错了,Verilog和VHDL弄混了
A(I)为STD_LOGIC; TEMP为 INTEGER ,类型需要转换吧。
修改成 TEMP :=TEMP + conv_integer(A(I downto I));
