chisel开发环境搭建(intellij)

2023-11-10

介绍

chisel语言是一种硬件描述语言,是由美国加州大学伯克利分校基于scala语言开发的;学习这种语言,需要一定的编程基础,最好有java或scala语言基础;

目录

1.相关概述
	1.1 安装环境说明
	1.2 参考资料
2.安装intellij
	2.1 安装jdk1.8
	2.2 安装intellij
	2.3 申请学生免费授权
3.安装scala支持
4.安装chisel支持

1.相关概述

1.1 安装环境说明

<1> 操作系统版本: Ubuntu-16.04
<2> java版本:jdk-1.8
<3> intellij版本:2017.3.6 for Linux without JDK (tar.gz)
<4> scala-sdk版本:v2.11.8

1.2 参考资料

<1> intellij下载地址:https://www.jetbrains.com/idea/download
<2> 学生免费授权申请地址:https://www.jetbrains.com/zh/student/

2.安装intellij

2.1 安装jdk1.8:

<1>下载java se工具:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
<2>解压:tar -xvf jdk-8u161-linux-x64.tar.gz
<3>设置路径:

vim ~/.bashrc	
	#JAVA
	export JAVA_HOME=$HOME/Java/jdk1.8.0_161/
	export JRE_HOME=$JAVA_HOME/jre
	export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
	export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:.
source ~/.bashrc
javac -version

2.2 安装intellij

<1> sudo tar -xf ideaIU-2017.3.4-no-jdk.tar.gz
<2> sudo mv idea-IU-173.4548.28 /opt
<3> cd /opt/idea-IU-173.4548.28/bin
<4> ./idea.sh

2.3 申请学生免费授权

<1> 进入申请网站,点击“立即申请”,并按照要求填写“学校邮箱”和“个人信息”等资料,最终获得license code
<2> 打开intellij->configure->manage license->Activation code,输入license code

3.安装scala支持

<1> 使用intellij打开任意一份scala代码文件,intellij提示你“未安装scala支持,是否安装”,如下图,请选择安装;
在这里插入图片描述
<2> 创建新工程,点击”Create New Project“
在这里插入图片描述
<3> 先选scala工程,再选IDEA方式创建
在这里插入图片描述

<4> 设置工程名、工程地址、JDK版本、Scala SDK版本
在这里插入图片描述
<5> 如果sdk没有安装请选择Create->download,下载并安装
在这里插入图片描述
<6> 点击finish,创建scala工程成功
在这里插入图片描述
<7> 右击src->new->scala class,选择为object,命名为”helloworld“
在这里插入图片描述

<8> 编写程序,打印”hello world“, 并右击run,运行程序
在这里插入图片描述

4.安装chisel支持

<1> 首先按照 “3.安装scala支持” 的介绍,创建chisel工程,不过在第二步需要选择“sbt”,而不是“IDEA”
在这里插入图片描述
<2> 创建chisel工程后,打开build.sbt,并添加上下面三句,并等待库更新

scalaVersion := "2.11.12"
libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.1.2"
libraryDependencies += "edu.berkeley.cs" %% "chisel-iotesters" % "1.2.3"

在这里插入图片描述
<4> 编写程序,打印”nihao“和“hello”, 并右击run,运行程序
在这里插入图片描述

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

