-1

私は VHDL を初めて使用し、修正できないように見えるコードに問題があります。これは、選択した信号割り当てまたはテーブル ルックアップのいずれかを使用して行うことになっています。発生しない入力に対して don't care を使用することになっているため、私のものは 2 つの組み合わせのようなものです。

このコードは基本的に、2 の補数入力またはオフセット バイナリのいずれに対しても同じ出力を与えると想定されています。たとえば、10 進数の 7 は、オフセット 2 進数では "1111"、2 の補数では "0111" です。どちらの形式も、スイッチ oe の値に応じて "1111100000" の出力を生成する必要があります (オフセット バイナリの場合は '1'、2 の補数の場合は '0')。

このレベルでできる限りコードをデバッグしましたが、何が間違っているのかわかりません。

Active-HDL は現在、48 行目と 55 行目でエラーを表示しています。2 つの「単純な式が必要です」というエラーが表示されています。

私のコードは、以下のペーストビンの URL にあります。これにより、読みやすさと構文の強調表示が改善されます (さらに、コードを投稿する Stack Exchange の奇妙な方法をいじるのは好きではありません)。また、割り当ての指示を維持しながらコードを改善する方法についてのヒントがあれば、何でもお気軽に提案してください。

http://pastebin.com/aAJAs6KQ

4

1 に答える 1

0

プロセスを使用して読みやすくします。

...
-- untested
process( input, d, tmp, ob)
begin
   if ob = '1' then  
        led <= table(to_integer(unsigned(d & tmp)));
   else                 
        led <= table(to_integer(unsigned(not d & tmp)));
   end if;
end process;
...      
于 2013-02-25T23:15:19.827 に答える