« November 2006 | Main | January 2007 »

2006.12.29

SystemCの書籍 2006年12月 後半

本を1冊読んだので更新

(1)Advanced Verification Techniques: A Systemc Based Approach For Successful Tapeout (終了)
そもそもSystemCに特化した本ではない。感想はこちら

(2)Transaction Level Modeling With SystemC: TLM Concepts And Applications for Embedded Systems

(3)Systemc: from the Ground Up (終了)
邦訳は基礎から学ぶSystemC
感想はこちら


(4)System Design With Systemc (終了)
邦訳はSystemCによるシステム設計。
SystemCに関わる人必読。感想はこちら

(5)SystemC Kernel Extensions for Heterogeneous System Modeling: A Framework for Multi-MoC Modeling & Simulation

(6)Advanced Verification Methodology Cookbook

(7)よくわかる SystemCによるシステムデザイン入門
感想はこちら


(8)C/C++によるVLSI設計―SystemCによるJPEGコーデック設計

(9)Systemc: Methodologies and Applications
1章まで読みました。結構面白い。

(10)A SystemC Primer

(11)SystemCを使ったハードウェア設計 (終了)
合成について記述があり参考になる。最初の一冊には向かない。感想はこちら


(12)System Cプログラミング基礎講座
ET2006でフライングゲット!基本的なところから書いてある。初期のVHDLの本みたいな感じ。

| | Comments (0) | TrackBack (1)

Advanced Verification Techniques: A Systemc Based Approach For Successful Tapeout

Advanced Verification Techniques: A Systemc Based Approach For Successful Tapeout読みました。

上海に一週間滞在している間にホテルで頑張って読む。
悪い本じゃないけど退屈な本だった。検証全般について書いてあり、タイトル
ほどSystemCやTLMに特化していない。そして、概要を知るのであればEDAベンダー
のセミナーに数回参加すれば大枠の事はわかる。

強いて上げればSCVの章がちょっと役に立った。実際に大規模なSystemCの設計を
することになれば巻末のソースコードは役に立つかもしれない。

検証全般の話としては、Principles of Functional Verificationの方が読んでいておもしろい。
決して悪い本では無いですが、SystemCの勉強のために読むとがっかりする。

| | Comments (3) | TrackBack (0)

The Design and Evolution of C++

C++の本読んでます。
最初のC++の進化の図を見ていると、C++って直接はLispと絡んでこない。
ちょっと意外。Lispできなくても天才プログラマになれるのか?

でも2人に共通点は多い。
・プログラミング言語は、プログラマを制限してはいけない。
・プログラミング言語は、問題を解くために存在する。

2人とも使えないプログラマは全然相手にしていない気がする。
今、3章くらいまで読んで、かなりおもしろい。

| | Comments (0) | TrackBack (0)

The Design and Evolution of C++

C++の本読んでます。
最初のC++の進化の図を見ていると、C++って直接はLispと絡んでこない。
ちょっと意外。Lispできなくても天才プログラマになれるのか?

でも2人に共通点は多い。
・プログラミング言語は、プログラマを制限してはいけない。
・プログラミング言語は、問題を解くために存在する。

2人とも使えないプログラマは全然相手にしていない気がする。
今、3章くらいまで読んで、かなりおもしろい。

| | Comments (0) | TrackBack (0)

Lisp Lisp Lisp

ハッカーと画家読みました。これはおもしろい。
LISPのプログラマかつ、起業家でもあり、文章もおもしろく、まさに天才。

本の内容は、いじめ問題から始まり、起業することの難しさ、そしてLisp!
もう、この本を読んでいるとLispできないと天才プログラマにはなれない、
そんな気がする。

起業に関しては、考えさせられる点が多い。
・マイクロソフトは特異点だから除かないといけない。
・優秀な人間が数人いれば十分。
・ベンチャーが普通のやり方をしていると、給料もベンチャーの普通になる。
 そして、ベンチャーの普通ってのは、倒産を意味する。
・あることをするのに2つの方法が思いついたら困難な方を選べ。
 それが参入障壁になる。

早速、アマゾンでcommon lispの本を注文。来年こそはLispを勉強しよう。

