Comments (7)
Hi all. Sorry about the breakages with ChiselTest. ChiselTest, from the perspective of the Chisel developers, was not intended to be used beyond Chisel 3.6. ChiselSim was built as a lightweight, maintained replacement in Chisel 5. Please migrate to ChiselSim. More information about the background of this issue and a migration guide is now provided here: http://www.chisel-lang.org/docs/appendix/migrating-from-chiseltest.
If there are features you want/need with ChiselSim (e.g., enqueueSeq
/dequeueSeq
or fork
/join
), please open issues or consider contributing these features to the project.
The chipsalliance/chisel-template
has been migrated to use ChiselSim.
from chisel.
chiseltest sbt publishLocal needs the following patch:
diff --git a/src/main/scala/treadle2/stage/phases/GetFirrtlAst.scala b/src/main/scala/treadle2/stage/phases/GetFirrtlAst.scala
index 388846a..ed856f9 100644
--- a/src/main/scala/treadle2/stage/phases/GetFirrtlAst.scala
+++ b/src/main/scala/treadle2/stage/phases/GetFirrtlAst.scala
@@ -38,7 +38,7 @@ object GetFirrtlAst extends Phase {
def handleFirrtlFile(): Option[AnnotationSeq] = {
annotationSeq.collectFirst { case FirrtlFileAnnotation(fileName) => fileName } match {
case Some(fileName) =>
- val file = io.Source.fromFile(fileName)
+ val file = scala.io.Source.fromFile(fileName)
val text = file.mkString
file.close()
firrtl2 needs the following patch:
diff --git a/build.sbt b/build.sbt
index 895191b0..ffe0d80c 100644
--- a/build.sbt
+++ b/build.sbt
@@ -4,7 +4,7 @@ enablePlugins(SiteScaladocPlugin)
lazy val commonSettings = Seq(
organization := "edu.berkeley.cs",
- scalaVersion := "3.2.2",
+ scalaVersion := "2.13.12",
crossScalaVersions := Seq("2.13.10", "3.2.2")
)
@@ -100,8 +100,7 @@ lazy val docSettings = Seq(
Compile / doc / scalacOptions ++= Seq(
// ANTLR-generated classes aren't really part of public API and cause
// errors in ScalaDoc generation
- "-skip-packages",
- "firrtl2.antlr",
+ "-skip-packages:firrtl2.antlr",
"-Xfatal-warnings",
"-feature",
"-diagrams",
After that my project fails with:
[info] java.lang.NoClassDefFoundError: chisel3/internal/firrtl/Width
From my point of view this issue is far from completed.
My wishlist:
- Before releasing a new Chisel version, keep at least chisel-template and chiseltest working. (Alternatively: How are you testing at SiFive and Berkeley?)
- At least keep chiseltest compiling.
- Similarly keep firrtl2 compiling.
- Don't fork an old compiler just.
4a. Using Scala 3 makes the forked compiler incompatible to the rest of Chisel/chiseltest/...
As for now I'm staying at 5.1.0, and I hope you consider not breaking external projects in the future.
from chisel.
It seems chiseltest is not supported anymore and svsim should be used.
Anyway chisel-template (which should be kept up to date) is still using chiseltest.
from chisel.
This is a binary compatibility issue, please see Chisel's versioning policy: https://www.chisel-lang.org/docs/appendix/versioning
Basically, binary compatibility breaks between major versions, so ChiselTest compiled for Chisel 5.x will not work with Chisel 6.x. Kevin has indicated intent to release ChiselTest for Chisel 6: ucb-bar/chiseltest#699.
from chisel.
Love your comment's wishlist number 1 in particular, @gonsolo....
Releasing Chisel 6 without having any structured means by which to perform assurance is gonzo. CC @schoeberl (Hi Martin!)
from chisel.
Hi Joseph (@kiniry), what is your interest in Chisel?
from chisel.
Hey @schoeberl! Remember me from DTU? We hardly got to talk while I was working there for a year before joining Galois ten years (!) ago.
We have used Chisel at Galois on several Government-funded R&D projects I have run for the past eight years or so, including taping out several interesting ASICs. E.g., we were responsible for the six SoCs (plus OSs, development toolchains, improvements to clang to support RISC-V, and much more) provided by the Government to DARPA SSITH performers, and we simulated those SoCs in AWS for DARPA FETT, for which we built the entire infrastructure.
We are currently using Chisel on the [DARPA AISS[(https://www.darpa.mil/program/automatic-implementation-of-secure-silicon) program, as we are developing a product line of hardware security engines. Thus, I need to be able to automatically generate model-based test benches and verification benches from our RDE (formally-grounded) designs/models.
While we can go from RDE models to SVA-based benches (or, yuck, UVM), I'd rather push toward stronger integration of Chisel-centric assurance in this project, thus my nudge on this issue.
from chisel.
Related Issues (20)
- Chisel5.1.0 cannot emit verilog HOT 5
- Request a DPI Intrinsic Module
- firtool 1.61.0 failes on "Unknown command line argument '-dedup'" when generating verilog HOT 12
- How to generate "only" verilog file when useing emitVerilog api HOT 1
- Error creating Instance inside an Instance HOT 2
- Chisel website home description HOT 1
- Inconsistent behavior about zero-width operands HOT 3
- Memories are merge into single one after FIRRTL stage
- Incorrect codegen for signed operations mixed with unsigned HOT 2
- Problem Regarding n-to-1 Multiplexer HOT 1
- [Panama] Request to bind InstanceGraph API from CIRCT. HOT 2
- RegEnable does not take named arguments HOT 3
- How to create a BundleLiteral where Bundle contains Option[Data] field HOT 1
- Public is Incorrectly Applied to Definitions
- Verilator requires a C++14 or newer compiler HOT 1
- The default C++ Standard flags in svsim is outdated for verilator HOT 3
- How to generate unoptimzed SystemVerilog file when useing Chisel 6 HOT 4
- DataMirror.checkTypeEquivalence is incorrect when using Optional fields
- node requested directionality on 'FlitTypes' must be hardware, not a bare Chisel type. Perhaps you forgot to wrap it in Wire(_) or IO(_)? HOT 1
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.