日々、色々と見たこと思いついたことをだらだらと書こうかと・・・ by 魯
色々だらだら
ボーイング787とLSI検証用エミュレータ
LSIの開発において検証にエミュレータを使うことが増えている
そうです。確かにシミュレータに比べれば遥かに高速なので大量の
テストケースを流すことができる。このため当然、検証の確度は
上がると思われているようですが、それは本当でしょうか?
今、バッテリー関連の不具合で運行が停止されているボーイング
787の開発開始は2004年、初飛行は2009年、そして運行開始は
2012年。3年間に渡って実機でテスト飛行しているのです。
しかし、運行開始して1年で不具合のために運行停止になって
しまいました。どうしてこんなことが起きてしまったのでしょう。
一番大きな理由は実運用に比較してテストはほんのわずかの時間
しか出来ないことでしょう。テストで使われる機体はせいぜい数機、
それに対して実運用はすでに数十機と10倍。テストでは実使用の
完全な再現は出来ないのです。
さて、話をエミュレータに戻すと、多くの場合使えるのは1台、
検証期間は1年以内でしょう。一方実際に使用されるLSIチップは
数百万個。そして使われるのは数年。このギャップは787を遥かに
超えています。要するに高速エミュレータを利用して大量のテストを
行なったところで実使用には比べるべくもなく787のように不具合が
残る可能性はあるということです。
結局のところ検証で重要なのは実使用においてどんなことが
起きるかの想定に漏れがないことです。これはシミュレーション
であろうがエミュレーションであろうが一緒。これがちゃんと
できていないのにエミュレータを導入しても不具合をなくすことは
期待できません。想定される状況が多くシミュレーションでは時間が
かかってしまうときにエミュレータを導入するというのがあるべき
姿だと思うのです。
そうです。確かにシミュレータに比べれば遥かに高速なので大量の
テストケースを流すことができる。このため当然、検証の確度は
上がると思われているようですが、それは本当でしょうか?
今、バッテリー関連の不具合で運行が停止されているボーイング
787の開発開始は2004年、初飛行は2009年、そして運行開始は
2012年。3年間に渡って実機でテスト飛行しているのです。
しかし、運行開始して1年で不具合のために運行停止になって
しまいました。どうしてこんなことが起きてしまったのでしょう。
一番大きな理由は実運用に比較してテストはほんのわずかの時間
しか出来ないことでしょう。テストで使われる機体はせいぜい数機、
それに対して実運用はすでに数十機と10倍。テストでは実使用の
完全な再現は出来ないのです。
さて、話をエミュレータに戻すと、多くの場合使えるのは1台、
検証期間は1年以内でしょう。一方実際に使用されるLSIチップは
数百万個。そして使われるのは数年。このギャップは787を遥かに
超えています。要するに高速エミュレータを利用して大量のテストを
行なったところで実使用には比べるべくもなく787のように不具合が
残る可能性はあるということです。
結局のところ検証で重要なのは実使用においてどんなことが
起きるかの想定に漏れがないことです。これはシミュレーション
であろうがエミュレーションであろうが一緒。これがちゃんと
できていないのにエミュレータを導入しても不具合をなくすことは
期待できません。想定される状況が多くシミュレーションでは時間が
かかってしまうときにエミュレータを導入するというのがあるべき
姿だと思うのです。
コメント ( 0 ) | Trackback ( 0 )
assign文排斥運動
極一部の人にしかわからない話題で御免なさい。
そしてわかる人からはどんな反響があるか全く予想が
つかないのですが、まぁいいか・・・
verilog HDLでは次のような記述が普通かと思います。
input a, b ;
output d ;
wire c, d ;
assign c = a && b ;
assign d = c || b ;
でも私はもう10年以上次のようにassign文を使わないで
記述をしています。
input a, b ;
output d ;
wire c = a && b ;
wire d = c || b ;
この方が行数も文字数も少なくて読みやすい。
そして何より次のような記述。
wire d = c || b ;
wire c = a && b ;
cを定義する前に使っているのでundefinedの
エラーが出ます。だから必然的に
wire c = a && b ;
wire d = c || b ;
と書くことになります。ところがassign文で
代入すると、
assign d = c || b ;
assign c = a && b ;
なんていう順番の逆転した書き方をしてもエラーも
出ないし普通にシミュレーション/合成が出来て
しまうんですねぇ。でも読みにくいったらありゃ
しない。
このぐらいの長さの記述ならassign文を使っても
大して煩わしくはないんですが、これが数十行に
なると読み易さに結構差が出ます。
あと、ビットレンジがあるときは
wire [7:0] b = a[7:0] ;
のように左辺に幅が明示されるので勘違いして幅の
違う信号をつなぐミスも減ります。
ということで、assign文排斥運動ですが、きっと
拒絶反応が沢山あるんだろうなぁ(^^;
常識的には宣言は最初の方にまとめるのが普通
ですからね。
ついでに・・・・
以下蛇足ですが・・・・・
そもそもassignって初期のBASICのLETみたいなもの
なんですよねぇ。なんで未だにこんなのが残って
いるのか?
更に言うとbegin,endっていうのも文字数が多くて
嫌い。連接で{}を使ってしまったから1パスのインター
プリタだった当時は仕方なかったのでしょうけどね。
キーストロークが増えるという点では、alwaysの後の
@なんても邪魔じゃないですか。殆ど組みで記述するの
だから省略可能にした方がいい。勿論、クロック生成
みたいにタイミング制御しない場合もありますが、
これはあまり使わないのだから、寧ろこちらに何らかの
予約語を記述するようにした方がいい。
昔のマシンで効率よく動かすためには仕方なかった
部分もあるのでしょうけど、これがsystem verilogで
改善するかと思ったら、更に酷くなっているのだから
泣けます。always_combって何? combinationなら
alwaysに決まっているじゃないですか。combという
予約語を導入したくなかったんでしょうけど。
そしてわかる人からはどんな反響があるか全く予想が
つかないのですが、まぁいいか・・・
verilog HDLでは次のような記述が普通かと思います。
input a, b ;
output d ;
wire c, d ;
assign c = a && b ;
assign d = c || b ;
でも私はもう10年以上次のようにassign文を使わないで
記述をしています。
input a, b ;
output d ;
wire c = a && b ;
wire d = c || b ;
この方が行数も文字数も少なくて読みやすい。
そして何より次のような記述。
wire d = c || b ;
wire c = a && b ;
cを定義する前に使っているのでundefinedの
エラーが出ます。だから必然的に
wire c = a && b ;
wire d = c || b ;
と書くことになります。ところがassign文で
代入すると、
assign d = c || b ;
assign c = a && b ;
なんていう順番の逆転した書き方をしてもエラーも
出ないし普通にシミュレーション/合成が出来て
しまうんですねぇ。でも読みにくいったらありゃ
しない。
このぐらいの長さの記述ならassign文を使っても
大して煩わしくはないんですが、これが数十行に
なると読み易さに結構差が出ます。
あと、ビットレンジがあるときは
wire [7:0] b = a[7:0] ;
のように左辺に幅が明示されるので勘違いして幅の
違う信号をつなぐミスも減ります。
ということで、assign文排斥運動ですが、きっと
拒絶反応が沢山あるんだろうなぁ(^^;
常識的には宣言は最初の方にまとめるのが普通
ですからね。
ついでに・・・・
以下蛇足ですが・・・・・
そもそもassignって初期のBASICのLETみたいなもの
なんですよねぇ。なんで未だにこんなのが残って
いるのか?
更に言うとbegin,endっていうのも文字数が多くて
嫌い。連接で{}を使ってしまったから1パスのインター
プリタだった当時は仕方なかったのでしょうけどね。
キーストロークが増えるという点では、alwaysの後の
@なんても邪魔じゃないですか。殆ど組みで記述するの
だから省略可能にした方がいい。勿論、クロック生成
みたいにタイミング制御しない場合もありますが、
これはあまり使わないのだから、寧ろこちらに何らかの
予約語を記述するようにした方がいい。
昔のマシンで効率よく動かすためには仕方なかった
部分もあるのでしょうけど、これがsystem verilogで
改善するかと思ったら、更に酷くなっているのだから
泣けます。always_combって何? combinationなら
alwaysに決まっているじゃないですか。combという
予約語を導入したくなかったんでしょうけど。
コメント ( 2 ) | Trackback ( 0 )
ET 2010
今年もETに行ってきました。
会場に着いたのが15時半頃であまりゆっくり見て回る、というか
話して回ることはできませんでしたが・・・・

アルテラのブースで「インテル アーキテクチャ + FPGA」
というから先日インテルから発表されたatomかと思ったら
PCB上で統合しただけのものでした。アルテラの人によると
あれはインテルの製品なんでアルテラにはよくわからない
そうです。
で、そのインテルのブースは

立派ですねぇ。自社製品はあまり出しておらずatom+FPGAも
みつけられませんでした。
立派といえばこちらのブース。

妙に高級感がただよっていました。お金のあるところは違い
ますねぇ。
こちらもお金のあるARM。世の中のCPUはインテルとARMだけに
なってしまいそうな勢いです。ブースもこんなに人が沢山。

まぁ、景品の抽選会をしているからなんですけどね(^^;
あまり有名じゃないけど、日本のベンチャーにも調子のいい会社が
あります。

任天堂DSのグラフィックプロセッサとして採用が決まっているので
しばらくは安泰でしょう。一時はかなり危なかったようですけど。
さて、面白かったものとしては・・・

なぜかジェットエンジンが・・・・
時間があればゆっくり話を聞きたかったのですけど、残念。
それはさておき、半導体にもどって・・・・

おぉ!DRPですねぇ。まだ生きているのがあるんですねぇ。
どこのかと思ったら旧NECエレクトロニクスのものでした。
この開発環境を図研エルミックで扱っているのだそうです。
図研はCyberの代理店もしているのでその関係なのでしょう。
こんなExpressカードに入っているので簡単にお試しできるそうです。

でもアプリケーションが絞り込めていないようで販売には苦労
するでしょうねぇ・・・・
DRPは古いものですが、新しいところではこちら。

NSL(Next Synthesis Language)という言語を出しているのですが、
お話したのが営業の人だったんで詳しいことはわからず。
まぁ資料ももらってきたし、Webにも説明が出ているのでボチボチ
調べることにします。資料の他に写真のブランケットももらって
来たのでありました。
もらい物と言えば、

ことしも新潟ブースでお米を貰いました。
栃木のハートランド・データ株式会社では「レモン牛乳」。

寡聞にして存在を知りませんでした。「「U字工事」が宣伝して
いるんです」と言われたけど、その芸人も知りませんでした(^^;
他にもノベルティ類をいくつか貰ったのですが、一番嬉しかった
のはこちら。

この袋、社内でノートPCを持ち歩く時に便利なんです。
さて、ETといえば木曜のフェスタですが、これはまた後ほど。
会場に着いたのが15時半頃であまりゆっくり見て回る、というか
話して回ることはできませんでしたが・・・・

アルテラのブースで「インテル アーキテクチャ + FPGA」
というから先日インテルから発表されたatomかと思ったら
PCB上で統合しただけのものでした。アルテラの人によると
あれはインテルの製品なんでアルテラにはよくわからない
そうです。
で、そのインテルのブースは

立派ですねぇ。自社製品はあまり出しておらずatom+FPGAも
みつけられませんでした。
立派といえばこちらのブース。

妙に高級感がただよっていました。お金のあるところは違い
ますねぇ。
こちらもお金のあるARM。世の中のCPUはインテルとARMだけに
なってしまいそうな勢いです。ブースもこんなに人が沢山。

まぁ、景品の抽選会をしているからなんですけどね(^^;
あまり有名じゃないけど、日本のベンチャーにも調子のいい会社が
あります。

任天堂DSのグラフィックプロセッサとして採用が決まっているので
しばらくは安泰でしょう。一時はかなり危なかったようですけど。
さて、面白かったものとしては・・・

なぜかジェットエンジンが・・・・
時間があればゆっくり話を聞きたかったのですけど、残念。
それはさておき、半導体にもどって・・・・

おぉ!DRPですねぇ。まだ生きているのがあるんですねぇ。
どこのかと思ったら旧NECエレクトロニクスのものでした。
この開発環境を図研エルミックで扱っているのだそうです。
図研はCyberの代理店もしているのでその関係なのでしょう。
こんなExpressカードに入っているので簡単にお試しできるそうです。

でもアプリケーションが絞り込めていないようで販売には苦労
するでしょうねぇ・・・・
DRPは古いものですが、新しいところではこちら。

NSL(Next Synthesis Language)という言語を出しているのですが、
お話したのが営業の人だったんで詳しいことはわからず。
まぁ資料ももらってきたし、Webにも説明が出ているのでボチボチ
調べることにします。資料の他に写真のブランケットももらって
来たのでありました。
もらい物と言えば、

ことしも新潟ブースでお米を貰いました。
栃木のハートランド・データ株式会社では「レモン牛乳」。

寡聞にして存在を知りませんでした。「「U字工事」が宣伝して
いるんです」と言われたけど、その芸人も知りませんでした(^^;
他にもノベルティ類をいくつか貰ったのですが、一番嬉しかった
のはこちら。

この袋、社内でノートPCを持ち歩く時に便利なんです。
さて、ETといえば木曜のフェスタですが、これはまた後ほど。
コメント ( 2 ) | Trackback ( 0 )
Green500
スーパーコンピューターの電力効率を比較するGreen500の11月度の速報が
発表されました。
結果は東工大のTSUBAME 2.0が実質1位。
Top500で中国のスパコンが1位になって騒いだ日本のマスメディアでは
この快挙は全く扱われていませんねぇ。まだ正式発表ではないからかな?
それとも単に知らないだけなのか?
リスト上ではTSUBAME 2.0は2位で1位はIBMのBlueGene/Qなんですが、
これはまだ試作段階で実稼働には入っていないので実質1位はTSUBAME 2.0。
スーパーコンピューターはどんなに速くても一人で独占して使える
訳じゃないので、一般的なユーザーにとっては性能がそこそこあれば
あとはコストパフォーマンスの方が重要なんですよねぇ。本体の値段も
安く、ランニングコストも安いTSUBAME 2.0は凄いです。別に性能が
1位じゃなくてもいいんです。
発表されました。
結果は東工大のTSUBAME 2.0が実質1位。
Top500で中国のスパコンが1位になって騒いだ日本のマスメディアでは
この快挙は全く扱われていませんねぇ。まだ正式発表ではないからかな?
それとも単に知らないだけなのか?
リスト上ではTSUBAME 2.0は2位で1位はIBMのBlueGene/Qなんですが、
これはまだ試作段階で実稼働には入っていないので実質1位はTSUBAME 2.0。
スーパーコンピューターはどんなに速くても一人で独占して使える
訳じゃないので、一般的なユーザーにとっては性能がそこそこあれば
あとはコストパフォーマンスの方が重要なんですよねぇ。本体の値段も
安く、ランニングコストも安いTSUBAME 2.0は凄いです。別に性能が
1位じゃなくてもいいんです。
コメント ( 0 ) | Trackback ( 0 )
何で今更
本屋を覗いたら「超マシン誕生」が棚にあるのを発見。
あれっ?絶版になっていたんじゃないの?
と思ったら[新訳・新装版]なんですね。
旧版(和訳)が出たのは1982年。あの当時はまだ学生だったなぁ。
技術的な話は完全には理解できないところもあったし、自分が
CPUの設計者になるなんて全く思っていなかった。
そんな訳で内橋克人の「匠の時代」シリーズと同様に面白い
読み物として読んでいましたが、今振り返ると所謂デスマーチ
開発なんですよねぇ。プロジェクト終了後に多くのメンバーは
退職してしまったそうです。
ちなみに、このデータゼネラルのEclipse MV/8000は今ならFPGA
1個に載ってしまいます。CPUだけならコンパチ品を作るのに
一人でも半年とかからないでしょう。
あれっ?絶版になっていたんじゃないの?
と思ったら[新訳・新装版]なんですね。
![]() | 超マシン誕生 [新訳・新装版] |
トレイシー・キダー | |
日経BP社 |
旧版(和訳)が出たのは1982年。あの当時はまだ学生だったなぁ。
技術的な話は完全には理解できないところもあったし、自分が
CPUの設計者になるなんて全く思っていなかった。
そんな訳で内橋克人の「匠の時代」シリーズと同様に面白い
読み物として読んでいましたが、今振り返ると所謂デスマーチ
開発なんですよねぇ。プロジェクト終了後に多くのメンバーは
退職してしまったそうです。
ちなみに、このデータゼネラルのEclipse MV/8000は今ならFPGA
1個に載ってしまいます。CPUだけならコンパチ品を作るのに
一人でも半年とかからないでしょう。
コメント ( 0 ) | Trackback ( 0 )
ESEC 2010
行ってきました。

今年はそこいら中Androidでしたが、今のお仕事には
あまり関係ないのでスルー(^^; あとクラウドも花盛り
ですね。Androidにとって替わられたのかITRONや
T-Kernelは殆ど見かけず。
ちょっと変わったところではTNTで100コアのプロセッサを
出していました。Webを見れば載っているだろうと思って
資料を貰ってこなかったのですが・・・載ってませんでした。
あと、IBMのブースで話していたビースラッシュのおっちゃんが
面白かった。でも設計ドキュメントをソースコードと
同列に重視しているのはいかがなものか?とは言っても
他も軒並みドキュメント重視でagileなんて全く見かけ
ませんでしたけどね。

今年はそこいら中Androidでしたが、今のお仕事には
あまり関係ないのでスルー(^^; あとクラウドも花盛り
ですね。Androidにとって替わられたのかITRONや
T-Kernelは殆ど見かけず。
ちょっと変わったところではTNTで100コアのプロセッサを
出していました。Webを見れば載っているだろうと思って
資料を貰ってこなかったのですが・・・載ってませんでした。
あと、IBMのブースで話していたビースラッシュのおっちゃんが
面白かった。でも設計ドキュメントをソースコードと
同列に重視しているのはいかがなものか?とは言っても
他も軒並みドキュメント重視でagileなんて全く見かけ
ませんでしたけどね。
コメント ( 4 ) | Trackback ( 0 )
EDSF

Electronic Design and Solution Fair(EDSF)に行って
きました。この展示会、LSIの設計関連では一番メジャーな
ものです。そして扱う製品が高価なだけにお配りの
ノベルティもそこそこいいし、コンパニオンさん達の
レベルも高いのですが・・・
提案されているメソドロジーはこの10年、殆ど変化
ありません。相変わらずウォーターフォールが前提です。
「インクリメンタル」なんていう言葉は探しても全く
見つかりません。情けないなぁ・・・
でもまぁ、ポイント、ポイントで使うツールでは
幾つか面白いものはありました。
コメント ( 0 ) | Trackback ( 0 )
更新してる!
Chip Architectのページが久しぶりに更新
されています。2年半ぶりかぁ。
ここのチップ写真と解説は大変役に立ちます。
されています。2年半ぶりかぁ。
ここのチップ写真と解説は大変役に立ちます。
コメント ( 0 ) | Trackback ( 0 )
verilog HDLのtask文は面倒
最近、他人の書いたテストベンチをいじって
いるのですが、これがtask文の塊なのです。
わたしゃ論理合成可能な記述には一応慣れて
いますが、taskはさっぱり。
んで、taskに少し慣れて来たかと思ったら、
今度はalways文の中身をtask分のノリで
書いてしまい、期待通りに動かず・・・
やはり回路の設計とテストベンチいじりは
同時にしてはいけませんね。
いるのですが、これがtask文の塊なのです。
わたしゃ論理合成可能な記述には一応慣れて
いますが、taskはさっぱり。
んで、taskに少し慣れて来たかと思ったら、
今度はalways文の中身をtask分のノリで
書いてしまい、期待通りに動かず・・・
やはり回路の設計とテストベンチいじりは
同時にしてはいけませんね。
コメント ( 0 ) | Trackback ( 0 )
ET2006

ET2006(組込み総合技術展)に行って来ました。
残念ながら、今年は去年より更に面白い展示がありません。
更に各ブースの展示も相変わらず下手です。
こりゃぁなんとかしないといけませんよねぇ。
ってこんなところに書いてもしかたないですね(^^;
まぁ、そうは言ってもいくつか写真は撮ったので・・・

「日本語できます」というのがいいですねぇ。
こういうブース作り、好きです。

組込みの世界にもオラクルは入り込もうとして
いるのですねぇ。組込みでの処理が複雑化して
いるのとオラクルにとってはデータベース市場
での成長があまり望めないからですかねぇ。
さて、展示会自体の写真はここまでです。
しかし、この展示会、中日の終了後に「ET
フェスタ」と称して主催者側と一部(と言っても
結構な数)の企業が飲み物、食べ物を提供します。
丁度ボージョレヌーボーの解禁日とあって、
これを提供する会社も多いのですが、東北
ブースは違います。

東北地方の地酒がずらっと・・・
いやぁ、素晴らしいです。東北、素敵です。
でもチョウザメの燻製は私が行った時には
既になく、食べそこねました(;_;)
あっ、ちなみに東北ブースというのは単独では
出展できないような東北地方の企業を集めた
ブースです。こういう試みはいいですね。
バッテリーチャージャーを作っている会社の
社長さんと酒を飲みながらしばらく話し込んで
しまいました。
そうそう、ここで一番おどろかされたのがこちら。

濁り酒というと大半は甘いのですが、これは
違います。かなりの辛口です。しかもドロドロ。
どぶろくってこういうものなんですかねぇ。
裏側も撮ってみましょう。

こちらで作っているんですね。
ちょっと行きたくなりますが、我が家では遠野の
宿は鬼門となっております(;_;)
で、ETフェスタで日本酒を結構いただいた後に
更にこれです。

業界の交流会です。展示はつまらなくてもETに
来るのはこれがあるからなんですよねぇ。今回も
面白い話が聞けました。
コメント ( 12 ) | Trackback ( 0 )
続RISC vs CISC ?
以前でRISC vs CISC ?という記事で
PCWatchの後藤氏の記事の意味がよく
わからないということを書いたのですが、
他にも違和感を覚えた人がいました。
Ando's Processor Information Pageの
安藤氏が最近の話題2006年7月1日版で
「私は,この見解には賛成できません。」
と書いています。
実際にCPUを設計している人の殆どは
何らかの違和感を感じるんじゃないかなぁ。
PCWatchの後藤氏の記事の意味がよく
わからないということを書いたのですが、
他にも違和感を覚えた人がいました。
Ando's Processor Information Pageの
安藤氏が最近の話題2006年7月1日版で
「私は,この見解には賛成できません。」
と書いています。
実際にCPUを設計している人の殆どは
何らかの違和感を感じるんじゃないかなぁ。
コメント ( 0 ) | Trackback ( 0 )
« 前ページ |