無償ツールで設計効率の向上を体験 ―― HDLコードの記述ルール・チェックを体験する
tag: 半導体 ディジタル・デザイン
技術解説 2009年6月16日
3.ALINTを使う利点
● コンパイル・エラーにならないような不具合を警告
Verilog HDLは,あいまいな記述や冗長な記述をなんとか文法的に理解して合成しようとします.
配線を設計する前に,Verilog HDLのソース・コードだけで,問題になりそうな事項を洗い出せます.テスト容易化設計という,試験のしやすさが重要な鍵ですが,内容によって次のように区分できます.
配線を決定する回路の専門家の知識を必要とする作業の前に,Verilog HDLのソース・コードだけで品質を高くできます.
また,Violation Viewerを利用すると,複数のファイルのチェック結果を整理し分析できます.
● Riviera-PROとの整合がよい
米国Aldec社の統合開発環境であるRiviera-PROと同一のメニューで,合成やデバッグができます.
● ルールの設定が可能
ルールに優先順位をつけて,段階的にソース・コードの改良を図れます.
例えば,以下のような手順で進めるとよいでしょう.
- どのルールを優先するか決定する.
- Verilog HDLのソース・コードを用意する.
- コンパイル・エラーをなくす.
- ルールにSTARC_TOP23を適用して,警告を少なくする.
- ルールにSTARC_ALLを選択する.警告に対する修正を行うかどうかは,シミュレーションで確認しながら決める.
- ログから重要な事項を切出し,報告書または改善記録を作成し,関係者に配布する.
● ALINTと「RTL設計スタイルガイド」の高度利用
ALINTには,「Policy Configuration Manager」というルールの適用を設定できる機能があります.
「RTL設計スタイルガイド」の適用に優先順位をつけ,
- 最初に検査する規則
- 次に重要な規則
- 一度はチェックしてみるが逸脱の手続きはとらないもの
- 統計処理上測定だけを行う規則
に分類するとよいでしょう.検査する段階に応じて「Policy Configuration Manager」で集合定義すれば,作業の手順が分かりやすくなります.
「Configuration Manager」で「File」→「New」で「RuleSet」を選択すると,ALINTに組み込まれているルールの一覧が表示されます.そこで,マウス操作だけで必要なルールだけを選択して定義できます.RuleSet名は,既に利用している表1の名前を使わないようにします.
● まとめ
筆者らは,SWEST10においは,「Verilogスタイルガイド こんなコードもコンパイルエラーにならない」という標題でRTL設計スタイルガイドVerilog HDL編の優先順位付けのグループ議論をしました.組み込み技術についてのワークショップで,2008年で10回目の開催となりました.また,中部組込みソフトウェア技術者養成講座(中核人材プロジェクト)のコースでは,RTL設計スタイルガイドのVHDL編の優先順位付けの議論を行いました.作業の前に,規則の優先順位をグループで確認するとよいことが分かりました.
参考・引用*文献
(1 )IEC 61601-4/ IEEE 1364 Behavioural languages, Part 4, Veri-log hardware description language,2004.
(2 )RTL設計スタイルガイド Verilog HDL編,第2版,半導体理工学研究センター(STARC),エッチ・ディー・ラボ,2006年.
(3 )長谷川 誠,渡会勝彦,米永裕司,渡部謹二,小川 清;Verilog HDLスタイルガイドの利用方法,情報処理学会,No.2008-ARC-176,2008年.
(4 )Verilog-HDL RTL Design Style Checks - Conforming STARC Specification v. 2.0,Aldec,2008.
(5 )ALINT Quick Start Guide - A practical approach to linting technology,Aldec,2008.
(6 )MISRA-C組み込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド,MISRA-C研究会,日本規格協会,2006年.
おがわ・きよし
名古屋市工業研究所