テーマ:設計

近くで発動したらしい半導体の黒魔術

 実機デバッグを行っていると物理現象との戦いになるのだが、どうしてもわからない現象があった。  【コラム】コンピュータアーキテクチャの話 (232) プロセサのインフラを理解する - 電源やクロック系の設計は黒魔術 | エンタープライズ | マイコミジャーナルでこのあたりの解説が連載されるようで期待しているが、その前に回路設計の分…
トラックバック:0
コメント:0

続きを読むread more

RAS(信頼性,可用性,保守性)

 サーバ機が一般のパソコンと大きく違うのは信頼性の高さを売りのひとつとしている所だろう。分かりやすい例では、PCサーバ機は見かけは普通のパソコンと同じでもエラー訂正機能を持ったECCメモリを採用している。信頼性向上のためのしくみはまとめてRAS(Reliability、Availability、Serviceability)と呼ばれてい…
トラックバック:0
コメント:0

続きを読むread more

大規模ハード設計の開発環境

 有史以前、ハード設計は紙図面とテンプレートだった。今の事業部長の署名の入った青焼きの図面を倉庫の図面保管用ロッカーから発掘したので間違いない。 この頃はTTLがメインで、CPUもTTLの組み合わせで作られていた。詳しくは「超マシン誕生」【AA】を読んでみるとよろしかろう。 1980年代にもなると独自の集積回路を組み込むようになった…
トラックバック:0
コメント:0

続きを読むread more

プロセッサの設計運用の形態、検証の楽しみ

 エコ、省エネの話も出ますが回路の話はありません。設計運用上での話。  大規模プロセッサにもなると各ブロックごとに5~10名のチームが担当し、設計することになる。すべてのモジュールの結合の責任は、当時はシミュレーション担当が行っていた。理由は単純でビルドできないとシミュレーション出来ないからだ。  設計チームは自分の担当ブロック…
トラックバック:1
コメント:2

続きを読むread more

設計環境、ハードウェア記述言語

 学生の頃はMIL記号のテンプレートを使って方眼紙に手書きだった。これを元にプリント基板にTTLを並べて工作していた。雑誌に投稿すると、回路図専門のトレースする人がいてうまく整形してくれていた。設計言語といえばトラ技の通販サービスで買ったPALASMで、JEDECファイルを入れたフロッピーディスクを持って、部品屋だった頃のT-ZONEに…
トラックバック:0
コメント:0

続きを読むread more

よせあつめLSI

 あるLSIの設計を引き継いだ。名前をLSI-Dとしよう。これはタイマ程度しかついていないおまけのような機能しかなかった。だが。LSI-BやLSI-Cが障害を出すたびに、リメイクすべき回路をLSI-Dに格納していたのだ。なんの回路かさっぱりわからん箇所もあったがそういうことだったのか。幸いLSI-Aは出来が良かったのでパッチ回路は入らな…
トラックバック:0
コメント:0

続きを読むread more

ゲートアレイで作ってみた

ゲートアレイについて 新人に任せて怒られるの巻  本体はすでに製造に入ってしまって出荷までにリメークが間に合わない。プリント基板の修正なら間に合う。外部回路での障害回避方法は検証できた。なら、プリント基板の空きスペースにゲートアレイでパッチ用の回路を作ろう。そういう話になった。このゲートアレイの設計担当は、デバックを行った私…
トラックバック:0
コメント:3

続きを読むread more

ゲートアレイについて

ゲートアレイ(Wikipedia) 各社ゲートアレイ製品 ゲートアレイ,エンべデッドアレイ ホーム | ASIC | 製品情報 | NECエレクトロニクス(NECエレクトロニクス) CMOSゲートアレイシリーズ|シリーズ紹介|東芝 セミコンダクター社(東芝セミコンダクター) ASIC:ゲートアレイ/エンベデッドアレイ/スタン…
トラックバック:0
コメント:2

続きを読むread more

スタンダード・セル方式のASIC

 スタセルと略して呼んだりもする。どのような構造のLSIかというと… まず、バルク層(トランジスタを形成する層)に電源とグランドの線を左端から右端まで一定間隔に引く。 ++++++++++++++++++++ -------------------- ++++++++++++++++++++ ---…
