VivadoでコンフィグROMの書込みを行う方法

VivadoにおけるコンフィギュレーションROMの書込手順の一例をお示しします。
記事作成時に使用しているVivadoのバージョンは2015.1です。

※コンフィグROMへはbitファイルで十分に動作確認を行ったデザインを書き込むようにしてください。

 

1.Bitファイルを作成する

デザインの合成を行い、bitファイルを作成します。
Bitstream Settingから「Configuration Rate」を設定します。初期値ではコンフィグROMからの起動に時間を要します。SPI Configuration - Bus widthは1,2,4から選択してください。


クリックして全体を表示


クリックして全体を表示

 

2.MCSファイルに変換する

TCLコマンド「write_cfgmem」を使用します。コマンド例を示します。:

write_cfgmem -format MCS -interface SPIx1 -size 64 -loadbit "up 0x0 C:/myLab/XCM-023/Kensa/XCM023Z_50T/XCM023Z_50T.runs/impl_2/top.bit" "C:/myLab/XCM-023/Kensa/XCM023Z_50T/XCM023Z_50T.runs/impl_2/top.mcs"
  • -interface SPIx1:作成したbitファイルの設定に合わせます
  • -size 64 : 製品に搭載されているコンフィグROMの容量(Mb)を設定します
  • ファイルパスはご自身の環境に適宜修正してください。パスに「¥」は使用できませんので「/」に置換してください。
  • コマンドの詳細については「write_cfgmem -help」から確認してください

用意したコマンドをTCL Consoleに入力します。

またはコマンドを*.tclファイルとして保存し、メニュー「Tools - Run Tcl Script...」から実行します。

下記のようなコンソールが出力されMCSファイルが作成されます。

write_cfgmem -format MCS -interface SPIx1 -size 128 -loadbit "up 0 C:/myLab/XCM-208/project/vivado/XCM208_Kensa_V1/XCM208_Kensa_V1.runs/impl_1/top.bit" -file top.mcs
Creating config memory files...
Creating bitstream load up from address 0x00000000
Loading bitfile C:/myLab/XCM-208/project/vivado/XCM208_Kensa_V1/XCM208_Kensa_V1.runs/impl_1/top.bit
Writing file ./top.mcs
Writing log file ./top.prm
===================================
Configuration Memory information
===================================
File Format        MCS
Interface          SPIX1
Size               128M
Start Address      0x00000000
End Address        0x07FFFFFF

Addr1         Addr2         Date                    File(s)
0x00000000    0x00947A5B    Oct 29 15:08:43 2015    C:/myLab/XCM-208/project/vivado/XCM208_Kensa_V1/XCM208_Kensa_V1.runs/impl_1/top.bit
write_cfgmem: Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 1897.609 ; gain = 126.848

 

3.MCSファイルの書込みを行う

GUI操作で書込を行うことができます。

3-1. Hardware Managerを開き、Auto Connectを実行しデバイスを認識します

3-2. 認識されたデバイスを右クリックし「Add Configuration Memory Device..」から製品に搭載されたコンフィギュレーションROMを選択します

3-3. 追加されたコンフィグROMを選択し、「Programming file」を割りつけます

3-4. コンフィグROMを右クリックし「Program Configuration Memory Device...」を実行します

3-5. 実行前に詳細な動作を調整可能です。このままで問題ありません。

3-6. 「Flash programming completed successfully」というダイアログが表示されれば成功です


クリックして全体を表示

 

4.起動することを確認する

電源の再投入を行い正常にコンフィギュレーションされるかを確認します。コンフィギュレーションされない場合は下記をご確認ください

・製品のモードSW設定にて、コンフィギュレーションモードが「Master SPI」に設定されているか
・コンフィギュレーションレートを初期値から変更していないのではないか(この場合待っていれば起動します)

 

参考資料

 UG908 -  Vivado Design Suite ユーザー ガイド : プログラムおよびデバッグ

 

お問い合わせについて

 弊社では、FPGAそのものの使い方、開発ツールの使い方などは、サポートしておりません。

 


[kw] 2016-02-29 Vivado MCS コンフィグROM

[]