Chisel3-创建工程并转换为Verilog代码

2023-11-03

 
基于Intellj IDEA+Scala插件模式开发
 
因为Chisel内嵌于Scala,所以Chisel3的项目实际上是Scala的项目,构建使用sbt。
下面使用官方网站上面的例子Adder,创建第一个项目,并转换成Verilog语言的实现。
 
一. 创建一个基于Scala的项目
 
选择项目的存储位置,JDK, sbt和Scala的版本。版本之所以重要,是因为版本之间的差异很大,并且会引入Bug,所以不建议使用最新的Scala版本(2.12版本的会出现Bug,该Bug与Scala有关,与Chisel无关)。
 
 
点击Finish之后,创建出一个Scala项目。
二. 添加chisel3的库
打开build.sbt文件,添加chisel3的库引用,添加之后如下:
name := "Adder"
 
version := "0.1"
 
scalaVersion := "2.11.12"
 
libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.1.2"
 
修改build.sbt之后,会自动同步下载chisel3相关的库。
 
三. 添加代码文件
Chisel Tutorial repository中拷贝,并添加Adder.scala和FullAdder.scala。
 
四. 在Adder.scala中添加main函数
object Main {
def main(args: Array[String]): Unit = {
println("Generating the Adder hardware")
chisel3.Driver.execute(Array("--target-dir", "generated"), () => new Adder(8))
// chisel3.Driver.execute(Array("--help"), null)
}
}
 
点击执行按钮,即可生成Verilog代码,存放在generated目录下。打开注释的--help,可以查看有哪些参数可以使用。
 
 
Linux命令行下类似,需要手动创建build.sbt文件,然后执行sbt命令构建。
 
PS. Scala语言过于复杂,编译比较慢。所需要的库基本都在国外,中国人需要耐心等待。
 

转载于:https://www.cnblogs.com/wjcdx/p/9595516.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chisel3-创建工程并转换为Verilog代码 的相关文章

