Hardware accelerators (HAs) are essential building blocks for fast and energy-efficient computing systems. Accelerator Quick Error Detection (A-QED) is a recent formal technique which uses Bounded Model Checking for pre-silicon verification of HAs. A-QED checks an HA for self-consistency, i.e., whether identical inputs within a sequence of operations always produce the same output. Under modest assumptions, A-QED is both sound and complete. However, as is well-known, large design sizes significantly limit the scalability of formal verification, including A-QED. We overcome this scalability challenge through a new decomposition technique for A-QED, called A-QED with Decomposition (A-QED$^2$). A-QED$^2$ systematically decomposes an HA into smaller, functional sub-modules, called sub-accelerators, which are then verified independently using A-QED. We prove completeness of A-QED$^2$; in particular, if the full HA under verification contains a bug, then A-QED$^2$ ensures detection of that bug during A-QED verification of the corresponding sub-accelerators. Results on over 100 (buggy) versions of a wide variety of HAs with millions of logic gates demonstrate the effectiveness and practicality of A-QED$^2$.
翻译:硬体加速器(HAS)是快速和节能计算系统的基本构件。加速器快速错误检测(A-QED)是最近的一种正式技术,对HAs进行硅前核查时使用环形模型检查。A-QED检查HA是否具有自一贯性,即操作序列中相同的输入是否总是产生相同的产出。在适度的假设下,A-QED是健全和完整的。然而,众所周知,大型设计规模大大限制了正式核查的可缩放性,包括A-ED。我们通过对A-QED采用新的拆解技术克服了这一可缩放性挑战,称为A-QED(A-QED$2美元)。 A-QED$2 系统拆解将HA分为较小的功能小模块,称为子加速器,然后使用A-QED独立核实。 我们随后证明A-QD$2美元是完整的;特别是,如果在A-QED的全程测试中,A-QA-Q级的逻辑核查结果将超过A-DQ。