aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/options/Phase.scala
blob: 22715bc27592b228affb8f484c6b40ff01a8e45b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// See LICENSE for license details.

package firrtl.options

import firrtl.AnnotationSeq

/** A transformation of an [[AnnotationSeq]]
  *
  * A [[Phase]] forms one block in the Chisel/FIRRTL Hardware Compiler Framework (HCF). Note that a [[Phase]] may
  * consist of multiple phases internally.
  */
abstract class Phase {

  /** A transformation of an [[AnnotationSeq]]
    * @param annotations some annotations
    * @return transformed annotations
    */
  def transform(annotations: AnnotationSeq): AnnotationSeq

}