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/
欢迎光临网上店铺!
X1是INTEGER X是REAL,VHDL是强类型语言
不支持隐含类型转换