[讨论] 不明白+-*/的用法

eeleader   2010-6-13 19:32 楼主
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY dat2bcd IS
PORT(CLK:IN STD_LOGIC;
     DAT:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
     BCDH,BCDL:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END;

ARCHITECTURE ONE OF dat2bcd IS
  BEGIN
    PROCESS(CLK)
         VARIABLE X1:integer;
         VARIABLE X:REAL;
         VARIABLE A:REAL;
         VARIABLE B:REAL;   
       BEGIN
         IF CLK='1' THEN
             X1:=conv_integer(DAT);
             X:=X1*0.0195+0.05;
             X:=X*10;
             A:=X MOD 10;
             X:=(X-A*10)*10;
             B:=X MOD 10;
         END IF;
        END PROCESS;
END;

*********************************************
提示错误:Error (10327): VHDL error at dat2bcd.vhd(22): can't determine definition of operator ""*"" -- found 0 possible definitions


请问这错误是怎么产生的?我自己觉得是可能有个库没包含,但又不知道怎么改。请各位帮助一下。如果方便的话,最好能讲讲+-/*有什么要注意的
一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!

回复评论 (1)

X1是INTEGER X是REAL,VHDL是强类型语言

不支持隐含类型转换
点赞  2010-6-14 08:30
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复