« July 2006 | Main | September 2006 »

2006.08.31

メモリテストその他

High Performance Memory Testingから。

僕専用メモ

SMARCH PATTERN (serial march pattern)

ビットシフトをしながらテストをする。入力データと出力データが、シリアライズされて
いるのがポイント。

CAMの試験
全部0にしてhitの試験、続いて片方を1bitずつ入力を変えてhitしないことの試験。
ロジックは合っていること前提で、製造上の不具合を洗い出すならこれで良いのか。
んで、StratixII はaltcamが無くなっていることに気がつく。
APEXの時から、いつか使ってみようと思っていただけに残念。

SOI PATTERN
SOI(silicon on insulator)って、こんな技術があるのか。初めて知った。

MULTI PORT MEMORY PATTERN
カウンターの出力を片方のポートに、それを反転させてもう一つのポートにつなぐと
一つのリソースでアドレスインクリメント、デクリメントの同時試験ができる。
modified March C algorithm(MMCA)と呼ばれるアルゴリズムもある。

OK、後はAppendix Bのみだ

| | Comments (0) | TrackBack (0)

March G pattern

High Performance Memory Testingから。

retensionテストを容易にするためにpauseが入っているらしいが意味がわからん。

1:全アドレスに0書き込み
2:アドレスの下位から、0読み出し、1書き込み、1読み出し、0書き込み、0読み出し、1書き込み
3:アドレスの下位から、1読み出し、0書き込み、1読み出し
4:アドレスの上位から、1読み出し、0書き込み、1書き込み、0書き込み
5:アドレスの上位から、0読み出し、1書き込み、0読み出し
6:pause
7:全アドレスの0読み出し、1書き込み、1読み出し
8:pause
9:全アドレスの1読み出し、0書き込み、0読み出し

1書いて、0書いて、1書いて、の所もポイント。コストは23N

| | Comments (0) | TrackBack (0)

March LR Pattern

High Performance Memory Testingから。

マーチングとウォーキングの組み合わせ

1:全アドレスに0書き込み
2:アドレスの上位から、0読み出し、1書き込み
3:アドレスの下位から、1読み出し、0書きこみ、0読み出し、1書き込み
4:アドレスの下位から、1読み出し、0書き込み
5:アドレスの下位から、0読み出し、1書き込み、1読み出し、0書き込み
6:全アドレスの0読み出し

2から3で、読み出し方向が変わっているのがみそなのか?
Enhanced March C patternよりはコストが少なく14N

| | Comments (0) | TrackBack (0)

今日の日記

C++テンプレートについて
http://triax.jp/blog/rdd/archives/2006/02/c.html
この辺を見ていると考えがあっていてなっとく。
テンプレートはコンパイル時に実体が作られるのか。
Javaはまた違う仕組みみたい。
後で戻ってくるとして、accelerated C++ 12章突破

TED Processorセミナなんて知らなかった。
こんなおもしろいことやっていたのか。行けば良かった。

いつのまにかGTDブームが来ている。
26 hour dayは module 6間で読んだ。
睡眠の所で、自分自身で睡眠時間をトラッキングするのは
思いもつかなかった。そりゃそうだな。

| | Comments (2) | TrackBack (0)

FreeBSD で Systemc

Systemcへの布石として必死でC++勉強中。
何でこんなに難しいんだ。

いつの間にかFreeBSDのportsにsystemcが入ってる。
試しにコンパイルしたらmake install一発だった。

lib-linuxもちゃんとlib-freebsdにしてくれるのね。

ちょっと感激

| | Comments (0) | TrackBack (0)

2006.08.29

今日の勉強

理系のたまごは7日目。ペースが遅い
26hour-dayは、module6 半分弱という所

「球場のビールはなぜ800円でも売れるのか」がおもしろい。
まだ途中だけどしっかり最後まで読もう

| | Comments (0) | TrackBack (0)

テンプレ2

もしかして、テンプレートはヘッダーファイルに全てを書いてしまうような気がしてきた。
そうすれば、コンパイル時にちゃんとオブジェクトファイル作れるしね。
/usr/include/c++/3.4/bit/vecter.tccには、宣言だけじゃなくそれっぽい処理も書いてある。
そうかもしれない。
違うかも知れない。
もうちょっと勉強しよう。

| | Comments (0) | TrackBack (0)

今日の日記

職場に新しい人が来て、歓迎会。
世代的に近いというか同じ年なので、すごいうれしい。
これからプロジェクト名は、北斗の拳に決定。