| | Comments (0) | TrackBack (0)

2006.12.17

今日の読書

Object Thinking読みました。評価は、びみょ~。
確かに面白い話もあるし、オブジェクト指向の歴史も勉強できる。
書いている人たちが、Object Thnikingの限界もしっかりとわかっている
のが良い。ただ、自分自身が類書を読んだことがないので、本当に
そうなのかが判断つかない。

日本語のオブジェクト指向や、アジャイル、XP関連の本を読みまくった方が
良いかも知れない。

擬人化してある範囲のサービスについて責任を負わせる、という考え方は
役に立ちそうだ。

会社の穴―人が採れない本当の理由
アマゾンのURL、日本語気持ち悪い。

人材の出口を用意しておくという発想はなかった。ただ、具体的にどうすれば
良いのかわからない。

| | Comments (0) | TrackBack (0)

Systemc: Methodologies and Applications その1

Systemc: Methodologies and Applicationsから。

Object Thinkingも読み終わったので、ちょこちょこと読み始める。
随分前に電子データで購入してみた物。

このPDFは1週間に30ページしか印刷できないけど、この本は各章が独立していてそれぞれ
約30ページなのでほとんど問題ない。毎週1章ずつpdfに印刷していけば、良い感じで読める。

1章は、Timed Functionから、Cycle Accurateを経て、VHDLで検証するまでの話。
結構面白い。こういうところで、UMLのユースケースを使うんだと納得。
ていうかUML勉強した方がよさげ。

中に
Engineers without a UML or OOA background need to be introduced to
the modelling concepts, process and notations. On the one hand this is a
steep learning curve,on the other if digital design engineers are going
to move into the world of object oriented executable modelling (and it
seems that they must)-a grounding in current best practices from the
software industry can hardly be a bad thing.
という記述があり、もっと勉強頑張らねばと思った。

| | Comments (0) | TrackBack (0)

2006.12.09

今日の読書

早く他の本が読みたいので、頑張ってObject Thinking読む。

Chpter5まできた。
Everything is an object! An object is anything capable of providing a limited
set of useful services. Metaphorically, an object is like a human agent or actor.

これはここまで一杯書いてあったから理解した。
従来のアルゴリズム+データ構造=プログラミングの考え方に対して、こう書いてある。
Because everything is an object, there is no data.

すごいな。Object Thinkingはオブ脳が雰囲気的に近いと思ったけど、オブ教の方が
近そうだ。

そして、微妙に面白いまま読んでいる自分がいる。

Altoの上で動くSmalltalkの画像発見。
僕が生まれる前なのに、すごいコンピュータだ。
http://video.google.com/videoplay?docid=-4365247885921962429

| | Comments (0) | TrackBack (0)

2006.12.08

本が来たよ!

紀伊国屋とアマゾンからそれぞれ注文して置いた本が届いた。

C++ Templates: The Complete Guideキタコレ!

今読んでいるObject Thinking読み終わったら読もう。
Object Thinkingは2章と3章の途中まではgdgd。読むの止めようかと思ったいたら、
3章の終わり面白いじゃん。と、全体的につまんないだけど、所々に面白いことが
書いてあるから困る。なんか困る。

そして、入手に時間がかかったが、SystemC primerようやくゲットズサー。

中身を見てちょっとがっくし。すげー基本的なことしか書いてなくね?

辞書でprimerの意味を引いてびっくり!Primerって入門書って意味なのか。
(基礎からきっちり教えるぜ、手抜かないぜ、ごまかさないから付いてこい! みたいなイメージがあった)

で例文にA VHDL Primerがあって2度びっくり。C++ Primerとかもっと売れている本あるだろうに・・。

primer
1. a ~ 入門書, 手引き書, 初級解説書, 教則本, (子供に読み書きを覚えさせるための)初歩読本
◆"A VHDL Primer" 『VHDL言語入門』(*本のタイトル, VHDL = ハードウェア記述言語のひとつ)
2. a ~ 下塗り, 地膚[粗面]塗り, 地塗り, 下塗り剤; a ~ 雷管; a ~ 燃料注射装置
◆a primer coat 下塗り, 地塗り

