VerilogHDL

【Verilog】MacでのVerilogHDLの環境構築とサンプルコード

今回はハードウェア記述言語として有名なVerilogHDLの環境構築とサンプルコードの紹介をします。

環境構築については、Icarus Veriog と GTKWaveをインストールします。

用語確認

まずは用語の確認からしていきたいと思います。

・Verilog(ヴェリログ)

ハードウェア記述言語の一つである。

・ハードウェア記述言語(HDL)

英語で表すと、Hardware Description Languageとなる。デジタル回路を設計するためのコンピュータ言語。

デジタル回路設計をする際に回路図入力だと大規模な記述の場合に確認が難しくなるので、ハードウェア記述言語が使われます。

・プログラミング言語とハードウェア記述言語の違い

C言語などのようなプログラミング言語では命令の順番通りにCPUがプログラムを実行するが、ハードウェア記述言語は並列で同時に実行する

・Icarus Veriog

Icarus Veriogは、オープンソースで公開されているVerilogのコンパイラ、シミュレータ。

これをインストールすることでMac上でVerilogで記述したコードをコンパイルして実行することができるようになる。

・GTKWave

GTKWaveは、オープンソースで公開されているVerilogの波形ビューアである。

環境構築

(1)ターミナルを起動

(2)icarus verilogのインストール

(3)GTKWaveのインストール

(3)の際に

『Error: Cask ‘gtkwave’ requires XQuartz/X11, which can be installed using Homebrew Cask by running』

というエラーが出たら、

で依存パッケージをインストールしてください。

実行方法とサンプルコード

環境構築が無事に終わったら、次はサンプルコードを書いてみましょう。

Hello worldを表示する

ファイル名: helloworld.v

moduleとendmoduleで囲むことによってモジュールを定義することができます。

この場合、モジュール名はmainとなる。

でコンパイル

でコンパイルされた実行可能ファイルを実行することができます。

ハードウェアをシミュレートする

ファイル名: AND_gate.v

ファイル名: main.v

まずはこれら二つのコードを用意します。

AND_gate.vにはANDゲートのモジュール(ハードウェア)が記述してあり、それをmain.vで使うという感じです。

ターミナルで以下のようにすると、結果を見ることができます。

GTKWaveで結果を見るとこんな感じ