2016-09-24 2 views
-1

VHDL을 처음 사용합니다. 나는 비트 벡터가 심지어 r (비트 벡터의 해밍 웨이트를 사용하는)인지 아닌지 찾기 위해 코드를 시도하고있다. 내가 쓴 코드는 다음과 같습니다vhdl의 if 문에 구문 오류가 발생했습니다.

entity hw_mod is 
generic(
bits:integer ); 
port (
inp : in std_logic_vector((bits-1) downto 0; 
    cout : out std_logic); 
end entity hw_mod 

architecture hw_arch of hw_mod is 
begin 

process(inp) 
variable count : Integer:=0; 

begin 
    labelloop: for i in 0 to (bits-1) loop 
       if(inp(i)=='1') then 
        count:= count+1; 
         end if; 
         end loop; 
        if ((count mod 2)== '0') then 
         cout:=1; 
        else 
      cout:=0; 
      end if; 
end process; 
    end hw_arch; 

I는 "근처"= "점점 계속 오류 : 구문 오류 두 곳에서

+2

나는 "vhdl 비교 연산자"에 대한 봤 거든 첫 번째 결과는 평등은'=', 아니라'=='라고 말했다. – melpomene

+0

그 전에 일찍 시도했지만 "가까운"= ": 기대하고 == 또는 + 또는 - &/ –

+1

귀하의 질문은 최소 완료 및 검증 가능한 예제가 아닙니다. 비 VHDL 사람 노트"== "는 VHDL의 관계 연산자가 아닙니다 ("= "인 동안). IEEE Std 1076-2008 9.2.3 관계 연산자 참조 inp 포트 선언 하위 유형 표시 범위 인 'end entity hw_mod'에 닫는 괄호가 없습니다. 'count'는 십진수 리터럴과 비교하고, cout을위한 신호 할당을 사용하며, std_ulogic 기반입니다 (예 :'cout <= '0';'cout : = 0;'). – user1155120

답변

0

내가 코드 검사 :. - 일반이 확인되지 않았습니다를
- COUT는 신호입니다, 그래서
<= 필요 -.. :=는 변수

그것은 오류를 제공하지 않습니다,하지만 여전히 래치가 변수가 사용하기 전에 initalized 할 필요가있다입니다

LIBRARY ieee; 
    USE ieee.std_logic_1164.all; 
    USE ieee.numeric_std.all; 
entity hw_mod is 
generic( 
    bits : integer range 0 to 3 := 3); 
port ( 
    inp : in std_logic_vector((bits-1) downto 0); 
    cout : out std_logic); 
end entity hw_mod; 

architecture hw_arch of hw_mod is 
begin 
    process(inp) 
    variable count : Integer:=0; 
    begin 
     labelloop: 
      for i in 0 to (bits-1) loop 
       if(inp(i)='1') then 
        count:= count+1; 
       end if; 
      end loop; 
      if ((count mod 2)= 0) then 
       cout <= '1'; 
      else 
       cout <= '0'; 
      end if; 
    end process; 
end hw_arch; 
1

몇 가지 문제. 입력하는 동안 구문을 검사하는 편집기를 사용하십시오.

  • 괄호가 일치하지 않습니다.
  • 당신은 어떤 세미콜론 누락,
  • 당신은 C 스타일의 비교 (== 대신 =의) 당신이 필요로하는
  • 변수 할당을 사용하여 신호 (:= 대신 <=의) 그래서

enter image description here