Comments (12)
Unfortunately, pulling the chisel3 JAR from Maven is not enough since it doesn't contain all the dependencies of Chisel. (Those JARs are referred to as 'fat jars'.)
Thankfully there is another option to enable single-file Chisel designs without sbt, and you can check out the demo here: https://github.com/edwardcwang/chisel-single-file
By default though we still recommend the full Chisel template as it provides a standardized structure for building and testing your designs.
from chisel-tutorial.
Unfortunately for most real development projects, trying to collect all the non-fat JARs manually isn't very feasible, which is why tools like maven, sbt, and ammonite sprung up. See https://stackoverflow.com/questions/3589562/why-maven-what-are-the-benefits for an example of the sorts of issues involved.
from chisel-tutorial.
We could make a mill build.sc
for the tutorial. Still a build tool but generally nicer to use than sbt.
from chisel-tutorial.
I'd suggest starting with chisel-bootcamp. The examples are newer and it is the primary place to learn chisel. It should get you going without any need to use sbt.
from chisel-tutorial.
God blessing !
It works OK when I degrade scala ftom 2.12 to 2.11.
I create a repo on 'https://github.com/balanx/chisel-make'.
GCD runs success with ~28MB jars only.
thanks all
from chisel-tutorial.
@edwardcwang, thanks for your reply, it works.
where is the downloading directory of jar files ? I can't find them in ~/..ammonite .
from chisel-tutorial.
Many Scala tools including ammonite and sbt use ~/.ivy2/cache
as a cache directory for downloaded JARs.
from chisel-tutorial.
amm has downloaded dependency jar file from maven. I copy all .jar to ./lib and scalac again.
scalac -classpath "\ ./lib/antlr-runtime-3.5.2-sources.jar;\ ./lib/antlr-runtime-3.5.2.jar;\ ./lib/antlr4-4.7.1-sources.jar;\ ./lib/antlr4-4.7.1.jar;\ ./lib/antlr4-runtime-4.7.1-sources.jar;\ ./lib/antlr4-runtime-4.7.1.jar;\ ./lib/chisel3_2.11-3.1.6-sources.jar;\ ./lib/chisel3_2.11-3.1.6.jar;\ ./lib/firrtl_2.11-1.1.6-sources.jar;\ ./lib/firrtl_2.11-1.1.6.jar;\ ./lib/icu4j-58.2-sources.jar;\ ./lib/icu4j-58.2.jar;\ ./lib/javax.json-1.0.4-sources.jar;\ ./lib/javax.json-1.0.4.jar;\ ./lib/joda-convert-1.2-sources.jar;\ ./lib/joda-convert-1.2.jar;\ ./lib/joda-time-2.9.4-sources.jar;\ ./lib/joda-time-2.9.4.jar;\ ./lib/json4s-ast_2.11-3.5.3-sources.jar;\ ./lib/json4s-ast_2.11-3.5.3.jar;\ ./lib/json4s-core_2.11-3.5.3-sources.jar;\ ./lib/json4s-core_2.11-3.5.3.jar;\ ./lib/json4s-native_2.11-3.5.3-sources.jar;\ ./lib/json4s-native_2.11-3.5.3.jar;\ ./lib/json4s-scalap_2.11-3.5.3-sources.jar;\ ./lib/json4s-scalap_2.11-3.5.3.jar;\ ./lib/logback-classic-1.2.3-sources.jar;\ ./lib/logback-classic-1.2.3.jar;\ ./lib/logback-core-1.2.3-sources.jar;\ ./lib/logback-core-1.2.3.jar;\ ./lib/moultingyaml_2.11-0.4.0-sources.jar;\ ./lib/moultingyaml_2.11-0.4.0.jar;\ ./lib/nscala-time_2.11-2.14.0-sources.jar;\ ./lib/nscala-time_2.11-2.14.0.jar;\ ./lib/org.abego.treelayout.core-1.0.3-sources.jar;\ ./lib/org.abego.treelayout.core-1.0.3.jar;\ ./lib/paranamer-2.8-sources.jar;\ ./lib/paranamer-2.8.jar;\ ./lib/scala-logging_2.11-3.7.2-sources.jar;\ ./lib/scala-logging_2.11-3.7.2.jar;\ ./lib/slf4j-api-1.7.25-sources.jar;\ ./lib/slf4j-api-1.7.25.jar;\ ./lib/snakeyaml-1.17-sources.jar;\ ./lib/snakeyaml-1.17.jar;\ ./lib/ST4-4.0.8-sources.jar;\ ./lib/ST4-4.0.8.jar;\ " -d classes src/intro/GCD.scala
I got the same eror again :( :(
can I have a simple way to generate verilog ?
from chisel-tutorial.
This looks to me like the pesky -Xsource:2.11
issue. Scala 2.12 changed semantics for anonymous bundles (relied on structural types working in a more permissive way).
In ammonite, the magic incantation is
interp.configureCompiler(x => x.settings.source.value = scala.tools.nsc.settings.ScalaVersion("2.11.12"))
. In sbt, scalacOptions += "-Xsource:2.11"
should work.
from chisel-tutorial.
thanks all for your reply.
I used ammonite on os: windows 10 / cygwin-64 / java 1.8.151 / scala 2.12.8
amm give me an error,
java.io.IOException: Cannot run program "powershell.exe": CreateProcess error=2, The system cannot find the file specified
Why can't amm use bash in cygwin ?
then I add powershell to cygwin PATH var, amm run ok. I found
default home directory,
C:\Users\Administrator.ammonite
all .jar file downloaded in the position,
C:\Users\Administrator\AppData\Local\Coursier\cache
they are different directory !!
can I put the downloading .jar dir to other place specified by command option ?
I've tried option '--home', it didn't work.
from chisel-tutorial.
I'm not sure what's going on there as I am not a windows user. I think we generally advise windows users to use WSL- sometimes it is necessary to use verilator for simulations, and verilator on windows is tricky unless you use WSL. I suspect it would also resolve the issues you're seeing.
from chisel-tutorial.
bad things ! we can't leave sbt.
I feel Chisel is neither a library nor a new language now.
long long way to go.
from chisel-tutorial.
Related Issues (20)
- error sbt run HOT 2
- Error on generating Verilog HOT 2
- question about Firrtl(IR) optimization HOT 11
- sbt run get error HOT 2
- firrtl.passes.CheckInitialization$RefNotInitializedException
- Need a consistent naming convention on variables HOT 1
- how to read a text file whose contents represents an array in testcase
- how to run chisel-tutorial in the IntelliJ IDE with Scala and SBT plug-ins? HOT 4
- why the code of VendingMachineSwitch.scala in the tutorial generate if-else statement instead of case statement HOT 2
- xorR is broken in chisel-tutorial
- How to use Seq as Seq(0.U, 1.U, 2.U)(Cat(x(1),x(6,5))) in chisel?
- Risc example broken with treadle backend
- sbt run fails with EvalException HOT 9
- I hope to study chisel but i can't start. please help me. HOT 2
- not found: type SwitchContext HOT 3
- make -jN run Error and cannot locate project 'chisel' in 'chisel3' directory
- Is there any method to prevent the generation of lot of directory when using chisel PeekPokeTester?
- "chisel-iotesters" -> "1.4.1+" in build.sbt breaks Vec code (which is also in your solutions)
- iotesters.Driver has deprecated in Chisel 3.5.3, should this tutorial changed to ChiselStage?
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-tutorial.