0

VHDL で基本的な組み合わせ回路をコーディングしています。これには、2 つの入力 a と b を持つ AND ゲートがあります。この "t" の出力は、否定された入力 "c" と OR 演算されます。この出力 "s" は "a" との NAND 演算で最終的な出力 "d" になります。

これがコードです。

library ieee;
use ieee.std_logic_1164.all;
entity logicgate is
port(a,b,c: in std_logic;
d: out std_logic);
end logicgate;

architecture arch_logicgate of logicgate is
begin
signal s: std_logic;
signal t: std_logic;
t<= a and b;
s<= (not c) or t;
d<= a nand s;
end arch_logicgate;

転写:

-- logicgate のアーキテクチャ arch_logicgate のコンパイル
# ** エラー: C:/Modeltech_pe_edu_10.1d/examples/logicgate.vhdl(12): 「信号」付近: 構文エラー
# ** エラー: C:/Modeltech_pe_edu_10.1d/examples/logicgate.vhdl(14): (vcom-1136) 不明な識別子 "s"。
#
# ** エラー: C:/Modeltech_pe_edu_10.1d/examples/logicgate.vhdl(14): 中置式 "nand" をタイプ ieee.std_logic_1164.STD_LOGIC として解決するタイプ エラー。
# ** エラー: C:/Modeltech_pe_edu_10.1d/examples/logicgate.vhdl(15): VHDL コンパイラが終了しています

基礎が欠けているのは承知しています。私を助けてください。

4

1 に答える 1

4

最初のエラー メッセージ:

** Error: C:/Modeltech_pe_edu_10.1d/examples/logicgate.vhdl(12): near "signal": syntax error

実行領域に宣言があるために発生します。

それらを宣言領域に置き、前にbegin

architecture arch_logicgate of logicgate is
   signal s: std_logic;
begin
   ...
于 2013-02-17T01:16:17.430 に答える