initialとalwaysキーワードとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > initialとalwaysキーワードの意味・解説 

initialとalwaysキーワード

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/09 07:27 UTC 版)

Verilog」の記事における「initialとalwaysキーワード」の解説

Varilogの処理を宣言する方法には、alwaysキーワードとinitialキーワードという異な2つ方法がある。alwaysキーワードは、自由に実行される処理を表す。initialキーワードは、ちょうど1回だけ実行される処理を表す。2つの処理はともに、シミュレーター時刻0に実行開始され、ともにブロック終わりまで実行されるalwaysブロック場合、処理がブロック最後に到達すると、実行再度スケジュールされる。よくある間違いは、initialブロックは常にalwaysブロック前に最初に実行されるというものである実際には、initialブロックは、1回目実行時終了する特殊なalways-ブロックであると考えるとよい。 // 例:initial begin a = 1; // reg a の値を 0 に束縛する #1; // 1 単位時間待つ b = a; // reg a の値を reg b の値に束縛する endalways @(a or b) // a または b が *変更された* タイミングで処理が行われるbegin if (a) c = b; else d = ~b;end // このブロック終了すると、先頭から処理が再開される (例: @ event-control)always @(posedge a) // reg alow から high変更されるたびに実行される a <= b; 上記2つは、これら2つのキーワードの典型的な使用例であるが、更に2つ特徴的な使用例がある。最もよく使うのが、信号強度書いたリスト@(...)なしでalwaysキーワード使用する方法である。alwaysは以下のように使用するともできるalways begin // always時刻0に実行始まり、*決して* 終了しない clk = 0; // clk を 0 にセットする #1; // 1 単位時間待つ clk = 1; // clk を 1 にセットする #1; // 1 単位時間待つ end // 実行続ける — したがってbegin から実行再開する alwaysキーワードは、C言語while(1) {..}構造同じよう無限ループとして振る舞う。 もう1つ特徴的な使用例は、initialキーワードにforeverキーワードを追加するというものである次の例は、上のalwaysの例と同等である。 initial forever // 時刻 0 で実行開始され、begin/end の間の処理を永遠に (forever) 繰り替える begin clk = 0; // clk を 0 にセットする #1; // 1 単位時間待つ clk = 1; // clk を 1 にセットする #1; // 1 単位時間待つ end

※この「initialとalwaysキーワード」の解説は、「Verilog」の解説の一部です。
「initialとalwaysキーワード」を含む「Verilog」の記事については、「Verilog」の概要を参照ください。

ウィキペディア小見出し辞書の「initialとalwaysキーワード」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「initialとalwaysキーワード」の関連用語

1
6% |||||

initialとalwaysキーワードのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



initialとalwaysキーワードのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのVerilog (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS