上流設計&組込み

2016年 Summer / Vol. 18

Accelleraによる標準化が進むポータブルスティミュラス

Accellera Systems Initiative(以下Accellera)によって標準化されたUVMは、手書きでテストスティミュラスを記述していた時代から、制約付きランダムテスト生成や機能カバレッジをテストベンチに実装して検証を自動化する時代への変遷を支えた技術、メソドロジとして機能検証の生産性向上に大きな役割を果たしています。現在、その生産性をさらに向上させるものとして期待されているテストとスティミュラスのポータビリティを最大化するSoC検証手法をAccellera標準として作成すべく、2014年12月15日、Accelleraは仕様策定のためのワーキンググループとなるPortable Stimulus Working Groupを発足させました。

2016年 Spring / Vol. 17

Successive Refinement Methodology - ローパワー設計の段階的な詳細化

ローパワーアーキテクチャの検討は、半導体の価値を左右する性能指標として欠かせないものとなりました。最近では、IEEE1801(UPF: Unified Power Format)を用いて通常の設計とローパワー設計を同時に行い検証するプロジェクトが大半を占めるようになりました。UPFで検証が済んだローパワー設計は実装フローのゴールデンリファレンスとなります。

2016年 Winter / Vol. 16

エミュレーションを用いたISO 26262準拠プロセッサ検証

自動車の機械システムは、アンチロックブレーキシステム(ABS)、電子スロットルシステム、アダプティブクルーズコントロールなどをはじめ、その多くが電子制御の対象となっています。いわゆるドライブバイワイヤ(DBW)が進み、さらにインフォテイメントやコネクテッドカー、サラウンドビューモニタなどを含めると、最も電子化が進んだ車種では1台あたりの車載ソフトウェアは1億行を超えたとも言われています。

2015年 Autumn / Vol. 15

IoTデバイスに求められる組込みソフトウェア要件とRTOSの選択

モノのインターネット(IoT: Internet of Things)がさまざまなカンファレンスやセミナーで語られ、展示会などでも多くのソリューションが紹介されるようになりました。接続する「モノ」によってIoT技術の難易度も異なりますが、例えば、多機能プリンタの場合、トナーや用紙の使用量をプリンタのサービス会社がインターネット越しに監視し、完全に消耗する前に宅配で供給するサービスなどは、すでに何年も前から始まっています。

2015年 Summer / Vol. 14

組込みソフトウェアにおける安全性の確保

1996年6月4日、欧州宇宙機関が打ち上げたロケット「Ariane 5」は、打上げから37秒後に軌道を外れ徐々に分解し始めたため、自爆装置が働いて爆破されました。その原因は、64ビット浮動小数点から16ビット整数値への変換におけるオーバーフローとその例外処理の不具合というソフトウェアによる演算ミスでした。

2015年 Spring / Vol. 13

イーサネットの検証IPをテストベンチに統合する「いろは」

2015年はムーアの法則が生まれて50年目にあたります。微細化のペースは従来ほどではないものの、FinFETのような立体構造のトランジスタの出現により、微細化のトレンドは今後も続くとみられます。しかし、それ以上のペースで複雑化しているのが機能検証です。開発時間やリソースの70%以上が機能検証に費やされているにも関わらず、機能バグがシリコンリスピンの最大の原因となっていることに変わりはありません。

2015年 Spring / Vol. 13

検証IPを用いたキャッシュコヒーレンシの検証容易化

マルチコアシステムでは複数のキャッシュが同一のデータを共有することから、キャッシュ間のデータ一貫性(コヒーレンシ)を保つメカニズムが必要となり、インターコネクト設計が極めて複雑になりました。最新のキャッシュコヒーレンシのプロトコル仕様では、キャッシュに関するバススティミュラスは、ローカルキャッシュの初期ステートと整合している必要があります。

2015年 Winter / Vol. 12

アサーションやカバレッジの系統立てられた記述前準備

SystemVerilogがIEEE 1800として標準化されたのは2005年11月8日、今年で10年目を迎えることになります。アサーションや機能カバレッジなどは記述のテンプレート化をしたり、外部の検証コンサルティングなどからの支援により、設計者や検証エンジニアが参考にする記述も増えてきています。

エミュレータを用いたソフトウェアデバッグの資源活用効率化

2014年 Autumn / Vol. 11

エミュレータを用いたソフトウェアデバッグの資源活用効率化

RTLのシミュレーションにエミュレータを用いると、論理シミュレータで行った場合と比較して3桁から4桁もの速度面でのメリットが得られます。SoC設計の検証にソフトウェア実行を伴う場合には、それがよほど小さなテストケースでない限り、論理シミュレータで検証を進めることは現実的ではありません。組込みLinuxのブートが終了するまでの時間は、エミュレータでは20分から30分かかるのに対して、論理シミュレータでは7ヶ月から8ヶ月を要します。

オンチップバスの機能とその検証について

2014年 Summer / Vol. 10

オンチップバスの機能とその検証について

SoC設計におけるオンチップバスのインターコネクトは、非常に重要なサブシステムになってきています。異なるマスタやスレーブ間のデータを転送する機能を果たしつつ、かつシステムとしての性能要件を満たさなくてはなりません。スループットを最大化するためにスイッチングを階層的に構成し、リンクさせる設計も存在します。

