Core Concepts
チャットGPTを活用して、自然言語仕様からシステムベリログアサーションを自動生成するフレームワークChIRAAGを提案する。ChIRAAGは仕様の構造化、LLMを用いたアサーション生成、シミュレーションによる検証を体系的に行い、正しいアサーションを生成する。
Abstract
本研究では、チャットGPTなどの大規模言語モデル(LLM)を活用して、自然言語の設計仕様からシステムベリログアサーション(SVA)を自動生成するフレームワークChIRAAGを提案している。
ChIRAAGの主な特徴は以下の通り:
設計仕様の構造化: 仕様書から重要な情報を抽出し、JSON形式の構造化データを生成する。これにより、LLMに適切な入力を提供できる。
LLMによるアサーション生成: 構造化された仕様データをLLMに入力し、SVアサーションを自動生成する。
シミュレーションによる検証: 生成されたアサーションをシミュレーションで検証し、エラーがある場合は自動的にLLMに修正を促す。
設計実装の検査: アサーションが正しくても、設計実装にバグがある可能性がある。そのような場合は、手動で設計実装を検査する。
ChIRAAGを OpenTitan設計に適用した結果、LLMは当初の生成アサーションの33%しか正しくなかったが、反復的な修正により、すべての正しいアサーションを生成できた。また、LLMが生成したアサーションの中には、OpenTitanの既存アサーションよりも重要な性質をカバーしているものもあった。これにより、LLMがアサーション生成の支援に有効であることが示された。
今後の課題として、LLMによるアサーションの一貫性と網羅性の向上が挙げられる。
Stats
アサーション生成の反復回数は、RV Timerで9回、PattGenで5回、GPIOで10回、HMACで15回、ROM Ctrlで16回、sram_ctrlで3回、adc_ctrlで5回であった。