Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

A Survey on System-on-a-Chip Design Using

Chisel HW Construction Language


IECON 2021 - 47th Annual Conference of the IEEE Industrial Electronics Society | 978-1-6654-3554-3/21/$31.00 ©2021 IEEE | DOI: 10.1109/IECON48115.2021.9589614

Matti Käyrä, Timo D. Hämäläinen


Computing Sciences, Tampere University, Finland
matti.kayra@tuni.fi, timo.hamalainen@tuni.fi

Abstract—This paper presents a survey of functional pro- also in writing HDL code generators. In the worst case
gramming languages in System-on-a-Chip (SoC) design. The HDL constructs are described as such just using other
motivation is improving the design productivity by better source language
code expressiveness, increased abstraction level in design entry,
or improved automation. The survey focuses on Chisel that is one • Increase abstraction level. Description omits low-level
of the most potential High Level Language (HLL) based design constructs like clock cycle. This requires pre-made li-
frameworks. We include 26 papers that report implementations braries or code templates that implement low-level con-
ranging from IP blocks to complete chips. The result is that structs
functional programming languages are viable for SoC design • Visualize the design entry. Model Driven Development
and can also be deployed in production use. However, Chisel
does not increase the abstraction level in a similar way as High (MDD) based methods like UML diagrams are used
Level Synthesis (HLS), since it is used to create circuit generators to express the design intent. These have been studied
instead of direct descriptions. Additional benefit is that Chisel extensively but not gained popularity because graphical
offloads user effort from control and connectivity structures, and models are difficult to maintain.
makes reusability and configurability improved over traditional
Hardware Description Language (HDL) designs. Other aspect is to orthogonalize structure, functionality and
Index Terms—Survey, RTL Design, HDL, Chisel, FPGA, ASIC configuration management that might be mixed in plain HDL
project files.
I. I NTRODUCTION Well known High-Level Languages (HLL) are often pre-
System-on-Chips (SoC) include large number of Intellectual ferred because they have matured development tools. However,
Property (IP) Blocks that are often organised as subsystems they are often extended to support some of the HW design
by function, speed or connectivity. Despite the growing com- requirements, which may break the benefit of standard tools.
plexity, majority of the design work has still been done using Out of them C++ based High-Level Synthesis (HLS) has been
HW Description Languages (HDL) at Register Transfer Level mostly studied and also deployed in production use. Lahti
(RTL) abstraction. The reason is that the tools from RTL et. al [1] found HLS to offer higher productivity with equal
description to netlist synthesis and ASIC backend tasks are performance and area results.
well established and not reasonable for a normal user to In this paper, we attempt to discover another direction from
change. HLS: how well functional programming languages can be used
VHDL and Verilog HDLs were originally used for much in SoC design. The research questions are
smaller ASIC designs and IPs, but large SoCs require much • What functional languages are proposed for SoC design
more configurability and capability to manage masses of sig- • What design aspects they address
nals, IP blocks and special blocks like on-chip memories and • How easy they are to adopt (tool maturity, usability)
mixed-signal off-chip interfaces. In addition, the SoC design • How complex SoC designs have been designed using
must have different views: modular and hierarchical for human them
designer comprehension, divisible to parts for verification like
emulation on several FPGA boards, and finally flattened to We are not aware of many surveys on the research questions.
physical placement and routing in silicon. As a result, the One paper was published in 2012 for functional HW language
total HDL lines of code and number of files in projects have history [2]. Therefore, this paper provides a current update
exploded and became difficult to change and maintain. on the questions that have great interest in SoC industry.
The solution has been heavy use of scripts in addition Our interest is through SoC-HUB project [3] that attempts
to HDL itself to automate especially design configurations, improving the SoC design productivity with real prototype
finally leading to HDL code generation. Therefore, several chips.
proposals have been made to increase the design abstraction This paper is structured as following: First, Section II gives
above RTL even though all of them generate RTL HDL code an overview of the HLL solutions above HDL, and motivates
at the end. The proposals can be categorized as follows: our selection of Chisel as the target for the survey. Section
• Improve code expressiveness. Less lines of code (LoC) III gives the evaluation criteria for the publications in survey,
but the abstraction might still be similar to RTL. Useful and summarizes the findings. Lastly, Section IV concludes the

