library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;
use ieee.std_logic_arith.all;
entity fdkz is
port(kongzhi:in std_logic;
srdata:in std_logic_vector(9 downto 0);
fddata
ut std_logic_vector(9 downto 0));end;
architecture behav of fdkz is
constant fd:std_logic_vector(6 downto 0):="1100010";
begin
process(kongzhi,srdata)
variable data1:std_logic_vector(15 downto 0);
variable data2:std_logic_vector(15 downto 0);
variable data3:integer range 0 to 102300;
variable data4:integer range 0 to 1023;
variable data2:std_logic_vector(15 downto 0);
begin
data1:="0000000000000000";
data2:="0000000000000000";
if (kongzhi='1') then
for n in 6 downto 0 loop
if (fd(n)='1') then
data1(9 downto 0):=srdata;
data1:=data1 sll 1;
data2:=data2+data1;
end if;
end loop;
fddata<=data2(15 downto 6);
end if;
end process;
end;
本程序为实现输入数据移位后相加送到输出端,在QUARTUS中编译
程序运行后老是出现:can't determine definition of opertor "sll"--found 0 possible definitions
请问哪位大侠知道SLL的用法?



最新回复
best5811 (2008-12-09 16:25:24)
paopaobaobao (2008-12-09 18:41:26)
g19860529 (2008-12-09 22:55:59)