随机推荐

  • 萌新学Python(导读(也就是1))——关于Python和编辑器

    欢迎加入QQ学习交流群 与我们一起学习 一起进步吧 群号 225361733 可以QQ扫一扫加入群聊哦 在这里查看专栏 戳我查看 在作者的个人网站阅读 http sl21280549 icoc vc nd jsp id 1 np 2 325
  • 解决k8s"failed to set bridge addr: "cni0" already has an IP address different from 10.244.1.1/24"

    测试环境由于机房断电 导致对应虚拟机暴力重启 之后所在k8s服务error 查看系统日志 发现k8s三个节点的flannel文件均丢失 1 首先我们重新配置k8s的flannel文件 可以参考其他环境的文件配置 也可以重新安装插件生成 会在
  • sonar-scanner 历史版本下载地址

    https binaries sonarsource com Distribution sonar scanner cli
  • 关于pojo中字段全部为包装类型

    我的个人网站 http riun xyz 阿里巴巴JAVA开发手册中写道 关于基本数据类型与包装数据类型的使用标准如下 1 强制 所有的 POJO 类属性必须使用包装数据类型 2 强制 RPC 方法的返回值和参数必须使用包装数据类型 3 推
  • Unity导航的一些重要节点

    导航停止和开始 NavMeshAgent isStopped get set 设置导航的目标方向 NavMeshAgent SetDestination target position 设置导航的移动速度 NavMeshAgent spee
  • win10系统怎样彻底关闭更新

    永久关闭 永久关闭 永久关闭 小编亲测有效 一 禁用Windows Updade服务 1 同时按住Win R 打开运行对话框 输入命令services msc 点击确定按钮 2 找到Windows Updade这个名称 双击打开 3 点击
  • gmock的使用

    一 Mock的介绍 Mock 更确切地说应该是Mock Object 它究竟是什么 它有什么作用 Mock的是仿真的意思 而google mock是用来配合google test对C 项目做单元测试的 比如当我们在单元测试 模块的接口测试时
  • 【已解决】(class file version 53.0), this version of the Java Runtime only recognizes class file

    运行testngxml文件报错 org openqa selenium SessionNotCreatedException Unable to create a new remote session Please check the se
  • HTTP状态 404 - 未找到 类型 状态报告 消息 请求的资源[]不可用 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。 Apache Tomcat/8.5.70

    项目场景 Idea启动javaweb 程序报错 HTTP状态 404 未找到 类型 状态报告 消息 请求的资源 不可用 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示 Apache Tomcat 8 5 70 问题
  • IntelliJ IDEA Diagrams的使用

    最近打算整理一下Java的容器类 需要画出容器类的UML类图 找了一下画UML的软件 感觉都不太满意 正好发现IDEA自带的类图分析插件Diagrams可以画类图 而且使用体验还不错 IDEA社区版不支持该功能 1 设置Diagrams 打
  • ssh访问:Connection reset by peer

    vmuser ecs 20b8 0925722 xml ssh vmuser 10 133 0 69 ssh exchange identification read Connection reset by peer 场景 A访问B 突然中
  • [转]IDEA中git的Cherry-Pick的使用

    目录 1 合并分支有两种操作 2 Cherry Pick的作用 3 Cherry Pick的使用 3 1 场景 3 2 操作 3 4 cherry pick 代码合并完毕 cherry pick 分支上的部分提交 1 合并分支有两种操作 一
  • Unity发布WebGL不显示中文字体问题

    在Unity发布WebGL的时候中文不能够显示 主要在于字体的设置 Unity默认的字体是Arial字体 首先想到的是字体类型不对 接下来更换字体 解决方案 1 在Asset下创建文件夹 Font 2 导入你从网上下载的或者本地字体 3 更
  • 怎么将ajax值保存到数据库,ajax数据保存到数据库

    回答 领导给的思路是 将导入的数据保存到一个表里 然后Ajax不停的进行读取 可是这个思路不知道该如何实现 也不知道该如何查 这个Ajax轮询可以做吗 Ajax轮询是什么 还请大家多多指点 谢谢大家 a123456678 2019 12 0
  • matlab曲线拟合

    曲线拟合不要求逼近函数通过各采样点 但要求尽量的接近这些点 使误差在某种意义上达到最小 一 利用函数的方式实现曲线拟合 在matlab中 用polyfit函数来求得最小二乘拟合多项式的系数 再用polyval函数按所得的多项式计算所给点上的
  • Go语言面试题--进阶语法(33)

    文章目录 1 下面哪一行代码会 panic 请说明原因 2 下面的代码输出什么 3 下面的代码输出什么 4 下面哪一行代码会 panic 请说明原因 1 下面哪一行代码会 panic 请说明原因 package main func main
  • 无监督学习分类

    无监督学习的核心思想是构建出一个与待测样本最相近的 模板 与之比较 根据像素或特征的差异性实现缺陷得到检出与定位 根据维度不同 分为两种方法 1 基于图像相似度的方法 该方法在图像像素层面进行比较 核心思想是重建出与输入样本最相近的正常图像
  • 13.s日志查询

    mysql慢查询 慢查询日志是MySQL提供的一种日志记录 它用来记录在MySQL中相应时间超过时间阈值的语句 具体指运行时间超过long query time值的SQL 则会被记录到慢查询日志中 具体指运行时间超过long query t
  • OTT不允许做电视频道直播,但活动直播并未有文件禁止

    根据广电总局文件 OTT不允许做直播 但看到各种体育直播 活动直播在OTT盒子上却很多 一直以来 一直纳闷活动直播是否应该归为直播 今天听了下OTT牌照商的朋友 关于这个问题的看法 电视频道直播目前在OTT上是绝不允许做的 这个总局有文件规
  • Chisel3-创建工程并转换为Verilog代码

    https mp weixin qq com s ie0R3v60IcrI6beTXHrgSg 基于Intellj IDEA Scala插件模式开发 因为Chisel内嵌于Scala 所以Chisel3的项目实际上是Scala的项目 构建使