FC2カウンター FPGAの部屋 Verilog版DDR SDRAMコントローラ、DDR2 SDRAMコントローラのバグ
FC2ブログ

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

FPGAの部屋

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

Verilog版DDR SDRAMコントローラ、DDR2 SDRAMコントローラのバグ

たっくさんのおかげで、Verilog版DDR SDRAMコントローラDDR2 SDRAMコントローラのシミュレーションモデルにバグのあるのがわかった。現在のファイルサーバにあがっている圧縮ファイルは修正済みだが、以前にダウンロードされた方は修正をお願いします。
バグのあったVerilogファイルは contorller.v だ。
Verilog版DDR SDRAMコントローラでは110行目、DDR2 SDRAMコントローラでは144行目の equal_active_bank の論理を以下のように修正ください。

assign equal_active_bank = (active_row_addr==row_addr && active_bank_addr==bank_addr) ? 1'b1 : 1'b0;


現在のコントローラは1つのBANKのみサポートしている。コントローラはROWアドレスとBANKアドレスを監視している。つまり、現在のアクセスのROWアドレスとBANKアドレスと、以前のアクセスのROWアドレスとBANKアドレスが違っているとプリチャージしてACTコマンドを入れなおす。そのときにBANKアドレスを比較するのを忘れてしまった。つまり、前のアクセスと現在のアクセスのBANKアドレスが違っているときに、プリチャージしてACTコマンドを入れないで、直接READやWRITEコマンドを発行してしまうのでエラーになってしまった。

2008/03/07:またまたバグがあって、Verilog版のDDR SDRAMコントローラのcontroller.vを修正しました。修正箇所が多いので必要な方は再度ダウンロードしてください。まだバグがあるようですが、ある程度バーストしても大丈夫なようです。引き続きバグを修正します。
DDR2 SDRAMコントローラのシミュレーションモデルの方は、Verilog版のDDR SDRAMコントローラのバグフィックスが終了した時点で修正します。
  1. 2008年03月05日 05:40 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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