自分用メモ。ちゃんと動くようになったら、サンプルをまとめたいと思います。
高エネルギー実験用のFlashADC FPGAボードのかなり大規模なVHDLコードの開発をしているのですが、FT2232D経由のシリアルデバッグを簡単化するために、CQPIC (PIC16F84のVHDL実装)をソフトコアCPUとして用いてソフトウエア制御しようと思っています。
まずは練習として、MPLAB Xで簡単なmain関数をC言語で記述し、コンパイルして生成されるHEXファイルを用いてXilinx ISEで動作シミュレーションするところまでは動きました。
外部IOの数が限られているので、今後、RAMをdual portにして特定領域にVHDL IPコア側からデータを書き込んで、PICに処理させるということをしてみたいと思います。そのために、XC8 C Compiler User Guideの§4.8.49 –RAM: Adjust RAM Rangesに書かれているオプション指定を勉強する必要がありそう。
http://ytkyk.info/blog/2014/07/27/%E3%80%90pic%E3%80%91xc8%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8Bram%E9%A0%98%E5%9F%9F%E3%82%92%E5%88%B6%E9%99%90%E3%81%99%E3%82%8B/
高エネルギー実験用のFlashADC FPGAボードのかなり大規模なVHDLコードの開発をしているのですが、FT2232D経由のシリアルデバッグを簡単化するために、CQPIC (PIC16F84のVHDL実装)をソフトコアCPUとして用いてソフトウエア制御しようと思っています。
まずは練習として、MPLAB Xで簡単なmain関数をC言語で記述し、コンパイルして生成されるHEXファイルを用いてXilinx ISEで動作シミュレーションするところまでは動きました。
外部IOの数が限られているので、今後、RAMをdual portにして特定領域にVHDL IPコア側からデータを書き込んで、PICに処理させるということをしてみたいと思います。そのために、XC8 C Compiler User Guideの§4.8.49 –RAM: Adjust RAM Rangesに書かれているオプション指定を勉強する必要がありそう。
http://ytkyk.info/blog/2014/07/27/%E3%80%90pic%E3%80%91xc8%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8Bram%E9%A0%98%E5%9F%9F%E3%82%92%E5%88%B6%E9%99%90%E3%81%99%E3%82%8B/
コメント
コメントを投稿