• DocumentCode
    601256
  • Title

    Verification of CGRA Executable Code and Debugging of Memory Dependence Violation

  • Author

    Shim, Heejun ; Ahn, Minwook ; Jung, JinSae ; Han, Yenjo ; Ryu, Soojung

  • fYear
    2012
  • fDate
    10-13 Dec. 2012
  • Firstpage
    65
  • Lastpage
    69
  • Abstract
    We present verification and debugging of highly optimized executable code that is generated from C source code to run on CGRA (Coarse-Grained Reconfigurable Array). To generate the executable code, the CGRA compiler uses software pipelining technique that maps instructions in a loop body to multiple FUs (functional units) of CGRA for concurrent execution. Often, the programmer chooses to use aggressive optimization as a way to obtain highly performing executable code. For example, the programmer may turn off memory dependence check in order to suppress false dependence that would otherwise result in overly conservative, therefore poorly performing, executable code. A trouble is that it is not easy to verify correctness of the resulting executable code. In this paper, we propose a method to verify CGRA executable code and to detect memory dependence violation if there occurs such violation and to provide source code position where the violation occurs. We use the behavior of VLIW code as a reference and compare it with the behavior of CGRA code. In order to guide the comparison, compiler-generated mapping table information is used.
  • Keywords
    CGRA; Debugging; Verification;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microprocessor Test and Verification (MTV), 2012 13th International Workshop on
  • Conference_Location
    Austin, TX, USA
  • ISSN
    1550-4093
  • Print_ISBN
    978-1-4673-4441-8
  • Type

    conf

  • DOI
    10.1109/MTV.2012.18
  • Filename
    6519737