Authorized licensed use limited to: University of Melbourne. Downloaded on November 20,2023 at 06:37:26 UTC from IEEE Xplore. Restrictions apply.
TABLE I
S UMMARY OF FEATURES IN HLL AND SIMILAR DEVELOPMENT FRAMEWORKS .

HLL or Support
Base Initial Paradigm Test
development design Output Tools
language publication support Framework
framework orthogonalization
Architecture
Genesis2 [4] SystemVerilog 2012 configuration OOP HDL No Open source
functionality
Architecture
MyHDL [5] Python 2003 configuration FP, OOP HDL functional Open source
functionality
Architecture
Clash [6] Haskell 2009 configuration FP HDL functional Open source
functionality
HardCaml [7] OCaml 2014 - other HDL functional Open source
Architecture HDL Base
Veriscala [8] Scala 2019 configuration FP ,OOP +driver functional language
functionality (FPGA) tools
C/++, HDL
emulation
SDAccel [9] openCL, 2014 Architecture FP, OOP + driver Commercial
and FPGA
RTL (FPGA)
To be open
Kamel [10] IP-XACT 2020 Architecture other HDL No
source
Most Architecture
Generally
HLS [1], [11] prominently 1970s configuration FP, OOP HDL functional
commercial
C-based functionality
Architecture
HDL,
Chisel [12] Scala 2012 configuration FP, OOP functional Open source
FIRRTL
functionality

findings and discusses use of functional languages in real SoC can create complex construction sequences that are expanded
designs. with Genesis2 compiler, which makes the HDL source code
more compact. This is not actual HLL, but a good example of
II. HLL P ROPOSALS
extending HDL.
Table I presents potential HLL frameworks for SoC design
MyHDL [5] is Python based HW design language. It
in order to narrow the search space and select the most po-
offers higher-level programming language that is possible to
tential one for this survey. We consider the following criteria:
simulate the circuit functionality without transformation to
• Orthogonalization of design aspects, enabling division
HDL. Development and user group of the language seem to
between functionality, architecture and product configu- be relatively small, but decently active. General platform for
rations implementing designs seem to be simulation and FPGAs but
• Programming paradigm, e.g. object-oriented program-
few ASICs have been also created [13]. Additional research
ming (OOP), functional programming (FP) or specific has been made to extend the capabilities of myHDL platform
Model of Computation (MoC) if any [14].
• Output readiness for implementation, e.g. RTL code,
Clash is a HW design extension to the Haskell language.
driver SW, or intermediate representation
Clash relies on an existing Haskell compiler and extends it
• Abstraction level of the tests and tool support
to allow it to perform as a HW compiler. Conceptually Clash
We are especially interested in availability of the tools seem to be promising, but it is not adopted to a great extent
and prefer open source proposals. In addition, the output outside the university it was created in. [6]
should be usable for ASIC and FPGA synthesis without further
Hardcaml [7] is an OCaml language based HW development
code transforms. We also consider the level of automation by
language. It offers a circuit design platform and offers a
assessing how control structures are generated from higher
simulation suite to test the functional design. In addition to
abstraction descriptions or if they are expressed easier in HLL
producing HDL code, there is a capability to output the design
than HDL.
in C [15]. Main implementation platform of the language
A. Summary of HLL proposals is FPGA boards. Hardcaml development is active, but there
Genesis2 [4] is a SystemVerilog extension that allows seems to be little published outside of the developers.
creation of parameter based circuit generators. The generators SDAccel is an FPGA acceleration framework by Xilinx

