Computation methods using custom circuits are frequently employed to improve the throughput and power efficiency of computing systems. Hardware development, however, can incur significant development costs because designs at the register-transfer level (RTL) with a hardware description language (HDL) are time-consuming. This paper proposes a hardware and software co-design environment, named Mulvery, which is designed for non-professional hardware designer We focus on the similarities between functional reactive programming (FRP) and dataflow in computation. This study provides an idea to design hardware with a dynamic typing language, such as Ruby, using FRP and provides the proof-of-concept of the method. Mulvery, which is a hardware and software co-design tool based on our method, reduces development costs. Mulvery exhibited high performance compared with software processing techniques not equipped with hardware knowledge. According to the experiment, the method allows us to design hardware without degradation of performance. The sample application applied a Laplacian filter to an image with a size of 128×128 and processed a convolution operation within one clock.
Daichi TERUYA
Tokyo University of Agriculture and Technology
Hironori NAKAJO
Tokyo University of Agriculture and Technology
The copyright of the original papers published on this site belongs to IEICE. Unauthorized use of the original or translated papers is prohibited. See IEICE Provisions on Copyright for details.
Copy
Daichi TERUYA, Hironori NAKAJO, "A Ruby-Based Hardware/Software Co-Design Environment with Functional Reactive Programming: Mulvery" in IEICE TRANSACTIONS on Information,
vol. E103-D, no. 9, pp. 1929-1938, September 2020, doi: 10.1587/transinf.2019EDP7233.
Abstract: Computation methods using custom circuits are frequently employed to improve the throughput and power efficiency of computing systems. Hardware development, however, can incur significant development costs because designs at the register-transfer level (RTL) with a hardware description language (HDL) are time-consuming. This paper proposes a hardware and software co-design environment, named Mulvery, which is designed for non-professional hardware designer We focus on the similarities between functional reactive programming (FRP) and dataflow in computation. This study provides an idea to design hardware with a dynamic typing language, such as Ruby, using FRP and provides the proof-of-concept of the method. Mulvery, which is a hardware and software co-design tool based on our method, reduces development costs. Mulvery exhibited high performance compared with software processing techniques not equipped with hardware knowledge. According to the experiment, the method allows us to design hardware without degradation of performance. The sample application applied a Laplacian filter to an image with a size of 128×128 and processed a convolution operation within one clock.
URL: https://global.ieice.org/en_transactions/information/10.1587/transinf.2019EDP7233/_p
Copy
@ARTICLE{e103-d_9_1929,
author={Daichi TERUYA, Hironori NAKAJO, },
journal={IEICE TRANSACTIONS on Information},
title={A Ruby-Based Hardware/Software Co-Design Environment with Functional Reactive Programming: Mulvery},
year={2020},
volume={E103-D},
number={9},
pages={1929-1938},
abstract={Computation methods using custom circuits are frequently employed to improve the throughput and power efficiency of computing systems. Hardware development, however, can incur significant development costs because designs at the register-transfer level (RTL) with a hardware description language (HDL) are time-consuming. This paper proposes a hardware and software co-design environment, named Mulvery, which is designed for non-professional hardware designer We focus on the similarities between functional reactive programming (FRP) and dataflow in computation. This study provides an idea to design hardware with a dynamic typing language, such as Ruby, using FRP and provides the proof-of-concept of the method. Mulvery, which is a hardware and software co-design tool based on our method, reduces development costs. Mulvery exhibited high performance compared with software processing techniques not equipped with hardware knowledge. According to the experiment, the method allows us to design hardware without degradation of performance. The sample application applied a Laplacian filter to an image with a size of 128×128 and processed a convolution operation within one clock.},
keywords={},
doi={10.1587/transinf.2019EDP7233},
ISSN={1745-1361},
month={September},}
Copy
TY - JOUR
TI - A Ruby-Based Hardware/Software Co-Design Environment with Functional Reactive Programming: Mulvery
T2 - IEICE TRANSACTIONS on Information
SP - 1929
EP - 1938
AU - Daichi TERUYA
AU - Hironori NAKAJO
PY - 2020
DO - 10.1587/transinf.2019EDP7233
JO - IEICE TRANSACTIONS on Information
SN - 1745-1361
VL - E103-D
IS - 9
JA - IEICE TRANSACTIONS on Information
Y1 - September 2020
AB - Computation methods using custom circuits are frequently employed to improve the throughput and power efficiency of computing systems. Hardware development, however, can incur significant development costs because designs at the register-transfer level (RTL) with a hardware description language (HDL) are time-consuming. This paper proposes a hardware and software co-design environment, named Mulvery, which is designed for non-professional hardware designer We focus on the similarities between functional reactive programming (FRP) and dataflow in computation. This study provides an idea to design hardware with a dynamic typing language, such as Ruby, using FRP and provides the proof-of-concept of the method. Mulvery, which is a hardware and software co-design tool based on our method, reduces development costs. Mulvery exhibited high performance compared with software processing techniques not equipped with hardware knowledge. According to the experiment, the method allows us to design hardware without degradation of performance. The sample application applied a Laplacian filter to an image with a size of 128×128 and processed a convolution operation within one clock.
ER -