To content | To menu | To search

Tag - FPGA board

Entries feed - Comments feed

Friday, October 11 2019

antonblanchard/microwatt を動かした

OpenPOWER ISA を実装した antonblanchard/microwatt を動かした話。

ただ、Python のライブラリの依存関係がうまく解消できなかったので、OS にインストール済みの Python 関係のパッケージを一旦全部削除、という乱暴なことをしているので、この手順の実用性はいまいちかもしれない。

2019/Oct/28 追記:この点については Pipenv を使えばいいらしい。

あと、本来は bit ファイルのロードも自動でされるはずが、仮想マシンで行っているためか、デバイスが検出できなかったため途中でとまる。手動でロードすれば動作する。

Continue reading...

Monday, September 26 2016

FPGArduino をさわってみる(3)

とりあえず動いた

Continue reading...

Thursday, September 22 2016

FPGArduino をさわってみる(2)

昨日の続き

Continue reading...

Wednesday, September 21 2016

FPGArduino をさわってみる(1)

幸い Xilinx Spartan 3A/3AN Starter Kit を自由に使える環境があるので、まずはバイナリで動かしてみた。
シリアルポートが、まだ USB-UART が無くて、D-SUB 9pin の PS/2 側を使わないといけなかったのはハマったけれど、とりあえず動いた。

けど f32c\rtl\proj\xilinx\s3a_700_bram\s3a_700_bram.xise をそのまま ISE 14.7 で通そうとしてもエラーになる。

 ERROR:HDLParsers:3375 - "f32c/rtl/generic/bram.vhd" Line 81. Choices for an array aggregate (result of operator) must be locally static unless there is only one choice. (LRM 7.3.2.2)

だそうで。
Makefile 使わないとだめなんだろうか。
でもこれ長くて読むのつらい。

元々、これまた自由に使える ML605 に移植しようと思ったけれど、どこから手をつけていいのか分からない。
なので素直に f32c\rtl\generic\glue_bram.vhd から手をつけていきますか。

基本的には、http://www.nxlab.fer.hr/fpgarduino/ のページの My board isn't listed above, is there any hope? の手順のはずなんだけど。

と、generic で Synthesize 走らせたら通った。失敗したときはパッケージ系のファイルが入っていなかっただけかもしれない。
C_clk_freq に MHz で数字を設定したら通った。
読み込んだファイルは

f32c/rtl/generic/glue_bram.vhd
f32c/rtl/generic/bram.vhd
f32c/rtl/cpu/pipeline.vhd
f32c/rtl/cpu/alu.vhd
f32c/rtl/cpu/debug.vhd
f32c/rtl/cpu/defs_f32c.vhd
f32c/rtl/cpu/defs_mi32.vhd
f32c/rtl/cpu/defs_rv32.vhd
f32c/rtl/cpu/idecode_mi32.vhd
f32c/rtl/cpu/idecode_rv32.vhd
f32c/rtl/cpu/loadalign.vhd
f32c/rtl/cpu/mul_dsp.vhd
f32c/rtl/cpu/mul_iter.vhd
f32c/rtl/cpu/shift.vhd
f32c/rtl/generic/bptrace.vhd
f32c/rtl/generic/reg1w2r.vhd
f32c/rtl/generic/bootloader/boot_rom_mi32el.vhd
f32c/rtl/generic/bootloader/boot_sio_mi32eb.vhd
f32c/rtl/generic/bootloader/boot_sio_mi32el.vhd
f32c/rtl/generic/bootloader/boot_sio_rv32el.vhd
f32c/rtl/generic/bootloader/defs_bootblock.vhd
f32c/rtl/soc/gpio.vhd
f32c/rtl/soc/sio.vhd
f32c/rtl/soc/spi.vhd
f32c/rtl/soc/timer.vhd

そしてこれをラッピングして ML605 につながるようにして bit ファイル作ったら、とりあえず Arduino IDE と通信はできた。
動作クロックは 150MHz を指定。というか C_clk_freq は integer といってるし、166.6 はどうやって指定するんだろうな。

ただ、LED のアサインが違っているようで、blink は動いてくれなかった。その他も、まだこれからかな。

Saturday, April 25 2015

Just a plan

This is Just a plan.

Continue reading...