Parameterizable Design on Convolutional Neural Networks with Chisel Hardware Construction Language



Journal Title

Journal ISSN

Volume Title



This thesis presents a parameterizable design generator on convolutional neural networks (CNNs) using Chisel hardware construction language (HCL). Chisel HCL is an open-source embedded domain-specific language (created and maintained by University of California, Berkeley) that inherits the object-oriented feature of Scala for constructing hardware. By parameterizing structural designs such as the streaming width, pooling layer type, and floating-point precision, multiple register-transfer level (RTL) implementations can be created to meet various accuracy and hardware cost requirements. The HCL design can generate the RTL implementations with Verilog, which is synthesizable and implementable on FPGAs (field-programmable gate arrays). The evaluation is based on generated RTL designs including 16-bit, 32-bit, 64-bit, and 128-bit implementations on FPGAs. The experimental results show that the 32-bit design achieves optimal hardware performance when setting the same weights for estimating the quality of results, FPGA slice count, and power dissipation. Although the focus is on CNNs, the approach can be extended to other neural network models for efficient RTL designs.



convolutional neural network (CNN), Chisel HCL, FPGA, register–transfer level, Verilog HDL