aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/Namespace.scala
AgeCommit message (Collapse)Author
2021-02-17Allow Side Effecting Statement to have Names (#2057)Kevin Laeufer
* firrtl: add optional statement labels for stop, printf, assert, assume and cover * test: parsing of statement labels * ir: ensure that name is properly retained * SymbolTable: add support for labled statements * test: parsing statement labels * test: lower types name collisions with named statements * ignore empty names * Inline: deal with named and unnamed statements * RemoveWires: treat stop, printf and verification statements as "others" * test: fix InlineInstance tests * DeadCodeEliminations: statements are now als declarations * CheckHighForm: ensure that statement names are not used as references * CheckSpec: throw error if statement name collides * add pass to automatically add missing statement names * check: make sure that two statements cannot have the same name * stmtLabel -> stmtName * scalafmt * add statement names to spec * spec: meta data -> metadata * EnsureStatementNames: explain naming algorithm * remove returns * better namespace use * ir: add CanBeReferenced trait * ir: add newline as jack requested
2020-09-16Change to Apache 2.0 License (#1901)Chick Markley
2020-08-21Deprecate Uniquify and move its useful utilities (#1856)Jack Koenig
2020-08-14All of src/ formatted with scalafmtchick
2019-02-25Fix almost all Scaladoc warningsSchuyler Eldridge
This fixes all Scaladoc warnings except for those trying to link to Java. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2018-11-29Replace Mappers with Foreachers in several passes (#954)Albert Magyar
2018-10-03Add cloneUnderlying method to NamespaceSchuyler Eldridge
This adds a method, cloneUnderlying, to Namespace that returns a copy of the underlying mutable.HashSet. This is useful for constructing a Namespace that you would like to manipulate manually without using Namespace's methods to generate temporaries. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2018-04-29Fix pathological behavior of Namespace for name collisions (#788)Jack Koenig
2017-12-22API change: out-of-bounds vec accesses now invalid, not first element (#685)Adam Izraelevitz
[skip formal checks] Generate nicer name for remove accesses
2017-09-29Namespace - only save suffix for temp names (#667)Jack Koenig
This prevents collisions for one prefix (including temp) from incrementing the suffix for other prefixes. Makes names more stable.
2017-02-23added more helpersAngie
2016-11-07Added underscore to GEN, now its _GEN (#362)Adam Izraelevitz
Prefix temporary names with underscores so Verilator won't trace them Use verilator argument "--trace-underscore" if you want to trace these signals
2016-11-04Cleanup license at top of every file (#364)Jack Koenig
Replace with more sensible comment to see LICENSE rather than including the whole license in every file
2016-09-25stuff like this mutable.LinkedHashMap needs the mutable prefixchick
2016-09-21refactor InferReadWriteDonggyu Kim
2016-09-06remove unnecessary mappers in NamespaceDonggyu Kim
there's a big stack overhead with mappers
2016-09-06Address style feedback and add tests for getConnectOrigin utilityAngie
2016-09-06Minor utility changes.Angie
* Corrected names to match current RW port spec * Added Jack's Namespace on Circuit
2016-06-10API Cleanup - ASTJack
trait AST -> abstract class FirrtlNode Move all IR to new package ir Add import of firrtl.ir._
2016-06-10API Cleanup - StatementJack
trait Stmt -> abstract class Statement (to match Expression) abbrev. exp -> expr BulkConnect -> PartialConnect camelCase things that were snake_case case class Empty() -> case object EmptyStmt Change >120 character Statements to multiline
2016-06-10API Cleanup - ModuleJack
trait Module -> abstract class DefModule InModule -> Module (match concrete syntax) ExModule -> ExtModule (match concrete syntax) Add simple scaladoc for each one
2016-04-16Add Namespace for thread-safe creation of names and temporary namesjackkoenig
Replace use of gensym with local namespaces Delete gensym