テーマ:シミュレーション

論理回路のループ探し

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

続きを読むread more

リリースとリメイク

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

続きを読むread more

エラー発生の再現性

 デバッグ時にエラー発生の再現性を高めることは非常に重要である。  論理シミュレーションでも、ある特定のパターンでエラーが発生する場合、そのパターンの絞り込みが重要となる。シミュレーションは非常に時間がかかる―実チップは1GHzで動作するのにシミュレーションはがんばっても数KHz、場合によっては数百Hzという動作周波数だ。さらに周辺回…
トラックバック:0
コメント:0

続きを読むread more

ユニットシミュレーション

論理シミュレーションとは、設計した論理回路を実際の半導体にする(テープアウト)前に動作を確認することである。論理シミュレーションにはCPUやメモリなどをすべて接続したモデルで行うシステムシミュレーションや、小さな設計ブロック単位で行うユニット(単体)シミュレーションがある。ユニットシミュレーションの単位はひとつの設計グループが担当する設…
トラックバック:0
コメント:0

続きを読むread more

乗算器の検証

ある日。既存の設計に32bit乗算器が急遽追加されることになった。その検証をまかされたのだが比較元となるRTLモデルなどなく、直接ゲート記述されたものだったのでどのようにするか考えた。 ソフトで乗算器に与える数値を乱数で発生して結果も計算しテキストデータとして出力する。シミュレータには二つの入力値をそこから与え、結果をテキストに出力す…
トラックバック:0
コメント:0

続きを読むread more