/chisel-separable

Separable compilation experiments in Chisel

Primary LanguageScalaApache License 2.0Apache-2.0

This repository is read-only as most of its contents were upstreamed to Chisel in chipsalliance/chisel#3199. Please direct improvements to upstream Chisel.

This repository contains experimental software that enables separable compilation in Chisel.

This repository seeks to answer questions related to:

  1. What is the interface between separately compiled Chisel modules?

  2. How to define a stable port-level interface between Chisel modules?

  3. How can information, other than ports, be included in an interface?

  4. What information can be passed between separable compilation units?

  5. How can information that requires an interface implementation be described and communicated?

  6. What software patterns are applicable to this problem?