2016-03-06 133 views
-1

嗨我是用VHDL工作,我的問題語句如下:語法錯誤

寫了XOR和XNOR功能,同以前的實驗室會話的VHDL代碼,並定義另一個輸入「X 「在你的代碼中,如果輸入x = 1,則F = X1 XOR X2, 否則F = X1 XNOR X2。

於是我開始寫這個代碼:

LIBRARY ieee ; 

USE ieee.std_logic_1164.all ; 

ENTITY prework IS 

PORT (x1, x2, x : IN STD_LOGIC ; 

f: OUT STD_LOGIC) ; 

END prework ; 

ARCHITECTURE LogicFunction OF prework IS 


PROCESS (x,x1,x2) 
BEGIN 
if x = '1' then 
    f <= (x1 AND NOT x2) OR (NOT x1 AND x2); 
else 
    f <= NOT((x1 AND NOT x2) OR (NOT x1 AND x2)); 
end if; 
end PROCESS; 

END LogicFunction ; 

但我不斷收到這些錯誤:

錯誤(10500):在prework.vhd(16)VHDL語法錯誤附近文本 「過程」 ;預期「開始」或聲明語句

錯誤(10500):prework.vhd(20)在文本「ELSE」附近的VHDL語法錯誤;錯誤(10500):prework.vhd(22)在文本附近出現VHDL語法錯誤「if(end)」或「(」或標識符(「else」是保留關鍵字)或併發語句「期待‘;’或標識符(」如果」是一個保留關鍵字),或者‘Architecture聲明架構’

所以,可以請你幫我解決這些錯誤, 謝謝

+0

錯誤信息alr eady包括解決方案。 –

回答

2

後,你也必須使用Begin,就像在Process之後一樣。錯誤很明顯。

+0

謝謝先生我剛開始學習VHDL,所以這是一個愚蠢的錯誤:) –