7

私はそれをグーグルで調べましたが、それでもそれについて理解しています。次のコードを書くと:

module POLY(CLK,RESET_n,IN_VALID,IN,OUT_VALID,OUT);

input         CLK,RESET_n,IN_VALID;
input  [ 3:0] IN;
output        OUT_VALID;
output [12:0] OUT;

そしてそれを使用します。

always @(*)
begin
.........
end

1. がinput CLK,RESET_n,IN_VALID;input [ 3:0] IN;常にブロックをトリガーするということですか、それともブロックで使用された入力のみが常にブロックをトリガーするということですか?

2.しかし、それはposedgeまたはnegedgeを書いていないので、2つの両方のエッジがalwaysブロックをトリガーするかどうか?

事前にThx。

4

3 に答える 3

22

(*)これは、「私のために感度リストを作成する」という意味です。

たとえば、ステートメントがある場合、 orが変更されるたびに変更する必要がありa = b + c;ます。言い換えれば、&に「敏感」です。これを設定するには:abcabc

always @( b or c ) begin
    a = b + c;
end

alwaysしかし、大量の信号に敏感な大きなブロックがあると想像してください。機密リストを作成するには、かなりの時間がかかります。実際、誤って信号を外した場合、動作も変わる可能性があります! (*)これらの問題を解決するための略記も同様です。

于 2013-03-16T14:16:56.947 に答える
-1

組み合わせロジックのように動作します。

于 2013-03-17T03:08:31.160 に答える