FPGAの部屋

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

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ご利用ください。 http://marsee101.web.fc2.com/index.html

2008年09月

昨日、Xilinxから”6.5Gbpsトランシーバ最大48個搭載のFPGA誕生!”というメールが来ました。
XilinxのVirtex5 TXTが出たそうです。
高速トランシーバならば、AlteraのStartix4が最高 8.5 Gbps で動作する最大 48個の 高速トランシーバ を搭載しているそうですから、Xilinxの方が後手に回っている気がします。おまけにプロセスルールも65nmと40nmの違いもありますし。。。
実際に出てくる時期の違いはどうなんでしょう?Startix4はもう物があるんでしょうか?その点はXilinxの方が早いのかな?
近頃はXilinxよりもAlteraの方が元気があるようで、Alteraが気になってきました。Alteraのツールやデバイスもいじってみようかな?SOPC Builderとかも気になります。
でも、コンフィギュレーションケーブルとかを買わないといけないんですよね。

”プロセッサ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コントローラを修正して試してみようと思っている。

Xilinx ISE10.1i サービスパック3が出ています。Xilinxのダウンロードサイトからダウンロードできるようです。
IPアップデート3も出ていますが、まだXilinxのダウンロードサイトに項目は見えません。
XilinxUpdateからアップデートするのがよさそうです。通常はISEを立ち上げてHelpメニューにXilinxUpdateがありますが、ウォーニングが出てうまくいかなかったので、アクセサリからXilinxUpdate単体で立ち上げてアップデート中です。
8b2b5d18.png


711bf1da.png

これにはISEとEDKとChipscopeが入っているので、そのアップデートもあります。IP Update 3 もXilinxUpdateならばアップデートできるようです。
Updateの最後にWindowsを再起動することになりました。

パソコンも大丈夫だったので、Latticeのオープン・ソース・プロセッサMico32をISE10.1iでインプリメントできるかどうか試してみた。
DWM2007年10月号”第2章オープン・ソースのCPUコアの実力を試す”の雑誌付属のCDのプロジェクトを使って、インプリメントしてみた。
Mico32がインストールされたフォルダからVerilogファイルをプロジェクトへコピーして、localparam互換性を合わせるために、localparamを書き換えた。
雑誌付属のCDのプロジェクトはISE9.?だったので、ISE10.1iにプロジェクトを変換した。そうして論理合成してみたところ、"Unexpected error found while building hierarchy."のエラーで論理合成ができなかった。
962c4841.png

原因は何だろう? Mico32が変更されたとか?
もしかして、バージョンを変換されたプロジェクトファイルが悪いのか?もう一度プロジェクトを作り直して試してみることにする。

”Google Chrome インストールに失敗”でGoogle Chromeのインストールに失敗してしまったが、今日、Chromeサポートからメールがあった。新しいChromeでやってみてということでやってみたが同様にだめ。
Chrome Helpも見てね、ということだったので、トラブルシュートを見たら、同様のケースがあった。
それは、 "Chrome won't install if windows partition is not set to C: "で結局、C:ドライブがメモリカードメディアのリーダー・ライタなのでだめだということだった。解決策としては、C:のドライブを無効にして、C:ドライブをHDにsubstするというものだった。
これでやると、Chromeがインストールはできた。しかし、C:ドライブを有効にすると、また例のダイアログが出てしまって消えない。
再起動してもだめ。Chromeを消してもだめになってしまった。おまけにWindows のエクスプローラ が不安定でドライブを表示すると固まってしまう。完全におかしくなってしまった。
HDドライブを購入し、追加して、そっちにWindowsを再インストールしてやりなおすことにした。これで2週間くらいパーだ。。。
くそー。今週はMico32の評価をしようと思っていたのに、完全に予定が狂ってしまった。俺の貴重な時間を返せ。Chromeの
馬鹿ヤロー。

# 一部不適切な言動があったことをお詫びいたします。

追記:Windows のシステムの復元で元に戻りました。一安心。お騒がせしました。
Windows XP SP3て、スケジュールでシステムの復元ポイントを定期的にとっているのでしょうか?
昨日の復元ポイントがあって助かりました。セーフモードで復元しました。

↑このページのトップヘ