FC2カウンター FPGAの部屋 2008年10月12日
FC2ブログ

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

FPGAの部屋

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

soc-lm32のその後2

”soc-lm32のその後1”でMico32プロセッサを100MHzで動作させようとしたが、クリティカルパスが10ns 以上の遅延時間だったので、断念してDDR SDRAMコントローラだけ100MHzで動作させることにした。
そこで、DDR SDRAMコントローラに非同期FIFOを実装して、上記の動作周波数でインプリメントすることができた。
soc-lm32_6_081012.png
しかし、シミュレーションは大丈夫そうだったが、DDRにRAMSIZEをすべてWriteしてから、Readしているので、シミュレーションではDDRのWriteのみしか確認することができない。
実際にSpartan3E Starter Kitにコンフィグして、動作させて見ると、書き込みは終わっているようだが、Readが途中で終わってしまっているようだ。
シミュレーションで確かめたいが、ソフトウェアを変更しないとシミュレーションもReadの部分が見られない。(シミュレーション時間的に。。。)

この際、lm32のソフトウェア開発環境を整備することにした。”Mico32でもう一度やってみた”でCygwinを入れて、soc-lm32のページにあるlm32-src-patched.tar.bz2を解凍して、makeしてみたのだが、Errorで止まってしまっていた。
とりあえず、Design Wave Magazine 2007年10月号"オープン・ソースのCPUコアの実力を試す 32ビットRISCプロセッサ「LatticeMico32」レビュー”の記事のコンパイル済みのGCCツールが、おまけのCD-ROMに入っていたので、今回はこれを使用することにした。
cygwin から tar で展開し、コンパイルしてみたら問題なくコンパイルできた。これでMakefileを書き換えて bootloader を書き変えてシミュレーションすることができる。良かった。。。ポルトガルの山際氏、ありがとう。
Makefileに書いてあるパスを書き直して、lm32をコンパイルした結果がこれ。
soc-lm32_7_081012.png
これで、ソフトウェアも大丈夫。。。
これでDDRに4つWriteしてから、4つReadするようにCプログラムを書き換えて、シミュレーションしてみよう!
  1. 2008年10月12日 20:09 |
  2. Spartan3E Starter Kit でマイコンを作る
  3. | トラックバック:0
  4. | コメント:0