Comments (3)
Probably not in 7.0.0, or at least I certainly won't hold up a 7.0 for it. No formal migration plan except that at least initially Chisel will cross-compile for 2.13 and 3 so that users can bump Chisel, and then migrate to Scala 3. There are some relatively minor but nevertheless backwards incompatible changes we need to make before upgrading to Scala 3.
- We have to remove
this.type
, we can makecloneType
work as an extension method. This change should be source compatible but is very much not binary compatible (mandating the change be on a major version bump). - Scala 3 doesn't support macro annotations in the same way, so D/I needs to switch to a different implementation. I have prototyped how to do it using whitebox def macros,
@instantiable
and@public
will go away. I think we need to make this change in a major version bump before we try to add Scala 3 support, otherwise I don't see how lots of code will cross-compile which would be a huge pain.
Depending on maintenance burden I would like to support cross-compilation for a while.
from chisel.
I agree that it would be nice to take named arguments, but it's a fundamental limitation of def macros in Scala 2. This fundamental limitation is fixed in Scala 3 so this is a "Wont Fix" in the Scala 2 version of Chisel, but this will be fixed by virtue of upgrading to Scala 3 when we finally do that (hopefully in the coming months).
from chisel.
@jackkoenig is there any info on the Scala 3 upgrade? Is this the 7.0.0 release? Is there any migration plan?
from chisel.
Related Issues (20)
- FixedIO__Module doesn't work with Probe-type top-level ports HOT 1
- ChiselSim does not properly support views (e.g. FlatIO)
- BoringUtils + when/layer/region produces invalid FIRRTL
- PeekPokeAPI expectations don't return the actual test line (or I'm getting it very wrong) HOT 5
- Boring to a FlatIO Port does not properly terminate at the port -- descends into the module
- Inconsistent width for ChiselEnums cast to UInt
- Calling .pad on Bool results in requirement failure with no explanation HOT 1
- Calling .asUInt on a Bool returns the Bool itself (rather than a true UInt) HOT 1
- Unable to enter the nix shell after executing nix develop
- Source line + carat for errors should work for Scala CLI Example
- Probes should print more information about why types are non-equivalent
- It would be nice if ProbeValues of Literals would automatically expand widths
- Publishing is broken HOT 2
- D/I does not work properly for non-IO of type Analog
- FIRRTL bulk connections emitted incorrectly for views of same type but non-identity mapping
- Views of Probes of Aggregates cause Stack Overflow errors
- Modules with `chisel3.experimental.Analog` ports generate error using ChiselSim
- ChiselSim improvements to close the gap to chiseltest
- Incorrect direction for mixed specified and unspecified directionality
- ChiselSim tests runs orders of magnitude slower than chiseltest
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chisel.