Commit 7c890d91 authored by Schuyler Eldridge's avatar Schuyler Eldridge
Browse files

Make Driver a ChiselStage compatibility layer



This converts the original chisel3.Driver to use
chisel3.stage.ChiselStage. This is implemented in the following way:

  1. ExecutionOptions are converted to an AnnotationSeq

  2. The AnnotationSeq is preprocessed using phases contained in the
     Chisel DriverCompatibility objects. One of these *disables* the
     execution of FirrtlStage by ChiselStage.
  3. ChiselStage runs on the preprocessed AnnotationSeq
  4. The input ExecutionOptionsManager is mutated based on the output
     of ChiselStage.
  5. The FIRRTL stage is re-enabled if it's supposed to run and
     selected FIRRTL DriverCompatibility phases run.
  6. FirrtlStage runs
  7. The output AnnotationSeq is "viewed" as a ChiselExecutionResult

This modifies the original DriverSpec to make it more verbose with the
addition of info statements. The functionality of the DriverSpec is
unmodified.

Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@ibm.com>
parent 4c1ea323
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment