【发布时间】:2014-09-21 21:20:37
【问题描述】:
我编写了一个 VHDL 代码来查找两个数字的 gcd。但是在编译时它给了我以下错误
“while”附近:语法错误
代码是
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity gcd is
port(a,b:in integer;
c:out integer);
end gcd;
architecture gcd of gcd is
function calc_gcd(a,b:integer) return integer is
while a/=b loop
if a>b then
a:=a-b;
else
b:=a-b;
end if;
end loop;
return m;
end calc_gcd;
begin
process(a,b)
begin
gcd<=calc_gcd(a,b);
end process;
end gcd;
我检查了语法。这似乎是正确的。怎么了?
PS : 我用的是 ModelSim 学生版
【问题讨论】:
标签: syntax while-loop vhdl