2008年 6月 の投稿一覧

VisualStudio2005のオーバーライドのボタン

VisualStudioで何か継承したクラスを作成したとき*1VisualStudioのクラスのプロパティからオーバーライドのアイコンをクリックする事でオーバーライド可能な関数の一覧がすぐに表示されて、クリックするだけで*.hへの反映と*.cppへの雛形表示が行われますが。
前々から思っていたのだけど、どうも解せない。このアイコン。(選択されている立方体のアイコン)
f:id:hideack:20080623170708p:image
イベントリスナー追加の、このアイコンのとなりにある稲妻マークは結構直感的だと思うのだけど。
ただ、以前のVisualStudioのバージョンから続くアイコンだから、ずっと使い続けている人にはわかりやすいのだろうな。
時々しか使わない私にはいつまでも頭に入らない。

*1:もっぱら、C〜のMFCのクラスを継承する事が大半ですが

半ドン

ちょっとしたお仕事実施。

風邪

なんか流行ってるみたいですね。
私もちょっとやばいかな?って時がありましたが、サプリメントやら食べるものを変えて、なんとかカバーできたみたいです。

体調崩されている方、お大事に。

遠方よりメッセンジャー

遠方といっても国内ですが。
以前、アルバイトで働いていた学生さんが以前、私が就職内定してるのに勧められた大学院大学ではない方の関西の大学院大学に4月から通っているのだが、そこから連絡。
なかなか楽しい環境らしく元気そうで安心した。
相当コアなメンバーに囲まれて過ごしているみたいなので、腕上げるだろうなぁ。
折角なので、精一杯楽しんで、吐くほどコード書いてほしいものです。

いや、多分、何も言わなくてもそうするだろうけど。彼なら。

中央線 meets firefox

中央線の社内車内*1のディスプレイでFirefoxのロゴを見たので、なんかすげぇな。と少し感動。
もっとも最近はsafariユーザだったりしますが。
動画がないかと調べたら、ちゃんとYoutubeにアップロードしてあった。すばらしい。

今夜(明日の2時)からダウンロード可能らしいので、試してみるつもり。

*1:ぐふ、typo...。

いろいろ考え事するときは

仕事も進まない。いろいろ悩むことも積もりに積もる。
ということで、そういうときは無心にKeynoteで何か図を描くと落ち着く。
写経みたいなものかしら。

HDLでRAMの一面からもう一面へコピーする話

その昔のお話。HDLでRAMからデータを読み出して云々していた頃。
あ、そもそもRAMといっても、いろいろ種類がありますが、シンプルにアドレスと値だけここでは取り上げます。
f:id:hideack:20080616213533p:image
どの様な内容だったかというと…。
画像の処理だったか忘れてしまいましたが、RAMが2面あって、そこに次の様なコピーをする処理が必要になった。というとき。
あ、でも、こうやって正方形にできたってことは画像処理だったのかなぁ。
簡単のため、4x4の情報、16アドレスのRAMで考えます。
f:id:hideack:20080616213535p:image
で、コピーをするときにはRAMのアドレスを指定する必要があるので、この場合、コピー元のアドレスは単純に4ビットのカウンタを用意してアドレスに指定してやればよい。
f:id:hideack:20080616213534p:image
問題は、書き出すときのRAMの指定でありまして。

0x0 → 0x4 → 0x8 → 0xc → 0x1 → 0x5 ...

てな具合の動きをさせてやらなければならない。
読むアドレスと書くときのアドレスは次の様な関係な訳です。
f:id:hideack:20080616213530p:image
このとき、書き込み先のRAMのアドレスは、例えばソフト書くとき配列の引数の様に考えれば、

int baseram[16];  // 読み込み元RAMのイメージ
int destram[16];  // 書き込み先RAMのイメージ
int address;
for(int i=0; i<16; i++){
address = (i * 4) % 15;
destram[address] = baseram[i];   // コピー
}

といった形で書けるが、これをVHDLで書くときは、単純にこうしてやればよい…。
コピー元のアドレスを作るためのカウンタが、

signal COUNTER : std_logic_vector(3 downto 0);

といった感じで構成されていれば、書き込み先にアドレスをビット連結して次の様にすればよい。

signal WRADRS : std_logic_vector(4 downto 0);
-- 中略
WRADRS = COUNTER(1 downto 0) & COUNTER(3 downto 2);  -- ココ!

図に書くとこの様な感じ。
f:id:hideack:20080616213532p:image
ビットの並びを変えるだけで、書き込み先のアドレスも簡単に構成できる訳です。
初めて教わったときには、目から鱗がボロボロこぼれた記憶がある。

よく考えると、そりゃそうさ。なのだけど。
気づいたり教わったときの感動は忘れない様に。ということで、長いエントリーでした。

咳をしても一人。

Sweet melodies

2006年リリースの葉加瀬太郎オリジナル曲の詰め合わせ。
なんど聴いてもよい曲ばかりだ。
あと、このアルバムにはピアノ伴奏のみのCDがついているので、バイオリン弾きはピアノの伴奏にあわせられるというすばらしい仕様。
このCD片手にバイオリンもって、どこぞの公園で弾いてようかしら。
一般的な人口考えるとどう考えても使う人は少ない気がしますが、こういう特典はうれしい。
iTunesでも発売されていますので、興味のある方はぜひ。

Sweet Melodies~TARO plays HAKASE

余談だけど、バイオリンの譜面買うと、初心者向けのものはCDとかで伴奏のみ録音されたものがついてたりするのですが、それを思い出したり。
そういえば、一番最初の頃の譜面についていたのはレコードだった気がするぞ。私の時代でも。*1

*1:記憶間違いだろうか?借りた譜面だったのだろうか??