David Thomas Biancolin
I'm currently an engineer at SiFive
where I continue to maintain FireSim.
I received my Ph.D. in Electrical Engineering and Computer Science in May 2021 from the University of California, Berkeley.
There I was part of the Berkeley Architecture Research (BAR) Group and co-advised by
Jonathan Bachrach and
Krste Asanović.
My dissertation, titled Automated, FPGA-Based Hardware Emulation of Dynamic Frequency Scaling, explores techniques for simulating ASIC
clock switching and generation structures using commerical off-the-shelf FPGAs.
I received my BASc. in
Engineering Science in the Electrical and
Computer Engineering Option at the
University of Toronto in 2015
(1T3 + PEY).
Email  / 
Google Scholar  / 
LinkedIn
|
|
Research Overview
I'm interested in all things related to the design of VLSI systems,
from transistors to CAD. With the end of Moore's law in sight,
advances in computing performance and energy effiency must
increasingly come from innovations above the process technology. In
an effort to make hardware design more accessible, my research
studies new FPGA-accelerated simulation (colloquially, hardware emulation) to help designers
verify and validate their systems easily using relatively inexpensive
FPGAs-in-the-cloud (AWS EC2 F1).
I'm a maintainer of the FireSim project,
which builds FPGA-based hardware emulators
of RISCV-based systems spanning single SoCs to warehouse-scale
computers. My work focusses on the hardware compiler at the heart of
FireSim, called Golden Gate (MIDAS II).
Golden Gate generates bit- and cycle-exact models from ASIC RTL, and
provides additional tooling to support deterministic software co-simulation of
parts of the simulator where an FPGA-hosted model is not required.
|
|
Accessible, FPGA Resource-Optimized Simulation of Multi-Clock Systems in FireSim
David T. Biancolin,
Albert Magyar,
Sagar Karandikar,
Alon Amid,
Bora Nikolic,
Jonathan Bachrach,
Krste Asanović
IEEE MICRO Special Edition on FPGAs in Computing, 2021
Here we explore two developments in FireSim: support for multi-clock
target systems and more advanced resource optimizations. Of
particular note is instance multithreading which can enable up to an
8x increase in single FPGA capacity. This publication serves as
teaser for Albert Magyar's and my own dissertation work.
|
|
Golden Gate: Bridging The Resource-Efficiency Gap Between ASICs and FPGA Prototypes
Albert Magyar,
David T. Biancolin,
Jack Koenig,
Sanjit Seshia,
Jonathan Bachrach,
Krste Asanović
International Conference On Computer Aided Design, 2019
Slides (PPTX, 17 MB) /
Slides (PDF, 7 MB) /
Source (in FireSim)
We present Golden Gate (MIDAS II): the first
optimizing FPGA-accelerated simulator compiler. By replacing
multi-ported register files with a BRAM-based model,
Golden Gate enabled us to fit six cores on an FPGA that could only
fit four previously. We also present LIME, a bounded model-checking flow
to verify that the optimized simulator is faithful to the source RTL.
|
|
FASED: FPGA-Accelerated Simulation and Evaluation of DRAM
David T. Biancolin,
Sagar Karandikar,
Donggyu Kim,
Jack Koenig,
Andrew Waterman,
Jonathan Bachrach,
Krste Asanović
ACM/SIGDA International Symposium on Field-Programmable Architectures, 2019
Slides (PPTX, 7.2 MB) /
BibTeX /
Source (in FireSim)
In this paper we present FASED, the generator of high-fidelity,
reconfigurable, FPGA-hosted, last-level-cache and DRAM timing models
used in FireSim.
|
|
DESSERT: Debugging RTL Effectively with State Snapshotting for Error Replays across Trillions of cycles
Donggyu Kim,
Chris Celio,
Sagar Karandikar,
David T. Biancolin,
Jonathan Bachrach,
Krste Asanović
The International Conference on Field-Programmable Logic and Applications (FPL), 2018
Augmenting MIDAS, DESSERT introduces two mechanisms for bug detection:
assertion synthesis and online golden-model checking. Using a
techinque we call ganged simulation, DESSERT runs two simulations in
parallel, one running ahead of the other, to capture a
full-visibility waveform of the design before the bug manifests
without simulation slowdown.
|
|
FireSim: FPGA-Accelerated Cycle-Exact Scale-Out System Simulation in the Public Cloud
Sagar Karandikar,
Howard Mao,
Donggyu Kim,
David T. Biancolin,
Alon Amid,
Dayeol Lee,
Nathan Pemberton,
Emmanuel Amaro,
Colin Schmidt,
Aditya Chopra,
Qijing Huang,
Kyle Kovacs,
Bora Nikolic,
Randy Katz,
Jonathan Bachrach,
Krste Asanović
International Symposium on Computer Architecture (ISCA), 2018
Selected as one of IEEE Micro's "Top Picks from Computer Architecture Conferences, 2018"
Project Page /
BibTeX /
Source
FireSim is a cycle-exact, FPGA-accelerated, scale-out computer system
simulation platform. The FPGA-hosted components of a FireSim
simulator are generated using MIDAS, which transforms
Rocket Chip-generated RTL to produce the nodes of the system.
|
|
Evaluation of RISC-V RTL with FPGA-Accelerated Simulation
Donggyu Kim,
Chris Celio,
David T. Biancolin,
Jonathan Bachrach,
Krste Asanović
Workshop on Computer Architecture Research with RISC-V (CARRV), 2017
BibTeX /
Source
The first public demonstration of MIDAS. MIDAS builds on the work
of Strober:
it has been ported to Chisel3 and FIRRTL, and produces
FPGA-accelerated simulators that are tenfold faster. With the
improved speed, we collect energy and performance results from
both BOOM
and rocket-based processors generated by the Rocket Chip SoC
Generator, as they run the SPEC2006int benchmark with
reference inputs to completion.
|
|
A Hardware Accelerator for Computing an Exact Dot Product
Jack Koenig,
David T. Biancolin,
Jonathan Bachrach,
Krste Asanović
IEEE International Symposium on Computer Arithmetic (ARITH), 2017
We study the implementation of a hardware accelerator, designed
in Chisel and hosted in a Rocket Chip-generated SoC, that computes a dot
product of IEEE-754 floating-point numbers exactly. The accelerator
uses a wide (640 or 4288 bits for single or double-precision
respectively) fixed-point representation into which intermediate
floating-point products are accumulated.
|
|
Fine Grained Interconnect Synthesis
Alex Rodionov, David T. Biancolin, Jonathan Rose
ACM Transactions on Reconfigurable Technology and Systems (TRETS), 2016
TRETS 2016 Best Paper Award Winner
Project Page /
BibTeX /
Source
Here we present an update of our GENIE paper originally presented at FPGA2015.
|
|
JITPCB
Jonathan Bachrach, David T. Biancolin, Austin Buchan, Duncan Haldane and Richard Lin
IEEE/RSJ International Conference on Intelligent Robots and Systems, 2016
BibTeX /
IEEE Xplore
Commercialization of desktop milling machines has made rapid Printed
Circuit Board (PCB) fabrication accessible. Unfortunately, PCB design
for embedded and robotic systems is still a tedious and time
consuming activity. In this paper, we present a technique, Just In
Time Printed Circuit Board (JITPCB) for designing PCB systems at
speeds commensurate with the capability of desktop PCB milling
machines.
|
|
Fine Grained Interconnect Synthesis
Alex Rodionov, David T. Biancolin, Jonathan Rose
ACM/SIGDA International Symposium on Field-Programmable Architectures, 2015
Project Page /
BibTeX /
Source
We present GENIE, a tool to generate optimized FPGA interconnect at
finer granularity of design—just above the pipeline level—than
commercial system integration tools like Altera's QSYS.
This paper is subsumed by our 2016 TRETS paper.
|
Berkeley Technical Reports
|
|
The Rocket Chip Generator
Krste Asanović, BAR, and many more still.
Berkeley Technical Report EECS-2016-17
Project Page /
BibTeX /
Source
Rocket Chip is an open-source System-on-Chip(SoC) design generator that emits synthesizable
RTL. It leverages the Chisel hardware construction language to compose a library of sophisticated
generators for cores, caches, and interconnects into an integrated SoC.
|
Dissertation Progress
My dissertation work studied mechanisms for simulating digital
systems with multiple dynamically scaling clocks using
commercial-off-the-shelf FPGA platforms. I've preserved my
page-count progress from March 2020 to April 2021 here for posterity.
[Scripts courtesy Andrew Waterman]
|
|
About Me
In my free time I like to climb, hike, and ski. I love to ride
bikes, both on the road and on the trail. I used to race XC
mountain bikes with the University of Toronto Blues and the
Lapdogs Cycling Club. When not outdoors, I enjoy cooking for people
and learning new (natural) languages. I maintain this Anki Deck for
Berkeley J1A and J1B students.
|
|