割り込み

CPUに割り込みを実装して、当初予定していた全ての命令が動くことを確認。
いやー長かった。
ちなみにSpartan3E XC3S250Eだと60MHzで動きます。
3クロック1サイクルなので、そこそこ速いのができたかな?と思っています。
本当はパイプライン化もしたいのですが、データをブロックRAMに入れている関係で、
3クロックでパイプライン化するのは難しそうです。
普通のSRAMだったらできるのかな?とも思いますが、まあそれは今後気が向いたら対応していく感じでいいかなと。
普通にPICやAVRの代わりにするんだったら十分だと思うので。
それに外付けで16bitのバス幅でSRAM積むのも面倒ですし・・・
まあ、そんなこんなで、
http://tyel.dip.jp/cpu/inst.htmlを更新してみました。
個人的にはビットテストとプリデクリメント・ポストインクリメントなメモリアクセスをつけたいような
気もしますが、まあ、シンプルなままでもいいかなとも思ったりしてます。
にしても、自分で命令セット決めたとはいえ、今時機械語を16進で普通に言えるのは
ちょっと危ない人な気がする今日この頃だったりします。