2014年 Spring / Vol. 9

2012年の機能検証に関する市場調査

2002年と2004年に実施されたRon Collett International, Inc.によるASIC/IC機能検証の市場調査は、電気電子業界の設計や検証に関するトレンドを示すデータ、情報として重要な役割を果たしていました。しかしそれ以降、機能検証を主眼に置いた市場調査が実施されることはなく、客観的な視点に基づいた業界のトレンドを知ることが非常に難しくなりました。

2014年 Winter / Vol. 8

ソフトウェアデバッグが大幅に改善された仮想開発プラットフォーム

コンシューマエレクトロニクス製品や組込みデバイス、車載ECUなどでは、複数のシステムを統合することでコストを削減したり、より計算能力の高いアルゴリズムやアプリケーションに対応するためにマルチコアプロセッサを搭載したりすることも珍しくなくなりました。ネットワーク接続する機器には、性能向上と同時にセキュリティ対応も求められ、ハードウェアやソフトウェア単体のテストだけでなく、ハードウェアと一体となって動く時のソフトウェア動作も検証する必要があります。

2013年 Autumn / Vol. 7

検証の生産性を最大にする検証IP

IC製品の開発全体において機能検証が占める割合は7割とも言われており、熾烈化する製品競争に勝つために、開発期間短縮の要求を満たしつつ高品質を維持することができるかどうかは、機能検証をいかに制すかにかかってくるといっても過言ではないでしょう。

2013年 Summer / Vol. 6

組込みシステムのパワー・コントロール

組込みシステム開発成功の秘訣をご存知でしょうか。それはバッテリー寿命を犠牲にせずに機能を追加することです。ハードウェアを用意して、必要な機能をリストアップし、さらに使用できるパワー制限を決め、後は優れたソフトウェア開発者に頑張ってもらえれば良いのです。ですが、ちょっと待ってください。このアプローチには問題が隠れています。

2013年 Spring / Vol. 5

コードカバレッジ工数の落とし穴 - いかに自動化を導入するか

シミュレーションにおけるコードカバレッジは、ASICやSoC、ASSPなどの開発において数多くのプロジェクトチームが導入しています。例えば、「ラインカバレッジやブランチカバレッジについては100%、エクスプレッション・カバレッジについても100%、ただし未達の場合には何故未達なのかの説明記述をプロジェクトで使用するレポート内に残さなくてはいけない」など、シミュレーションの運用に関する規約を定めているプロジェクトチームや企業もあります。

2013年 Winter / Vol. 4

検証マネジメントの自動化(バッチスクリプトの限界)

機能検証のプロセスは誰でもが自動化をしたいと思うことでしょう。検証エンジニアやプロジェクト・リーダーは、カバレッジのクロージャ、バグ・ハンティング、スモークテストなどのタスクを大量のリグレッションの中で行わなくてはなりません。リグレッションテストでは、シェルスクリプトを用いることが一般的です。しかしシェルスクリプトを実行する側のユーザは、スクリプトの中身を理解せずに実行している場合も多く、またスクリプトがうまく実行されない場合に、それを開発した人に問い合わせるため、その対応を待たされることもあります。

2012年 Autumn / Vol. 3

モデル駆動型開発の導入

どのような業界であっても、製品世代が新しくなるたびに、より高い性能、より多くの機能が求められます。過剰なコストをかけずにある程度の期間内でこうした要求に応えるには、より効果的な製品開発方法が必要となります。特に組込みシステム機器開発の世界では、この傾向が顕著です。

2012年 Autumn / Vol. 3

仮想化技術を用いたSoCの総合的な検証

今日の多くのデザインには、組込みプロセッサが1つ、ないしは2つ以上含まれています。これらのデザインにおける機能検証の幅の広がりを、従来の検証ツールで扱うのは至難の業となってきました。マルチコアSoCを総合的に検証するということは、ハードウェア上で実行するソフトウェアが欠かせないことを意味します。エミュレーションでは、スピード的にもキャパシティ的にもこれが可能で、しかも高価なプロトタイプやシリコン作成の前に実行できます。

2012年 Summer / Vol. 2

UVM Connectのご紹介

今回はUVM Connectと呼ばれるオープンソースのライブラリについてご紹介しましょう。このライブラリは、Verification Academyのウェブサイト(www.verificationacademy.com)からダウンロードできます。UVM Connect(UVMC)を使用すると、SystemCとSystemVerilogのモデルやコンポーネント間におけるTLM 1.0とTLM 2.0の接続やオブジェクト渡しが可能になります。さらにUVMで定義されたコマンドAPIを用いて、SystemC、C、C++側からUVMシミュレーションを制御させることもできます。

2012年 Spring / Vol. 1

UVM導入のコストを抑えるソリューション - UVM Express

UVMは、標準化団体であるAccellera(2011年にOSCI-Open SystemC Initiativeと統合されAccellera Systems Initiativeと改名)により策定された機能検証のメソドロジ、Universal Verification Methodologyの略称です。メンター・グラフィックスが発表したUVM ExpressはUVM導入の敷居を下げ、専任の検証チームを持たない組織であっても、設計者自らがUVMを導入することが可能となるように構成されています。ここではUVM Expressについて、その背景や段階的に導入するための手順について簡単に説明します。