• DocumentCode
    676325
  • Title

    Debugging processors with advanced features by reprogramming LUTs on FPGA

  • Author

    Jo, Songhyun ; Gharehbaghi, Amir Masoud ; Matsumoto, Tad ; Fujita, Masayuki

  • Author_Institution
    Dept. of Electr. Eng. & Inf. Syst., Univ. of Tokyo, Tokyo, Japan
  • fYear
    2013
  • fDate
    9-11 Dec. 2013
  • Firstpage
    50
  • Lastpage
    57
  • Abstract
    In this paper, we propose an automated method for debugging and rectification of logical bugs in processors that are implemented on FPGAs. Our method is based on preserving the current circuit topology, and debugging and rectifying bugs by only changing the contents of LUTs, without any modification to the wiring. As a result, correcting the bugs does not require re-synthesis, which can be very time consuming for complex processors due to possible timing closure problems. As the topology of the circuit is preserved, correcting the bugs does not affect the timings of the circuit. In the design phase, we may add additional LUTs or additional inputs to LUTs in the original circuit, so that we can use them in debugging and rectification phase. After a bug is found, first we try to identify the candidate signals as well as their required changes to correct their behavior. This is achieved by using symbolic simulation and equivalence checking between an instruction-set architecture model of the processor and its erroneous model at micro-architecture level. Then, we try to map the corrected functionality into the existing LUT topology. This is realized by a novel method that formulates the problem as a QBF (Quantified Boolean Formula) problem, and solves it by repeatedly applying normal SAT solvers incrementally instead of QBF solvers utilizing ideas from CEGAR (Counter Example Guided Abstraction Refinement) paradigm. We show effectiveness as well as efficiency of our method by correcting bugs in two complex out-of-order superscalar processors with a timing error recovery mechanism.
  • Keywords
    computability; computer debugging; field programmable gate arrays; reduced instruction set computing; CEGAR; FPGA; LUT topology; QBF; SAT solvers; circuit topology; counter example guided abstraction refinement paradigm; equivalence checking; instruction-set architecture model; logical bugs rectification; microarchitecture level; out-of-order superscalar processors; processor debugging; quantified Boolean formula; symbolic simulation; timing error recovery mechanism; Computer bugs; Debugging; Field programmable gate arrays; Logic gates; Multiplexing; Program processors; Table lookup;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Field-Programmable Technology (FPT), 2013 International Conference on
  • Conference_Location
    Kyoto
  • Print_ISBN
    978-1-4799-2199-7
  • Type

    conf

  • DOI
    10.1109/FPT.2013.6718329
  • Filename
    6718329