FC2カウンター FPGAの部屋 openMSP430のシミュレーション1
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

openMSP430のシミュレーション1

今回はSpartan3 Stater KitでインプリメントしたopenMSP430のシミュレーションを試みた。

シミュレーションの方法が書いていないので、よくわからないが、どうやらopenmsp430\trunk\fpga\xilinx_diligent_s3board\sim\rtl_sim\bin\msp430sim を動かせば良いみたいに見える。
シェル・スクリプトなので、例によって、openmsp430\trunk\fpga\xilinx_diligent_s3boardから下をCygwinの自分のhomeディレクトリにコピーした。そして、Cygwinから”./mps430sim leds”コマンドを入力して起動した。
openMSP430_19_110616.png

すると、エラーが出て停止してしまった。
pmem.elfがおかしいと言われている。xilinx_diligent_s3board\sim\rtl_sim\runのpmem.elfは76バイトしかない。これは、leds.elfをシンボリック・リンクしたものなので、こうなってしまったのか?でもmps430simのスクリプト中のlnをcpに変えても変わらなかった。そこで、leds.elfをWindowsのエクスプローラーでコピーして、pmem.elfに書き換えた。
xilinx_diligent_s3board\sim\rtl_sim\bin\msp430sim の107行目から109行目の以下のスクリプトを

# Create links
ln -s $elffile pmem.elf
ln -s $verfile stimulus.v


下のcp に書き換えた。

# Create links
cp -f $elffile pmem.elf
cp -f $verfile stimulus.v


これでもう一度、”./mps430sim leds”コマンドを入力して起動した。
iverilogコマンドが見つかりませんと出た。Icarus Verilogが必要のようだ。
openMSP430_20_110617.png

Windows用のIcarus Verilogを、ここからダウンロードしてインストールした。(iverilog-0.9.4_setup.exe)
再々度、Cygwinから”./mps430sim leds”コマンドを入力して起動した。
今度は、BUFGやDCM等がUnknown module と言われてしまった。
openMSP430_21_110617.png

msp430sim の最後に、

../bin/rtlsim.sh stimulus.v pmem.mem $submitfile


というコマンドが書かれていた。rtlsim.shを起動しているようだ。
rtlsim.shを見てみると、submit.f というコマンドファイルをIcarus Verilogで実行するようだ。
submit.fを見てみると、-yオプションのライブラリパスにunisims, XilinxCoreLibなどのライブラリが存在しないことに気がついた。K:\cygwin\opt\Xilinx\13.1\ISE_DS\ISE\Verilog\src 以下にすべてのライブラリをコピーした。
openMSP430_22_110620.png

そして、submit.f の51,52,53行目の以下の部分を

-y /opt/Xilinx/12.2/ISE_DS/ISE/verilog/src/unisims/
-y /opt/Xilinx/12.2/ISE_DS/ISE/verilog/src/simprims/
-y /opt/Xilinx/12.2/ISE_DS/ISE/verilog/src/XilinxCoreLib/


下の記述に書き換えた。

-y /opt/Xilinx/13.1/ISE_DS/ISE/verilog/src/unisims/
-y /opt/Xilinx/13.1/ISE_DS/ISE/verilog/src/simprims/
-y /opt/Xilinx/13.1/ISE_DS/ISE/verilog/src/XilinxCoreLib/


これでもう一度、Cygwinから”./mps430sim leds”コマンドを入力して起動した。
しかしやはり、BUFGやDCM等がUnknown module と言われてしまった。

Icarus Verilogは良くわからないので、今度はISimでシミュレーションをやってみたい。
  1. 2011年06月16日 05:43 |
  2. FPGA内蔵マイクロコントローラ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/1829-881e5886
この記事にトラックバックする(FC2ブログユーザー)