chisel开发环境搭建(intellij) 的相关文章

  • Chisel(四)Scala语法 操作符

    学习更多相关知识 关注博主知乎账号 用户名Trustintruth https www zhihu com people suo yi xin 90 activities Scala追求的是纯粹的面向对象 不推荐不属于面向对象的基本类型及其
  • chisel相比verilog优势之一:复用特性

    0 绪论 世界由于人这个最大的无厘头变量 还是比技术本身复杂难懂很多 各种技术的兴起与发展总是有其背后的理由的 这篇文章是这个系列的第三篇文章 主要来说明Chisel比Verilog在某些方面具有优势的理由 换句话说 为什么要用Chisel
  • 第十七章 Chisel基础——数据类型

    一 Chisel的常见问题 在学习Chisel前 应该熟悉一些常见问题 这些问题在编写Chisel的任何时候都应该牢记 Chisel是寄宿在Scala里的语言 所以它本质还是Scala 为了从Chisel转变成Verilog 语言开发人员开
  • chisel开发环境搭建(intellij)

    chisel开发环境搭建 介绍 目录 1 相关概述 1 1 安装环境说明 1 2 参考资料 2 安装intellij 2 1 安装jdk1 8 2 2 安装intellij 2 3 申请学生免费授权 3 安装scala支持 4 安装chis
  • Intellij IDEA 2019无法联网,无法下载插件问题解决办法

    Intellij IDEA 2019无法联网 无法下载插件问题解决办法 非法不多说直接上图 第一步 第二步 2019 2 之后没有这一步 第三步 记得重启哦 lt 完 gt
  • 单周期RISC-V架构CPU的设计---设计篇

    目录 一 模块设计 1 pc reg v 1 1 功能说明 1 2 整体框图 1 3 接口列表 1 4 内部信号说明 1 5 关键电路 2 id v 2 1 功能说明 2 2 整体框图 2 3 接口列表 2 4 内部信号说明 2 5 关键电
  • 第二十章 Chisel基础——生成Verilog与基本测试

    经过前三章的内容 读者已经了解了如何使用Chisel构建一个基本的模块 本章的内容就是在此基础上 把一个Chisel模块编译成Verilog代码 并进一步使用Verilator做一些简单的测试 一 生成Verilog 前面介绍Scala的内
  • RISC-V嵌入式开发准备篇2:嵌入式开发的特点介绍

    原文出处 https mp weixin qq com s ljYZwMj3JaPN29dTAXA3bQ 随着国内第一本RISC V中文书籍 手把手教你设计CPU RISC V处理器篇 正式上市 越来越多的爱好者开始使用开源的蜂鸟E203
  • Chisel手册之Types

    本文是Chisel手册第二篇Types Types 表示硬件设计的Chisel图包含原始节点和类型节点 Chisel类型系统与底层Scala类型系统分开维护 因此类型节点散布在原始节点之间 以允许Chisel检查并响应Chisel类型 Ch
  • IntelliJ IDEA出现红色字体解决办法

    如图所示 问题 ApiModel显示红色 点击alt enter提示需要添加io swagger包到classpath中 因为在pom xml中没有把此包引入 如图 解决方案 在pom xml中添加io swagger包 经历1 当我根据I
  • RISC-V:PC 绝对值与 PC 相对值

    我是 RISC V 新手 我无法理解何时写入 PC 程序计数器 相对指令以及何时写入 PC 绝对指令 例如 一条指令lui其次是jalr考虑指令PC 绝对 以及一条指令auipc其次是jalr考虑指令相对于PC 据我了解 所有指令都将由 P
  • 了解用于函数调用的 auipc+jalr 序列

    我试图阅读RISC V生成的程序集gcc我发现gcc创建序列auipc jalr对于某些函数调用 我不明白它是如何工作的 这是一个简单的例子 考虑以下C源文件 unsigned long id unsigned long x return
  • 如何用GDB调试交叉编译的QEMU程序?

    我在使用 GDB 调试 QEMU 中运行的简单程序时遇到问题 GDB似乎无法找到我在程序中的位置 因为它总是显示 作为我当前的位置 并且它永远不会达到我设置的任何断点 在一个终端中 我运行 QEMU cat add c int main i
  • 测试工具中的 Chisel 运行时错误

    This Chisel https chisel eecs berkeley edu 代码工作正常 chiselMainTest Array String backend c genHarness gt Module new Cache n
  • RISC-V 使用 LUI 和 ADDI 构建 32 位常量

    LUI 加载立即数 用于构建32位常量并使用U型格式 LUI 将 U 立即数放入目标寄存器 rd 的高 20 位 并用零填充最低 12 位 我在手册中找到了这个 但是如果我想将 0xffffffff 移动到寄存器 我需要的所有代码是 LUI
  • 在 C 中实现 SB 型 riscv 指令

    我遇到了一些问题 我尝试将 32 位二进制解码为 RISCV 架构集中的 SB 类型指令 我已经移动了操作码 imm rs1 rs2 和 rd 值 但未能获得正确的 IMM 值 例如对于以下 32 位二进制 1111111000000111
  • RISC V手册混淆:指令格式VS立即数格式

    我有一些与 RISC V 手册相关的问题 它有不同类型的指令编码 如R型 I型 就像MIPS编码一样 R type 31 25 24 20 19 15 14 12 11 7 6 0 funct7 rs2 rs1 funct3 rd opco
  • RISC-V指令集中的FENCE指令是什么意思?

    在浏览 RISC V ISA 时 我在内存模型部分看到了一条指令 FENCE 指令 它到底是什么意思 RISC V ISA 使用宽松的内存模型 其中一个线程执行的加载和存储的顺序在另一个线程看到时可能不同 这样做是为了启用提高内存系统性能的
  • 零/符号扩展是无操作的,为什么要为每种大小类型提供指令呢?

    对于 x86 和 x64 编译器生成类似的零 符号扩展 MOVSX 和 MOVZX 扩展本身并不是免费的 但允许处理器执行无序魔法加速 但在 RISC V 上 因此 无符号和有符号 32 位整数之间的转换是无操作 从有符号 32 位整数到有
  • 数组和结构体可以以不同的方式初始化吗?

    我的问题可能看起来很奇怪 事实上 这是上下文 我目前在切换时遇到一个奇怪的问题 关于我正在从事的项目 核心从pullinino到CV32 也发生了一些其他变化 例如关于crt0 如一些数据内存重置 这是一个 真实的 例子 说明了一个非常简单

