ZHANG Z H,LUO W,CHEN G. An exploration of EDA program development with hybrid programming using functional language and imperative language[J]. Microelectronics & Computer,2023,40(5):56-64. doi: 10.19304/J.ISSN1000-7180.2022.0492
Citation: ZHANG Z H,LUO W,CHEN G. An exploration of EDA program development with hybrid programming using functional language and imperative language[J]. Microelectronics & Computer,2023,40(5):56-64. doi: 10.19304/J.ISSN1000-7180.2022.0492

An exploration of EDA program development with hybrid programming using functional language and imperative language

  • Compared with imperative languages, functional languages offer two main advantages: good security and a short development cycle. However, functional language programs are slower, which hinders their practical application, particularly in areas requiring high performances, such as exploratory data analysis (EDA). This study investigates a hybrid programming paradigm with both functional and command languages. Functional language OCaml develops the core code of an algorithm with high complexity. Meanwhile, C language is used to write codes that are not necessarily difficult but contribute significantly to the performance. An extremely complex algorithm can be implemented rapidly while achieving performance comparable to a handwritten C program using this method. A high-speed regional query of massive graphics data is used in the current experiment. Because EDA require a high computational efficiency of the algorithm, the quadtree data structure is used to accomplish an efficient binary region query. This representative problem uses an efficient data structure to fulfill the performance requirements.The experimental results show that the mixed programming of OCaml and C can shorten the development cycle of the core algorithm significantly, and the performance is similar to the code of the same type written in C language, which also shows that the mixed programming of functional language and imperative language can become a feasible program for EDA software development.
  • loading

Catalog

    Turn off MathJax
    Article Contents

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return