Skip to main content
QUICK REVIEW

[論文レビュー] Instruction-Level Abstraction (ILA): A Uniform Specification for System-on-Chip (SoC) Verification

Bo-Yuan Huang, Hongce Zhang|Rare & Special e-Zone (The Hong Kong University of Science and Technology)|Jan 3, 2018
Formal Methods in Verification参考文献 41被引用数 14
ひとこと要約

本論文は、システムオンチップ(SoC)検証のための形式的で一貫性のある仕様として、命令レベル抽象化(ILA)を導入する。これにより、プロセッサおよびアクセラレータのモジュラーで階層的かつ形式的に検証可能なモデル化が可能になる。アクセラレータ命令を定義された状態遷移を持つ「命令」として扱うことで、ILAモデルとRTL実装との間で同等性検証が可能となり、アクセラレータのアップグレードにISAに類する互換性を提供するとともに、異種SoCにおけるスケーラブルな形式的検証を実現する。

ABSTRACT

Modern Systems-on-Chip (SoC) designs are increasingly heterogeneous and contain specialized semi-programmable accelerators in addition to programmable processors. In contrast to the pre-accelerator era, when the ISA played an important role in verification by enabling a clean separation of concerns between software and hardware, verification of these "accelerator-rich" SoCs presents new challenges. From the perspective of hardware designers, there is a lack of a common framework for the formal functional specification of accelerator behavior. From the perspective of software developers, there exists no unified framework for reasoning about software/hardware interactions of programs that interact with accelerators. This paper addresses these challenges by providing a formal specification and high-level abstraction for accelerator functional behavior. It formalizes the concept of an Instruction Level Abstraction (ILA), developed informally in our previous work, and shows its application in modeling and verification of accelerators. This formal ILA extends the familiar notion of instructions to accelerators and provides a uniform, modular, and hierarchical abstraction for modeling software-visible behavior of both accelerators and programmable processors. We demonstrate the applicability of the ILA through several case studies of accelerators (for image processing, machine learning, and cryptography), and a general-purpose processor (RISC-V). We show how the ILA model facilitates equivalence checking between two ILAs, and between an ILA and its hardware finite-state machine (FSM) implementation. Further, this equivalence checking supports accelerator upgrades using the notion of ILA compatibility, similar to processor upgrades using ISA compatibility.

研究の動機と目的

  • 現代の異種SoCにおいて、アクセラレータ動作の共通の形式的仕様フレームワークが欠如している問題に対処すること。
  • 同じ手法を用いてプロセッサとアクセラレータの両方の形式的検証を可能にする一貫性のある抽象化を提供すること。
  • アクセラレータ豊富なシステムにおけるソフトウェアとハードウェアの抽象化のギャップを、アクセラレータの相互作用を命令に類する操作としてモデル化することで埋めること。
  • 高水準でモジュラーかつ階層的な仕様を通じて、ハードウェアとソフトウェアの相互作用のスケーラブルかつ形式的な検証を可能にすること。
  • ISAレベルのプロセッサアップグレードに類似したILA互換性を通じて、アクセラレータのアップグレードを可能にすること。

提案手法

  • 各アクセラレータ命令を、永続的なアーキテクチャスレート上で状態遷移を引き起こす命令として扱う形式的モデルとしてILAを定義すること。
  • プロセッサとアクセラレータの両方を同じILA形式的記法でモデル化することで、一貫性のある仕様化と検証を可能にすること。
  • SMTソルバーや形式的同等性検証を用いて、ILAモデルがRTL有限状態機械(FSM)実装と機能的に同等であることを検証すること。
  • 複雑な命令をサブ命令およびマイクロ命令のシーケンスとして階層的に組み合わせることで、モジュラリティと抽象化を実現する。
  • プロセッサの検証技術(例:同等性検証、モデルチェックイング)を、アクセラレータのILAモデルに応用すること。
  • RISC-V(Rocketコア)、画像処理(ガウスノイズ除去)、暗号(AES)、機械学習(RBM)用アクセラレータの事例研究を通じて、手法の有効性を検証すること。

実験結果

リサーチクエスチョン

  • RQ1プロセッサとアクセラレータの両方のための、一貫性があり形式的な仕様モデルをどのように定義できるか?
  • RQ2ILAは、複雑なアクセラレータ動作のモジュラーで階層的かつ合成可能なモデル化をどの程度サポートできるか?
  • RQ3ILAモデルとRTL実装との同等性検証を、実世界のアクセラレータに効果的にスケーリングできるか?
  • RQ4ILAは、ISAレベルのプロセッサアップグレードに類似した、互換性に基づくアクセラレータのアップグレードをどのように可能にするか?
  • RQ5ILAに基づく形式的検証は、実際のアクセラレータおよびプロセッサ設計における実装バグを検出できるか?

主な発見

  • ILAモデルは、アクセラレータおよびプロセッサの両方において、ILA仕様とRTL実装との間で形式的同等性検証を成功裏に実現し、検証の高い完全性を達成した。
  • 本論文は、従来のISA形式化(例:ISA Formal)における、仕様の階層と実装構造との違いに関するモデル化のギャップを特定した。
  • ILAに基づく形式的検証を通じて、RISC-V Rocketコア実装にバグが発見された。これは、本手法の実世界設計検証における実用的価値を示している。
  • OpenCoresのAESアクセラレータおよびRISC-V RocketコアのILAベースのモデルチェックイングによる検証は、産業応用におけるスケーラビリティと実用的妥当性を示した。
  • ILAフレームワークは、信頼性の高いシミュレータ生成、並行処理の理由づけ、メモリ整合性のモデル化を、アクセラレータ豊富なシステムで可能にした。
  • 本手法は、ISAレベルのプロセッサアップグレードに類似したILA互換性を通じて、アクセラレータの交換を可能にし、長期的なソフトウェアの移植性と保守性を提供した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。