Tech と Culture

テクノロジーとカルチャー

HDLシミュレーション3

GHDLについて散々調べますが、なかなか分かりません。
そしてこうなったら最後の手段で modelsim を使ってみることにしました。
modelsimはASICの設計にも使われているソフトなので完成度も高いだろうし、grlibでも公式サポートツールになっているため、バッチコマンドも自動生成できます。一万行の制約が問題で、トップモジュールは数万行になるためシミュレーション不可能ですが、小さいモジュールなら大丈夫だと思われます。

では、何故最後の手段にしていたのか、、、、
それは、私が、長年に渡るmac & Linux 使いで、windowsがあまり好きでなくかつ詳細をまるでしらないからです。家にあるコンピュータもmac miniとEpsonDirectのPCにCentOSをインストールしたマシンです。PCの方はマルチブートになっていますので、久々にWindowsを立ち上げました。

ISE WEB packとmodelsimをインストールしました。そしてこれをどうやってGrlibの環境とつなぎ合わせるかですが、Grlibはcygwinというwindows上でunix開発環境を実現するソフトが公式サポートされています。詳しくは知りませんが、とりあえず、インストールしてみました。
インストールに非常に時間がかかり、これならVMWarePlayerを使った方が良いのじゃないかと思いつつ、動かしてみました。

同じようにCygwinのWindow上で $GRLIB_HOME/design/work に移り、make vsim-launch と入力すると何とそのままwindows側でmodelsimが立ち上がりました。cygwinからはwindowsのファイルもそのまま見えるし、アプリケーションも立ち上げれるようです。これは便利。しかし、これを問題なく動かすのは大変だっただろうな。ある意味Virtual Machine開発する方がまだ簡単のような気もします。

modelsimの方はさすがに定評のあるツールでメッセージも分かりやすい。コンパイルしてみるとマルチソースのネットがあるということでVHDLを少し変更しシミュレーションもうまくいきました。

modelsim.png

AMBA emulatorはきちんと信号を出しているようです。AHBRAMの方が動いて無いような気が、、、
まあこれは多分アドレスの問題だろう。
とりあえず、RTLシミュレーションが動き始めました。

しかし、windows環境使うのはあまり好きではないなー。マルチブートなので、CentOSの方が動かせないし、仮想化して両方動くようにするべきか。そもそもPCが古くてスペック不足なので買い替えるべきか。
根本的な環境を考える必要があるのかもしれません。