FC2カウンター FPGAの部屋 DDR SDRAMコントローラのシミュレーション1(コンパイルスクリプト)
FC2ブログ

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

FPGAの部屋

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

DDR SDRAMコントローラのシミュレーション1(コンパイルスクリプト)

前回でDDR SDRAMモデルを使うためのFMFライブラリの準備が出来たので、今度はDDR SDRAMモデルを使って実際にDDR SDRAMコントローラのシミュレーションをしてみる。
最初に前回ダウンロードしてもらったDDRtest_IP_061102.ZIPにはPicoBlaze本体が欠けているのでkcpsm3.vhdをダウンロードして追加してほしい。
DDRtest_IP_061102.ZIPはバグがあったのでもう一度ダウンロードしてください。ddr_controller/ddr_sdram_cont.vhdだけ取り替えればOKです。なお例によって保証はありません。自己責任でお使いください。プロジェクトやファイルは個人的に実験するのみで、商用に使用することや再配布は禁止します。)
尚、controllerはModelSim XE �/Starter 6.1eのVHDLバージョンでコンパイル済みのライブラリを使用していますのでこのバージョンのModelSimでないとシミュレーションが出来ません。

Free Model FoundryMT46V16M16のVHDLで書かれたシミュレーションモデルをダウンロードして、前回のgen_utils.vhdのように55~56行目を

USE IEEE.VITAL_primitives.ALL;
USE IEEE.VITAL_timing.ALL;



LIBRARY VITAL2000; USE VITAL2000.VITAL_primitives.ALL;
USE VITAL2000.VITAL_timing.ALL;


に変更しないとエラーが出るので変更した。
前回と同様にModelSimのプロジェクトを作成しよう。ずはModelSim XE �/Starter 6.1eを起動する。起動したらFileメニュー -> New -> Project...を選ぶ。
DDR_SIM_1_061102.png

現在のプロジェクト閉じるけど、続けますか?というダイアログが出るのでOKボタンをクリック。
DDR_SIM_2_061102.png

Create Projectダイアログが出る。Project Nameをfmfに、Project LocationのBrowse...ボタンをクリックしてDDRtest_IP\simurationを指定する。ここではProject NameをDDRtest、Default Library Nameをworkとした。
DDR_SIM_12_061104.png

ここでAdd items to the Projectダイアログが出るが、今回はTranscriptペインでのコマンドおよびコマンドスクリプトでやってみようと思うので Add items to the ProjectダイアログをCloseボタンで閉じる。
次に前回のFMFライブラリとソースがないcontroller.ngcのライブラリをライブラリリストに登録しよう。FMFライブラリについては前回の続きでやっている場合は登録されているかもしれない。その場合はFMFライブラリの登録は飛ばしてほしい。
FMFライブラリは登録しなくてもWorkspaceペインのLibraryタブをクリックすると登録されているようだ。カレントフォルダにあるからだと思うが、されていないときはWorkspaceペインのLibraryタブをクリックした状態で右クリックからUpdataすると登録されると思う。
DDR_SIM_14_061104.png

次にcontroller.ngcのライブラリをライブラリリストに登録しよう。Workspaceペインで右クリックして、New -> Library...を選択する。
DDR_SIM_13_061104.png

Create a New Libraryダイアログが開く。Createセクションのa map to an exiting libraryをラジオボタンで選択。Library Name:にcontorller_sim、Library Map to:に./fmfを入力する。Library Map to:はBrowse...ボタンを選んでファイル選択ダイアログからLibraryを選択しても良いが絶対パスになってしまう。
DDR_SIM_15_061104.png
controller_simライブラリが作成されてライブラリリストに登録される。
DDR_SIM_16_061104.png

次にテキストエディタでコンパイル用のDOファイル(compile.do)を作る。

# Compile.do
# DDR SDRAM Controller
vcom -work work -93 -explicit ../ddr_controller/ddr_controller_pack_sim.vhd
vcom -work work -93 -explicit ../ddr_controller/addr_fifo.vhd
vcom -work work -93 -explicit ../ddr_controller/rddata_fifo.vhd
vcom -work work -93 -explicit ../ddr_controller/wrdata_fifo.vhd
vcom -work work -93 -explicit ../ddr_controller/dcm_module.vhd
vcom -work work -93 -explicit ../ddr_controller/write_data_module.vhd
vcom -work work -93 -explicit ../ddr_controller/read_data_module.vhd
vcom -work work -93 -explicit ../ddr_controller/ddr_sdram_cont.vhd

#PicoBlaze, LCD
vcom -work work -93 -explicit ../LCD_Display_pack.vhd
vcom -work work -93 -explicit ../swdiv.vhd
vcom -work work -93 -explicit ../instrom.vhd
vcom -work work -93 -explicit ../kcpsm3.vhd
vcom -work work -93 -explicit ../lcdopesm.vhd
vcom -work work -93 -explicit ../LCD_operation.vhd
vcom -work work -93 -explicit ../LCD4HexDisp.vhd

# rot_enc input
vcom -work work -93 -explicit ../rotsw_sm.vhd
vcom -work work -93 -explicit ../rot_enc_cont.vhd
vcom -work work -93 -explicit ../in4hexsm.vhd
vcom -work work -93 -explicit ../input_4hex_val.vhd
vcom -work work -93 -explicit ../input_4hex_top.vhd

vcom -work work -93 -explicit ../Test_LCD4HexDisp.vhd

vcom -work work -93 -explicit ../dcm100.vhd
vcom -work work -93 -explicit ../DDRtest.vhd

vcom -work work -93 -explicit mt46v16m16.vhd
vcom -work work -93 -explicit DDRtest_tb.vhd


ModelSimのTranscriptペインでdo compile.doとコマンドを入力するとファイルが順にコンパイルされる。
DDR_SIM_17_061104.png

とりあえずDDR SDRAMコントローラのシミュレーション1(コンパイルスクリプト)はここまで。
  1. 2006年11月04日 08:32 |
  2. シミュレーション
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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