2017-02-28 1 views
0

私は、プロセスが中断したときに、割込みが立下りエッジで発生するような、クロック信号のプロセスで信号または出力を割り当てると、シミュレーション中にシグナルまたは出力が立ち上がりエッジで割り当てられるのはなぜですか時計の?シミュレーションではクロックエッジで信号/出力割り当てが常に表示されますか?

if(rising_edge(clk)) then 
    if(one_second_counter = "10111110101111000001111111") 
     one_second_counter <= (others=> '0'); 
    else 
     one_second_counter <= one_second_counter + 1; -- 
end if; 

Iが結合しているシミュレーション波形:私は次のコードを持っている例として waveform

答えて

0

だから、私は理解している我々は、割り当てが発生クロックドプロセスにおける信号又は出力を割り当てるとプロセスが中断したときに、下降エッジまたは言い換えれば...

これは間違っています。この割り当ては、プロセスの感度条件が満たされたときに行われます。あなたの例では、これはrising_edge(clk) - クロックの立ち上がりです。

+0

暗黙の最後の文のwait文が敏感である条件が発生するたびに、感度リストを持つプロセスが再開します( 'wait on sensitivity_list;')。外部ifステートメントは、条件がTRUEと評価されたとき(ここではclkの立上りエッジ)にのみシーケンシャルステートメントの実行を許可します。 IEEE Std 1076-2008 IEEE標準VHDL言語リファレンスマニュアル11.3プロセスステートメント、10.2待機ステートメント、10.8 ifステートメント、10.5シグナル割り当てステートメント/ 10.5.2単純なシグナル割り当て、および16.8.4シグナルエッジ検出。 VHDLスニペットを提供することの危険性を示しています。 – user1155120

関連する問題