プロジェクト ラオウ
プロジェクト サウザー
プロジェクト ハート様

最高!

| | Comments (0) | TrackBack (0)

テンプレ

Accelerated C++が11章、自分用のVector Vecを作るところで詰まる。
自分で作ったVec.cppと、main.cppが上手くリンクできない。

テンプレート周りなので、もうちょっと簡単なプログラムで挑戦。
分かったことは、同じファイルに全部詰め込むとOK、テンプレートの実装が
別ファイルだとリンクできない。

そういえば、C++テンプレートってどのタイミングでオブジェクトファイルになるんだ。
テンプレートのみのcppファイルをコンパイルして、ラベルを見ても一つも
ラベルがない。
テンプレートを呼び出している側は、その型の呼び出しのラベル有り。

もうちょっと具体例
mmaxという大きい値を返すテンプレート関数を呼び出すmain側は

> nm main.o | c++filt | grep mmax
U double mmax(double, double)
U int mmax(int, int)
で、それぞれの型(int型での呼び出しと、double型の呼び出し)のラベルがあるけど、
それを定義しているmmax.cppには、なんにもラベルがない。

mmax.cppのファイルの中はこんな感じ

template<class T> T mmax(T a, T b);

template<class T> T mmax(T a, T b)
{
return (a >= b) ? a : b;

}

先にテンプレートの仕組みを持ったオブジェクトファイルがあって、リンク時に
上手い仕組みが働くと思ったのだが違うようだ。

| | Comments (0) | TrackBack (0)

今日の読書

この前の日曜日に買った本

・アメリカのジュニア科学事典で英語を学ぶ
・ハルヒ最新
・とある魔術の禁書目録 2巻、3巻
・理系の経営学
・新・システム管理者の眠れない夜
・Excelで始めるナレッジ・マネジメント
・世界一わかりやすいプロジェクト・マネジメント


アメリカの・・は使っているテキストがブリタニカなので衝動買い。

ハルヒはやっぱりおもしろかった。とはいえ、ぐだぐだになりかけているので
そろそろ終わってもいいんじゃないかな。

とある~は、2巻途中。ハルヒと比べるとどうも読みにくい。文体が幼稚なのかも。
もう少し(6巻くらいまで)頑張って読んでみよう。

新・システム管理者の眠れない夜は、普通におもしろかったです。

Excelで始めるナレッジ・マネジメントは、ちょっと失敗。というか書いている人は、
SerchXとか、コンセプトサーチとかしらないんじゃないかな。組織として、ナレッジ
マネージメントをどう取り組んでいくか、もしくは、個人としてどうあるべきか、
のどちらかに特化した上で、各ツールの使い方に進んだ方が良い気がする。
どっちにしても中途半端。ツールの使い方も中途半端。10年前の本。

| | Comments (0) | TrackBack (0)

2006.08.20

書いて読んで書いて読んで


High Performance Memory Testingから。

Partial Moving Inversion Pattern
略してPMOVI。

1:全アドレスに0書き込み
2:アドレスの下位から、0を読み出し、1を書いて、1の読み出し
3:アドレスの下位から、1を読み出し、0を書いて、0の読み出し
4:アドレスの上位から、0を読み出し、1を書いて、1の読み出し
5:アドレスの上位から、1を読み出し、0を書いて、0の読み出し

要するに、March C- Pattern に加えて、書いた直後のリードが
入っている。コストは13Nと。

Enhanced March C- Pattern

pre-chargeのエラーを検出できる。
1:全アドレスに0書き込み
2:アドレスの下位から、0を読み出し、1を書いて、1の読み出し、1の書き込み
3:アドレスの下位から、1を読み出し、0を書いて、0の読み出し、0の書き込み
4:アドレスの上位から、0を読み出し、1を書いて、1の読み出し、1の書き込み
5:アドレスの上位から、1を読み出し、0を書いて、0の読み出し、0の書き込み

PMOVIに加えて、もう一度ライトのオペレーションが増えている。
コストは18N

書いてすぐ読めるかと、しばらくしてから(bankがpre-chargeされてから)
ちゃんと読めるかの試験を行っている。

今日はここまで

| | Comments (0) | TrackBack (0)

今日のAccelerated C++

11章まできましたよ。
size_tは組み込み型ではな<cstddef>に定義されている。
インクルードしないと使えない。この本は、これくらいのトラブルは
自力で乗り越えないと全然進まない。(p32に書いてあるけどね)
同様にallocatorもstd::つけないとコンパイル通らない気がするが
気にしない。

