Sim's blog

電子工作はじめてみました

サブクロックが動いた?

2007-04-12 23:39:48 | V850
なんか、すごくいんちきっぽいんですが、偶然サブクロックが動きました。

電源をいれた後、写真のようにR6の片方にテスターの先をしばらく(5秒くらい?)押し付けておきます。運がよければ、しばらくするとゆっくり動きはじめるようなので、後はテスターをはずします。

動作確認にはappliletで作ったサブクロックタイマー割り込みLEDチカチカを使っているので、動いているかどうかは目で見て確認できます。

このR6はp.83 図7の右の方にのっているもので、XT1を開放しないためにR6で接地していると本文には書いてあります。テスターを押し当てているのは図7で15と書いてあるXT1に接続している方になります。GNDに接続している方(R6の右側)にテスターをあてていても、発振しだしたことはまだありません。

上をして動作した水晶発振子は以下です。
- シチズンのCFS-308です(シチズンの水晶デバイスのページ)。千石電商で購入
- KDS4Lという刻印のある水晶発振子。ATラボさんのキット
- S1Z3という刻印のある水晶発振子。秋月電子で購入
- KDS7Aという刻印のある水晶発振子。鈴商で購入
- S3Zという刻印のある水晶発振子。サトー電気横浜店で購入
というか、上をしないとどれも動きませんでした。

水晶発振子のこと自体がよく分かっていないので原因は分かりません。もしかしたらはずれの基板をひいちゃったのかもしれません。

テスターの先でなくてサンハヤトのブレッドボード用のジャンパーワイヤー(20cm)でもできました。線の反対側は開放状態です。ちらっと思ったのはR6の10MΩをはずしちゃえばいいのかもしれません。

R6の左でなくても、R6とつながっている水晶の左足でもいいみたいです。


Spartan-3A Starter Kitでインベーダ

2007-04-12 05:40:26 | FPGA
昔なつかしいSpace InvadersをSpartan-3A Starter Kitで作ってみました。以前、Spartan-3 Starter Kit用に作ったものをちょこちょこっと書き換えました。
参考にしたのはFPGA Arcadeさんです。久々にのぞいてみたらSpartan-3E Starter Kit用のインベーダがあります。って、音まで出るのかあ。気合がはいってます。オリジナルと違う点はVHDLだったのを全部Verilogで書き直している点と出力をVGAにした点ですPS2も自前で書いています。CPUコアはopencoreのT80です。手抜きなので、CPUはVGAと同じ25MHz動作です。本物はディスプレイのドットクロックが16MHzとかそんな感じで分周して1MHzか2MHzくらいでCPUを動かしていたはずです。ソフト自体は垂直帰線割り込みに同期して動くようになっているので、CPUが速くてもとりあえず問題はありません。元の画面は256x192でVGAが640x480なので、ドットを2倍にひきのばして上下左右に空白をいれています。

実はZ80版も試しに作ってみたのですが、8080とZ80の違いがあって、うまく動かない部分があったので8080にしました。8080は割り込み許可かどうかが外で分かるので、割り込み禁止のときは割り込みをかけないという技が使えたようです。Z80はCPUの外からは割り込みの許可状態を知る方法はありません。もっともどうせソフトコアなんだから、自前で勝手に信号をひきだせばいいだけなんですが、他人様のコアは中がよく分からないので断念しました。

使用リソースは1355 / 5888 slice (23%)でmax frequencyは51.562MHzでした。合成のオプションはspeed normalです。area normalに変えると1243 / 5888 slice(21%)になって39.535MHzまで速度が落ちます。

ISEは8.2です。core generatorをアップデートしたら、できあがるcoreのpinの順番がかわっていました。順番でなく名前でパラメータ渡しをするようにしないと後々困ることになるようです。BRAMを使っているはずなのにレポートに使用数がでてません。変なwarningもいっぱいでてるし、coregenに異様に時間かかるしで、このupdateはいいことなしです。一応ISE8.2でもSpartan-3Aでそこそこの大きさのものが合成できることが確認できたのが収穫です。

メモ FPGAから音を出す方法、XApp154 Virtex Synthesizable Delta-Sigma DAC