2008年07月01日

メモリのビット幅の記法

Verilog HDLで64kワードのメモリを宣言する場合には、以下の通りである。

reg [31:0] mem[0:65535]; //(1)
reg [31:0] mem[65535:0]; //(2)

文法的に言えば(1)も(2)も等価であるが、メモリのビット幅の宣言としては(1)が一般的である。その理由としては、テストベンチで$readmemh等を利用して対象のメモリに初期データをシーケンシャル代入する際に、普通はメモリのアドレスが小さい0から65535とファイルの先頭から昇順代入されるが、処理系によっては(1)と(2)と区別され、(2)では65535から0へと降順代入される可能性があるからである。

2008年03月28日

WindowsでのVerilog HDL開発環境

WindowsでVerilogHDLの開発環境をそろえる為のメモ。
本来Linux用のソフトウェアなので導入がやや面倒。

●Verilog HDLシミュレータ
Icarus Verilog
Take me to the software! (v0.8)に移動し、
The quick link for the impatient: 〜のリンクへ移動。
Windowsの中にiverilog-0.8-setup.exeがあるのでダウンロード。
パスに全角やスペースを含まない場所へインストール。
インストール先ディレクトリのbinへパスを通す。
使い方:
iverilog test.v
vvp a.out

●波形ビューワ
GTKWave
The Win32 version is available here.からgtkwave.exe.gzとlibs.tar.gzをダウンロード。
gtkwave.exe.gzをgtkwave.exeにリネームした後、パスに全角やスペースを含まないディレクトリにコピーして、そのディレクトリへパスを通す。
使い方:
gtkwav test.vcd

●エディタ関連
Eclipse
DownloadsからEclipse Classic 3.3.2をダウンロード。

Pleiades(Eclipse日本語化)
Pleiadesの最新版pleiades_1.2.2.p4.zipをダウンロード。
Eclipse本体に上書きし、readmeの中のreadme_pleiades.txtに従って設定を変更。

Eclipse Verilog editor(Verilog HDL用Ecliseプラグイン)
veditor runtimeのnet.sourceforge.veditor_0.6.0.jarをダウンロード。
Eclipseのpluginフォルダにコピーし完了。