MIPSfpgaおよびSDRAM。 パート1

今週、 MIPSfpga-plusプロジェクトにSDRAMサポートを追加しました。 現在、 MIPSFpgaを使用する場合、 FPGAリソースによって制限されるブロックメモリに加えて、外部RAMも使用できます。







この記事は2つのパートで構成されています。







パート1. SDRAMアクセスモジュールの簡単な説明。 使用例。

パート2。以前にRAMチップを扱ったことのない人がモジュールを理解できるように、メモリの操作に関する詳細な説明。 参照資料







読者は少なくとも次のことが期待されます。









すでに経験豊富な開発者であれば、第1部は目を斜めに動かす価値があり、第2部には新しいものは含まれていません。 同時に、別のデバッグボードにSDRAMサポートを追加すると、コミュニティに間違いなくメリットをもたらすことができます。 現在、MIPSfpgaコアがMIPSfpga-plusプロジェクトの一部として移植された9つのボードの1つであるTerasic DE10-Liteにのみ実装されています。







一般的な情報



MIPSfpgaは、アカデミックライセンス(教育および研究プロジェクト用に無料ライセンス)で利用可能な産業用マイクロプロセッサコアMIPS microAptivです。 Yuri Panchulは、このカーネルのソースコードにアクセスする方法について詳しく説明しました







MIPSfpga-plusは、MIPSfpgaに基づくチップベースのシステム設計であり、コアに加えて、いくつかの追加の周辺機器バインディングが含まれています。 当初は、MIPSfpgaを操作する実験室での作業用に作成されましたが、システムの基礎として使用することを妨げるものはありません。 プロジェクトの主な「機能」の1つ:usb-uartコンバーター($ 5)を使用してプログラムをシステムのメモリに書き込む機能。これはBus Blaster($ 50)よりも手頃です。







システム構成



画像







SDRAMアクセスモジュールの主要パラメーター( mfp_ahb_ram_sdram.v





メモリテストの構成と実行の手順



MIPSfpgaおよびMIPSfpga-plusを既に展開およびコンパイルしていることを前提としています。 その場合、SDRAMを使用するには以下を行う必要があります。









シミュレーションモードの場合(SIMULATION)





ボードを使用する場合(SDRAM_64M、SDRAM_8M)





他にできること



私の目標は、可能な限りシンプルで、透明で、他のボードに簡単に移植できるソリューションを作成することでした。 このモジュールは、「大人」のものに比べてやや原始的です。これにより、近代化と生産性の向上の余地が残されます。









バグ修正と新機能を備えたプルクエストに感謝します。







謝辞



著者は教科書のデビッド・ハリスとサラ・ハリスの「デジタル回路とコンピューター・アーキテクチャー」 、イマジネーション・テクノロジーズの会社、そして個人的にはユーリ・パンチョル・ユーリパンチュルの翻訳者のチームに感謝しています。








All Articles