Authorized licensed use limited to: University of Melbourne. Downloaded on November 20,2023 at 06:37:26 UTC from IEEE Xplore. Restrictions apply.
targeting their own FPGA development boards. The suite • Test framework: Chisel has functionality testing frame-
offers automatic HW generation and architectural exploration work for rapid testing. [21]
from the application code. The resulting system will have both Chisel is based on the idea of generating circuit models
software and HW parts as well as interfacing between them. rather than creating HDL-like descriptional code. This allows
[9] Chisel designs to benefit from increased parameterization and
Veriscala is a co-development framework intended to im- combined higher level programming language features, which
plement whole integrated accelerated systems including the leads the generators to be highly reusable.
application, the driver framework and the HW module. As Chisel features inspectable internal model, FIRRTL. It
name suggest, it is based on Scala. Veriscala introduces a new is intermediary representation of the HW design. FIRRTL
HW construction language, scalaHDL. This approach differs enables transformations and optimizations to be run more
from the many of the other platforms with inclusion of the easily on the Chisel code which results in more simplified
software directly to the development framework. Veriscala and optimized generated HDL. FIRRTL can be simulated to
targets FPGAs. [8] improve verification coverage. This allows original remain
Kamel is meta-modeling framework that extends IP-XACT verbose so it can be more easily reused by designers. [16]
model to enable more automated IP development. Aim of Chisel supports reusing existing HDL modules as black
Kamel is to generate as much of the IP as possible and boxes. This means Chisel front-end verification is not usable
reuse interfaces, to reduce amount of coding and to increase on them, but through configurations allows the generated HDL
development productivity. [10] target different platforms. On top of being open source itself,
High-level synthesis (HLS) is a general technique that aims Chisel community has published lot of designs. One of the
to transform high-level programming code to HW. General most notable is the Rocket Chip generator [22] that creates
approach of HLS techniques have been on behavioral model- custom RISC-V based SoCs.
ing with C-language which is augmented with vendor specific
libraries that can apply platform specific optimizations to the III. C HISEL S URVEY
synthesis process. [1], [11] A. Methodology
Chisel [12] is based on Scala as an embedded domain Our survey involved exploring scientific databases with
specific language (DSL). It uses extensions to generate circuits the keyword ’Chisel’. IEEE explore database gained approx-
from Scala programs build with Scala compiler. Chisel has imately 150 results. Approximately 40 papers were found to
FIRRTL internal model, which allow optimization and trans- be relevant. The survey was performed in spring 2021.
formations to be done to designs [16]. The publications were selected to include a cross section
All of the above have potential to increase design pro- of what type of designs are generally produced: Simple
ductivity. According to our criteria, we find three proposals components, more complex IP blocks, interconnects, processor
that offer most advantages: MyHDL, Clash and Chisel. All cores and full SoCs.
of them offer functional paradigm support and increase circuit The publications are analyzed in detail based on reported
design abstraction level. They also provide methods for design design experiences, details of physical chip implementation
orthogonalization as well as including test frameworks for and reports about comparison to reference designs. Additional
functional testing. Some prefer specific implementation type focus is given to Chisel highlighted use of reusable generators
but can freely used for ASIC and FPGA. Additionally, all and impact on designer productivity.
are open source and under active development [17]–[19].
However, initial exploration to publications reveal that Chisel B. Survey results
is by wide margin the most reported in scientific publications. While this analysis only targets on the publications with
Based on these facts, Chisel is chosen as the target of the actual circuit designs, there exists research on design augmen-
survey. tation, improving verification flow, comparative studies and
even conversion from HDL to Chisel. The latter is motivated
B. Chisel Features
by improving reusability for old designs.
The following summarizes how Chisel address the aspects 26 publications were selected in the analysis in further de-
of the SoC design process. tail. Designs types were chosen to fill the expected component
• Expressiveness: Being higher multiparadigm program- types. Details about the surveyed designs are elaborated in
ming language, many complex structures can be ex- Table II.
pressed in concise form. All of the publications are recent, oldest being 6 years old.
• Abstraction: For most circuits, designer can omit clock There are 6 publications that are less than 2 years old. Hence,
and reset controls. This reduces LoC and increases pos- it is possible to conclude that there is currently large amount
sibilities for reuse. of interest in Chisel language.
• Orthogonalization: Parameterization and separation of The Chisel language was developed in University of Califor-
design aspects help address design process. nia, Berkeley. 11 of the publications in this analysis originate
• Visualization: Chisel language features additional tool to from there. This includes 6 of the 7 papers detailing full
express the circuit schematic in visual form. [20] SoC implementation. All of these detail using the Rocket

