Fault Testing a Synthesizable Embedded Processor at Gate Level using UltraScale FPGA Emulation
Fault Testing a Synthesizable Embedded Processor at Gate Level using UltraScale FPGA Emulation
复制标题
使用 UltraScale FPGA 仿真在门级对可综合嵌入式处理器进行故障测试
DOI:
10.1145/3289602.3293931
复制
发表时间:
2019
期刊:
影响因子:
--
通讯作者:
Moslema Sharif
中科院分区:
文献类型:
--
作者:
T. Mannos;Brian Dziki;Moslema Sharif
While several applications exist to fault-test software at the abstract level, gate-level fault testing has traditionally been limited to injecting faults into small, dedicated circuits, due the computational time required for gate-level simulations and the logic resources (LUTs and registers) required for FPGA emulation. In our work, we leverage the extensive resources of the Ultrascale and Ultrascale+ platforms to systematically test faults on all gate-level inputs of an ASIC or FPGA implementation of an embedded processor running a user application. Using a configurable, synthesizable saboteur circuit connected using a scan chain and controlled with a state machine, we tested four different types of faults on each logic gate of the LEON3 CPU running an AES 256 application. The entire process took just under two hours, a 7200X speedup from gate-level simulation. Though neither the hardware nor software employed fault mitigation techniques, we were surprised to discover multiple stuck-at-0, stuck-at-1, and delay faults that resulted in total or partial key and plaintext leakage through the communications serial port. Overall, we identified 22 unique faulty behaviors, four of which involve some form of crypto or memory leakage. These occurred in roughly the same proportions in ASIC and FPGA netlists of the LEON3, suggesting robustness of the analysis to different implementations. Of the four static fault types tested, delay faults were the most effective at uncovering behaviors of concern.