0
두 숫자의 gcd를 찾기 위해 VHDL 코드를 작성했습니다. 그러나 그것은 나에게 다음과 같은 오류를주고 컴파일하는 동안VHDL 구문 오류가 발생하는 동안
근처 "동안": 구문 오류
코드는 내가 구문을 확인
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을 학생 에디션
고마워요. 몇 가지 오류가 있었지만 디버깅되었습니다. 변수를 사용하는 것이 한 가지 더 중요합니다. – Ayush
신호를 할당하려면 절차를 사용하여 '한 가지 더'를 이해할 수 없습니다. VHDL, 상수, 변수, 신호 및 파일에는 네 가지 객체 클래스가 있습니다. 그들 중 누구라도 인수가 될 수 있습니다. 함수는 반환 값을 가지며 표현식입니다. 프로시 듀어에는 순차 명령문과 동시 명령문의 두 가지 유형이 있습니다. 첫 번째 프로 시저에서만 중첩 된 프로 시저에 대한 신호를 지정해야한다는 요구 사항이 있습니다. 어떤 종류의 참조 텍스트가 필요할 수 있습니다. – user1155120