0

私は方程式を持っています(フォーマットが悪くて申し訳ありません、適切な記号が見つかりませんでした):

Q t x 1 ∨ !x 1 ((x 2 ⊕ x 3 ) ∨ !x 4 )Q t ∨ (x 2 ∧ !x 3 ∨ x 4 )!Q t )

これが JK トリガーであると仮定すると、次のようになります。

C = !x 1

J = (x 2 ∧ !x 3 ∨ x 4 )

K = (x 2 ⊕ x 3 ) ∨ !x 4

Q t !C ∨ !x 1 (!KQ t ∨ J!Q t )

回路図は次のようになります。

回路図

ただし、このテストでこれをシミュレートしようとすると、完全に変換されます。

clock_proc : process begin -- synchro signal
x1 <= '0';
wait for 4 ns;
x1 <= '1';
wait for 4 ns;
end process ;
reset_proc : process begin -- reset
reset <= '0';
wait for 4 ns;
reset <= '1';
wait ;
end process ;
test_proc : process begin -- triggers
 
x2 <= '0'; x3 <= '0'; x4 <= '0'; --write 0
wait for 10 ns;
x2 <= '0'; x3 <= '1'; x4 <= '1'; --save
wait for 10 ns;
x2 <= '1'; x3 <= '1'; x4 <= '1'; --write 1
wait for 10 ns;
x2 <= '1'; x3 <= '0'; x4 <= '1'; --save
wait for 10 ns;
x2 <= '0'; x3 <= '0'; x4 <= '1'; --inverse
wait for 10 ns;
x2 <= '0'; x3 <= '1'; x4 <= '1'; --save
wait for 10 ns;
end process ;
end TB_ARCHITECTURE;

私が得るのはこのエラーだけです:

KERNEL: エラー: KERNEL_0160 デルタ カウントのオーバーフロー。asim の -i 引数またはシミュレーション設定の一致するエントリを使用して、反復制限を増やします。

エラー: シミュレーション中に致命的なエラーが発生しました。

信号

私はトリガーにかなりの経験がなく、何が問題を引き起こしたのかを本当に理解していないので、誰かがそれを説明してくれれば幸いです.

4

1 に答える 1