VHDLと格闘。やっぱり、CPU-SRAM間のアクセスがおかしいorz
なんか、一つ前にアクセスしたアドレスのデータを引っ張ってきてるんだよな。だけど、たまに正しいアドレスのデータを引っ張ってくるから、何がどうおかしいのやら(×_×) タイミングの問題なのかねえ・・・。
普段はそんなに待ち時間がないように退社するんだけど、今日は、たまたま、会社出るタイミングが悪くて、ちょうど電車が来ない時間帯に駅に着いちゃったんだよね。
しょうがないんで、駅のホームでボーっとして電車待ってたら、突然、パトーカーが現れて、でかいサイレンを鳴らして、1台の車を追っかけて行きました。
信号無視か、ケータイか、シートベルトか、はたまたスピード違反か・・・。まあ、とりあえず、いー気味って事で(^_^;) つかまるのが嫌ならちゃんとルール守って運転すりゃいいだけの事だからね。
塾の周りに路駐し放題の馬鹿な親ドモも捕まえてもらえんもんだろうか。少なくとも歩道に乗り上げ駐車してるのは、問答無用でキップきって欲しいもんだな。
かと思ったら、そうは問屋が卸さないって感じ(T_T)
と言っても、今日行ったところは、車で1時間も掛からない近場だからいいんだけど、今後に役立つかどうかは不明。まあ、気分転換にはなったけどさ。
今週末は、遠州かよ。ずいぶん前に訪問したとこのような気もするけど、あのときより知識は増えてるから、きっと新しい発見もあるだろうな。
でも、楽しみって言うより、めんどくさい方が先だな・・・。
だったけど、思うように進まず(´ヘ`;)
それっぽいオブジェクトは、作成できるように見えるけど、ROM化環境のことを考えると、できてないと言うしかないかな。
一番の問題は、割り込みベクタテーブルの出力がうまくできないこと。ここができないと、CPUの起動ができないし。
さらに、コンパイルした後のアセンブラソース眺めてたら、ポインタが16ビットでアクセスされてたけど、ホントにあってるのか? このCPUのアドレス空間って20ビットなんだけどなぁ。
でも、このコードで動くのかどうかを確かめようと思ったところで、ベクタテーブルの出力ができてないから、何もできなし。困ったモンだ。
リンカスクリプトの書き方が悪いんかな。もうちょっと調査だなあ。
LCDCが、ちょこっとだけ前進(^o^)
いろいろいじりすぎて、原因がさっぱりわからんけど、なんとか、メモリの読み込みだけができるようになりました。原因不明ってのが気分悪いけど、まあ、しょうがない・・・。
やっとできたタイミングチャートはこんな感じ。
なぜか、単位がnsじゃなくて、psなのは、無視するとして(^_^;)、1ワード読み出すのに、7ステートって、時間かかりすぎだよorz 実際は、CPUクロックが20MHzで、CPLDのクロックが40MHzだから、CPUから見れば、3ステートぐらいだから、許容範囲かなあ。いまいち、嬉しくないけど・・・。
ま、最適化するにしたところで、メモリの書き込みを作った後の話だな。
ユーザー登録が要るとか、製品版に比べて制限があるとはいえ、こんなツールがタダで使わせてもらえるなんて、ありがたいな。普通に製品版買ったらいくらするんだろう。見た瞬間に買うのあきらめるぐらいの値段なんかな。
つーか、最初から使ってれば、もっと早く動いてたんじゃね?>オイラ
不可避なのかしらんけど、今回もまた雪の北陸地方・・・。
オイラの目的は10分ぐらいで無事終了。ま、旧システムと同じコードを吐き出すとこまではできてたから、データ転送タイミング以外の心配はしてなかったけどね。それでも、動いてホッと一息って感じ(^_^;)
どうも、今後の役には立つかどうか、五分五分な感じだったな。せっかくいろいろ解析したのにな。テストが一発で完了するようなプロジェクトってのは、こういう運命に会うんかねえorz
実際は、部品買出しに行ってからの出社だから、遅出とは言わんという説もあり(^_^;)
しかし、久しぶりに開店直後の部品屋に寄ったけど、さすがにほとんど客は居なかったな。こういうときに行くと、空いててじっくり品定めができるからいいんだけど、実は、欲しいものは最初から決まってたんで、じっくり探す必要もなかったんだけどね。
ちなみに、今回買ったのは、H8/3694のキット。相も変わらずH8ばっかり。好きなんだから、しょうがないんですですよ(^_^)
とある部品の評価をするのが目的だから、使い慣れたのじゃないと、何の評価してるのやらって感じだからね。
PICは癖がありすぎだし、AVRは使ったことないし、Z80なんかやる気にもならんし。あ、ちょいと前の雑誌のおまけのV850とか、SH2っていう手もあったのか。今頃思い出しても遅いけど・・・。
つーか、この前書いた某部品の評価開始。型番は内緒(^_^;) 書いても問題はないんだろうけど、googleで検索しても、あんまり引っかからないチップだから、足がついてもねえってことで。
人身事故の影響を、もろにかぶった感じ(T_T)
なにせ発生時刻が18時ちょっと前っていう、ちょうど帰宅ラッシュ本番って言う最悪のタイミング。しかも、場所が栄生駅構内っていうんじゃ、本線も支線も全部止まるしかないしな。
しょうがないから、いつもより遅く会社を出たんだけど、それでも、乗ろうと思った電車は運休orz その次の電車は20分遅れで到着。家についたのは予定より30分以上遅くなったし・・・。
今日も、ホスト業。今日一日いじってたら、とりあえず、USBメモリのセクタダンプができるようになったけど、成功確率が30%ぐらいしかありゃしない(T_T)
パケットの送信タイミングかなんかなのかな。I/Oのメモリは結構早く応答が返ってくるみたいだけど、ELECOMのは、なんかもたもたした印象を受けるんだよな。
あれ、これって、もしかして、応答が返ってきてないんじゃなくて、NAK応答しまくってるせいなのか?
しかし、それを調べるには、パケットアナライザがないとてがでないな。デバッグメッセージ入れると、メッセージ表示中にタイムアウトするんだよな。
どうしたもんかな。
USBのパケットを覗く暴挙に(^_^;)
と言っても、ソフト的に覗いてもよくわからんので、軽くハードウェアの力を借りてみようかなってことで、昔トラ技のおまけについてきたMAXIIを使って、一日かけてハード設計。
ターゲットは、USB1.1なので、バスが12MHz駆動。ってことは、標本化定理により、周波数は、24MHz以上必要。さらに、VHDLのプロセス文なんかでよく見かけるこの記述を使用すると、
process (CLK) begin if rising_edge(CLK) then ... end if; end process;
立ち上がりエッジのときしか回路が動かないので、結果的に48MHz以上のクロックが必要ってことに。
さすがに、こんな発振器は持ってないので、秋月のページでみてみたら、ちょうど安いのが売ってたんで早速ゲット。
なんか、ギリギリのような気もするけど、これが一番速いようなので、しょうがないね。昔は64MHzのも売ってた気がするけど、売り切れちゃったんかな。
午前中に発注したお陰で、夕方に発送したよんっていうメールが届いちゃいました。まだ基板出来上がってないんだけど。ま、早くて文句付けちゃダメだな(^_^;)
でも、なんか、準備のための準備って気がしてしょうがないけど、あまり深く考えないことにしよう。
到着したんで、何とか、現物あわせで基板のパターンだけは、設計完了。後は、感光とエッチングとその他もろもろだな。パターン作成が終わったのは夕方だったんで、今日の基板作成はここで作業終了。
まだ退社時間じゃなかったんで、Quartus II Web Editionをいじり始めたんだけど、なんか、えらく軽く動く感じがするんだよな。自宅のマシンだと、どうしょもなく、もっさり感たっぷりなんだけど。
Pentium4 3.2GHz(ただしHTはオフ)と、Celeron 2.2GHzって、こうも違うものなのかな? たしかに、FSBからして全然違うっていわれりゃ、認めざるを得ないけど・・・。
今度、自宅のマシンを新調する時は、Core2Duoぐらい奮発しろってことなのかもな。何年先の話になるか分からんけど(T_T)
じゃなくて、HDLで回路設計。基板作る前に、ほんとに論理合成できるかどうか確かめたかったんでね。
今回のターゲットは、いつぞやのトラ技のおまけについてきたMAX II。多分、数回使ったら、あんまり出番がなくなるから、安く上げたいなってことで、手元にあったこいつを採用。
ホントは、自分用に確保してたやつだったけど、死蔵してるより、活用した方が、こいつも幸せでしょう(^_^;)
軽くコーディングしてみたら・・・、あっちゅーまに、LEが足りなくなりやがりましたorz
所詮、おまけでついてきた240LEしかないデバイスだな。32ビットのカウンタ二つ、18ビットのレジスタと二つ、16ビットのレジスタ二つと、その他もろもろ突っ込もうと思ったら、途中で終了。
結局、どうあがいても合成できそうになかったんで、機能ごとに MAX II を焼きなおして使うように方針転換。めんどくさいけどしょうがないね。
240LEって結構微妙な容量なんだな。でも、でかいのは高いし。要するに、基礎の部分をケチると痛い目見るのは自分ってことだ(T_T)
でも、作成機材一式は、家にあるので、作ってから出社。お陰で、出社時刻は15時ごろ。ま、設備が会社にないのが間違ってるから、何も言われなかったけどね。
使用ICの都合で、最狭ピッチは、0.8mm。もう、ずいぶん慣れたもんです、ハイ。うまく銅が溶けきらないところが何箇所かあったけど、カッターナイフでちょいちょいってパターン削って完成。
うまくできれば、サンハヤトのピッチ変換基板買って来て万能基板でチマチマ配線するより、安くて早く済むところがいいよね(^o^)
_ okamal [激遅で聞くのもなかなか面白いんでないですかな(^^;;]
_ 管理人 [気になって作業がはかどらんくなるけどね(^_^;)]