Authorized licensed use limited to: University of Melbourne. Downloaded on November 20,2023 at 06:37:26 UTC from IEEE Xplore. Restrictions apply.
TABLE II
S URVEYED C HISEL DESIGN DETAILS . O NLY MOST COMPLEX TARGET REPORTED IS LISTED .
Comparison Impact of Use of Other
Year of Design Target Target Challenges
Design Power to reference Chisel on parameterized benefits
Publication Type technology Frequency with Chisel
implementation productivity generators from Chisel
Version api changes,
Roughly
[23] 2018 FIFO/Arbiter FPGA 250/500 MHz - Positive Yes Verification lack of HDL feature
equal
(implemented 2019)
Better
[24] 2020 LPDC Decoder ASIC: 55nm 290 MHz - performance Positive - - -
Better area
Reusable
[25] 2019 FFT Engine FPGA 100 MHz - Equal Positive - generic -
implementation
Estimated
[26] 2015 OFDM synchronizer Sim - - - Positive - - not industry
viable
[27] 2018 Spectrometer ASIC: 28nm 530 MHz 1W - Positive Yes Verification -
FPGA: SW:
[28] 2018 Sequence aligner 130-180 MHz 3,6-30 W - - - -
Chisel+ SDAccel Better power
[29] 2018 AES Accelerator Sim - - - Positive Yes less LoC -
Bad
Mean-shift
[30] 2017 FPGA - - Worse area Positive Yes - optimization
Accelerator
results
Increased
[31] 2018 DSP Library FPGA 100 MHz - Better area - Yes -
Abstraction
Accelerator Generates to Chisel
[32] 2018 FPGA 300 MHz - - - - -
Generator Increased optimization
Generates to Chisel
[33] 2020 CNN Accelerator FPGA 30 MHz 1.5 W - - - Performance validation -
Increased optimization
Verification
[34] 2016 FFT Engine ASIC:28nm 256 MHz - Equal - Yes -
Validation
Serialization
[35] 2020 ASIC: 40nm - 1.23 W - - - - -
Accelerator
[36] 2020 Accelerator Array FPGA 322.5 MHz - - - Yes Increased optimization -
Network
[37] 2021 Processing FPGA 200 MHz - Equal Positive Yes - -
accelerator
Interconnect
[38] 2016 Embedded to [22] - - - Positive Yes - -
Generator
Bluespec:
Interconnect 50mW
[39] 2017 ASIC: 15nm 2-2.9 GHz Worse area - Yes - -
Generator @1 GHz
Worse power
Interconnect
[40] 2020 Sim - - - Positive Yes less LoC -
Generator
Interconnect
[41] 2016 FPGA 125 MHz - - Positive Yes - -
Generator
11 ASICs
Rocket SoC 25-100MHz
[22] 2016 by 2016 - - Positive Yes - -
Generator on FPGA
45nm and 28nm
[42] 2019 SoC ASIC: 16nm 400 MHz 133.5 mW - - Yes Verification -
[43] 2017 SoC ASIC: 16nm 940 MHz 22.6 mW - - Yes Verification -
90- 24-
[44] 2019 SoC ASIC: 65nm - Positive - - -
510 MHz 355 mW
[45] 2017 SoC ASIC: 45nm 900 MHz - - - Yes - -
[46] 2019 SoC ASIC: 28nm 1 GHz - - Positive Yes - -
[47] 2016 SoC ASIC: 28nm 961 MHz 173 mW - Positive Yes - -

chip generator. While this skews the result out of being truly the 11 ASIC implementations were created in Berkeley. ASIC
objective towards the language in most complex use case, it implementations were featured accelerators, interconnects and
showcases a result how reusable the generator based structure SoCs for both Chisel creators and external users. This gives
can be. confidence in Chisel ASIC implementation as it is not only
Rocket chip uses RISC-V architecture and allows either in- the developers who report of having such target.
order or out-of-order versions. The last SoC paper featured Implemented frequency of both FPGA and ASIC designs
configurable RISC-V core of their own design. We can con- varied greatly, latter being up to nearly 3 GHz. This confirms
clude that in the survey results are 3 configurable variations that Chisel code can be used to create high speed SoCs. Many
of RISC-V cores. As this core type is the most prominent things contribute to frequency, but it seems that Chisel is in
open source core architecture, lack of core variations is not this domain just as capable as HDLs.
considered a flaw in survey results. Power used by chips varied to a large extend depending on
Of detailed 26 design papers, 12 reported ASIC and 10 their application and target technology. Few papers denoted
FPGA as their primary target. On top of this, Rocket Chip gen- their design being of low-power or energy efficient solution.
erator technical report details that another 11 ASICs included There is not enough data to draw definitive conclusions, but
core generated with it by its release [22]. Though, one of the it would seem like on this domain Chisel code can be just as
analyzed publications [47] present one of those in more detail. efficient as RTL.
Not counting the additional chips in the technical report, 7 of Some of the papers listed details about comparison to

