« December 2008 | Main | February 2009 »

2009.01.30

もう一度「スパム」の意味を考える時が来たのかもしれない

タイトルはホッテントリメーカー

アルバイト募集したら、酷いスパムが来た。


=============================================================
題名: 主人がFPGAに殺されて1年が過ぎました。
送信日時: Thu 01/29/2009 10:24:42 JST


いきなりのメール失礼します。

早水ゆうこ、22歳のラムダ教徒です。

お互いのニーズに合致しそうだと思い、連絡してみました。

自分のことを少し語ります。

昨年の夏、わけあって主人を亡くしました。

自分は…主人のことを…死ぬまで何も理解していなかったのが

とても悔やまれます。

主人は大阪に頻繁に旅行に向っていたのですが、

それは遊びの為の旅行ではなかったのです。

収入を得るために、私に内緒であんな危険な破壊的代入をしていたなんて。

一年が経過して、ようやく主人の死から継続渡しできました。

ですが、お恥ずかしい話ですが、毎日の孤独な夜に、

身体の関数適応が止まらなくなる時間も増えてきました。

主人の残した財産は莫大な額です。

つまり、謝礼は幾らでも出きますので、

私のcdrを満たして欲しいのです。

お返事を頂けましたら、もっと詳しい話をしたいと

考えています。連絡、待っていますね。

----

本テキストは, クリエイティブ・コモンズ・ライセンス の下でライセンスされています。

| | Comments (5) | TrackBack (0)

2009.01.29

今日の日記

・AVM
AVMが知らない間に3.0になっていた。
cookbookにfpuのテストがあったので、ぱた☆へねで作っている乗算器のテストに使えそうだと思った。早速ModelSim AEの無料版を落としてきたが、
# ** Error: Unable to checkout verification license - testbench generation feature (randomize, randcase, randsequence, covergroup) is only supported with QuestaSim.
とエラーが出て終了。無料版では駄目でした。

そういえば、メンターはOVMサポートしたってずいぶん前にニュースで聞いたが、本命はどっちなんだろう。

・OVM
と言うわけでダウンロードしてきた。Apache Licenseなら登録無しでダウンロードさせてくれても良いのに。
中身はSystemVerilogか。むう。

| | Comments (2) | TrackBack (0)

2009.01.27

OpenSparcメモ(Iキャッシュ)

Iキャッシュのメモリはbw_r_icd、Iタグはbw_r_idct。
呼び出しているファイルはこれdesign\sys\iop\sparc\ifu\rtl\sparc_ifu.v

