FC2カウンター FPGAの部屋 NiosⅡ 9.0 IDE を使ってみる1
FC2ブログ

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

FPGAの部屋

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

NiosⅡ 9.0 IDE を使ってみる1

次に、日昇テクノロジーのMAX II/Cyclone IIボードのマニュアル2009/2/26の76ページ、第6章に従ってNiosⅡ 9.0 IDEを使ってみることにする。

最初に、前回作成した.sof をQuartusⅡのProgrammer から書き込む必要がある。nois2_sdram_led というプロジェクトなのだが、出来たSOFファイルはnios2_sdram_led_time_limited.sof だった。無料版なので時間制限があるのだろうか?
とにかくこれしかないのでProgrammer で書きこんだ。下図参照
Nios2_IDE_90_1_090809.png

そうすると、OpenCore Plus Status が出てくるので、そのままに置いておくそうだ。
Nios2_IDE_90_3_090809.png

次に、NiosⅡ9.0 IDE を立ち上げて、ワークスペースを今回のプロジェクトのフォルダに設定した。File メニューからNew -> NiosⅡ C/C++ Application を選択した。New Project ダイアログが起動した。
SOPC Builder System PTF File: にnois_sdram.ptf を選択し、Select Project Templete にBoard Diagnostics を選択してFinish ボタンをクリックする。
Nios2_IDE_90_1_090809.png

board_diag_0 を右クリックして、Build Project を選択し、ビルドを行う。
Nios2_IDE_90_4_090809.png

ビルドは結構長い。。。ビルドが終了したらエラーが出ていた。SYSID_BASEやSYSID_TIMESTAMPがundeclared だそうだ。
Nios2_IDE_90_5_090809.png

困った。Webを検索しても解決策は見つからなかったが、SYSID_BASEなどがsystem.h にあるのはわかった。boar_diag.h からsystem.h はインクルードされている。
とりあえず原因がわからないが、NoisⅡIDE起動時にもう1つNoisⅡIDEを起動していたのが原因だろうか?もう一度新しくプロジェクトを作って確かめてみることにする。

takepon256さんに教えていただいて、上の問題は解決できました。takepon256さんありがとうございました。
SOPC Builder を変更したので、”SOPC Builderを使ってみる1”を変更しました。

もう一度、board_diag_0を作り直して、ビルドしたらもんだくなくビルド出来たようだ。なお、たぶんjtag_uart_0 ではなくてjtag_uart に名前を変えたほうがNoisⅡ9.0 IDEでWarningが出るのを防げるようだ。
Nios2_IDE_90_6_090811.png

左側のペインのboard_diag_0 で右クリックしてRun As -> Nois Ⅱ Hardware を選択した。そうするとmake し始める。
ここで、board_diag_0.elf のダウンロードから先に進まない。下に示すメッセージがコンソールに出てきた。

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Pausing target processor: not responding.
Resetting and trying again: OK
Reading System ID at address 0x00000018: verified
Initializing CPU cache (if present)
OK

Downloading 02000000 ( 0%)
Downloading 02010000 (92%)
Downloaded 70KB in 1.6s (43.7KB/s)

Verifying 02000000 ( 0%)
Verify failed between address 0x2000000 and 0x200FFFF
Leaving target processor paused


SDRAMが動作していないのかな?
日昇テクノロジーのサンプルでやってみた。LEDがアサインされていないのかコマンドを打つとエラーになったが、Board Diagnosticsのコンソールは起動した。QuartusⅡで回路を見るとリセット回路が付加されている。もしかして、これを付けないと動作しないのか?付けてやってみることにした。

(2009/08/12:追記)
原因がわかりました。IOピンのうちSDRAM_nCSのアサインを忘れていました。
SOPC_Builder_26_090812.png

あわててSDRAM_nCSをPIN_191に指定しました。これでもう一度QuartusⅡでコンパイル。
やはり、NoisⅡIDEでSDRAMがVerify failが出るのは変わらず。。。

(2009/08/15:追記)
トップのVerilog-HDLをミスっていました。
SDRAM_Dをinoutとするところoutputと記述してしまいました。
  1. 2009年08月10日 05:39 |
  2. NiosⅡ EDS
  3. | トラックバック:0
  4. | コメント:2

コメント

SYSID_BASE、SYSID_TIMESTAMPの件、もう解決されているかもしれませんが。。。

SOPCの画面を拝見しますと最後にWarningが残っていますのでこのせいではないかと思われます。
http://marsee101.blog19.fc2.com/blog-entry-1190.html

試しに類似プロジェクトを作って、モジュール名を「sysid_0」ではなく「sysid」にするとエラー無くなりました。
(自動で吐き出した名称なのに使えないなんて・・・)
  1. 2009/08/10(月) 12:52:22 |
  2. URL |
  3. takepon256 #-
  4. [ 編集 ]

takepon256さん、たびたび教えていただいてありがとうございます。
http://marsee101.blog19.fc2.com/blog-entry-1190.html
をWarningが出ないようにsysid_0をsysidに名前を変更しました。全くWarning見ていなかったです。ありがとうございました。
  1. 2009/08/10(月) 20:02:45 |
  2. URL |
  3. marsee #f1oWVgn2
  4. [ 編集 ]

コメントの投稿


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

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