« January 2007 | Main | March 2007 »

2007.02.20

子育てと仕事

最近、娘を保育園に迎えに行く関係で早く帰ることが多い。
そのときに、上司から「会社支給の携帯を持って、ちゃんと
チェックするように」といつも言われる。以前、携帯で
呼び出されているのに全然気がつかないことがあったからだ。

でもね、子育てって大変なのですよ。2歳の娘のために、
ご飯作って、食べさせて、お風呂入れて、着替えさせて、
洗濯機回して、洗濯物干して、最後は一緒に寝る。
これをお母さん抜きでやらないといけない。

最後は「お母さんがいい、お母さんがいい」と駄々をこねる
娘をなだめながら、一緒にフトンに入るとそれだけで今まで
の疲れで、すぐ2人で寝てしまう。

帰ってきたときに2人とも爆睡だったら、嫁におこして
もらうようにしているけど、かなりしんどい。
世の中の働くお母さんはすごいと思う。

Blogなつたんは、子育てとSystemCを愛する主婦層という
ニッチな所をねらって記事を書いています。

| | Comments (0) | TrackBack (0)

AVM テストベンチその3

なんかcounterごときの記述で意外に手こずる。
やっぱり、SystemCを全然わかっていない。

最初に、下位に呼び出しているSC_MODULEのportに定数を
アサインする方法がよくわからない。
Verilogでいう、assign foo = 1; がそんなに簡単にはいかない。
System Design with SystemC の中に定数値を作るだけの
モジュールがあったことを思い出す。(p79)

void process() { while(1) output.write(constant_);}
相手がFIFOの場合は定数値でもwriteし続ける必要があるのか。
しょうがないので、SC_METHOD(init); でinit()関数を
呼び出し、その中で初期化。

これはこういう物だと思うが、0固定とか1固定がモジュールを
またがる場合、gccレベルでの最適化はできないと気がつく。

次に、sc_outにアサインしている信号を内部で読み出す方法が
わからない。Verilogだと、出力ポートの信号はいったん
wireで受けてassignすることで、内部でも出力信号を使用できる。
このwireの代わりにsc_signalを持ってきて、つないだだけ
では上手く行かない。

しょうがないので、wireに相当するsc_signalの入力に変化が
あったときに、sc_outの信号を更新するだけのSC_METHODを
書く。

SC_METHOD(update);
sensitive << q_wire0 << q_wire1 << q_wire2;

q_wireの信号が変化があれば、update()の中で、sc_outに
書き込むようにする。上手く動くかどうかはやってみよう。

| | Comments (6) | TrackBack (0)

AVM テストベンチその2

適当にメンバー変数足していたらこんなワーニングが。

