<   2016年 02月 ( 6 )   > この月の画像一覧

BeMicro CV A9

仕事用のFPGAボードを新調してもらいました。
今までOdysseyとかいう癖のあるボードで不便だったのです。
f0054075_21390391.jpg
MAX10では実装率60%ほどだった論理が、このボードでは2%ほどに収まります。
無限の空間です。
で、XMODEMはいまだ動かないのですが、Signal Tap II の使い方を覚えて、検証がはかどり始めました。
メモリとブリッジのバグを1個ずつ直して、転送開始するようになりました。
正しい転送は出来ないですが…
[PR]
by tom01h | 2016-02-17 21:44 | PCとか | Trackback | Comments(0)

jtag_atlantic.dllを使う

何とかしてnios2-terminalをTeraTermで動かそうと頑張ったんだけど、うまく標準入力が渡せない模様。
で、いろいろ調べてみると、jtag_atlantic.dllを使うと、(PC上の)プログラムとJTAG UARTで通信できるらしい。
詳しくはここを参考に。
が、getcharとかすると、キー入力待っちゃうじゃないですか。
なのでここを参考にして回避。
ここまで来てFPGAのCPU上で動くプログラムのバグ発見。
JTAG UARTはでっかいFIFOがあって、その上に入力があるかを確かめたら、その文字も同時に取って来ちゃう仕様でした。
なのに、あるのを確かめてから、その後にさらに取りに行っている。
本のコードをあまり考えずに移植したからね。
入力が遅ければFIFOの先頭しか使わなくって、本当は空でも先頭に残ってるやつを取って来れるのだろうか?
とりあえず、ハードの方を直すかなぁ?UARTが本物になる日のためにソフトの変更量を少なくしたいし。
[PR]
by tom01h | 2016-02-11 16:59 | PCとか | Trackback | Comments(0)

C言語でも動いた

アセンブラで開発を続けるのは大変なので、自作OS本の真似をしてC言語の環境作成中。Step1の移植中にCPUのバグを発見した。バグ直してStep4を試す。文字の送受信できた。でも、nios2-terminalって言うか、nios2 command shell から XMODEM で送る方法ないよね?自作OS本の続きができない。どう見ても Cygwin だし、TeraTerm に繋がらないかなぁ。
[PR]
by tom01h | 2016-02-09 23:09 | PCとか | Trackback | Comments(0)

シリアル動いた

かなり適当なAHB2Avalonブリッジ作った。
アセンブラで書いたプログラムで、PCのターミナル上に文字が出せました。
逆方向はまだ試してない。
これ以上はアセンブラでは大変そうなので、OS本からもらって来ます。

[PR]
by tom01h | 2016-02-08 21:43 | PCとか | Trackback | Comments(0)

CPUに手足を追加

FPGAボードをPCと接続する方法がほしい。
まず、CPU論理に全く手足がないので、AHBもどきを付けてみた。
AHBって2サイクルレイテンシでも1サイクルピッチで動ける賢いバスなんですね。
そのおかげで、CPUのウェイト制御がかなり複雑になりました。
そっちは良いとして、バスの先につなぐもの。
Altera製のJTAG UARTコアなるものを繋ぐことにした。
これはAvalonインタフェースなのでブリッジが必要。
まだ繋いでない。
が、ハード制御でAvalon叩いて、PC上の端末に字が出ることは確認済み。
この先は、以前買った自作OS本のコードを動かしていくつもり。
すぐに割り込みも必要になるんだろうな。
デジカメケースを買いました。
f0054075_17110369.jpg

[PR]
by tom01h | 2016-02-07 16:57 | PCとか | Trackback | Comments(0)

CPU動いた

ついに自作CPUがFPGA上で動作しました。
動かなかった原因はメモリ初期化用のファイルのフォーマット間違い。
ってか、Alteraの方が間違ってるんじゃないか?
IntelHexフォーマットのアドレスって、バイトアドレスじゃないの?
f0054075_21432813.jpg

[PR]
by tom01h | 2016-02-01 21:44 | PCとか | Trackback | Comments(0)