Chisel3-Intellij IDEA中使用sbt构建Chisel项目

https://mp.weixin.qq.com/s/gssjiiPW6zUzKwCFZdNduw

1. 使用Intellij IDEA创建Scala项目

Chisel项目,就是构建Scala项目。Intellij IDEA支持使用Maven等多种方式构建Scala项目:

??

??

这里选择Maven和IDEA,都可以很方便的构建项目。尤其是使用IDEA构建项目,不需要额外的下载,直接编写Scala代码,即可完成编译运行。

很遗憾的是,Chisel3的库对sbt有依赖(比如依赖sbt生成的BuildInfo信息),无法使用其他构建方式。

创建一个使用sbt构建的Scala项目的步骤如下:

??

??

??

需要注意的是Chisel3的库在Scala 2.12+版本上会出问题,所以这里我们选择2.11的最后一个版本2.11.12.

点击Finish之后,项目创建即完成,等待Intellij IDEA同步完成即可。(可能下载需要的库,需要耐心等待)

??

2. sbt shell窗口

点击下方的sbt shell按钮,即可打开sbt窗口。通过这个窗口可以下sbt命令。

初次打开窗口,如同执行sbt命令,加载系统以及当前项目的设置,下载需要的库之后,进入等待状态。等待用户执行构建命令。

??

??

可以通过左侧的命令按钮重启和关闭sbt shell。

执行tasks,显示可以执行的命令:

??

这里简单介绍,其他可以自行搜索。

3. 添加chisel3库依赖

打开build.sbt,添加如下行:

libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.1.2"

如下:

??

之后,Intellij IDEA右下角会提示,是否引入修改:

??

引入修改的意思是检查修改,应用修改后的配置。这次修改就是要下载需要的库,即chisel3-3.1.2.jar

可以选择Import Changes单次引入修改,也可以选择Enable Auto-Import以后每次修改build.sbt都自动引入修改。选择之后会自动下载所依赖的库。

??

PS. 猜想:也可以不理会这两个选项,直接在sbt shell中,执行update命令,或者重启sbt shell,都可以引入修改并下载所需要的库。但亲试不可行,不明就里,这里不再深究。

4. 添加FullAdder.scala

从chisel-tutorial中拷贝FullAdder.scala到src/main/scala目录下,

??

打开Structure窗口可以看到类结构:Class FullAdder,有5个Variable成员。

??

5. 测试Intellij IDEA直接构建

可以直接在FullAdder中添加一个Main object定义main函数,

??

点击三角符号执行:

??

预期是能成功。但是我这边执行出错,

??

暂时不予理会。

6. 使用sbt shell构建

compile:

??

run:

??

成功了。

看来Intellij IDEA对sbt的整合,还有一些小问题。好在提供了sbt shell供使用。

此时再次使用三角执行符号直接执行,又能成功:

??

??

可能是因为sbt shell做了一个packaging的动作。

7. 使用Chisel3 Driver

Chisel3 Driver类提供了很多功能供使用,如转换成firrtl, verilog等。

??

看下execute函数的签名:

??

其中args是String数组,执行时的参数。dut的类型为函数:() => RawModule,即没有参数,返回RawModule的函数。

这里我们直接把参数执行main函数时提供的参数,传递给execute函数。这样可以直接改变执行时的参数。

通过sbt shell执行run --help

??

??

其中-X即--compiler参数默认为verilog,即生成Verilog代码。如果选择sverilog,则生成SystemVerilog代码。

各项参数可以自行阅读。

执行 --target-dir generated --compiler verilog:

??

可以看到,已经生成了Verilog代码:

??

8. 附录:代码如下

(略)

原文地址:https://www.cnblogs.com/wjcdx/p/10023843.html

时间: 2024-11-08 11:08:05

Chisel3-Intellij IDEA中使用sbt构建Chisel项目的相关文章

sbt 构建scala 项目

环境:CentOS 6.3, Scala 2.10.3, Eclipse 1. Scala 安装 如果还没有安装Scala, 请打开以下链接,找到scala安装部分进行安装. http://blog.csdn.net/zlcd1988/article/details/21177187 2. sbt 安装 $ cp -r sbt /usr/lib/ $ tar -xvf sbt-0.13.5.tgz $ export SBT_HOME=/usr/lib/sbt $ export PATH=$PAT

利用Eclipse中的Maven构建Web项目(一)

利用Eclipse中的Maven构建Web项目 1.新建一个Maven Project,"New-->Other..." 2.选择"Maven Project" 3.选择项目路径 Usedefault Workspace location默认工作空间, 选择项目类型 在Artifact Id中选择maven-archetype-webapp 4.分别输入Group Id.Artifact Id和Package,单击"Finish" 5.Ma

利用Eclipse中的Maven构建Web项目(二)

利用Eclipse中的Maven构建Web项目 1.新建源文件夹,Java Resources鼠标右键,"New-->Source Folder" 2.新建src/main/java   src/main/resources  src/test/java  src/test/resources四个源包 3.双击每个文件夹的Output folder,选择路径 src/main/java和src/main/resources,选择路径target/classes; src/test

利用Eclipse中的Maven构建Web项目(三)

利用Eclipse中的Maven构建Web项目 1.将Maven Project转换成动态Web项目,鼠标右键项目,输入"Project Facets" 2.根据Dynamic Web Module的版本修改Java Compiler中的"Compiler compliance level"的版本 3.设置部署程序集(Web Deployment Assembly),删除含有"test" 4.将Maven的jar包发布到lib下, "A

利用Eclipse中的Maven构建Web项目报错

利用Eclipse中的Maven构建Web项目 1.在进行上述操作时,pom.xml一直报错 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.o

利用Eclipse中的Maven构建Web项目报错(二)

利用Eclipse中的Maven构建Web项目 1.错误描写叙述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1 [INFO] [INFO] ---------------------------------

使用SBT构建Scala项目

既然决定要在Scala上下功夫,那就要下的彻底.我们入乡随俗,学一下SBT.sbt使用ivy作为库管理工具.ivy默认把library repository建在user home下面. 安装SBT 在SBT的官网(http://www.scala-sbt.org/)下载相应版本的SBT. Windows环境下建议配置SBT的环境变量.(windows上搞开发真是越发蛋疼.)具体步骤不说了,就是把sbt/bin目录配置进PATH. 在sbt/bin下有个sbt.bat,查看该bat文件.可以了解到

IntelliJ IDEA 17和Maven构建javaWeb项目

前言 电脑又断电了,眼看着写好的东西就没有了,这是第二次犯这个错误了.很难受呀!还是回到正题吧,我们来使用IDEA和Maven构建一个JavaWeb项目 软件环境: IDEA:2017.2.1 JDK:1.8.0_91 Maven:3.3.9 一.Maven配置 1.1.Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工作,其常用命令如下: - mvn

windows中安装yeoman构建angularJs项目

yeoman是什么东西我在這里就不介绍了,网上一搜一大把,我们直接进入正题. 一.环境配置 (1).Ruby,下载地址:http://rubyinstaller.org/downloads/   ? 1.1.安装文件直接安装就好了,命令行输入 ruby --version可以看到版本就安装成功,否则请设置环境变量(此不详说) 1.2. 设置gem源为淘宝的ruby源, cmd中输入如下内容     gem sources --add https://ruby.taobao.org/ --remo