トラックバック:0
コメント:2

続きを読むread more

なぜプログラマブルデバイスを使わないのか

 PLD(GAL)は試作やデバックの時に重宝した。まだプリント基板上でジャンパを飛ばして対応できた頃の話だ。ツールも進化して、ほぼアセンブラともいえるPALASMからVHDLが使えるようになったのは驚いた。  一方、量産の基板にはPLDが使われない。よその部門の基板を見せてもらったが、フラットパッケージのTTLだらけでPLDはなかった…
トラックバック:0
コメント:0

続きを読むread more

3τ事件(コミュニケーション不足)

 設計が進み、新たに演算器が組み込まれることになった。演算結果を比較するテストプログラムも用意されていた。 全体をビルドしてシミュレーションを開始する。予定クロックより早く終わってしまった。あれ?めずらしい。普通なら新しくいじった所で暴走なりなんなりして停止条件に合わない止まり方をすることが多いのに。 原因は今回組み込んだ演算回路の…
トラックバック:0
コメント:0

続きを読むread more

プリント基板の修正

 計算機本体の設計では、新規のLSIと同時にそれを搭載するプリント基板も開発する。プリント基板は筐体に搭載するので色々な制約がある。例えば、基板の向きや部品の高さなど、メインテナンス性を考慮しなければならない。また、搭載部品が重なったりまたがったりしてはいけない。これはプリント基板のCADソフトがチェックしてくれる。配線もある程度は自動…
トラックバック:0
コメント:0

続きを読むread more

論理回路のループ探し

 モジュール単位で設計した論理回路を接続してシステムシミュレーションを行うと、初期の段階では発振することがよくある。これは組み合わせ回路がどこかでループしてしまい、シミュレーションの最小単位時間単位で1→0→1→0→…を繰り返すからだ。 これはモジュール内では正しく設計できていても、他のモジュールを経由して自分に接続が還ってくることに…
トラックバック:0
コメント:0

続きを読むread more

論理シンボル入力とテキスト入力

 昔の論理回路設計では、ワープロで論理記号のシンボルを外字登録したものを使い、原本となる回路図を作り、それを元に汎用機上で動作する内製の論理エントリーツールで入力していた。 このころVerilogは評価用にVerilog-XLを1本導入して物好きが使用していた程度だった。論理合成もシミュレーションで使用する疑似回路の作成に利用される程…
トラックバック:0
コメント:0

続きを読むread more

ASIC設計の入門書

 物理や電子工学科卒ならひととおりのことは習っただろうが、会社で実際の設計業務に携わるとなると生半可な知識は通用しない。私は趣味でハードをやっていたが学生時代はソフトウェア(自然言語処理!)をやっていたのでまったくのやり直しのつもりで勉強した。その時の参考書を紹介する。  最近はVerilog-HDLやらSystemCなどソフト寄りの…
トラックバック:0
コメント:0

続きを読むread more

中央集権型と分散型の実装

 大規模なハードはソフトと違い、チームごとに開発したモジュールが並行動作する。その実装ポリシーについて。 ・中央集権型 中央に制御機能が集中する。 周辺モジュールは指示通りに動く。周辺モジュール設計は比較的楽。 周辺は制御の仕様が決まらないとテストも難しい。 中央からの制御線がたくさん出る。 バグも中央に集中する。 …
トラックバック:0
コメント:0

続きを読むread more

テープアウト後

 設計データをテープアウトして試作のチップが入手できるまで一ヶ月ぐらいだが、その間設計者は暇かというとそうではない。チップのテストパターンを作成しなければならない。  テストパターンは、チップ内のロジックが0,1とちゃんと変化することを確認するために作成する。このパターンは半導体テスタに入力され、実チップがテストされる。  テストパ…
トラックバック:0
コメント:0

続きを読むread more