Authorized licensed use limited to: University of Melbourne. Downloaded on November 20,2023 at 06:37:26 UTC from IEEE Xplore. Restrictions apply.
TABLE III used as part of existing design flows. This can be further
S UMMARY OF SURVEY DETAILS . confirmed by inspecting system level descriptions. There is
Feature appears in % fully Chisel based designs and mixed language integration
Increased productivity 15 58% of Chisel modules. One publication analyzed integration of
Use of parameterized generators 18 69% Chisel based accelerator to SDAccel acceleration framework.
Worse results in comparison 2 8% Table III lists the reported features as a summary. Based on
Better results in comparison 3 12% analysis on publications we confirm Chisel is viable for HW
Equal results in comparison 4 15% design independent of target technology. Designer can expect
ASIC results 12 46% functionality to be correct and QoR being on near equal level
ASIC frequency 11 38% than with RTL design while gaining increased productivity
ASIC power 6 23% and reusability. According to surveyed papers Chisel is found
FPGA results 10 42% suitable to even most complex designs such as configurable
FPGA Frequency 9 35% cores and interconnects.
FPGA Power 2 8%
IV. C ONCLUSIONS
Simulation results 3 12%
Difficulties in adoption 0 0% Functional languages allow SoC design to be more expres-
Challenges with Chisel language 1 4% sive through features such as higher level functions. Greater
Challenges with Chisel results 1 4% expressiveness increases productivity, reusability and main-
Issues with integrating Chisel module 0 0% tainability of the code base. We explored available HLLs to
find Chisel being the most interesting choice for us currently.
Advantages featured by Chisel is being higher level language
reference implementation. Comparison was mainly done to and featuring tools to support design process. Chisel is sug-
RTL code. In one case, power comparison was done to server gested to be used with parameterization and using designs as
[28]. In this case, the comparison result details advantages of a generators to increase productivity and reuse.
specialized HW rather than of Chisel. One comparison was Survey to publications using Chisel details that most promi-
done with Bluespec SystemVerilog. This reported in greater nent user of it are still the creators. However, designs are
detail in how a structure being optimized differently leads to being created with it by other users, too. Survey confirms
worse results [39]. In one other case Chisel generated code that language is expressive and can be used to create very
performed worse than comparison target. In all other reported complex designs all the way to ASICs. Analysis revealed that
cases results were either better or equal. In general cases there is no reported cases about issues regarding the adoption
designer should be able to expect code that has high quality or usability of the Chisel.
of results (QoR). Survey also confirms that the language increases designer
Main advantage of the higher level languages in comparison productivity and design reuse without negative impact on
to HDL should be increased productivity. Approximately half physical design results. Even single components can benefit
of the analyzed publications confirm this being the case with from using Chisel, as the end result integrates to existing tools
Chisel. Additionally, one of the key ideas presented by Chisel just like component from RTL designer.
developers, parameterized generators to allow wide reuse, is
reported to be in use in 70% of the surveyed publications. V. F UTURE WORK
This confirms that Chisel designers gain more out of the spent Based on this survey results there is plan to include Chisel
design effort. to SoC-HUB chip design flow. This will enable trialing with
Additionally, few papers generated code to Chisel and the language and higher level features it provides with design
noted advantages in increased optimization by this approach. flow all the way to ASIC.
Other listed benefits were added verification, added validation,
R EFERENCES
increased abstraction level and fewer LoC.
Few papers did report challenges with Chisel. [23] reported [1] S. Lahti, P. Sjövall, J. Vanne, and T. D. Hämäläinen, “Are we there
yet? a study on the state of high-level synthesis,” Tampere University,
version changes that affected the designers, such change is not 2019-05.
uncommon in regarding various tools. Another issue regarding [2] G. Chen, “A short historical survey of functional hardware languages,”
the HDL features were later implemented to the language. [26] ISRN electronics, vol. 2012, pp. 1–11, 2012.
[3] “Soc hub - a new ecosystem initiative for a world-class co-development
estimated that while language is promising, it would not yet finnish system-on-chip,” https://sochub.fi/, accessed: 2021-08-15.
be industry ready. [30] detailed how optimization results were [4] O. Shacham, S. Galal, S. Sankaranarayanan, M. Wachs, J. Brunhaver,
not good for their design. A. Vassiliev, M. Horowitz, A. Danowitz, W. Qadeer, and S. Richardson,
“Avoiding game over: Bringing design to the next level,” in DAC Design
Curiously, none of the analyzed publications reported dif- Automation Conference 2012, 2012, pp. 623–629.
ficulties in adopting Chisel in their design flow. Furthermore, [5] “Myhdl: Home page,” http://www.myhdl.org/, accessed: 2021-3-23.
there was no issues in regarding the module integration either. [6] “Clash: Home,” https://clash-lang.org/, accessed: 2021-3-22.
[7] “hardcaml/introduction.mdx at master - janestreet/hardcaml - github,”
This gives good confidence that language can be reliably https://github.com/janestreet/hardcaml/blob/master/docs/
expected to be adopted without great difficulties and to be introduction.mdx, accessed: 2021-3-23.

