2

こんにちは私は信号宣言がVHDLで実際にどのように機能するのか疑問に思いました。内部信号からの遅延を意味しますか?信号には内部メモリがありますか?例:

Architecture SD_BEH of SD is
signal C: std_logic;
begin
 process (A)
  begin 
   C<=A;
   if (C='1') then B<=A;
   else B<= '0';
   end if;
  end process;
end SD_BEH;

このCの宣言はδ遅延を導入しますか?もしそうなら、なぜですか?VHDLの標準ですか?ありがとう。

4

1 に答える 1

3

信号はデルタサイクルの終わりにのみ伝播するため、何らかの方法で「メモリ」を持っていると呼ぶことができます。VHDLを実際のハードウェアの説明と見なすと、たとえばクロックプロセスを使用してレジスタを説明するなどしてモデル化されていない限り、信号にはメモリがありません。

上記の内容が組み合わせロジックをモデル化しようとしていると仮定すると、感度リストが完全ではないため、正しくシミュレートされません。明確にするために、VHDL言語の規則に従って記述されているため、「正しく」シミュレートされますが、通常の実際のハードウェアについては説明されていません。一致させるには、次の小さな変更を検討してください。

Architecture SD_BEH of SD is
signal C: std_logic;
begin
 process (A, C) -- add C to the sensitivity list
  begin 
   C<=A;
   if (C='1') then B<=A;
   else B<= '0';
   end if;
  end process;
end SD_BEH;
于 2012-02-20T01:25:15.413 に答える