2016-04-28 5 views
-3

"vhdlコード"に2つの8ビット数値を追加する "符号なし8ビットエラー耐性加算器"。私はすでに下記のコードを試してみました。これらのエラーは です**エラー:C:/Modeltech_pe_edu_10.4a/examples/etl1.vhd(34): "Signal"の近く:構文エラー **エラー:C:/ Modeltech_pe_edu_10。 4A /例/ etl1.vhd(41): "EOF" のそば:事前にvhdlの8ビットエラー耐性加算器が使用可能なコードを試しましたが、動作していないようです。

enter code here 

library ieee; 
use IEEE.std_logic_1164.all; 
use IEEE.numeric_std.all; 
use ieee.std_logic_unsigned.all; 
entity adr is 
port (a,b: in std_logic_vector(7 downto 0); 
    output : out std_logic_vector(7 downto 0)); 
end adr ; 

architecture eta of adr is 
signal hn,ln: std_logic_vector(7 downto 0); 
signal parta2,partb2,hno:std_logic_vector(3 downto 0); 
signal parta1,partb1: std_logic_vector(3 downto 0); 
signal lno:std_logic_vector(3 downto 0); 

begin 

process (a,b) 

begin 

    parta1<= a(7 downto 4); -- parta1<= a(7 downto 4); 
    parta2<= a(3 downto 0); --parta2<= a(3 downto 0); 

    partb1<= b(7 downto 4); --partb1<= b(7 downto 4); 
    partb2<= b(3 downto 0); -- partb2<= b(3 downto 0); 




hno<= std_logic_vector(unsigned(parta1)+ unsigned(partb1)); --4 bit msb 
lno<= std_logic_vector((unsigned(partb2))xor(unsigned(partb2)));--4bit lsb 

Signal hn: std_logic_vector(7 downto 0) := hno(3 downto 0) & B"0000";-- concatenation of hn with zeros 
Signal ln: std_logic_vector(7 downto 0) := B"0000" & lno(3 downto 0);--concatenation ln with zeros 


output<=(hn or ln); 

end process ; 

.Thanks ..

+1

あなたが試したことを示し、特定の質問をする必要があります。 "私はxのコードが必要"のような質問は答えを得ることはありません。 –

+0

ありがとうございます。 – Tejas

答えて

0

OK以下の構文エラー

コード、あなたは3つの問題を持っていますこれがコンパイルされないようにする:

Signal hn: std_logic_vector(7 downto 0) := hno(3 downto 0) & B"0000"; 

この行では、既にhnと宣言しており、ここで再度宣言しようとしています。ほとんどの信号が定義されている宣言領域でのみ、シグナルを宣言できます。 2番目のエラーはB"0000"です。あなたの文字どりが"0000"がバイナリであることを指定しようとしていると思われますが、とにかくstd_logic_vectorに割り当てるときのデフォルトです。正しい行は次のようになります。

hn <= hno(3 downto 0) & "0000"; 

この行の下には、同じエラーがあります。

3番目のエラーはかなり簡単です。あなたはend process;を覚えていますが、end architecture;を忘れています。

関連する問題