package analyses
- Alphabetic
- Public
- Protected
Type Members
- class CircuitGraph extends AnyRef
Graph-representation of a FIRRTL Circuit
Graph-representation of a FIRRTL Circuit
Requires Middle FIRRTL Useful for writing design-specific custom-transforms that require connectivity information
- class ConnectionGraph extends DiGraph[ReferenceTarget]
Class to represent circuit connection.
- class GetNamespace extends Transform with DependencyAPIMigration
Create a namespace with this circuit
Create a namespace with this circuit
namespace is used by RenameModules to get unique names
- class IRLookup extends AnyRef
Handy lookup for obtaining AST information about a given Target
- class InstanceKeyGraph extends AnyRef
A class representing the instance hierarchy of firrtl Circuit This is a faster version of the old
InstanceGraph
which only uses pairs of InstanceName and Module name as vertex keys instead of using WDefInstance which will hash the instance type causing some performance issues. - case class ModuleNamespaceAnnotation(namespace: Namespace) extends NoTargetAnnotation with Product with Serializable
- class NodeCount extends AnyRef
This is not intended to be used as a metric for the size of an actual circuit, but rather to debug the compiler itself Works because all FirrtlNodes implement Product (case classes do)
- trait SymbolTable extends AnyRef
This trait represents a data structure that stores information on all the symbols available in a single firrtl module.
This trait represents a data structure that stores information on all the symbols available in a single firrtl module. The module can either be scanned all at once using the scanModule helper function from the companion object or the SymbolTable can be updated while traversing the module by calling the declare method every time a declaration is encountered. Different implementations of SymbolTable might want to store different information (e.g., only the names without the types) or build different indices depending on what information the transform needs.
- class TokenTagger extends AnyRef
Used for obtaining a tag for a given label unnamed Target.
Deprecated Type Members
- class InstanceGraph extends AnyRef
A class representing the instance hierarchy of a working IR Circuit
A class representing the instance hierarchy of a working IR Circuit
- Annotations
- @deprecated
- Deprecated
(Since version FIRRTL 1.4) Use InstanceKeyGraph instead.
- Note
The current implementation has some performance problems, which is why InstanceKeyGraph exists and should be preferred for new use cases. Eventually the old class will be deprecated in favor of the new implementation. The performance problems in the old implementation stem from the fact that DefInstance is used as the key to the underlying Map. DefInstance contains the type of the module besides the module and instance names. This type is not needed as it can be inferred from the module name. If the module name is the same, the type will be the same and vice versa. Hashing and comparing deep bundle types however is inefficient which can manifest in slower then necessary lookups and insertions.
Value Members
- object CircuitGraph
Use to construct CircuitGraph Also contains useful related functions
- object ConnectionGraph
- object IRLookup
- object InstanceKeyGraph
- object NodeCount
- object SymbolTable
Provides convenience methods to populate SymbolTables.
- object TokenTagger
Deprecated Value Members
- object InstanceGraph
- Annotations
- @deprecated
- Deprecated
(Since version FIRRTL 1.4) Use InstanceKeyGraph instead.
This is the documentation for Firrtl.