-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tywaves annotations #3
Commits on Apr 18, 2024
-
Annotate ports with Chisel type information in firrtl
- Create `TywavesAnnotation` (firrtl) case class to represent the annotation - Add companion object to generate `TywavesChiselAnnotation`s for Chisel circuit: it parses a chisel circuit, extracts the necessary information from each component, and annotates each FIRRTL target - Support annotation for IO ports - Add support for modules and data types (grounds, aggregates, and user-defined (only extended bundles)) - Support nested modules and data types - Create `AddTywavesAnnotations` phase to add the TywavesAnnotation to the elaborated Chisel circuit - Update `ChiselStage` to integrate `AddTywavesAnnotation` phase (run before `Convert` phase only if `withDebug` is true) - Added following tests: - Module tests: - Empty module - Module with submodule(s) - Modules with parameters and paremetrized modules (need to extract scala meta-programming information though) - BlackBoxes - Intrinsics - Classes - Ports test: - Explict Clock, SyncReset (Bool), AsyncReset and Reset - Implicit clock and reset - Ground types: Bool, UInt, SInt, Analog - Bundles: empty, anonymous, user-defined, nested - Vecs: 1-D, 2-D - MixedVec - Vecs of bundles - Bundles of vecs
Configuration menu - View commit details
-
Copy full SHA for 65a47f3 - Browse repository at this point
Copy the full SHA 65a47f3View commit details
Commits on Apr 19, 2024
-
Annotate registers and wires with Chisel type information in firrtl
- Added "createAnno" from DefWire, DefRef, DefRegInit case - Reorganize test structure making reusable modules for different bindings (IO, Reg, Wire) - Added following tests: - Ports tests: - Ports inside a submodule - Wire/reg tests: - Explict Clock, SyncReset (Bool), AsyncReset and Reset - Implicit clock and reset - Ground types: Bool, UInt, SInt - Analog (only wires) - Bundles: empty, anonymous, user-defined, nested - Vecs: 1-D, 2-D - MixedVec - Vecs of bundles - Bundles of vecs - Wires/regs inside a submodule
Configuration menu - View commit details
-
Copy full SHA for 18153de - Browse repository at this point
Copy the full SHA 18153deView commit details
Commits on Apr 21, 2024
-
Refactor of TywavesAnnotationSpec test structure
- Move module and data types tests in different subdirectories - Add readmes with output samples of the annotations
Configuration menu - View commit details
-
Copy full SHA for e6de3b6 - Browse repository at this point
Copy the full SHA e6de3b6View commit details -
- Added "createAnno" from DefMemory, DefSeqMemory, FirrtlMemory and DefMemPort case - Implement "createAnnoMem" to create a TyeavesAnnotation for memory (a memory does not extend the Data type) - Return empty annotations from Connect, DefInvalid - Add warning message for "Unhandled circuit commands" - Added the following tests: - ROM of ground type - SyncReadMem (when UNUSED) of ground type, aggregate types (bundle) - Mem (when UNUSED) of ground type, aggregate types (bundle) - SRAM of ground type (with different combs of ports), aggregate types - SyncReadMem (when USED) of ground type, aggregate types (this instantiate MPORT) - Mem (when USED) of ground type, aggregate types (this instantiate MPORT)
Configuration menu - View commit details
-
Copy full SHA for ff1de98 - Browse repository at this point
Copy the full SHA ff1de98View commit details
Commits on Apr 22, 2024
-
[Fix tywaves] type name a annotation for innertype in memories (case …
…of Vecs) - Added the following tests: - Masked memories (SyncReadMem, Mem, SRAM)
Configuration menu - View commit details
-
Copy full SHA for 017ecef - Browse repository at this point
Copy the full SHA 017ecefView commit details
Commits on Apr 24, 2024
-
Annotate types with the parameters (name, type, value) in the scala c…
…onstructor (it works for any scala class) [Fix tywaves] Fix annotation issue for first parameter of the constructor Sometimes the first parameters was skipped. The `getConstructorParams` was dropping the first element of the list assuming that it contained the class itself and not a parameter. This assumption worked only for some cases ("$outer" is not always present in first position). Now the method is improved by doing a filter map (collect). Update report output samples in tests readmes Annotate types with parameters in the scala constructor (it works for any scala class) - Create a case class (`ClassParam`) to represent the parameters of a class in the firrtl annotation - Update `TywavesAnnotation` with `params: Option[Seq[ClassParam]]`. Some classes may not have any parameter - Implement `getConstructorParams()` to get params of a constructor of any scala class. It uses scala reflection. - Added the following tests: - Test getConstructorParams() for: - classes - case classes - private, protected and public fields in the constructor: name, type and value accessible - fields in the body of a class (expected behaviour not accessible) - parameters in the constructor (no val): only name and type accessible - Updated the following tests: - Vec tests of DataTypesSpec: chisel Vecs have a length parameter in the constructor - Mem tests: memories contain constructs with parameters in their constructors - Module tests: update the module with parameters test
Configuration menu - View commit details
-
Copy full SHA for d4d6331 - Browse repository at this point
Copy the full SHA d4d6331View commit details
Commits on Apr 25, 2024
-
Fix behaviour of getConstructorParams when the value of a parameter i…
…s type of chisel3.Data Now it returns only the value without the complete name (packageName.type.name) of the parameter. - Fix hasParams: sometimes some parameters of a class were not detected. - Added the following tests: - Circuit with parameters (scala basic types, scala classes, and chisel types) - Bundles with parameters (scala basic types, scala classes, and chisel types) - Updated tests (scala fmt and bug fix): - TypeAnnotationMemSpec - TypeAnnotationModuleSpec - TypeAnnotationDataTypesSpec - Fix scalafmt errors
Configuration menu - View commit details
-
Copy full SHA for 0353ef1 - Browse repository at this point
Copy the full SHA 0353ef1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42678b5 - Browse repository at this point
Copy the full SHA 42678b5View commit details
Commits on May 8, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 4b734cb - Browse repository at this point
Copy the full SHA 4b734cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for b11fb47 - Browse repository at this point
Copy the full SHA b11fb47View commit details
Commits on May 30, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c3c9979 - Browse repository at this point
Copy the full SHA c3c9979View commit details -
Bump versions of Github actions to versions using Node 20 (chipsallia…
…nce#4116) Node 16 is deprecated and will eventually stop being supported.
Configuration menu - View commit details
-
Copy full SHA for 99aa9f1 - Browse repository at this point
Copy the full SHA 99aa9f1View commit details
Commits on May 31, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 25f70bd - Browse repository at this point
Copy the full SHA 25f70bdView commit details -
Add and use Mill wrapper script (chipsalliance#4119)
This saves developers from having to install a dependency. It also allows us to drop an old Github Actions dependency that hasn't been updated in 2 years. This is the standard practice for projects using Mill on Github.
Configuration menu - View commit details
-
Copy full SHA for 0f2efb5 - Browse repository at this point
Copy the full SHA 0f2efb5View commit details
Commits on Jun 2, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 91108bf - Browse repository at this point
Copy the full SHA 91108bfView commit details
Commits on Jun 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ba81cbf - Browse repository at this point
Copy the full SHA ba81cbfView commit details
Commits on Jun 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 8327056 - Browse repository at this point
Copy the full SHA 8327056View commit details
Commits on Jun 5, 2024
-
[cd] Bump CIRCT from firtool-1.75.0 to firtool-1.76.0 (chipsalliance#…
…4146) This is an automated commit generated by the `circt/update-circt` GitHub Action. Co-authored-by: chiselbot <chiselbot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for a148447 - Browse repository at this point
Copy the full SHA a148447View commit details
Commits on Jun 6, 2024
-
[LTL] Add support for new sequence and property ops (chipsalliance#4120)
Add support for `until`, `intersect`, `repeat`, `non_consecutive_repeat`, and `goto_repeat` property operations from SVA.
Configuration menu - View commit details
-
Copy full SHA for 6de9640 - Browse repository at this point
Copy the full SHA 6de9640View commit details -
PeekPokeAPI: include source location on failed expect() calls. (chips…
…alliance#4144) * simulator: add SourceInfo to expect calls and report. * simulator: add test for failed expects. * simulator: attempt to extract source line. * simulator: make testableData.expect's sourceInfo parameter explicit. * simulator: add factory method for giving failed expect sourceInfo/extraContext.
Configuration menu - View commit details
-
Copy full SHA for 45dd82a - Browse repository at this point
Copy the full SHA 45dd82aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d35daa2 - Browse repository at this point
Copy the full SHA d35daa2View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbbf73a - Browse repository at this point
Copy the full SHA dbbf73aView commit details
Commits on Jun 7, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 546b371 - Browse repository at this point
Copy the full SHA 546b371View commit details