vhdl循环语句中赋值问题,谢谢
时间:10-02
整理:3721RD
点击:
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;
这是我写的程序的一部分,但是编译的时候报错,这部分的功能是将一个数的高位变为不为零,如果没有时钟信号不会错。希望哪位朋友能给个意见,先谢谢了。
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;
这是我写的程序的一部分,但是编译的时候报错,这部分的功能是将一个数的高位变为不为零,如果没有时钟信号不会错。希望哪位朋友能给个意见,先谢谢了。
具体的错误提示呢?
在for循环内部,是不能使用时钟触发沿的,你可以将时钟的取沿操作放在for循环的外面
3楼正解
大学毕业后某日
张房有谋划“大广汽”
有好解就好
