2020年10月30日

verilog HDLとかいうものがあるらしいぞ ほーーー

最近、verilog HDLの復習を始めたが苛ついている。ムカッパラが立つ次第である。どうしてかというと、ブロッキング代入、ノンブロッキング代入の説明にマシなのがないからである。

ブロッキング代入 ----          =    順番で実行される assign文で使う
ノンブロッキング代入----    <=   順番に関係なく実行される always文で使う

このような説明は多いがワイが知りたいのはそこではない。ブロッキングという言葉の意味を教えてくれたまへ。ブロックするというのなら、ちみぃは何をブロックするのか?  ノンブロックというのがブロックしないというのなら、ちみぃは何をブロックしないというのか。
そこらの言葉の意味を書かずに Aはこれこれで、Bはこれこれでという説明はワガハイが最も嫌悪するムカッパラが立つ説明なのだ。まず、言葉の定義をしっかりしたまへよバカタレ(笑)

結局、何をブロックするのか、さえもボクはわからずにいる。凡庸で善良な市民でIQ88のちょ~・頭脳なので仕方がないと言えば仕方がない。

ここな。何をブロックするというのだ、ちみぃらはよー。分かっているのならキチンと解説を書きやがれ・なさいまし(笑)

実は、ここらはOSやCPUやらの話とも絡んでくる気がする。プロセスとかスレッドとかと絡んでくる気がする。そこらの説明ができるレベルの人は少ないのだろなあ。

そんなことよりも、初学者がブロッキングとはどういう意味だろかという視点を持たずに、Aはこれこれで、Bはこれこれでというそれだけを知って納得するという姿勢が信じられん。バカタリーノとアホタリーノばかりかよ。 なんだとぉ。
ちなみに元MNB48の近藤里奈をワガハイは、コンドリーノと思っていた。

浅学菲才!!  不勉強が身にしみる秋 なんちて

ワガハイのGoogle検索10段(自称)の実力で、やっとこさ、解説らしいものを見つけた。
http://japanese.sugawara-systems.com/systemverilog/process.htm

ノンブロッキング文とは、

ブロッキング文 =代入文のBNFを見ると lvalue= <delay_or_event_control> expressionになっていて、delayやイベントは、オプションになっています。ノンブロッキング文 <=も同様です。このブロッキング文の方は、delayやイベントでステートメントに着いた時点で、実行を中断させられるという意味で、ブロッキングです。(実務的には、ブロッキング文で、delayやイベント付きで書くことは稀なので、ブロッキング文とはいっても、殆どの場合ブロックされることはありません。)
一方、ノンブロッキングの方は、そのステートメントに着た時、あたかも、delayやイベントがなかったかのように、逐次実行されます。つまりその時点ではブロックされません。(delayはイベントは、後で処理されます。)そういう意味でノンブロッキング文になっています。

この様子は、シミュレータをステップ実行させれば、よく分かります。
----------------------------------------------------------------
   でも わからん(´·ω·`)
ブロッキング文はdelayやイベントでステートメントに着いた時点で、実行を中断させられるという意味で、ブロッキングです。
と書いてあるので、じゃあ実行を中断させてみいや、例題をだせえゃ、ゴラアァとおもったのだが、次のカッコ書きを読んで脱力した次第である。
な、な、なな ブロッキング文とは言っても、殆どの場合ブロックされることはありません。キリッ)
   ななな、なんだよ、それはよーーー。

というわけでワイが想像したのは、delayやイベントをブロッキング文に書いて実行を止めてみよう、同じ記述をノンブロック文にも書いて実行が止まらない事を確認しよう、それだけやったら理解したと考えて良いという事だ。

浅学菲才!!  不勉強が身にしみる秋 なむうぅ・・・

posted by toinohni at 11:28| 東京 ☁| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください