FC2カウンター FPGAの部屋 Verilog2001版DDR SDRAMコントローラーのModelSimシミュレーション
FC2ブログ

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

FPGAの部屋

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

Verilog2001版DDR SDRAMコントローラーのModelSimシミュレーション

Verilog2001版DDR SDRAMコントローラーのModelSimシミュレーションを進めている。大体コンパイル時のエラーは取れてModelSimでSimulateするところまでこぎつけた。でもSimulateメニューからStart Simulation...を選んでテストベンチのトップを選択しするとエラーが出る。それはDCMやBUFG、RAM16X1Dなどのmoduleが見つからないというエラーだ。Transcriptペインを見るとSearched libraries:がworkだけになっている。
Verilog2001_DDRC_1_060111.png

これでは見つからないのも無理はない。VerilogでXilinxのunisimライブラリを参照するにはどうしたらいいんだろう。VHDLだとHDLソースに下のように書けばいいんだけど。

library UNISIM;
use UNISIM.VCOMPONENTS.ALL;


Verilogはどうしたらいいんだろうということで困った時のネット検索に頼った。そうするとKyoshowさんのModelSimの使い方がヒット。それによるとファイルを右クリックしたメニューからProperties...選ぶとダイアログが出る。ダイアログのVerilogタブを押すとありました”library Search...”ボタンをクリックしてVerilogのunisimの位置を指定。"-y H:/HDL/ModelSim_starter_61e/xilinx/verilog/src/unisims"
早速、再コンパイルしてやってみるがやはりだめ。よくダイアログを見たら"Project Compiler Settings"だった。Compiler Settingsは関係なさそうである。
改めてXilinxのアンサーサーチを検索してみると、”ModelSim (MXE、SE、PE) - Verilog デザインで UniSim コンポーネントが使用できない”が見つかった。
それによると

`uselib lib=<library_mapping_name>


をVerilogソースに追加するそうだ。
実際には

// synthesis translate_off
`uselib lib = unisims_ver
// synthesis translate_on


をUNISIMライブラリを使うVerilogファイルの最初に入れた。そうしたところ
# ** Error: (vsim-3033) H:/HDL/FndtnISEWork/Spartan3E_starter_kit/DDRtest_org_verilog/ddr_controller_ono/dcm_module.v(51): Instantiation of 'BUFG' failed. The design unit was not found.
# Region: /DDRtest_tb/DDRtest_inst/ddr_sdram_cont_inst/dcm_module_inst
# Searched libraries:
# work

というエラーはなくなった。このトラブルはシュートできたようだ。
でもその他のビット幅が合わないとかのエラーは出ている。今度はそれらのバグをシュートしようと思っている。

今回のバグはVerilogを使っている人には既知のことかも知れないがVHDLを使っていた私にはどうするのかわからなかった。

ちなみに仕事用パソコンはまだ完全に復旧していない。明日あたりは大体復旧できそうだ。今度はNortonゴーストを買ってディスクイメージを取っておこうか。。。
  1. 2007年01月11日 06:28 |
  2. 入門Verilog
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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