- Jun 22, 2022
-
-
Girish Pai authored
Used for separate elaboration of Definition and Instance
-
- Jun 19, 2022
-
-
Carlos Eduardo authored
-
- Jun 18, 2022
-
-
Jack Koenig authored
Previously, the plugin would crash with a useless internal error.
-
- Jun 17, 2022
-
-
Jack Koenig authored
-
- Jun 16, 2022
-
-
Jack Koenig authored
Define leading '_' as API for creating temporaries
-
Jack Koenig authored
-
Jack Koenig authored
Chisel and FIRRTL have long used signals with names beginning with an underscore as an API to specify that the name does not really matter. Tools like Verilator follow a similar convention and exclude signals with underscore names from waveform dumps by default. With the introduction of compiler-plugin prefixing in Chisel 3.4, the convention remained but was hard for users to use unless the unnnamed signal existed outside of any prefix domain. Notably, unnamed signals are most useful when creating wires inside of utility methods which almost always results in the signal ending up with a prefix. With this commit, Chisel explicitly recognizes signals whos val names start with an underscore and preserve that underscore regardless of any prefixing. Chisel will also ignore such underscores when generating prefixes based on the temporary signal, preventing accidental double underscores in the names of signals that are prefixed by the temporary.
-
- Jun 14, 2022
-
-
Adam Izraelevitz authored
* Added ImplicitInvalidate trait with tests
-
- Jun 11, 2022
-
-
Jack Koenig authored
BitPat.rawString is called a lot when decoding and is used for certain BitPat operations. We should use it less but this is at least a bandaid.
-
- Jun 09, 2022
-
-
Jack Koenig authored
Captures default output in TesterDriver with a ProcessLogger using the Logger from FIRRTL to suppress output from Verilator when running tests. This will change behavior for any users of the TesterDriver because the standard out of Verilator compilation and execution is suppressed by default. Users can create their own ProcessLogger to restore the previous behavior, eg. import scala.sys.process.ProcessLogger val echoLogger = ProcessLogger(Console.out.println, Console.err.println)
-
Adam Izraelevitz authored
Co-authored-by:Jack Koenig <koenig@sifive.com>
-
- Jun 08, 2022
-
-
Jack Koenig authored
Include the function being called in the suggestion.
-
Jared Barocsi authored
-
- Jun 07, 2022
-
-
Jack Koenig authored
Remove reflective naming
-
Jack Koenig authored
With reflective naming removed, this warning no longer does anything so the option to enable it is deprecated.
-
Jack Koenig authored
This includes removal of closeUnboundIds and _onModuleClose which were hacks to support naming of non-hardware (ie. unbound) Data. This can result in a substantial performance improvement for large Modules with many public vals.
-
Jack Koenig authored
This includes both .*Name APIs and .toTarget
-
Jack Koenig authored
Add --warn:reflective-naming
-
Jack Koenig authored
This new argument (and associated annotation) will turn on a warning whenever reflective naming changes the name of a signal. This is provided to help migrate from Chisel 3.5 to 3.6 since reflective naming is removed in Chisel 3.6.
-
Jack Koenig authored
The new function is chisel3.internal.buildName.
-
- Jun 03, 2022
-
-
Jared Barocsi authored
-
Jack Koenig authored
Previously, verification statements (assert, assume, cover, and printf) were only named via reflection.
-
- Jun 02, 2022
-
-
Girish Pai authored
This is a formatted version of the p"..." interpolator analogous to Scala's f"..." interpolator. The primary difference is that it supports formatting interpolated variables by following the variable with "%<specifier>". For example: printf(cf"myWire = $myWire%x\n") This will format the hardware value "myWire" as a hexidecimal value in the emitted Verilog. Note that literal "%" must be escaped as "%%". Scala types and format specifiers are supported and are handled in the same manner as in standard Scala f"..." interpolators.
-
- May 30, 2022
-
-
Jack Koenig authored
This includes (and is tested) for both the old .*Name APIs and .toTarget
-
- May 28, 2022
-
-
Jack Koenig authored
ExtModule now uses the same namePorts implementation as regular Modules. Previously, ExtModules only allowed port naming via runtime reflection. This meant that .suggestName and other naming APIs do not work. It also breaks FlatIO for ExtModule which is a potential replacement API for BlackBox's special `val io` handling.
-
Jack Koenig authored
Co-authored-by:Megan Wachs <megan@sifive.com>
-
- May 27, 2022
-
-
Jack Koenig authored
This required implementing _elementsImpl manually for all HWTuple classes (which do not have the plugin run on them).
-
- May 25, 2022
-
-
Jiuyang Liu authored
Move stdlib.test to integration test.
-
mergify[bot] authored
-
Jack Koenig authored
-
- May 24, 2022
-
-
Jiuyang Liu authored
-
- May 20, 2022
-
-
Jack Koenig authored
-
- May 19, 2022
-
-
Gonsolo authored
-
- May 16, 2022
-
-
Zenithal authored
* Add BarrelShifter API for Vec * Add BarrelShifter Test * fix for build.sc * Fix package name and move file * Fix sbt for stdlib Co-authored-by:Jiuyang Liu <liu@jiuyang.me>
-
- May 13, 2022
-
-
Megan Wachs authored
-
- May 12, 2022
-
-
Deborah Soung authored
-
- May 10, 2022
-
-
Jiuyang Liu authored
* add standard library project * add stdlib to mill build system. * CI success needs stdlib test pass. Co-authored-by:Kevin Läufer <laeufer@cs.berkeley.edu>
-
- May 04, 2022
-
-
Liu Xiaoyi authored
* WIP: Add BitSetRange * BitSetRange: various code format changes * Try to fix scala random versioning * Initial impl of BitSet.toRange, along with some helper method in BitSet * BitPatRange: visibility and name changes: * BitSetRange: tests * BitSetRange: remove Random.between * Move BitSetRange to BitSet.fromRange. Remove BitSetRange and toBitSetRanges * Rename max_known_length -> MaxKnownLength in BitPat * Apply suggestions from code review Co-authored-by:
Jack Koenig <jack.koenig3@gmail.com> * add api fromRange(start: BigInt, length: BigInt) Co-authored-by:
Jiuyang Liu <liu@jiuyang.me> Co-authored-by:
Jack Koenig <jack.koenig3@gmail.com> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- Apr 29, 2022
-
-
Megan Wachs authored
* Cat: add source locators * make test handle both cases * test that the wrong source locator is not included for Cat * Add source locators to FillInterleaved and test * Add Bitwise Spec * add FillSpec * Reverse Spec * Checkpoint -- doesn't compile * Make source locators more correct with do_apply methods * add source locators to Reg.scala * RegEnable source locator tests * ShiftRegisters source locators unit tests * scalafmt * clean up spacing and final defs * scalafmt * scaladoc groups
-
Kevin Laeufer authored
All functions inside this package were deprecated in the 3.5 release, so it is appropriate to remove them for 3.6
-