FC2カウンター FPGAの部屋 Plasmaを使うことにした
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

コメント

こんにちは。
Plasma ソースは、4年位前のもので現在のものとは大分違います。demo.v オリジナルのGPLに従えば問題ないです。分かりませんが、UCLINUXまで考えると、Micro32の方がよいかもしれません。
  1. 2008/09/26(金) 18:33:06 |
  2. URL |
  3. たっく #-
  4. [ 編集 ]

こんにちは。お世話になっております。

PlasmaソースはOpenCores.orgから落としてやってみます。
OpenRISC1000はどうでしょうか?
Micro32というのはどこのプロセッサコアですか?
  1. 2008/09/26(金) 22:14:22 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

marseeさん、
ごめんなさい。Micro32->mico32の間違いです。

下は、DDR付きのポートですが、XilinxやAlteraのボードで動いているようです。中身は見ていません。
https://roulette.das-labor.org/bzrtrac/wiki/soc-lm32
ただ、DDRは、固定のえいやVersionですので、marseeさんのVirtex4コアの方がよいのは、言うまでもないです。

Plasma は、独自OSで動くようですが、uCLinuxで動いたという話は耳にしません。最近Opencoresには疎くて、Openriscもどんな感じか見ていません。その他MIPSもどきのコアは山ほどありますが見ていませんが、雰囲気だけからするとmico32がよさそうです。
  1. 2008/09/26(金) 23:01:09 |
  2. URL |
  3. たっく #-
  4. [ 編集 ]

Mico32ですね。了解しました。
Mico32はうまくいかなくて投げ出したところだったのですが、ご紹介いただいたURLのsoc-lm32はうまくインプリメントできました。
ご紹介ありがとうございました。これをもう少しいじってみたいと思います。
  1. 2008/09/27(土) 05:44:48 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

コメントの投稿


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

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