Kiwi Scientific Acceleration at Large
Accepted version
Peer-reviewed
Repository URI
Repository DOI
Change log
Authors
Greaves, David J
Abstract
The Kiwi project revolves around a compiler that converts C# {\footnotesize .NET} bytecode into Verilog RTL and/or SystemC. An alpha version of the Kiwi toolchain is now open source and a user community is growing.
We will demonstrate an incremental approach to
large system assembly of \HLS{} and blackbox components, based on an extended
\XACT{} intermediate representation. We show how to address multi-\FPGA{} designs
with object passing between components, automatic configuration of shared memory maps
and automatic assembly of debugging infrastructure.
We will also demonstrate the use of the unsafe subset of the C\# language for
type casting between byte arrays and structures which is a common coding style
for network protocol implementations. Unsafe programming is also needed for
user-coded memory managers that need to essentially perform address arithmetic, but
such procedures can commonly defeat the memory pool disambiguation algorithms in
static analysis.
Description
Keywords
Journal Title
2017 27TH INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL)
Conference Name
FPL 2017 - 27th International Conference on Field-Programmable ...
Journal ISSN
1946-1488