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

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

FPGAの部屋

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

Plasmaを使うことにした

”プロセッサMico32を試してみた”でLatticeのMico32を試してみた。
あの後、プロジェクトをクリーンアップしたら、まともに論理合成できるようになったが、いろいろなオプションが邪魔で、なかなかLatticeのマクロを使わないようにできない。いろいろ修正したのだが、論理合成ツールがFATALエラーになってしまい断念した。
Mico32はだめそうなので、何が良いかと探していると、そういえば以前Plasmaをやろうとしていたのを思い出し、プロジェクトが残っていたので、ISE10.1iのプロジェクトに変換してやってみたところ、若干の修正ですんなりインプリメントできた。
後の問題は、PlasmaはVHDLなので、Veritakでシミュレーションできないのが痛いので、どうしようかと思っていたら、Veritakのオープンコアのページの中のMIPS-R3000のページでVeritakでシミュレーションの仕方とソースコードが落ちていた。
早速、Veritak 3.50A でやってみたところ、1つエラーが出た。それは702行目の
reg [((31-0+1) - 1):0] ram_proc__storage [0:(ram_proc__mem_size - 1)];
で、ram_proc__mem_sizeが定数でないと怒られている。
その上で integer ram_proc__mem_size = 8192; とは書いてあるんだけど。。。
とりあえず reg [((31-0+1) - 1):0] ram_proc__storage [0:(8192 - 1)]; に修正したらコンパイルが通った。シミュレーションも問題なくできるようだ。
これで問題はなくなったかな?
ところでdemo.v を見ると、VHDLのソースがわかりやすいようにVerilogにトランスレートされている。これを使って、Verilogで全部やれれば良いな?
ライセンス的にはこれを変更して、自分で配っても良いのだろうか? まあ、demo.vをそのまま使っても良いか。。。

とりあえずは、Plasmaを使って、自分のDDR SDRAMコントローラを実装して、キャラクタ・ディスプレイ・コントローラ、キーボード・コントローラを組み込んでマイコンを作ることを目指そうと思う。
その前に、なつたんさんの貧乏人のためのDDR2/DDRコントローラのアイディアをいただいて、Suzaku-VのDDR2 SDRAMコントローラを修正して試してみようと思っている。
  1. 2008年09月26日 05:58 |
  2. Spartan3E Starter Kit でマイコンを作る
  3. | トラックバック:0
  4. | コメント:4