首页> 外文期刊>IEEE transactions on very large scale integration (VLSI) systems >Automatic Processor Customization for Zero-Overhead Online Software Verification
【24h】

Automatic Processor Customization for Zero-Overhead Online Software Verification

机译:自动处理器定制以实现零开销的在线软件验证

获取原文
获取原文并翻译 | 示例

摘要

The PSL-to-Verilog (P2V) compiler can translate a set of assertions about a block-structured software program into a hardware design to be executed concurrently with the program. The assertions validate the correctness of the software program without altering the program's temporal behavior in any way, a result never previously achieved by any online model-checking system. Additionally, the techniques and implementations described apply to any general purpose program and the absence of execution overhead renders the system ideal for the verification and debugging of real-time systems. Assertions are expressed in a simple subset of the property specification language (PSL), an IEEE standard originally intended for the behavioral specification of hardware designs. The target execution system is the eMIPS processor, a dynamically self-extensible processor realized with a field-programmable gate array (FPGA). The system can concurrently execute and check multiple programs at a time. Assertions are compiled into eMIPS Extensions, which are loaded by the operating system software into a portion of the FPGA, and discarded once the program terminates. If an assertion is violated, the program receives an exception, otherwise, it executes fully unaware of its verifier. The software program is not modified in any way. It can be compiled separately with full optimizations and executes with or without the corresponding hardware checker. The P2V compiler, implemented in Python, generates code for the implementation of the eMIPS processor running on the Xilinx ML401 development board. It is currently used to verify software properties in areas such as testing, debugging, intrusion detection, and the behavioral verification of concurrent and real-time programs.
机译:PSL-Verilog(P2V)编译器可以将有关块结构软件程序的一组声明转换为硬件设计,以与该程序同时执行。这些断言可在不以任何方式改变程序的时间行为的情况下验证软件程序的正确性,这是任何在线模型检查系统从未实现的结果。另外,所描述的技术和实施方式适用于任何通用程序,并且没有执行开销使该系统成为实时系统验证和调试的理想选择。断言以属性规范语言(PSL)的简单子集表示,该属性规范语言最初是旨在用于硬件设计的行为规范的IEEE标准。目标执行系统是eMIPS处理器,这是一种通过现场可编程门阵列(FPGA)实现的动态自扩展处理器。系统可以同时并发执行和检查多个程序。断言被编译成eMIPS扩展,由操作系统软件加载到FPGA的一部分中,并在程序终止后丢弃。如果违反了断言,程序将接收到异常,否则,它将完全不知道其验证程序的执行。不会以任何方式修改软件程序。可以单独进行编译,并进行全面优化,并可以在有或没有相应的硬件检查器的情况下执行。用Python实现的P2V编译器生成用于在Xilinx ML401开发板上运行的eMIPS处理器实现的代码。当前,它用于在测试,调试,入侵检测以及并发和实时程序的行为验证等领域验证软件属性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号