138164

2015年7月20日月曜日

世界最小クラスかも知れないFPGAボード 6 (CAN IPを実装してみる 2)

ハタ! と気づけば、もう今日は7月20日。8月の顔が見えてきた感じがする。時間が過ぎるのを本当に早く感じる今日この頃だ。

前回オープンドレインのiCE40の開発環境ではRTL記述が出来ないようだと書いたが問題ないようだ。 I2C IPのデータバス部のポート接続部に記述ミスがあったのでそういうのを修正したら、オープンドレイン記述も通るようになった。その結果、SB_IOをインスタンスする必要も無くなった。

生成されたシミュレーション用ネットリスト

で、漸く合成も出来た。 リソースの使用率は60%弱となった。


クロックは50MHzを外部から入力するつもりでいたのだが、50MHzだとタイミングがmetしなかった。色々試したが、結局20MHzに下げることにした。

私のCAN IPはクロックはデフォルトで50MHzだがparameterで変えられるようにしてある。

トップモジュール(fpga_top)のcan_coreインスタンス部でdefparam文で20MHzにした。


漸くステージを一つクリア出来た。もう少しで実機動作確認に入れそうだ。
CANの通信相手が必要だが、ZynqはCAN IPを持っているのでこれを使ってみようと考えている。

ZYBOのMIO PMODコネクタにCANの信号を出せる筈だと思うのだが、リファレンスマニュアルからは読み取れない。

ZYNQのTRMを見る限りでは出来そうなんだが・・・


さーて、どうなりますか。。。



0 件のコメント:

コメントを投稿

ERROR: Failed to spawn fakeroot worker to run ...

なにかと忙しくてなかなか趣味の時間を確保できない。 ...orz  家の開発機のOSはLinux Mintなのだが、最近バージョンを22に更新したところ、myCNC用のpetalinuxをビルドできなくなってしまった。ビルドの途中で ERROR: Failed to spawn ...