- May 09, 2021
-
-
Jiuyang Liu authored
-
- May 05, 2021
-
-
Jack Koenig authored
-
Jack Koenig authored
-
Scala Steward authored
-
- Apr 29, 2021
-
-
Scala Steward authored
-
Scala Steward authored
Co-authored-by:
Jiuyang Liu <liu@jiuyang.me> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Scala Steward authored
Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by:
Jiuyang Liu <liu@jiuyang.me>
-
Scala Steward authored
Co-authored-by:
Jiuyang Liu <liu@jiuyang.me> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Scala Steward authored
Co-authored-by:
Jiuyang Liu <liu@jiuyang.me> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Scala Steward authored
Co-authored-by:Jiuyang Liu <liu@jiuyang.me>
-
Scala Steward authored
Co-authored-by:
Jiuyang Liu <liu@jiuyang.me> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Scala Steward authored
-
- Apr 28, 2021
-
-
Scala Steward authored
Co-authored-by:Jiuyang Liu <liu@jiuyang.me>
-
Scala Steward authored
Co-authored-by:Jiuyang Liu <liu@jiuyang.me>
-
- Apr 27, 2021
-
-
Jiuyang Liu authored
* remove all deprecations, switch to new API. * Add MemLibOutConfigFileAnnotation to replace ConfWriter. * Inline CreateMemoryAnnotations in ReplSeqMem. * Dont use ConfWriter anymore. * Fix ReplSeqMemTests, rewrite checkMemConf to directly read from annoation. * Fix for review. 0. Since DependencyAPI only initiate transform only once, ListBuffer is dangerous to use, remove defAnnotatedMemories from Transform. 1. Add trait HasAnnotatedMemories to store ListBuffer, MemLibOutConfigFileAnnotation also extends from which now. * Use two annotations converting and storing DefMemory. 0. rewrite CreateMemoryAnnotations to match ReplSeqMemAnnotation creating PinAnnotation. 1. add DumpMemoryAnnotations to convert from AnnotatedMemoriesCollectorAnnotation to MemLibOutConfigFileAnnotation 2. refactor MemLibOutConfigFileAnnotation and remove HasAnnotatedMemories 3. add private AnnotatedMemoriesCollectorAnnotation to store mutable DefAnnotatedMemory 4. change ReplSeqMem to SeqTransform * Fix for review. 0. replace AnnotatedMemoriesCollectorAnnotation with immutable AnnotatedMemoriesAnnotation. 1. add ListBuffer[DefAnnotatedMemory] in ReplaceMemMacros.execute. * private functions in ReplaceMemMacros transform. * scalafmt * remove ConfWriter API.
-
Jiuyang Liu authored
-
- Apr 22, 2021
-
-
Fabian Schuiki authored
Looks like a typo/auto-merge hiccup.
-
- Apr 20, 2021
-
-
github-actions[bot] authored
Co-authored-by:jackkoenig <jackkoenig@users.noreply.github.com>
-
Jack Koenig authored
With Stage/Phase, users can provide complex functionality at the phase level rather than just the transform level. It is useful to have the same logging information at that level. Note that this change still logs transforms in the same way, but now the time in inclusive of annotation renaming which can also [unfortunately] be slow. Co-authored-by:mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Jack Koenig authored
-
- Apr 19, 2021
-
-
Albert Magyar authored
* Fixes #2173
-
- Apr 17, 2021
-
-
Jack Koenig authored
-
- Apr 16, 2021
-
-
Fabian Schuiki authored
Constant propagation of the Xor op folds `xor(a, SInt(0))` to `asUInt(a)`. For comparison, Or folds to `asUInt(pad(a, W))`. This can be a problem in the following case: circuit Foo : module Foo : input a: UInt<3> output b: UInt<4> b <= asUInt(xor(asSInt(a), SInt<4>(0))) This would emit the assignment as `b = a` instead of the sign-extended `b = {{1{a[2]}},a}`. This requires adjusting the `pad(e, t)` function use in const prop, which currently just inserts a `Pad` prim op with the requested output type. However, the function advertises that it pads *to the width* of the type `t`. Some of the folds rely on this and request the padding of a SInt<N> to the width of a UInt<M>. But the current implementation then then actually returns a `Pad` op with type UInt<M>, instead of the SInt<M> that was requested. -
Jack Koenig authored
Also make minor updates to CI workflow
-
- Apr 14, 2021
-
-
Jared Barocsi authored
Using Utils.indent() gives deprecation warnings to use Serializer instead. However, the Serializer class itself doesn't provide a means to manually indent a FirrtlNode string a certain number of times. The indent variable, previously hardcoded to 0, is now exposed as a second parameter for the modified serialize function, and the old serialize function just calls the modified serialize with indents = 0 for binary compatibility Co-authored-by:Megan Wachs <megan@sifive.com>
-
- Apr 12, 2021
-
-
edwardcwang authored
* bitWidth: add scaladoc * smt: use existing bitWidth API
-
- Apr 07, 2021
-
-
Jack Koenig authored
To maintain binary compatibility, InlineAcrossCasts is just aliases to the now deprecated InlineCasts. We can make the binary incompatible change of renaming the class and object for 1.5. Co-authored-by:mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- Apr 06, 2021
-
-
Albert Magyar authored
Add -fpga flag to enable FPGA-oriented compilation strategies (currently for memories)
-
Albert Magyar authored
-
Albert Magyar authored
-
Albert Magyar authored
* Update name of FPGA flag based on Jack's comment * Add Scaladoc to describe what each constituent transform does * Add SeparateWriteClocks to --target:fpga
-
Albert Magyar authored
* Address @ekiwi comments from review * Change match cases to scalafmt-mandated lined-up style
-
Albert Magyar authored
* Update test to include both 'old' and 'new' read-under-write values
-
Albert Magyar authored
-
Albert Magyar authored
* Optionally defines read-under-write behavior for all 'undefined' memories * Use DefaultReadFirstAnnotation to choose read-first default * Use DefaultWriteFirstAnnotation to choose write-first default * Seal DefaultReadUnderWriteAnnotation based on Jack's feedback
-
Albert Magyar authored
* This is enabled by adding a PassthroughSimpleSyncReadMemsAnnotation * Can be emitted directly with new changes to the Verilog emitter * Add some new deprecations to VerilogMemDelays * Run scalafmt on VerilogMemDelays
-
Albert Magyar authored
* Emit readwrite ports, if applicable * Does not change VerilogMemDelays -> no effect on default flow * Use more single-line declare-and-assign statements for mem wires * Update error messages for too-complex memories in VerilogEmitter * Run scalafmt on VerilogEmitter
-
Albert Magyar authored
-
- Apr 04, 2021
-
-
Jiuyang Liu authored
-
- Apr 02, 2021
-
-
Carlos Eduardo authored
This PR adds options for memory initialization inside or outside the `ifndef SYNTHESIS` block.
-