マイコン&FPGA開発の流れと開発ツール ―― 組み込みシステム開発の基礎知識(前編)
tag: 組み込み 半導体 ディジタル・デザイン
技術解説 2010年4月19日
●設計する
システム仕様書に基づいて,ボードやハードウェアの回路,ソフトウェア,筐体など,システムを構成する各要素を設計します.
(1)マイコンとFPGAの設計
組み込みシステムの開発では,本稿のテーマであるマイコンのソフトウェアやFPGAに実装するディジタル回路の設計が核になります.これらについての詳細は後述します.
(2)ボードの設計
マイコンやFPGAは単体では動作しません.複数の電子部品で構成される回路を設計し,プリント基板に部品を実装したボードを作成します.
ボードの設計/製作フローの例を図5に示します.
図5 ボードの設計/製作フローの例
回路図の入力やプリント基板のパターン設計,配線の特性のシミュレーションなどでツールを活用する.
電子回路の設計において回路図を入力する際には,Cadence Design Systems社の「OrCAD」などの回路図エディタを使います(図6).また,アナログ回路部の動作を確認するためには,Synopsys社の「HSPICE」やCadence Design Systems社の「PSpice」などのSPICE系シミュレータを用いることもあります.
図6 回路図エディタの例
OrCADの画面を示す.回路図の入力で用いる.
プリント基板の配線パターンの作成には,図研の「CR-5000 Board Designer」やCadence Design Systems 社の「Allegro」などのレイアウト・エディタを用います.配線路の特性やノイズを解析する必要がある場合には,Mentor Graphics社の「HyperLynx」などのシミュレータを併用することもあります.
(3)筐体の設計
ボードなどを内蔵し,スイッチなどの部品を取り付ける箱(筐体)を作成することも組み込みシステム開発の一部です.可動部を伴う場合があるので,メカ設計と呼ばれることもあります.
筐体設計/製作では,SofTech社の2次元CAD 「CADRA」や,Dassault Systemes Solid Works 社の3次元CAD「SolidWorks」などのツールが用いられます.
(4)技術者間の連携が必要
これらの要素にはそれぞれに深い技術領域があります.そこで,各領域を担当する設計者同士が連携を持ちながら,設計/検証/実装を進める必要があります.
例えば,高速メモリを使用するシステムの場合,ボード設計者はディジタル回路設計者と実装方法について協議する必要があります.また,外部機器の制御方法について,ソフトウェア設計者はディジタル回路設計者と協議します.
設計が進むとシステム仕様の不備や矛盾が見つかることがあります.このような問題も,技術者同士の連携によって解決していきます.
●検証/テスト仕様の作成
各要素の設計と並行して,要素を組み上げた際に機器がどう動けばよいかを示す検証(テスト)仕様書を作成します.
「どう動くか」は要求仕様に基づいて決まります.また,機能あるいは性能を評価するために,機器を「どう動かすか」も検討します.例えば,ある機能を評価するために,機器のどの入力にどんな信号源を使って,どの出力をどんな計測器で観測/測定するかなどです.場合によっては,ジグなどもここで検討/作成します(写真1).
写真1 ジグの例
ジグを介して,ロジック・アナライザのプローブとターゲット・ボードを接続している.
機器が持つ動作モードや設定には,無限とも思える組み合わせがあります.ここから,与えられた時間の中で機器を評価するための組み合わせをいかに見つけ出すかが課題です.
●検証/テストの実施
いよいよ組み上げた「システム」に火を入れます.がしかし,すぐに評価できる状態になるわけではありません.
「評価環境立ち上げ」という工程(時間)があります.機器の代表的な使い方を選んで,環境設定やデバッグを繰り返し,まずは入力から出力までの信号が通る「ザックリ動いた」状態になって評価を始められます.その後,検証仕様に基づいて機能や性能を確認します.
評価用のツールとして,オシロスコープやロジック・アナライザのような計測器を使用します(写真2).また,パソコンのGUI画面上で測定用のフロー制御ができるNational Instruments社の「Lab VIEW」のようなデータ収集ツールがあります.
写真2 計測器の例
ロジック・アナライザ(上)とオシロスコープ(下).
不具合が出れば「不具合リスト」を介して内容を各要素の設計者に伝えます.デバッグを繰り返しながら全項目を確認し,要求仕様を作成した会社・部門が機器の動作を確認して技術試作品としての開発完了となります.
マージン評価や信頼性評価については,ここでは説明を割愛します.