随机推荐

  • 网络编程 - Java SSLSocketFactory 创建方式

    SSL TLS 认证需要服务端提供 KeyStore jks TrustStore jks 实现方式 优缺点 服务端提供 CA Client CRT Client Key 文件 缺点 服务端提供原始签名 不安全不建议采用 服务端提供 Key
  • linux $0命令,Linux:awk命令详解

    简单使用 awk 对于文件中一行行的独处来执行操作 awk F print 1 4 使用 来分割这一行 把这一行的第一第四个域打印出来 AWK命令介绍 awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息 awk抽取信息后 才
  • 2023最新pycharm详细安装教程,小白必看

    一 python官网 Python官网主要有python的About 简介 Downloads 下载 Documentation 文档 Community 团体 Success Stories 成功案例 News 新闻 Events 事件动
  • 贪吃蛇智能版(专家)

    在高级版本的基础之上 主要针对以下问题进行了处理 当长度逐渐变成 超过100之后 随机wander 追尾有比较大的随机性 弄不好就把自己围死了 这个时候已经不能再看到实物马上就去吃了 在吃之前必须先调整好自身的状态 等到认为调整的差不多的时
  • 如何在sqlserver建立新用户并关联相应的数据库

    我们经常需要在数据库上建立有权限的用户 该用户只能去操作某个特定的数据库 比如该用户只能去读 去写等等 那么我们应该怎么在sqlserver上设置呢 下面的步骤有点长 只要一步一步跟着设置就行 方法 步骤 如果你没有开通sqlserver身
  • GoWeb开发-3.JWT

    1 导入依赖库 go get u github com dgrijalva jwt go 2 生成token import fmt github com gin gonic gin jwt github com dgrijalva jwt
  • 将树莓派上的文件发送到服务器,怎样将树莓派变成网络文件系统版本4服务器...

    简介 网络文件系统 NFS 可以同时在版本2 3 4中运行 NFS版本4 NFSv4 在NFSv2和NFSv3 我最喜欢的改进是 NFSv4使配置防火墙变得简单 因为NFSv4仅使用一个端口 默认为2049 而NFSv2和NFSv3使用4个
  • 搭建 llvm 学习环境

    1 下载llvm git clone https github com llvm llvm project git 因为国内网络的原因 clone的时候没有反应 可以多此 Ctrl C 重新 clone 2 下载安装cmake 注意 下载的
  • 毕业设计-基于学习元的双螺旋深度学习模型

    目录 前言 课题背景和意义 实现技术思路 一 基于学习元的深度学习支撑系统 二 双螺旋深度学习模型 三 深度学习的开放课程设计实践 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备
  • 网页打开摄像头_听说,考试的时候你打不开摄像头?

    近期真没什么可写的 赶在考试之前就来说一说雨课堂打不开摄像头如何解决吧 先推荐一个检测浏览器摄像头权限的网址 https assistant ceping com qrcode type 1 lng zh 如果在这个网址下摄像头一切正常 雨
  • uplift model增益模型相关术语概念名词汇总

    因果推断 增益模型综述 http proceedings mlr press v67 gutierrez17a gutierrez17a pdf 名词 缩写 英文全称 名词解释 备注 treatment 干预 实验组 control 不干预
  • vscode代码发送至微信开发者工具无法识别mqtt服务器地址(无论正确服务器地址还是错误地址,均不报错也不连接)

    调试器可以正常显示报错 并且小程序界面一也可以更新UI 但是唯独不更新服务器部分的错误 未搜索到相似问题 个人尝试出了一个解决办法 解决了我个人的这个问题 不一定普适 供参考 卸载mqtt npm uninstall mqtt 安装2 18
  • gradle:Connection timed out 问题解决

    gradle Connection timed out 问题解决 gradle Connection timed out 问题解决 先来重现一下问题 公司技术选型使用了gradle作为构建工具 问题重现 使用的系统是windows10 准备
  • fgets函数使用

    一 作用 fgets函数用于从指定的文件流中读取一行字符串 并将其存储到指定的字符数组中 它可以读取包括空格在内的所有字符 直到遇到换行符或文件结束符为止 fgets函数还可以指定最大读取的字符数 以防止缓冲区溢出 二 使用方法 fgets
  • HJ17 坐标移动

    Powered by NEFU AB IN Link 文章目录 HJ17 坐标移动 题意 思路 代码 HJ17 坐标移动 题意 开发一个坐标计算工具 A表示向左移动 D表示向右移动 W表示向上移动 S表示向下移动 从 0 0 点开始移动 从
  • 26、【链表】相交链表(C++版本)

    题目描述 题目分析 目标是找到两个链表若相交时的公共结点 那么便需要分析公共结点所具有的特性 假设链表A和链表B具有公共结点 那么在公共结点处之后 两个链表具有相同长度和数值的结点 而在公共结点之前 两个链表的所具有的结点个数并不一定相等
  • 网络请求【小程序】

    一 get 二 post 1 获取相应数据 Page 页面的初始数据 data inptValue isArr 生命周期函数 监听页面加载 onLoad options onSubmit console log this data inpt
  • Unity中的序列化数据丢失

    问题描述 近期在项目制作中 需要运用Asset进行数据结构的实例化存储和使用 在制作编辑器的过程中发现一个十分尴尬的问题 在某些情况下会发生代码修改后通过编辑器配置的某些数据会丢失 我把这种问题叫做 序列化数据丢失 因为我也不知道怎么称呼它
  • JUnit单元测试

    目录 介绍 依赖 RunWith Assert类 JUnit的注解 Parameters Rule 测试规则 ExpectedException 规则 TemporaryFolder 规则 Stopwatch 规则 TestName 规则
  • chisel开发环境搭建(intellij)

    chisel开发环境搭建 介绍 目录 1 相关概述 1 1 安装环境说明 1 2 参考资料 2 安装intellij 2 1 安装jdk1 8 2 2 安装intellij 2 3 申请学生免费授权 3 安装scala支持 4 安装chis