• DocumentCode
    174712
  • Title

    ScalaHDL: Express and test hardware designs in a Scala DSL

  • Author

    Yao Li ; Lopes, Antonio Roldao ; Zhouyun Xu ; Zhengwei Qi ; Haibing Guan

  • Author_Institution
    Shanghai Jiao Tong Univ., Shanghai, China
  • fYear
    2014
  • fDate
    19-22 Oct. 2014
  • Firstpage
    521
  • Lastpage
    524
  • Abstract
    Field Programmable Gate Arrays, or FPGAs, allow designers to implement hardware designs using hardware description languages (HDLs). This type of designs have been gaining significant popularity since improvements in clock frequencies, of high-end CPUs, have started to level off and other alternatives have been explored to accelerate computations. However, traditional HDLs lack a number of modern facilities and a rich ecosystem to express and test designs, which severely restricts the productivity of designers. In this paper, we propose ScalaHDL, an open-source domain-specific language (DSL) built on top of Scala, that enables designers to describe algorithms using a multi-paradigm programming language, and generate the required Verilog code to implement such systems. In addition, these designs can be simulated so that values can be tested programmatically using unit-tests. With ScalaHDL, designers can also leverage the rich and mature ecosystems provided by Java and Scala.
  • Keywords
    Java; electronic engineering computing; field programmable gate arrays; hardware description languages; logic design; program compilers; public domain software; FPGA; Java; Scala DSL; ScalaHDL; Verilog code; field programmable gate array; hardware description languages; multiparadigm programming language; open source domain specific language; test hardware designs; Adders; DSL; Hardware; Hardware design languages; Java; Libraries; Registers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Design (ICCD), 2014 32nd IEEE International Conference on
  • Conference_Location
    Seoul
  • Type

    conf

  • DOI
    10.1109/ICCD.2014.6974732
  • Filename
    6974732