ちなみに辞書はお気に入りの、日外ビジネス
この辞書はまじお勧め。

| | Comments (0) | TrackBack (0)

上司

5分で人を育てる技術 (5)言うことを聞かない“自信過剰な部下”

最悪の上司だな。

| | Comments (0) | TrackBack (0)

2006.12.04

SystemCの書籍 2006年12月 前半

本を2冊読んだので更新

(1)Advanced Verification Techniques: A Systemc Based Approach For Successful Tapeout

(2)Transaction Level Modeling With SystemC: TLM Concepts And Applications for Embedded Systems

(3)Systemc: from the Ground Up (終了)
邦訳は基礎から学ぶSystemC
感想はこちら


(4)System Design With Systemc (終了)
邦訳はSystemCによるシステム設計。
SystemCに関わる人必読。感想はこちら


(5)SystemC Kernel Extensions for Heterogeneous System Modeling: A Framework for Multi-MoC Modeling & Simulation

(6)Advanced Verification Methodology Cookbook

(7)よくわかる SystemCによるシステムデザイン入門
感想はこちら


(8)C/C++によるVLSI設計―SystemCによるJPEGコーデック設計

(9)Systemc: Methodologies and Applications

(10)A SystemC Primer
アマゾンが来ないので中古で手配中。

(11)SystemCを使ったハードウェア設計 (終了)
合成について記述があり参考になる。最初の一冊には向かない。感想はこちら


(12)System Cプログラミング基礎講座
ET2006でフライングゲット!基本的なところから書いてある。初期のVHDLの本みたいな感じ。

今は、object thinking を読んでいます。一章だけど、なかなか面白い。
Binary Hackも読みたい。

| | Comments (0) | TrackBack (0)

SystemCを使ったハードウェア設計 その4

SystemCを使ったハードウェア設計読みました。

SystemCを使った合成に興味があったら読んでみることをお勧め。
筆者がフォルテの人なので、そこは詳しく書いてあります。

サンプルソースに関しては、初版の為か気になるところも多い。
ソースによって、質が全然違う。例えば、firのサンプルでは
意味もなくshortが出てきたり、wait()の呼び出し箇所がわかり
にくい形でコーディングされていたり。

ヘッダーファイルが間違っていたり、namespaceの記述が無いなど
でそのまま打ち込んでも動かない場合がある。その辺りを自力
で乗り越えられる人は、この本を読まなくても良い気がします。

結局見所は、6章、7章の合成部分と、後書きに書かれた筆者の
思いでしょうか。ここだけで3400円の価値はあると思いますよ。

| | Comments (3) | TrackBack (0)

2006.12.02

SystemCでモデリングできたよ!

Raid


以前に使ったことのあるエラーの起きる伝送路と、冗長化、復元回路のモデリングを
SystemCでやってみた。

ファイル一式はここ

いろいろと苦労をしたけど、なんとか動いた。上手く動くと面白い。

・デバッグの半分はSystemCの動きで、残りの半分はC++のテンプレートとの戦い。
モデリングが動くまでに山が沢山ある。SystemC自体がテンプレートを使った
環境になっているので、上手く行かないときのエラーが理解できないときが
多い。

・今回のようにアルゴリズムそのものをモデリングしようとすると全てを
テンプレートで書きたくなる。実際、今回の例はsc_mainを除いて全部
テンプレートになった。

・システムの評価という点では、テンプレートを使ってビット幅などを自由に
変えられるのはとても面白い。Verilogに比べて自由度が高く、このまま合成まで
行ってくれれば本当にパラダイムシフトを起こせる。

・SystemC用の構文チェッカーが欲しい。lintまではいらないが、SC_MODULEの
宣言のあとに;がありませんとか、sc_mainはint sc_main(int, char **)で宣言
してください、とかそういうレベルで警告を出してくれると非常に助かる。

