diff options
| author | Colin Schmidt | 2017-02-21 11:48:04 -0800 |
|---|---|---|
| committer | Jack Koenig | 2017-02-21 11:48:04 -0800 |
| commit | a02750f379b266b76febc58ef0351b56d21e9fcf (patch) | |
| tree | c7ad03dfbe8415e3f061cfa1fecd2f5ea2ba960a /src/main/scala/firrtl/passes/memlib/ResolveMaskGranularity.scala | |
| parent | b69e787c0a698b7fb703ccd8d24003f83207e296 (diff) | |
Implementation of nodedupe mem (#447)
This allows the replseqmem transform to not deduplicate
some memories, based on their name.
Diffstat (limited to 'src/main/scala/firrtl/passes/memlib/ResolveMaskGranularity.scala')
| -rw-r--r-- | src/main/scala/firrtl/passes/memlib/ResolveMaskGranularity.scala | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/passes/memlib/ResolveMaskGranularity.scala b/src/main/scala/firrtl/passes/memlib/ResolveMaskGranularity.scala index 53d7234f..956bdd3c 100644 --- a/src/main/scala/firrtl/passes/memlib/ResolveMaskGranularity.scala +++ b/src/main/scala/firrtl/passes/memlib/ResolveMaskGranularity.scala @@ -77,8 +77,9 @@ object AnalysisUtils { /** Checks whether the two memories are equivalent in all respects except name */ - def eqMems(a: DefAnnotatedMemory, b: DefAnnotatedMemory) = - a == b.copy(info = a.info, name = a.name, memRef = a.memRef) + def eqMems(a: DefAnnotatedMemory, b: DefAnnotatedMemory, noDeDupeMems: Seq[String]) = + a == b.copy(info = a.info, name = a.name, memRef = a.memRef) && + !(noDeDupeMems.contains(a.name) || noDeDupeMems.contains(b.name)) } /** Determines if a write mask is needed (wmode/en and wmask are equivalent). |