設計の暗黒面について

 設計者が自分の設計に自信を持って取り組むからこそ技術的に良いものができる。しかし、思いつきだけでこだわる前に定量的な見積りが必要だ。  例として2コア内蔵のマイクロプロセッサを挙げる。コア間の割り込み要求を内部で直結して処理する。これは外部バスに出ないためコア間では高速化できる。しかしデメリットもある。専用の回路が追加となり、その検…
トラックバック:0
コメント:0

続きを読むread more

CVSによる設計データの管理

 設計データは絶対に壊してはならない大切な資産であり、日々蓄積され、最終的な製品となる。このデータの管理をCVSで版数管理することにした。当時はSubversionやGitなどの選択肢はなかったのだ。  まずはツール類をよく作成しているメンバーでperlやawk,cのソースをCVSで管理してみる。トライアルである。このメンバーでCVS…
トラックバック:0
コメント:0

続きを読むread more

バス輻輳の話

 ある計算機システムでの話。前モデルの最大4CPU構成よりも開発中の最大3CPU構成の方が性能が出ないという問題が発生した。最大構成どうしだから当然最新モデルの方が速くなくてはいけない。みんなが頭を抱えていたときに原因がわかった。 バスの輻輳が原因だった。 昔のSMPシステムの構成は、単純な一本のバスにCPU、メモリ、I/Oが同じよ…
トラックバック:0
コメント:0

続きを読むread more

同じ端子に複数の意味付けをすべきでない

 昔あった話。そんなにピン数も少なくない、どちらかといえば余裕のあるLSI間の制御線について、1本の信号線について二つの意味付けをされているピンがあった。2つのLSI間でモードが一致していれば問題はなかったのだが、タイミングが異なったとき一瞬モードがLSI間で異なり、その信号線の意味を取り違えたのが原因となった障害が発生した。信号線をけ…
トラックバック:0
コメント:0

続きを読むread more

バス分割における設計センス

 Verilog-HDLで記述された設計データを自社内製ツール用に変換してもらったときの話。 内製ツールはバスの記述がA[0:99]のように100本までの制限があった。これに対し元データは[0:127]と128ビット。で、どう分割されたかというとA[0:99],B[0:27]の様に分割されてきた。ふつう考えるのはA[0:63],B[0…
トラックバック:0
コメント:0

続きを読むread more

リメイク

かつて、リメイクは恥であった。  リリースした設計データが半導体工場に渡ると、しばらくののちES(Engineering Sample)品として数個のチップが返ってくる。これを実際の装置に取り付けて動かし、実機評価を行う。ここで問題が発覚すればフィードバックしなければならないのだが、難しいことにES品は動作が保証されていないのだ。…
トラックバック:0
コメント:0

続きを読むread more

リリースとリメイク

 論理設計が完了したデータを半導体工場に渡すことをリリースまたはテープアウトという。以前は磁気テープに格納したデータを渡していたためだろう。 渡した時点で設計者の手を離れ、半導体工場が責任を持って製造する。仮に論理ミスがあったとしても、テープアウト後はとりかえせない。 量産の規模や使用するテクノロジによっては数千万円、時に最先端のテ…
トラックバック:0
コメント:0

続きを読むread more

入力信号は必ずFF受けで

 デバッグの応援に行った時の話。マルチプロセッサ環境で長時間動作をさせていると、数時間後に必ずエラーとなってしまう現象が続いていて調べて欲しいとのことだった。再現環境は出張先にすでに用意してあった。エラーが再現した直後の状態を調べてみる。4CPU環境だからCPU番号は0から3のはずなのだが、4から7の番号からリクエストが出ている。幽霊か…
トラックバック:0
コメント:0

続きを読むread more

物理的制約による論理回路の工夫

 論理設計上は全く問題なくとも、実際の物理的なチップにすることを前提に修正を加えることがある。これは論理的には全く等価だが、物理的には異なるということである。  あるチップ上の位置にある論理出力Aから、遠く離れた入力Bまで信号を伝えたい場合、並走する他の信号の影響を受けてしまうクロストークや、あまりにも距離が長過ぎると駆動能力が足…
トラックバック:0
コメント:0

続きを読むread more