FC2カウンター FPGAの部屋 Spartan3E Starter KitでのDDR SDRAMコントローラのテスト
FC2ブログ

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

FPGAの部屋

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

Spartan3E Starter KitでのDDR SDRAMコントローラのテスト

Spartan3E Starter KitでDDR SDRAMコントローラを作成中だ。
インプリメントファイルのトップはDDRtest.vhdで下のようなentiyだ。

entity DDRtest is
port(
clk : in std_logic;
reset : in std_logic;
lcd_d : inout std_logic_vector(7 downto 4);
lcd_rs : out std_logic;
lcd_rw : out std_logic;
lcd_e : out std_logic;
sf_ce0 : out std_logic;
rot_a : in std_logic;
rot_b : in std_logic;
rot_center : in std_logic;
btn_east : in std_logic; -- データ書き込み用
btn_west : in std_logic; -- データ読み出し用

sd_a : out std_logic_vector(12 downto 0);
sd_dq : inout std_logic_vector(15 downto 0);
sd_ba : out std_logic_vector(1 downto 0);
sd_ras : out std_logic;
sd_cas : out std_logic;
sd_we : out std_logic;
sd_udm : out std_logic;
sd_ldm : out std_logic;
sd_udqs : inout std_logic;
sd_ldqs : inout std_logic;
sd_cs : out std_logic;
sd_cke : out std_logic;
sd_ck_n : out std_logic;
sd_ck_p : out std_logic
);
end DDRtest;


上がクロックとリセット、LCD表示回路、ロータリエンコーダを使った値の入力用回路、データ書き込み用SW、データ読み込み用SW、下がDDR SDRAM用の信号だ。
いままでのロータリエンコーダの回路で書き込み値をセットして、データ書き込み用SWを押した時にDDR SDRAMへ書き込む。
データ読み込み用SWを押した時にDDR SDRAMからデータを読み込み、LCD表示回路の下の行に表示する。
アドレスはとりあえず0に固定の予定だ。
いまのところDDR SDRAMコントローラのコアジェネレータで生成したコアの移植がうまく行っていないのでインプリできていない。これを移植してインプリしてみる予定だ。
それと平行してシミュレーションの準備を進めている。
DDR SDRAMのモデルはVHDLのモデルがマイクロンのサイトにはないようだ。Verilogモデルしかない。ほとんどのメーカーでVerilogモデルしかない様である。唯一、Hynixセミコンダクタのページで発見した。
http://www.hynix.com/eng/02_products/01_dram/02_01_ddrsdram.jsp
メモリが512Mbitなので
http://www.hynix.com/datasheet/simo/new/DDR_PC_32Mx16_HY5DU121622A(L)T_VHDL(Rev0.1).zip
をダウンロードしてみた。しかし、すでにModelSimのコンパイル済みのライブラリでcomponent文が入っていないので、どう接続していいかわからない。
そこで他のメーカーでVHDLのソースつきDDR SDRAMモデルを探したが見つからない。
しょうがないのでHynixの256MbitのVHDLモデルをダウンロードしてみたらREADMEファイルにVHDLのコンポーネント文がついてきた。とりあえずこれを参考に512MbitのDDR SDRAMモデルとして使おうと思っている。だめだったら256MbitのVHDLモデルを使うことにする。

2006.06.04 : コンパイル済みのHynixの512MbitのVHDLモデルを使用してModelSim XE III 6.0dでシミュレーションを開始したら、リコンパイルしろといわれてしまってだめだった。
マイクロンから以前にダウンロードした128MbitのVHDLモデルを使おうと思っている。今のマイクロンのサイトにはVerilogのモデルしかないようだ。
  1. 2006年06月02日 21:56 |
  2. Spartan3E Starter Kit
  3. | トラックバック:0
  4. | コメント:2

コメント

承認待ちコメント

このコメントは管理者の承認待ちです
  1. 2006/06/06(火) 19:18:52 |
  2. |
  3. #
  4. [ 編集 ]

コメントありがとうございます。
ブログみていただいてとてもうれしいです。

残念ながらブログにも書いてありますが、完成してもVHDLソースは公開しません。
ザイリンクスのアプリケーションノートのアイデアを結構頂いているからです。それにバーストアクセスまで完全にバグフィックスするのは難しいと思っています。
ModelSimを仕事でも使いまくりなので、DDR SDRAM
モデルまでつながった規模の大きいファイルを家で見ているとつらい状態でもあります。一応東京エレクトロンデバイスのDVIボードのDDR SDRAMで動作したので、うまくつなげていれば動くと思うのですがね。
もしかすると、とりあえずDDRはペンディングにしてVirtex4のお勉強を優先するかもしれません。
それでは、これからもよろしくお願いします。
  1. 2006/06/06(火) 22:11:01 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

コメントの投稿


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

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