■
HDLによる設計の実質的中身はprocess begin ... end
の記述する順序処理と,デフォルトの(というかそれを囲むarchitecture ... of ... is ... end
の記述する)並行処理の組み合わせになってるということが,やっと分かった... orz H研の院生さんに「VHDLむずかしいお... なにがなんだかさっぱりだお」ってグチをこぼしたらそう教えて下さった.
portはinならば引数であり,outならreturn文.それに対しsignalは気楽に使える一時変数.entityがインタフェイスとして公開するport名を,外側のモジュールで使うには,component
とport map
の組み合わせを使う. ... entity
とcomponent
とでport名を変えたらどうなるんだろう? 要らない任意性が多いな.
CLK'event
というのはCLK
が変化したとき,という意味.if (CLK'event and CLK = '1') then ... end
というのは「CLK
の立ち上がりの際には...」というイディオムのようだ.
テストベンチにおけるテスト対象はUUT
(Unit Under Test)という名前でinstantiateするのが慣習らしい.