いう順番で説明するのが良いか、考えてみました。後でちゃんとした文章にするかもしれませんが、とりあえずは個人的なメモになります。負論理なんかもあるけれど、説明するのは実際に使うときで良い気がする。論理回路は、「組み合わせ論理回路」と「クロック同期回路」とに分類できる。導線に掛かる電圧に対応する。遅延は、回路に含まれる複数の素子を通る際の遅延と、それらの素子の間の配線を通るための遅延と、の和になる。一種の「記憶素子」で、データ入力線とクロック入力線、データ出力線を持つ。実際にはこの間にも伝達遅延がありうる。回路を記述するためのプログラム言語のようなもの回路は各部分が同時に動作するので、並列実行を強力にサポートする仕様になっている言語自体は通常のプログラム言語と同様に、非常に自由度の高い記述ができる自由すぎるので、あまりに自由に書いたコードは回路に翻訳ができなくなる回路に翻訳可能なようにコードを書くには、そして、できあがった回路の性能(伝達遅延やスループット)を高いものとするには、組み合わせ論理回路やクロック同期回路をどのようにコードで表すかをちゃんと理解していなければならないハードウェア記述言語では、コードの一言一句が「実在の回路」に翻訳されるので、ソフト開発とは違って、気軽に「サブルーチンを呼び出す」などというようなことはできない。コード中に記述された回数ときっちり同じ数の「実在の回路」が生成されるのである。キビシイとか、そんな感じ。