・Verilogに比べると、コーディングが楽しい。
always @ (posedge ・・・ なんて何回も書くのまんどくせ。

・結局C++だ。遠回りしてでも、C++を一通り勉強して、コーディングできるように
しないと、ただのコピペエンジニアになってしまう。

そんなこんなでC++のテンプレートの本をアマゾンで注文。
勉強しよう。

| | Comments (2) | TrackBack (0)

SystemCメモ

・sc_in
sc_portは、2つめの引数を入れることで多重化できるが、sc_inはできない。
理由:sc_inは、sc_portをポート数1で継承しているから。
template
class sc_in
: public sc_port,1>
{

・void sc_main(void) 
こう書くと謎のエラーを出す。ちゃんと、void sc_main(int argc , char *argv[])で始める。
本能的に書いたとき注意。

・boost
boostのライブラリを使うために、インクルードディレクトリにboostのパスを追加すると謎のエラーがでる。
SystemCのkernelがboost使っているからだと思う。どうせバージョンが上がったら動きが変わりそうなので保留。

・gdbメモ
core出したらgdb でbt(backtrace)

・templateについて
template内でiterator等を使うとき、
vector::size_type vec_sz;
では駄目で、頭にtypenameをつける必要がある。
typename vector::size_type vec_sz;

Accelerated C++に答え発見。(p141)
typenameをつけることで、コンパイラにvector::size_type vec_sz;が型の名前であることを伝える。
なるほど。

| | Comments (0) | TrackBack (0)

今日の日記

電車の中で、System Design With Systemcをがぶり読みしていたら、突然
おばさんに「いつも、洋書よんでらっしゃいますが、先生か何かですか?」
と聞かれてビビル。

まあ、毎日始発で、同じようなところで本を読んでいたから、覚えられるの
かもしれないけど、目立っていたのかなぁ。真剣にGBA SPとかしているとき
もあるし。ゆうゆを口ずさんでいるときもあるし。電車の中とはいえ、気を
抜いてはいけない。

「エンジニアです」とは言っておいたが、次から電車であったら挨拶くらい
はしないといけないな。

| | Comments (2) | TrackBack (0)

System Design With Systemc

System Design With Systemc読みました。

SystemCをやるには必読の一冊。
これが理解できれば、HDラボさんの基礎セミナーは受けなくても良い。

言語仕様の説明ではなく、SystemCの思想と実践的なテクニックが
詰まっています。要所要所にでてくるC++の機能を使ったテクニック
に夢中になって読めました。

ただ、合成についてはぶっちゃけ何にもケアしていないので、そちらに
ついては、SystemCを使ったハードウェア設計を読もう。

これを読んで感じたことは、自分が思いつくようなことは、世界中の誰もが
思いついているということ。もっと頑張ろう。

Chpter9のCummunication Refinmentが、英語はわかるんだが、いまいち
心にしみてこないのは、経験が足りないからだと思う。もうちょっと、
いろいろ書いてみて、抽象度を変えてみて、また戻ってこよう。

言語仕様については詳しくなく、C++も知っていて当然みたいな雰囲気なので
最初の一冊には向かない。

| | Comments (3) | TrackBack (0)

コンピュータグラフィックス 理論と実践

コンピュータグラフィックス 理論と実践 読みました。

なんだかんだいって、読み切るのに4年くらいかかりました。
前半はけっこう基本的な事もあって面白いのですが、後半になると「これに関しては
最新の技術書読んだ方が良い」と確信するような事ばっかりで、あまり集中して読む
モチベーションが上がりませんでした。

要所要所に面白いアイデア、(揺らぎを使ったサンプリングとか、IRISのアーキテクチャ
とか)が出てくるのですが、無理して読まなくても良いかな~って気がします。

最初の方を除けばそれほど体系だってはいないので面白そうな所だけ読むのもよし。
読書後の満足感は微妙。ぶっちゃけ仕事で役に立つのはごく一部。

次はminix本パタヘネを原書で読んでみたい気もする。高速化ハードについては、
Digital Techniques for High-Speed Designとか、High-Speed Signal Propagationとか
あるんだけど、そっちの方には行きたくない自分がいる。
garbage collectionとか、Compilersとかはとりあえず買ったけど手が出せそうにない。

Virtual Machinesとか悪魔本くらいが、ちょうどよさげ。

| | Comments (2) | TrackBack (0)

« November 2006 | Main | January 2007 »