そんなことより、C++では[]ってオペレータなのか。
C++では初期化と代入が明確に区別されている。
=が初期化に使われるときはコピーコンストラクタが呼ばれ、代入で
使われるときはoperator=が呼び出されている。

こういうのが延々と続くのか、きついな。

| | Comments (0) | TrackBack (0)

今日のメモ


Kyoshowなるwikiを発見。
仕事がからまないで良いネタがあったら書いてみよう。
良くまとまっているというよりは、これだけまとめるのは大変だと
思い、素直に尊敬します。

ChipscopeはTranslate後に無理矢理入れる派。
某セミナーで、T○Dの人に、こうやってつかうんですよね~って
言ったら真顔で違いますって言われた。少数派だったか。orz

| | Comments (0) | TrackBack (0)

最近の勉強整理

Accelerated C++
半分超えた辺り。読めば読むほど、C++言語仕様と標準ライブラリの海で
おぼれそうになる。何回かC++に挑戦して挫折した僕にはちょうど良い。
いきなり、この本から始めるのは無謀だと思う。
特に不完全なサンプルコードと、今何をしているのかさっぱりわからない
展開には頭を悩ます。とはいえ、今まで挫折したclassとは、から始まる
一般的な参考書よりは長続きしている。
もちろん、今までの挫折がバックボーンにあることは否定しない。

頑張れおれ。

The 26-Hour Day: How to Gain at Least 2 Hours a Day with Time Control
電車の中で読むためにカバンに入ってる。
これを読んで、勉強の時間をたたき出せ!

Management: Tasks, Responsibilities, Practices
ドラッガーの有名な本。Palmに入れて、本を出せないときにライフワーク的に。


理系たまごの英語40日間トレーニングキット
まだ勉強2日目。

3/5 が three over fiveとか、教わらないとわからない。
きっちりまとまっている気がするので勉強しよう。


あと、テストパターンの本と、軟禁で止まったいろんな物を終わらせよう。
人生取り戻せ。ハッカーのなんちゃらも終わらせよう。

| | Comments (0) | TrackBack (0)

2006.08.19

March C- Pattern 2

続き。

オペレーションをまとめると

1:全アドレスに0書き込み
2:アドレスの下位から、0を読み出し、1を書いていく
3:アドレスの下位から、1を読み出し、0を書いていく
4:アドレスの上位から、0を読み出し、1を書いていく
5:アドレスの上位から、1を読み出し、0を書いていく。
6:全アドレスの0読み出し

March C- Patternは、アドレスのデコーダー周りの不具合を見つける。
コストは10N (Nはアドレス)

なるほど。


| | Comments (0) | TrackBack (0)

今日のゆうゆ

ここでゆうゆの画像get

| | Comments (0) | TrackBack (0)

March C- Pattern


High Performance Memory Testingから。

March C- PatternはMarch Cパターンから冗長性を取り除いて、
効率を良くしたパターン。
(March Aとか、March Bとか、March Cとかは、Apeendix Bに
 書いてある。後で読まなきゃ。)

idempotentという単語で詰まる。
冪等(べきとう):自分自信を二乗して同じになる数

微妙にわからない。ぱっと考えて、1、0くらいしか無い気がする。
-iもそうかな。

自慢の大型辞書で調べるとこんな感じ。

Random house Webster Unabridged Dictionary
unchanged when multiplied by itself.


Merriam-Webster Collegiate Dictionary
:relating to or being a mathematical quantity which when applied to itself under a given binary operation (as multiplication) equals itself; also : relating to or being an operation under which a mathematical quantity is idempotent

Merriam-Websterは、given binary operationてあるから、ブール演算みたいな
特定のジャンルでしか使わない概念の気がする。

今、googleが使えないのがもどかしい。

# 後でgoogleで調べて補足
# idempotent matrix みたいに行列でも使うみたい。単位行列みたいな形で何度
# 演算しても同じ結果というのは役に立ちそうだ。
# A・A=A


| | Comments (0) | TrackBack (0)

2006.08.12

イノベジレンマ終了

最後まで読みました。前半は事実の羅列でかったるけど、
後半になると、「どこに注目するべきか」「何をするべきか」が
書いてありとても勉強になりました。

次の本行こう

| | Comments (0) | TrackBack (0)

2006.08.06

今日の日記

ドルアーガ復刊
http://www.soudosha.com/kentu-.html

Virual PCでgnome-terminalを動かして、cygwin上で表示させるの結構快適。

