aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes/memlib
AgeCommit message (Collapse)Author
2017-05-10Update rename2 (#478)Adam Izraelevitz
* Added pass name to debug logger * Addresses #459. Rewords transform annotations API. Now, any annotation not propagated by a transform is considered deleted. A new DeletedAnnotation is added in place of it. * Added more stylized debugging style * WIP: make pass transform * WIP: All tests pass, need to pull master * Cleaned up PR * Added rename updates to all core transforms * Added more rename tests, and bugfixes * Renaming tracks non-leaf subfields E.g. given: wire x: {a: UInt<1>, b: UInt<1>[2]} Annotating x.b will eventually annotate x_b_0 and x_b_1 * Bugfix instance rename lowering broken * Address review comments * Remove check for seqTransform, UnknownForm too restrictive check
2017-04-04DecorateMems should not delete annoations (#523)Colin Schmidt
2017-03-23Pass now subclasses Transform (#477)Adam Izraelevitz
2017-03-22Bugfix: apply/unapply of PinAnnotation brokenazidar
2017-03-09make sure infer-rw works for exclusive when statements (#481)Donggyu
2017-03-06Addresses #459. Rewords transform annotations API.Adam Izraelevitz
Now, any annotation not propagated by a transform is considered deleted. A new DeletedAnnotation is added in place of it.
2017-02-23move more general utils out of memutils, mov WIR helpers to WIR.scala and ↵Angie
update uses
2017-02-23messed up clocktype matchAngie
2017-02-23added more helpersAngie
2017-02-21Implementation of nodedupe mem (#447)Colin Schmidt
This allows the replseqmem transform to not deduplicate some memories, based on their name.
2017-01-27Fix signed types (#422)Angie Wang
* type conversions between sint/fixed and uint added at memory interfaces for replseqmem * turns out asFixed requires bp as constant in PrimOps (really should be documented) * fixed legalizeconnects to handle FixedPt * added tests for replseqmem failure with signed types
2016-11-23Stringified annotations (#367)Adam Izraelevitz
Restricts annotations to be string-based (and thus less typesafe) Makes annotations more easily serializable and interact with Chisel
2016-11-15Fixed multi wiring (#368)Adam Izraelevitz
* Fixed multi wiring * Minor style changes
2016-11-07Clock List Transform (#365)Adam Izraelevitz
Added clocklist transform
2016-11-07Fix annotations (#366)Adam Izraelevitz
getMyAnnotations now returns Seq[Annotation] Changed test to check number of annotations is the same
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-11-04Refactor Compilers and Transformsjackkoenig
* Transform Ids now handled by Class[_ <: Transform] instead of magic numbers * Transforms define inputForm and outputForm * Custom transforms can be inserted at runtime into compiler or the Driver * Current "built-in" custom transforms handled via above mechanism * Verilog-specific passes moved to the Verilog emitter
2016-11-01fix bug. remove spurious connect that reassigns node (#358)Scott Beamer
2016-10-30Keep package name + directory structure consistent (#354)Colin Schmidt
* Keep package name + directory structure consistent This annoyed me so heres a PR * fix InferReadWrite references * delete .ConvertFixedToSInt.scala.swo
2016-10-27Wiring (#348)Adam Izraelevitz
Added wiring pass and simple test
2016-10-26Improve reference & name resolution in ReplSeqMem (#352)Donggyu
* fix imports in InferReadWrite * improve reference & name resolution in ReplSeqMem * add comments
2016-10-26Add Support for Parameterized ExtModules and Name Overridejackkoenig
Adds support for Integer, Double/Real, and String parameters in external modules. Also add name field to extmodules so that emitted name can be different from Firrtl name. This is important because parameterized extmodules will frequently have differing IO even though they need to be emitted as instantiating the same Verilog module.
2016-10-24match fromBits order with toBits, toBitMask (#349)Donggyu
2016-10-23Fix bitmask (#346)Angie Wang
* toBitMask cat direction should be consistent with data * minor comment updates * moved remaining mem passes/utils to memlib * changed again so that data, mask are consistent. data element 0, bit 0 = LSB (on RHS) when concatenated
2016-10-20fix resolve memory reference (#341)Donggyu
duplcate memory detection should be in circuit-level, not in module-level
2016-10-17Reorganized memory blackboxing (#336)Adam Izraelevitz
* Reorganized memory blackboxing Moved to new package memlib Added comments Moved utility functions around Removed unused AnnotateValidMemConfigs.scala * Fixed tests to pass * Use DefAnnotatedMemory instead of AppendableInfo * Broke passes up into simpler passes AnnotateMemMacros -> (ToMemIR, ResolveMaskGranularity) UpdateDuplicateMemMacros -> (RenameAnnotatedMemoryPorts, ResolveMemoryReference) * Fixed to make tests run * Minor changes from code review * Removed vim comments and renamed ReplSeqMem