counter.h: In constructor `counter::counter(sc_core::sc_module_name)':
counter.h:43: warning: `counter::a1' will be initialized after
counter.h:38: warning: `sc_core::sc_signal counter::t1'
counter.h:15: warning: when initialized here

メンバー変数の宣言順と、コンストラクタの初期化リストの順番が違うと
ワーニングでる。順番通りにしておこう。

それで、SystemCで階層記述する方法が全然わかっていないことに気がつく。
勉強し直しだ。

| | Comments (0) | TrackBack (0)

2007.02.17

電子辞書

2月上旬のはずなのに全然発売される気配が無いが、この端末が欲しい。

素人はPDAっぽいDB-J990に飛びつけ!。僕はDB-J260を買う。
決め手は電池。やっぱり乾電池最強。

実物を見ないとなんともいえんが、DB-J260の方が本体が一回り小さい。
蓋を閉じれば、液晶を保護できる。

いつの間にかオフィシャルが更新されている。
Mobipocketの辞書引きの弱点が改善されているではないか!
lookupで辞書を引けるけど、過去形やら、複数形の時は、いちいち原型
なり、単数形に直さないと目的の単語を引けないというのはクリアー
されているらしい。

ハイライト一覧とか、コメント一覧が、上手く行けば辞書の履歴
代わりに使えそうな気がする。

| | Comments (2) | TrackBack (0)

今日の読書

Business the Sony Way: Secrets of the World's Most Innovative Electronics Giant

電車での読書用に前から買っていたSonyの本を読み始める。
これのマイクロソフト版が楽しかったのが理由。
最初は、ソニーの歴史と日本人の終身雇用についての説明。

ソニーってこんなに歴史少ないのか。生まれたときから
It's a SONY がある僕に取って、たかだか50年という歴史は
非常に短く感じる。たった50年で、こんな大きな会社にする
なんて信じられない。

メイド刑事
ラノベの半分はイラストでできている・・

| | Comments (0) | TrackBack (0)

AVM 最初のテストベンチ

Advanced Verification Methodology SystemC and SystemVerilog

某展示会でメンターの人から日本語版をもらう。
ちょっと電車の中で読んでみたら予想以上に面白そうだったので
勉強してみる。

一応Questaのロゴは入っているが、このレベルなら高価なシミュ
レータはいらない。gcc 万歳。

テストベンチ小ネタ
最初のstimulusを作るところのみ、dont_initialize()を宣言しないことで、
時刻0の時に、SC_METHODを呼び出す。
その、SC_METHOD内で、next_trigger()を遅延付きで呼び出すことで、
再びSC_METHODを呼び出す。
以下、ループ

ブラボー!こんな発想無かったよ。


ソースを抜粋

コンストラクタの中で、SC_METHODとして、run()を登録。
dont_initialize()が無いので時刻0にて1回run()が実行される。

stim_gen (sc_module_name mn): sc_module(mn), stimulus(0)
{
SC_METHOD(run);
}
SC_HAS_PROCESS(stim_gen);

run()の中身がこれ

void stim_gen::run(void)
{
A = stimulus[0];
B = stimulus[1];
stimulus++;
next_trigger(3, SC_NS);

}
next_trigger(3, SC_NS)の呼び出しにより、3ns後に再びrun()が呼び出される。

書籍のpdfおよびソースは上記サイトからダウンロード可能です。展示会に
いけば無料でもらえる時があり。ライセンスは、Apache License。

コンストラクタでの初期化も気持ちよいし、企業名が入っているドキュメントは
こうあるべきだみたいな見本だと思う。

ちなみに、私はメンター社の回し者では無いですが、全く無関係という
わけでも無いので、若干バイアスはかかっております。

| | Comments (0) | TrackBack (0)

2007.02.12

今日の勉強

さてと、D&Eも終わったし勉強の整理
勉強したい順に並べよう。

(1)Lisp
ポールに近づくのだ!

(2)SystemC
AVM、TLMの本だけでなく、本気でLRMでも読んだ方がよいような
木がしてきた。

(3)Unix系プログラミング
APUEとか、悪魔本とか

(4)C++
C++ Templates とか LargeScale とか。
ただ、この手の本を読むには経験不足の自覚がある。
D&Eを読んで気がついたが、苦労していない部分を読んでも、右から左に
抜けていってしまう。

(5)英語の勉強
再開した方がいいな・・

(6)ビジネスマナー、テーブルマナー
最近、上司が何かと勉強しろとうるさい。勉強せねば。

あとは、Virtual Machineも読んでみたい。
思うに、FPGAプロトや、SystemCによるモデリングって、Virtual Machineの一つの
実装だと思う。なにか、面白いヒントがありそうな本。

30日OSもとまってるな・・・。

ビジネスマナーはぼちぼちやるとして、AVM、APUE、Lisp関連で勉強しよう。

| | Comments (2) | TrackBack (0)

The Design and Evolution of C++

The Design and Evolution of C++読みました。

なげーよ!

すごく面白くて、勉強になりました。
なにげにメンターがでてくるのがすごいな。
まあ、ジョークにもでてくるくらいだから、当時から有名だったのかも。

明らかにわかっている落とし穴にかんして、「これは悪い設計だ」とそのまま
にしたり、特定の機能にこだわったり、Stroustrupの男気が全開の本でした。
テンプレートの所は面白そうだったのだけど、自分の経験値不足で重要なのか
どうかわからなかった。もっと経験積んで戻ってこよう。
なんで最後の章はプリプロセッサなんだろう。最後にどうしても、「俺は
マクロは嫌いだ!」と言いたかったのだろうか。

Stroustrup といえば、ここのインタビューでも性格がでている。
「比較的最近の技術の習得のために三ヶ月あるとしたら、どれを学びますか?」
という質問にLinusはFPGAと応えているのに対し、Stroustrupは、
「重要なことで三ヶ月で学べるものはとても少ない。君は基礎がしっかりした
分野で経験を積むことを考えた方がいいのではないか?」とばっさり。

漢とかいておとこ。うほっ

| | Comments (1) | TrackBack (0)

2007.02.09

中国人

訳あって中国人と一緒に行動している。
天下一品につれていったら、こってりラーメンに餃子のたれを入れていた。
その発想は無かった。

| | Comments (0) | TrackBack (0)

200MHz

こんな記事を見逃していた。
http://www.edadesignline.com/197001587?cid=RSSfeed_EDAdesignline_edadlALL

FPGA直結での200MHz動作は単にFPGAがすごいのであって(以下略

| | Comments (0) | TrackBack (0)

ウマシカ

娘に馬の絵本を読んであげると「しかさん!」と主張する。
これは馬だと何度教えても「しかさん!」と言い張る。
将来、大物になりそうな予感。

| | Comments (0) | TrackBack (0)

Cの話

http://d.hatena.ne.jp/yupo5656/20070204/p1

えーっ、1だと確信があった。
そうかintが64bitになるってことはそういうことか。

そして僕の知識は、C90のまま止まっているのだ。

| | Comments (0) | TrackBack (0)

2007.02.04

節分

朝の会話

嫁「小さい子ってオバケとか、鬼とか怖がるでしょ。あれって
心にやましい事がある子供ほど怖がるんだよ」
僕「やましいってどういう事?」
嫁「かまって欲しくて泣いたり、机のぼったり、小さい子なりに
悪いって自覚があって、いろいろする子がいるでしょ。
発達の過程だからそれ自体は問題ないんだけど、いつも保育士
を困らせている子供ほど、オバケとかで大泣きするのよね~」

娘が保育園から帰ってきて、夕方の会話
嫁「今日、保育園に向かえにいったんだけど、うちの子だけが
鬼を見て延々と泣いてたんだって・・・」
保育士困らせているの、うちの子かよ!
orz、orz

♪バグは外、福は内

| | Comments (0) | TrackBack (0)

D&E -> と .

いろいろあって、更新する元気がない。

演算子のオーバロードについて
そうか、C言語だと .と->は常にペアだけどC++では
そうではない。.はオーバーライドできないが、->は
オーバーライド可能。sc_fifoをチャネル経由でアクセス
するとき->を使うのもその辺りだと思う。

あと、冪乗の演算子とかどうでも良いと思ったのは
僕だけでしょうか。Stroustrupがイラネって言えば
済む話の気がする。

x ^ y って書いてあると、排他的論理和に見えるのに
2 ^ 3 って書いてあると2の3乗に見えるのが不思議。

^ が冪乗のすりこみはどこでできたんだろう。
Mathematica、Derive、Tex、HP calcくらいが^を冪乗で
扱ってるな。

しかし、この本は不思議だ。
面白いし、英文も小説とかに比べれば簡単だし、半分以上
ソースのページもある。なのに、全然読み終える気配
がない。

| | Comments (2) | TrackBack (0)

« January 2007 | Main | March 2007 »