ucb-bar / midas

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

Endpointed Assertion and [WIP] Print synthesis #95

Closed davidbiancolin closed 6 years ago

davidbiancolin commented 6 years ago

Mostly a code dump from DESSERT with a few changes:

  1. Support target-transforms that add new target IO that should be bound to custom endpoints

    • These can be user provided (IE. you can register your fault injection pass and bind it to your fault injection endpoint without needing to touch MIDAS code).
    • See AddedTargetIoAnnotation
  2. Using above, assert and print widgets are instantiated as endpoints

    • QoR will be worse as tokens are encoded only after passing through a token channel
      • Fix with smarter channel generation.

Other changes:

TODOs:

RFC:

  1. Should print synthesis remove the existing unsynthesized print?(No, but enable with a flag?)
    • Punt to print bring up
  2. Ditto, assertions. (Yes, but disable with a flag?)
    • Open an issue if current behavior (yes) is not what we want.