//FPGA_SYN enables all FPGA related modifications
`ifdef FPGA_SYN

* アルバイト募集中 *

| | Comments (0) | TrackBack (0)

2009.01.26

cons

関数型日記(仮)から。

せっかくなのでLispWorksでも調べてみました><
CL-USER 1 > (declaim (optimize (speed 3) (safety 0)))
NIL

CL-USER 2 > (defun y () (cons 1 2))
Y

CL-USER 3 > (compile 'y)
Y
NIL
NIL

CL-USER 4 > (disassemble'y)
2008FEF2:
0: 55 push ebp
1: 89E5 move ebp, esp
3: FF7500 push [ebp]
6: 83ED04 sub ebp, 4
9: 8B7508 move esi, [ebp+8]
12: 897504 move [ebp+4], esi
15: C7450804000000 move [ebp+8], 4
22: B808000000 move eax, 8
27: C9 leave
28: E9F7850A00 jmp 2013850A ; #
33: 90 nop
NIL

CL-USER 5 >

こっちは関数コールっぽいジャンプですね。

cdrの方はこう。

CL-USER 5 > (defun a (list) (if (null list) (car list) (a (cdr list))))
A

CL-USER 6 > (compile 'a)
A
NIL
NIL

CL-USER 7 > (disassemble 'a)
200FF8E2:
0: 55 push ebp
1: 89E5 move ebp, esp
L1: 3: 83F856 cmp eax, 56
6: 740A je L2
8: 83F856 cmp eax, 56
11: 74F6 je L1
13: 8B4007 move eax, [eax+7]
16: EBF1 jmp L1
L2: 18: 83F856 cmp eax, 56
21: 7403 je L3
23: 8B4003 move eax, [eax+3]
L3: 26: FD std
27: C9 leave
28: C3 ret
29: 90 nop
NIL

CL-USER 8 >

0x56がnilっぽい。
(car list)がmove eax, [eax+3]で、(cdr list)がmove eax, [eax+7]で良いのかな。

| | Comments (0) | TrackBack (0)

2009.01.25

一人勉強

http://d.hatena.ne.jp/higepon/20090123/1232720753から、僕のネタ出ししてみます。

・ネタ1
僕はやりたいことがいっぱいあって優先順位がつけられないことが多い。
そんなときは、30分とか1時間と時間を区切って全部並列にする。
それを2~3日続けると、これは後でいいやって思えてきたり、こっちおもしれーってなったりするので、自然に優先順位が付く。

・ネタ2
1000pageを超えるようなpdfを読むときは、2つの方法を状況に応じて使い分ける。

一章毎に印刷して持ち歩いてぼちぼち読むのが一つの方法。時間に余裕が無いときや移動が多いときはこっち。

時間があるときは章毎にWordに変換して読んだところから削除していく。少し前は一太郎だった。
Wordでも一太郎でも編集しながらの辞書引き環境があるとうれしい。
読んでいくとどんどんファイルが小さくなっていって、あともう少しって分かる。

仕事の資料が多いので、変換には会社のアクロバットを使うのだが、こういう変換ツールもある。
http://www.hellopdf.com/
上手く変換できないとかえってストレスがたまるので、変換できないときはあきらめる。

こんなんで良いのかな。

| | Comments (0) | TrackBack (1)

2009.01.22

アルバイト募集のお知らせ

私の会社でハードウェア関連業務のアルバイトを募集しています。
興味がある方は YRW03704@nifty.com までメールください。

条件は
・日本語堪能
・WordとExcelが少し使えること
・電気の基礎知識があること
・新大阪駅近くのオフィスに通えること
・ハングリー精神があること。
です。待遇、および勤務時間は要相談。まずは2月~6月くらいを予定しています。

特別時給が高いとか低いとかはないと思います。立ち上げ時の会社の様子が見れること、日本に数個しかないようなFPGAに触れる機会があること等、貴重な体験が出来ると思います。

僕と机を並べて仕事をしますので、FPGAの周波数を上げる技は横で見れると思います。僕の本棚の本も読み放題です。ベンチャーで起業という響きにあこがれる君も、ちょっとシャイだけどFPGAに興味がある君も、是非一緒に世界一の物を作りましょう。

また、関西でFPGAの仕事を請け負っていただける会社(個人事業の方含む)がありましたら、そちらもご連絡ください。

| | Comments (4) | TrackBack (0)

2009.01.21

C言語の行く末

ときどきの雑記帖 i戦士篇から

> というか、いいかげんライブラリアンとかリンカーの仕様まで踏み込んでかないと 言語としてのCはもーどうにもならんような気がします。

プログラミング言語としてCというのはC90で十分だと思うし、C++との互換性をキープし続けた方が良いと思っている。もう遅いけど。

仕事関連でCからのハードウェア設計を見ていると、Cは特定用途向け言語のメタ言語として生き残る気がする。具体的な例を上げると、CUDAやらDAPDNAで使われる拡張C言語と呼ばれるやつ。ちょっと前だとSpecCとか。if,while,switchが使えて、関数呼び出しができれば十分という環境って結構ある。

例としてSpecCの仕様書から一部を持ってきてみる。pdfなのでリンクはなし。
http://www.specc.gr.jp/tech/SpecC_manual_Jap.pdf

>ANSI-Cと相違して, SpecC 言語では static に宣言される全ての変数を初期化します. 設計者によって明示的に static 変数に初期値が与えられた場合を除いて, 変数は暗黙的にゼロに初期化されます(ANSI-C の場合には初期化は行われません).

1 int i = 0, // 明示的に0に初期化される
2 i2; // 暗黙的に0に初期化される
3 char c; // 暗黙的に’n 000’ に初期化される
4 float f; // 暗黙的に0.0f に初期化される
5 void *p; // 暗黙的に0 (NULL) に初期化される
6 long l[2]; // 暗黙的に{ 0l,0l } に初期化される

こんな感じで、文法全部を説明しないでANSIとの差分が言語仕様になっている。今のCでもprintf()やらmalloc()は実装する必要ないんだしintの大きさだって適当でOKというのはすごい楽。もっと突っ込んで構造体とポインタもオプションくらいのメタCみたいのがあればよいと思う。実際、ハード設計で使うC言語は合成部分ではポインターは使えない物が多いが、どうどうとANSI Cで書ける!って宣伝している。

ベースとなる言語ならもっと良い物がいっぱいあるのだろうけど(S式とか><)、企業のリソース突っ込んで開発となると、今はCが一番無難な選択肢だ。開発現場に導入という事を考えると30代のおっさんでも理解できないといけないし、もう少し上の決裁権を持っている人達が「ああ○○でこれが動くのか」と納得してもらわないといけない。開発効率を上げるために新しい言語を一から覚えないといけないのだとすると、なかなか普及しないんじゃないかな。だからこそ、CUDAやらDAPDNAはCをベースにしているわけで。世界的な普及率を考えてもCの優位性は揺るがないと思う。

きむら(K)さんの言われている「言語としてのC」とは全然違う方向なんだけど、プログラミング言語としてのCが進化の袋小路に入ったとしても、C-likeという形で別の進化を見せてくれるんじゃないかと期待している。進化に行き詰まって、若い人はyacc系ツールのサンプルでしか見たことのない言語になっている可能性もある。それはそれで良いんじゃないかな。

| | Comments (0) | TrackBack (0)

2009.01.18

正月が来ない僕が言いたいこと

いろいろあって休みが取れない。
家事/育児の分担やら見て思ったこと。
収入を作業分担の基準にするのは良くないと思う。

お互い支え合って出来る事からすればよいわけで、それが夫婦であり家族だろ。僕の収入は多いときと少ないときの差が激しく、どちらが多いかがすぐに入れ替わる。100万以上少なかった年もあるし、100万以上多かった年もある。収入が多いときと少ないときで、嫁に対する接し方が変わった事は無い。「嫁の方が収入多いんだから、旦那の方の家事をたくさんしろ」って人は、旦那に臨時ボーナス入って収入逆転したら嫁の担当を増やせって言うの?旦那の会社が景気悪くなって収入が減ったら、さあ家事を頑張るんだ!って言うの?

これがまさにベストアンサー
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1013339860?fr=rcmd_chie_detail

| | Comments (5) | TrackBack (0)

2009.01.03

2008年振り返り

振り返ると良いらしい。

まっとうなアウトプットは貧乏人のためのDDR2/DDRコントローラくらいだな。来年からはそれも厳しそうです。

1月:東大のmini py 開始
2月:最もタメになる「初心者用言語」はVerilog HDL!
3月:2007年からの仕事が一段落してblogが充実している。
  Advanced FPGA Design
  →2chでも紹介されていてガッツポーズ
4月:コンパイラの勉強と、ぱた☆へね開始
5月:東大OFF!(←脱引きこもり)
6月:ランディ・パウシュの「最後の授業」
  アイマスブーム
7月:mixi開始
  C言語撃退講座
8月:大阪で西尾さんに会う。
  Forthの勉強
9月:貧乏人のためのDDR2/DDRコントローラ
  LL Future 2008 で知らぬ間にデビュー!
10月:オフ回(kinabaさん、naoya_tさん、ひげぽんさん、きむら(K)さん、isoparametricさん、mootohさん、nyaxtさん)
11月:LispWorks買う
12月:ハスケルの勉強

いろんな人からかまってもらえた素晴らしい一年でした。
2009年も引き続きよろしくお願いいたします。

| | Comments (0) | TrackBack (0)

« December 2008 | Main | February 2009 »