Skip to content
This repository has been archived by the owner on Aug 20, 2024. It is now read-only.

v1.2.0-RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@ucbjrl ucbjrl released this 01 Oct 22:49
· 187 commits to 1.2.x since this release

API Modification

(#952) Add foreach as alternative to map

(#1107) Remove deprecated ComponentName from CombinationalPath annotation

Fix

(#854) Binding support - load memory from file
Binding support

(#868) Make RemoveWires properly include registers in dependency graph
Respect register references in RemoveWires

(#876) Fix NoDedupMem to be cognizant of Module scope

(#883) Filter resource file names to avoid including the same file multiple times.

(#901) Use "" for Inline Name Mangling, Respect Namespaces
Inlining uses "
", respects namespaces
Make some Uniquify methods private [firrtl]
Add cloneUnderlying method to Namespace

(#909) Verilog renaming uses "_", works on whole AST
Refactor VerilogRename -> RemoveKeywordCollisions

(#924) Fix TRAVIS_COMMIT_RANGE in .run_chisel_tests, replace ... with ..

(#936) Fix bug in TargetDirAnnotation compatibility

(#963) Remove side effect from DiGraph sum
Remove side effect from DiGraph summation

(#976) Fix NoneCompiler outputForm
Require transforms.size >= 1 for Compilers
Use IdentityTransform to construct NoneCompiler
Add IdentityTransform

(#987) Fix grouping
Fix GroupComponents to work with unused components
Make GroupComponents run ResolveKinds

(#989) Avoid enforcing time constrains during coverage tests.

(#992) Constant Propagate dshl and dshr with constant amounts
Suppress unchecked warning in Constant Propagation
Keep constant propagating expressions until done optimizing

(#1078) Add register init to RemoveWires dependencies

(#1135) Add ExpandConnects to TopWiringTransform fixup

Feature

(#548) Run CheckHighForm after all non-emitter transforms in firrtl tests

(#833) Support for load memory annotations in chisel

(#848) Make Scala 2.12.4 the default.

(#849) Constant prop add

(#851) Combine cats

(#855) Use LinkedHashSet in propagateAnnotations

(#858) Fix Travis

(#859) allowing overrides to $random

(#861) add link to repo for firrtl syntax highlighting in sublime text 3

(#864) Update DontTouchAnnotation not found error message

(#865) Instance Annotations

(#867) Stop reporting exceptions in custom transformations as internal errors

(#869) Add targetDirName test

(#872) Allow the #delay before random initialization to be overridden

(#874) Emit Verilog Comments

(#875) [F764.1] Bump scopt from 3.6.0 -> 3.7.0
Bump scopt from 3.6.0 -> 3.7.0

(#877) [F764.2] Easy conversion of String => LogLevel.value
Add LogLevel apply for String => LogLevel.Value

(#878) [F764.3] Add explicit SystemVerilogCompiler class
Add SystemVerilogCompiler class

(#879) [F764.5] Add firrtl.options package, but do not use
Add firrtl.options tests
Add firrtl.options

(#885) Bug Fixes in TopWiring

(#888) Do not remove ExtMods with no ports by default

(#889) Another TopWiring Bug Fix (Multi-Level Annotations)

(#894) Number all code examples & add specification build to Makefile

(#895) Add CODEOWNERS file

(#898) Enforce port uniqueness in Chirrtl/High Checks

(#900) Add Utils.expandPrefixes as Prefix Unique helper

(#903) add BlackBoxPathAnno

(#915) Added reference to ICCAD paper

(#918) Don't include verilog header files in "FileList" for VCS/Verilator.

(#919) [F764.6] Add, but do not use Options-mirroring Annotations
Make ClockListAnnotation a RegisteredTransform
Make InlineInstances a RegisteredTransform
Make CheckCombLoops a RegisteredTransform
Make DeadCodeElimination a RegisteredTransform
Add MemLibOptions RegisteredLibrary
Make ReplSeqMem mixin HasScoptOptions
Make InferReadWrite mixin HasScoptOptions
Add FirrtlOptions

(#921) Better error message on missing BlackBox resource

(#925) Revert "Instance Annotations"
Revert "Instance Annotations (#865)"

(#926) Instance Annotations, Try No. 2
Instance Annotations

(#927) Fix $TRAVIS_COMMIT_RANGE

(#928) Dont append to lists
Remove all uses of get_flip and deprecate
Use Vector instead of List for bulk renaming in RenameMap
Speed up LowerTypes by replacing foldLeft + List appends with flatMap
Speed up ExpandWhens by replacing foldLeft + List appends with flatMap
Speed up create_exps by replacing foldLeft + List appends with flatMap
Speed up ExpandConnects by replacing foldLeft + List appends with flatMap

(#930) fix renaming of port annotations in Uniquify
Fix renaming in UniquifyPorts

(#931) Update commandline sbt publishLocal

(#932) Better error message for UninferredWidth exception
Add prettyPrint method to Target

(#938) Add FIRRTL logo to repo and README

(#940) Bump sbt to 1.2.6; update dependencies

(#942) Memoize type of instance refs in RemoveKeywordCollisions

(#945) Change firrtl.options API, add Phase

(#946) Remove firrtl.altIR package

(#949) Make return types of utility functions more specific

(#953) Add "none" compiler

(#954) Replace Mappers with Foreachers in several passes

(#956) Add Width Constraints with Annotations

(#958) Fix bug in dedup where lots of annotations could prevent dedup

(#959) Bump SBT from 1.2.6 to 1.2.7 to fix partial recompilation issue

(#961) Small convenience tweaks to IR/WIR APIs

(#962) Enhance CheckCombLoops to support annotated ExtModule paths

(#967) Fix renaming of annotations with paths

(#969) [Top Wiring] Expand top wiring to work on aggregates

(#975) Give better error when mport references non-existant memory.

(#980) Performance fix of Uniquify for deep bundles

(#982) Update documentation links

(#984) Correctly handle dots in loaded memory paths

(#994) Improve Shl codegen; eliminate Shlw WIR node

(#996) Remove ghpages plugin

(#999) Bump copyright year

(#1000) Attempt to deal with timing vagaries in UniquifySpec.quicklyrenamedeepbundles

(#1001) typo fix

(#1002) Fork all sbt tasks
Fork all sbt test and run tasks

(#1003) Add MidFIRRTL spec

(#1004) Add "mverilog" Compiler Option, MinimumVerilogEmitter
Do Shr constant propagation in Legalize
Add RemoveValidIf to -X mverilog
Add "mverilog" and "sverilog" DriverSpec tests
Add "mverilog" Compiler Option, Compiler Fixes

(#1005) Stage/Phase
Add ShellOption, DeletedWrapper
OptionsView/Viewer typeclass canonicalizations
Add tests for Annotations/Options refactor
Add FirrtlStage, make Driver compatibility layer
Improve registered library help text

(#1006) Use default test_run_dir for more DriverSpec tests.

(#1008) Use apache commons for string escaping instead of reflection

(#1009) Missed constprop opportunity

(#1010) Mem helpers

(#1011) Asynchronous Reset

(#1012) Correct Kind info from #1010

(#1014) Fix typo for -c: compiler -> circuit

(#1023) Don't let the main module become deduped out of existence.

(#1024) Prevent Flatten from stripping all annotations

(#1025) No time left for you - quickly rename deep bundles still occasionally fails.

(#1026) Added mergify configuration

(#1027) Added mergify badge to README

(#1029) Bump yosys to 0.8

(#1030) Change mergify to just require an approval

(#1031) Detect and error on registers with flip in type

(#1032) Fix almost all scaladoc warnings, add source links
Add GitHub source links to Scaladoc
Fix almost all Scaladoc warnings

(#1034) Create a simple generic GraphViz renderer for DiGraph

(#1035) Add --nodedup option to facilitate FIRRTL to verilog regression testing.

(#1039) [ExpandWhens] Don't create nodes to hold Muxes with >0 void cases

(#1041) Add a data structure for memory conf reading and writing

(#1043) Make mergify run when no reviews request changes

(#1046) Advertise FIRRTL grammar support in Atom

(#1052) More constprop on muxes

(#1056) Add serialization support for LoadMemoryFileType in LoadMemoryAnnotation

(#1058) Convert the RemoveAccesses object into a class.

(#1060) Fix error reading empty MemConf strings
Designs with no SeqMems should produce empty MemConf strings, and this should be parsable without excepting

(#1063) Correct a typo in spec.tex

(#1065) DCE printf and stop statements with constant-0 enables
Add test for DCE of printf and stop

(#1067) Faster reg constprop

(#1068) Infer reset

(#1069) Remove redundant code

(#1071) LowerTypesSpec: additional unit test

(#1072) Remove unnecessary 'FIRRTLParser' prefix

(#1074) Use scalafix to remove unused import and deprecated procedure syntax

(#1075) Change Memory Depth to a BigInt

(#1076) Use UnknownKind instead misrepresented NodeKind

(#1079) Dependency API
Make Transform extend TransformLike
Add PhaseManager tests
Add DependencyManager and PhaseManager
Add PreservesAll stackable trait for DependencyAPI
Add a DependencyAPI to firrtl.options.Phase
Add seeded topological sort to DiGraph

(#1081) Update NoCircuitDedupAnnotation so it's available from firrtl.stage.FirrtlMain

(#1082) Bugfix: GroupComponents

(#1085) spec: mixed-input arguments for prim ops are no longer allowed

(#1087) Emit legal Verilog literals for ExtModule IntParams > 32-bit

(#1089) Analog attach order
make analog attachment order fixed with linked hash map

(#1093) Fix typo.

(#1094) Fix bad FirrtlStage deprecation warning

(#1095) Remove unused variables

(#1101) Fix typo

(#1102) Use pattern match instead of hardcode position

(#1106) Add Test for AddDefaults phase

(#1108) Remove shadow type parameter

(#1109) Implement MultiTargetAnnotation

(#1110) Make sure directory exist before writing

(#1111) Add SimplifyMems transform to lower memories without splitting

(#1113) README.md Patches
Fix custom transform example for Stage/Phase
Add Yosys 0.8 as prerequisite (sbt test needs it)

(#1114) Fix typo

(#1118) Remove some warnings

(#1121) Change Dependency API to Class[_ <: A]
Add type aliases for dependencies

(#1126) Fix RenameMap chaining

(#1129) Allow name of blackbox resource .f file to change from static value

(#1134) Filter out more filename extensions for blackbox source headers

(#1139) Fix "since" deprecation, should be "1.3" not "1.2"
Fix "since" deprecation, should be "1.2" not "1.3"

(#1140) Make write-under-write section for mems in spec

(#1142) io.Source is not closed when used in most common text reading idiom

(#1143) Followup to PR #1142
Followup to PR #1142 - use scala.io.Source instead of io.Source - .toList cleaner way to force stream to be read. - clear old commented out code in ProtoBufSpec
Followup to PR #1142 Fixes a threading bug in where lazy reading of file caused a problem for multithreaded access to the that was read.

(#1144) Fix FileUtils.getLines, add simple FileUtils tests
Add FileUtilsSpec
Iterate 1x in FileUtils.getText, DRY out getText

(#1147) Check mems for legal latencies; ban zero write latency.

(#1148) DRY check chirrtl

(#1150) Improve RemoveReset on Invalid Inits
Add tests on RemoveReset of invalid inits
Improve RemoveReset handling of invalid inits

(#1151) Remove unused CheckHighFormLike.IllegalChirrtlMemException

(#1152) Make "build" the default make target rather than "clean"

(#1156) Bump dependency versions

(#1157) Refactor exceptions to remove stack trace from user errors

(#1158) Programmed Stage Death
Add StageError
Add firrtl.options.ExitCode type hierarchy

(#1160) Remove incorrect short option for --info-mode

(#1163) clean up spacing in inline test

(#1166) Refactor: remove redundancy code