Authorized licensed use limited to: University of Melbourne. Downloaded on November 20,2023 at 06:37:26 UTC from IEEE Xplore. Restrictions apply.
[8] Y. Liu, Y. Li, Z. Qi, and H. Guan, “A scala based framework Programmable Custom Computing Machines (FCCM), 2019, pp. 338–
for developing acceleration systems with fpgas,” Journal of Systems 338.
Architecture, vol. 98, pp. 231–242, 2019. [Online]. Available: [30] C. Cérin, J. Gaudiot, M. Lebbah, and F. Yuehgoh, “Return of experience
https://www.sciencedirect.com/science/article/pii/ on the mean-shift clustering for heterogeneous architecture use case,” in
S1383762119302097 2017 IEEE International Conference on Big Data (Big Data), 2017, pp.
[9] G. Guidi, E. Reggiani, L. Di Tucci, G. Durelli, M. Blott, and M. D. 3499–3507.
Santambrogio, “On how to improve fpga-based systems design produc- [31] A. Wang, P. Rigge, A. Izraelevitz, C. Markley, J. Bachrach, and
tivity via sdaccel,” in 2016 IEEE International Parallel and Distributed B. Nikolić, “Aced: A hardware library for generating dsp systems,”
Processing Symposium Workshops (IPDPSW), 2016, pp. 247–252. in 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC),
[10] A. Rautakoura, M. Kayra, T. D. Hamalainen, W. Ecker, E. Pekkarinen, 2018, pp. 1–6.
and M. Teuho, “Kamel: Ip-xact compatible intermediate meta-model for [32] S. Margerm, A. Sharifian, A. Guha, A. Shriraman, and G. Pokam,
ip generation,” in 2020 23rd Euromicro Conference on Digital System “Tapas: Generating parallel accelerators from parallel programs,” in 2018
Design (DSD). IEEE, 2020, pp. 325–331. 51st Annual IEEE/ACM International Symposium on Microarchitecture
[11] M. Fingeroff, High-level synthesis : blue book. United States: Xlibris (MICRO), 2018, pp. 245–257.
Corporation, 2010. [33] J. Sanchez, A. Sawant, C. Neff, and H. Tabkhi, “Aware-cnn: Automated
[12] J. Bachrach, H. Vo, B. Richards, Y. Lee, A. Waterman, R. Avižienis, workflow for application-aware real-time edge acceleration of cnns,”
J. Wawrzynek, and K. Asanović, “Chisel: constructing hardware in a IEEE Internet of Things Journal, vol. 7, no. 10, pp. 9318–9329, 2020.
scala embedded language,” in DAC Design Automation Conference 2012. [34] A. Wang, J. Bachrach, and B. Nikolié, “A generator of memory-based,
IEEE, 2012, pp. 1212–1221. runtime-reconfigurable 2n3m5k fft engines,” in 2016 IEEE International
[13] “Myhdl: Users,” http://www.myhdl.org/users/, accessed: 2021-3-23. Conference on Acoustics, Speech and Signal Processing (ICASSP), 2016,
[14] K. Jaic and M. C. Smith, “Enhancing hardware design flows pp. 1016–1020.
with myhdl,” in Proceedings of the 2015 ACM/SIGDA International [35] J. Jang, S. J. Jung, S. Jeong, J. Heo, H. Shin, T. J. Ham, and J. W.
Symposium on Field-Programmable Gate Arrays, ser. FPGA ’15. New Lee, “A specialized architecture for object serialization with applications
York, NY, USA: Association for Computing Machinery, 2015, p. to big data analytics,” in 2020 ACM/IEEE 47th Annual International
28–31. [Online]. Available: https://doi.org/10.1145/2684746.2689092 Symposium on Computer Architecture (ISCA), 2020, pp. 322–334.
[36] L. Jia, L. Lu, X. Wei, and Y. Liang, “Generating systolic array accel-
[15] “Jane street tech blog - growing the hardcaml toolset,”
https://blog.janestreet.com/growing-the-hardcaml-toolset-index/, erators with reusable blocks,” IEEE Micro, vol. 40, no. 4, pp. 85–92,
accessed: 2021-3-23. 2020.
[37] J. Bruant, P. H. Horrein, O. Muller, T. Groléat, and F. Pétrot, “Towards
[16] A. Izraelevitz, J. Koenig, P. Li, R. Lin, A. Wang, A. Magyar, D. Kim,
agile hardware designs with chisel: a network use-case,” IEEE Design
C. Schmidt, C. Markley, J. Lawson et al., “Reusability is firrtl ground:
Test, pp. 1–1, 2021.
Hardware construction languages, compiler frameworks, and transforma-
[38] H. C. Cook, “Productive design of extensible on-chip memory hierar-
tions,” in 2017 IEEE/ACM International Conference on Computer-Aided
chies,” 2016.
Design (ICCAD). IEEE, 2017, pp. 209–216.
[39] H. Kwon and T. Krishna, “Opensmart: Single-cycle multi-hop noc
[17] “Github - clash-lang/clash-compiler: Haskell to generator in bsv and chisel,” in 2017 IEEE International Symposium
vhdl/verilog/systemverilog compiler,” https://github.com/clash- on Performance Analysis of Systems and Software (ISPASS), 2017, pp.
lang/clash-compiler, accessed: 2021-08-13. 195–204.
[18] “Github - myhdl/myhdl: The myhdl development repository,” [40] H. Zhang, I. Ohmura, and M. Taiji, “Implementing a comprehensive
https://www.chisel-lang.org/, accessed: 2021-08-13. networks-on-chip generator with optimal configurations,” in 2020 IEEE
[19] “Github - chipsalliance/chisel3: Chisel3: A modern hardware design International Conference on Cluster Computing (CLUSTER), 2020, pp.
language,” https://www.chisel-lang.org/, accessed: 2021-08-13. 420–421.
[20] “Chisel/firrtl: Home,” https://www.chisel-lang.org/diagrammer/, ac- [41] F. Fatollahi-Fard, D. Donofrio, G. Michelogiannakis, and J. Shalf,
cessed: 2021-8-12. “Opensoc fabric: On-chip network generator,” in 2016 IEEE Interna-
[21] “Chisel/firrtl: Chiseltest,” https://www.chisel-lang.org/chiseltest/, ac- tional Symposium on Performance Analysis of Systems and Software
cessed: 2021-3-30. (ISPASS), 2016, pp. 194–203.
[22] K. Asanovic, R. Avizienis, J. Bachrach, S. Beamer, D. Biancolin, [42] A. Wang, W. Bae, J. Han, S. Bailey, O. Ocal, P. Rigge, Z. Wang,
C. Celio, H. Cook, D. Dabbelt, J. Hauser, A. Izraelevitz et al., “The K. Ramchandran, E. Alon, and B. Nikolić, “A real-time, 1.89-ghz
rocket chip generator,” EECS Department, University of California, bandwidth, 175-khz resolution sparse spectral analysis risc-v soc in 16-
Berkeley, Tech. Rep. UCB/EECS-2016-17, 2016. nm finfet,” IEEE Journal of Solid-State Circuits, vol. 54, no. 7, pp.
[23] P. Lennon and R. Gahan, “A comparative study of chisel for fpga 1993–2008, 2019.
design,” in 2018 29th Irish Signals and Systems Conference (ISSC), [43] A. Wang, B. Richards, P. Dabbelt, H. Mao, S. Bailey, J. Han, E. Chang,
2018, pp. 1–6. J. Dunn, E. Alon, and B. Nikolić, “A 0.37mm2 lte/wi-fi compatible,
[24] B. Wu, “Ldpc decoder based on chisel,” in 2020 IEEE 3rd International memory-based, runtime-reconfigurable 2n3m5k fft accelerator integrated
Conference on Electronics and Communication Engineering (ICECE), with a risc-v core in 16nm finfet,” in 2017 IEEE Asian Solid-State
2020, pp. 93–96. Circuits Conference (A-SSCC), 2017, pp. 305–308.
[25] V. M. Milovanović and M. L. Petrović, “A highly parametrizable chisel [44] L. Fiolhais, F. Gonçalves, R. P. Duarte, M. Véstias, and J. T. de Sousa,
hcl generator of single-path delay feedback fft processors,” in 2019 IEEE “Low energy heterogeneous computing with multiple risc-v and cgra
31st International Conference on Microelectronics (MIEL), 2019, pp. cores,” in 2019 IEEE International Symposium on Circuits and Systems
247–250. (ISCAS), 2019, pp. 1–5.
[26] Z. Li, Y. Chen, and X. Zeng, “Ofdm synchronization implementation [45] J. Koenig, D. Biancolin, J. Bachrach, and K. Asanovic, “A hardware
based on chisel platform for 5g research,” in 2015 IEEE 11th Interna- accelerator for computing an exact dot product,” in 2017 IEEE 24th
tional Conference on ASIC (ASICON), 2015, pp. 1–4. Symposium on Computer Arithmetic (ARITH), 2017, pp. 114–121.
[27] S. Bailey, J. Wright, N. Mehta, R. Hochman, R. Jarnot, V. Milovanović, [46] C. Celio, P. Chiu, K. Asanović, B. Nikolić, and D. Patterson, “Broom:
D. Werthimer, and B. Nikolić, “A 28nm fdsoi 8192-point digital asic An open-source out-of-order processor with resilient low-voltage oper-
spectrometer from a chisel generator,” in 2018 IEEE Custom Integrated ation in 28-nm cmos,” IEEE Micro, vol. 39, no. 2, pp. 52–60, 2019.
Circuits Conference (CICC), 2018, pp. 1–4. [47] Y. Lee, A. Waterman, H. Cook, B. Zimmer, B. Keller, A. Puggelli,
[28] L. Di Tucci, D. Conficconi, A. Comodi, S. Hofmeyr, D. Donofrio, and J. Kwak, R. Jevtic, S. Bailey, M. Blagojevic, P. Chiu, R. Avizienis,
M. D. Santambrogio, “A parallel, energy efficient hardware architecture B. Richards, J. Bachrach, D. Patterson, E. Alon, B. Nikolic, and
for the meraligner on fpga using chisel hcl,” in 2018 IEEE International K. Asanovic, “An agile approach to building risc-v microprocessors,”
Parallel and Distributed Processing Symposium Workshops (IPDPSW), IEEE Micro, vol. 36, no. 2, pp. 8–20, 2016.
2018, pp. 214–217.
[29] S. Mosanu, X. Guo, M. El-Hadedy, L. Anghel, and M. Stan, “Flexi-
aes: A highly-parameterizable cipher for a wide range of design con-
straints,” in 2019 IEEE 27th Annual International Symposium on Field-

Authorized licensed use limited to: University of Melbourne. Downloaded on November 20,2023 at 06:37:26 UTC from IEEE Xplore. Restrictions apply.

You might also like