狂乱家族5冊目読んだ。そういえば最近ミステリーを読んでいない。

嫁に10年後にかなえていたい夢ってある?って突然聞かれる。
具体的な夢をいくつか言ったら驚いていた。やりたいことはいっぱいある。

| | Comments (0) | TrackBack (0)

Discovery-driven plannig

新しい技術に対しては既存のマーケティングリサーチが役に立たないのは
周知の通り。

作者は「Discovery-driven plannig」なる用語を定義。
良い言葉だ。会社ではやらせたいくらいだ。

スケジュールからはずれたからって右往左往してはいけない。
理由を考えよう。予想が外れたと言うことは、当時知らなかった
事を何か発見したのだ。その発見に対して手を打とう。発見を
利用して、もっと良い仕組みを作ろう。

前へ前へ

| | Comments (0) | TrackBack (0)

信号も遅れ、納期も遅れ

Virtex4のIDELAYについて調べていたらFPGAの部屋というブログを見つけた。
DDRよりも何よりも、お子さんの入院の方が気になる。
自分の親になったんだと思う。

ここをみて普通に泣けてきた。

今日は帰ろう。
娘と遊ぼう。

| | Comments (0) | TrackBack (0)

ペアプログラミング

ちまたで噂のペアプログラミングをやってみた。

単にPCの台数が足りず、遊んでいるくらいなら後ろでついて、
ミスしないようチェックしていてよ、という状態が最初。
作業途中で、「ああ、これはペアプログラミングだ」と気がついた。

実際に行った作業は、プログラミングと言うよりは、FPGA
のピン設定であったり、いろいろなエクセル作りであったり
Verilogのテストベンチ作成であったり、もろもろ。

結果としては「作業が明確になっている場合、非常に効果がある」。
まず、作業前に2人で「これから、これこれこういう作業を始めますね」
という確認が入り、これがとても効果的。この時点で、どちらかが
勘違いしていると確認の作業が入るので、作業が終わってからの
後戻りが少ない。

ただ、テストベンチでもひな形があり、これをこう修正して
と言う場合には有効だが、こんな感じのテストをしてよって
お願いすると上手く機能しない。どっちがか主導権をもって
しまうと、結局その人がやっているの同じ事(チェック機能が
弱まる)だし、2人でどうしましょうか?って状態になる事も
ある。

FPGAの開発にペアプログラミングを取り入れるなら、まずは
簡単なレベルまで作業をブレークダウンする作業が必要になる。
とりあえず、つないでおいて、1CLK、2CLKのタイミングは、
くっつけてシミュレーションするときに合わせ込むかみたいな
開発手法はペアプログラミングに向かない。

とはいえ、初めてにしては、上手く行った。また、時間があれば
試してみたい。XPも勉強しないとね。

| | Comments (0) | TrackBack (0)

2006.08.02

イノベジレンマ7章

7章くらいまで読んだ。おもしろくなってきた。

Markets that do not exist cannot be analyzed.

存在しないマーケットは分析できない。

( ゚д゚)<ナンダッテー!

って、これくらいのテンションで読まないと洋書はつらい。
はいはい、分析できませんね。くらいだと最後まで読み切れない。

| | Comments (0) | TrackBack (0)

イノベジレンマから

Seagateに買収されたConner社の話。(p153)

From the beginnig of the OEM disk drive industry, product
development had proceeded in three sequential steps. First you
designed the drive; then you made it; and then you sold it. We
changed all that. We first sell the drives; then we design them;
and then we build them.

うはっ、作ってから売るんじゃなくて、売ってから設計するのね。
これやられるとエンジニアはたまらんのだが。
これでこの会社が成功した方が驚き。こういうビジネスモデルでも
成功するんだ。

「そんなの勘弁してくれ」という前に、綿密なリスク管理と、
顧客へのコミットの条件がポイントかな。完全にしてから売るよりは、
積極的にリスクと向き合った方が良さそうだ。まさに、クマーと
ワルツ。

とはいえ、マネージャは案件毎のリスク管理を放棄されたら困る。
「お客にこうコミットしてきたから、何とかして」は通じない。
組織を上げて、無い物を売ってきたという意識を持つことが大事。

| | Comments (2) | TrackBack (0)

イノベジレンマ小ネタ

HPって、Kittyhawkって名前で小型HDD作ってたんだ。
さらに、Kittyhawkの元ネタはライト兄弟が、飛行機の実験に成功した地名。

へぇへぇへぇ。

| | Comments (0) | TrackBack (0)

« July 2006 | Main | September 2006 »