for i in 31 downto 0 loop
if(sum(31)='0')
then
if(clk'event and clk='1')
then
sum1(31 downto 1)<=sum(30 downto 0);
sum1(0)<='0' ;
end if;
conter<=conter+1 ;
else
exit;
end if;
msum<=msum1 ;
end loop;
这是我写的程序的一部分,但是编译的时候报错,这部分的功能是将一个数的高位变为不为零,如果没有时钟信号不会错。希望哪位朋友能给个意见,先谢谢了。