Verilog 手続き型言語との違い
Numato Lab社のサイトより引用・翻訳
Verilogの学習の自体は難しい作業ではありません。でも、良い開発を行うことができます。
ここでは、シンプルな開発に焦点を当て、私はできるだけ簡単に説明します。
もしあなたが、C、C++のような手続き型言語でプログラミングしているのならば、「すべてのことがディジタルの世界の中では、連続して起こるとは限らない」と理解する心構えが必要です。
物事の多くは、並行して起こります。Verilogの学習を始めたとき、私はあたかもCのプログラムを書いているかのように、連続してコードを書きました。Cのプログラムでは、連続して一度に1命令を実行され、マイクロプロセッサー上で実行されています。だから、あなたが物事を1ステップごと発生する方法でプログラムを書くのは簡単です。注意深く考えると、これはマイクロプロセッサー、マイクロコントローラーの短所です。それらは、一度に一つのことを一つだけを行うことができます。しかし、マイクロプロセッサーとは異なり、デジタル回路(FPGA、CPLD、およびASIC)では、同時に多くのことを行うことができます。そして、あなたは、多くのことが異なる時に発生する手続き型言語と対照的に、多くのことが同時に発生した場合を視覚化する方法を学ぶ必要があります。