ucb-bar / midas

FPGA-Accelerated Simulation Framework Automatically Transforming Arbitrary RTL
Other
97 stars 15 forks source link

Preliminary Golden Gate (MIDAS II) Support #134

Closed davidbiancolin closed 5 years ago

davidbiancolin commented 5 years ago

This preliminary PR introduces support for MIDAS II, which we are naming Golden Gate (so named in our upcoming ICCAD2019 publication; we'll release a copy shortly).

Golden Gate is a rewrite of the front (~ target transformations & FAME1) and middle-ends (simulation mapping) of the MIDAS compiler, to support simulating target machines with multiple clock domains and to enable cycle-exact multi-cycle resource optimizations (the latter of which is the subject of our ICCAD2019 paper).

In order to support these goals, Golden Gate implements simulators a latency-insensitive bounded dataflow network. These networks can model combinational paths in the target machine that span multiple models (at the expense of FMR). To support this, we had to re-implement the FAME1 pass to generate unique token enqueue guards as function of the input ports each output port is combinationally dependent on.

TODOs:

Documentation TODOs:

aswaterman commented 5 years ago

WIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIP

davidbiancolin commented 5 years ago

WIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIP

I think we're down to "WIIIP" now