Chisel入门——在windows下vscode搭建|部署Scala2.13.3开发环境|用Chisel点亮FPGA小灯

news2024/12/25 13:12:10

文章目录

  • 前言
  • 一、vscode搭建scala开发环境
    • 1.1 安装Scala官方插件Scala Syntax
    • 1.2 创建hello_world.scala文件
    • 1.3 确认java的版本(博主使用的是1.8)
    • 1.4 下载Scala Windows版本的二进制文件
    • 1.5 配置环境变量
    • 1.6 交互模式测试一下
    • 1.7 vscode运行scala
  • 二、windows安装sbt
    • 2.1 下载sbt
    • 2.2 配置环境
    • 2.3 sbt配置
    • 2.4 设置阿里云镜像
    • 2.5 验证
  • 三、用Chisel点亮FPGA小灯
    • 3.1 参考文档
    • 3.2 得到Verilog文件
      • 1. 环境搭建
      • 2. 克隆项目
      • 3. 编译运行
      • 4. 生成Verilog文件
    • 3.3 上板验证
      • 1. 创建quartus项目
      • 2. 加入.v文件
      • 3. 绑定引脚
      • 4. 上板烧录
  • 总结
  • 参考


前言

由于verilog效率比较低下,重复劳动太多了QAQ
所以打算用近两年比较火的chisel进行开发。
于是先装一波环境,踩了一天的坑。

传统数字芯片的RTL设计采用Verilog语言为主,Chisel语言的全称是Constructing Harward in Scala Embeded Language,即在Scala语言中导入Chisel3库,即可使用Chisel语言。其特点是面向对象编程,可以方便地参数化定制硬件电路,加快设计流程。目前在RISC-V生态中应用较多,中科院计算所主持的培育下一代处理器设计人才的“一生一芯”项目也在极力推进该语言。


一、vscode搭建scala开发环境

1.1 安装Scala官方插件Scala Syntax

(官方插件,有个语法高亮功能也挺香的)
在这里插入图片描述

1.2 创建hello_world.scala文件

在这里插入图片描述

object HelloWorld 
{    
	def main(args: Array[String]): Unit = {
	        println("Hello, world!")    
	        }
}

1.3 确认java的版本(博主使用的是1.8)

在这里插入图片描述

1.4 下载Scala Windows版本的二进制文件

https://downloads.lightbend.com/scala/2.13.3/scala-2.13.3.msi

在这里插入图片描述

双击进行安装,并一路next

在这里插入图片描述

记住安装路径,等下配置环境变量需要用
博主的安装路径为:
在这里插入图片描述

1.5 配置环境变量

1.刚刚让记的那个安装路径
在这里插入图片描述

在这里插入图片描述

2.PATH变量下再新增值
在这里插入图片描述在这里插入图片描述
至此安装完毕。

1.6 交互模式测试一下

在这里插入图片描述

至此 Scala开发环境搭建成功

1.7 vscode运行scala

在这里插入图片描述

二、windows安装sbt

2.1 下载sbt

官网:http://www.scala-sbt.org/download.html

2.2 配置环境

#SBT_HOME设置为sbt解压目录,例如:

SBT_HOME=C:\Programs\sbt;

2.3 sbt配置

修改sbt\conf\sbtconfig.txt

# sbt configuration file for Windows
 
# Set the java args
 
#-mem 1024 was added in sbt.bat as default
 
-Xms1024m
-Xmx1024m
-Xss4M
-XX:ReservedCodeCacheSize=128m
 
# Set the extra sbt options
 
-Dsbt.log.format=true
-Dsbt.boot.directory=D:/SoftWare/scala-2.13.3/sbt/boot/
-Dsbt.global.base=D:/SoftWare/scala-2.13.3/sbt/.sbt
-Dsbt.ivy.home=D:/SoftWare/scala-2.13.3/sbt/.ivy2
-Dsbt.repository.config=D:/SoftWare/scala-2.13.3/sbt/conf/repo.properties
-Dsbt.override.build.repos=true

2.4 设置阿里云镜像

国内的网络环境复杂,阿里云还挺好用的,在sbt\conf\下新建repo.properties文件,内容为:

[repositories]
    local
    aliyun-central: https://maven.aliyun.com/repository/central
    aliyun-public: https://maven.aliyun.com/repository/public
    jcenter: https://jcenter.bintray.com/
    repo1: https://repo1.maven.org/maven2/
    store_2: https://repo2.maven.org/maven2/
    aliyun-releases: https://maven.aliyun.com/repository/releases
    aliyun-apache-snapshots: https://maven.aliyun.com/repository/apache-snapshots
    aliyun-google: https://maven.aliyun.com/repository/google
    aliyun-jcenter: https://maven.aliyun.com/repository/jcenter
    aliyun-spring: https://maven.aliyun.com/repository/spring
    aliyun-spring-plugin: https://maven.aliyun.com/repository/spring-plugin
    sbt-plugin: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/
    sonatype: https://oss.sonatype.org/content/repositories/snapshots  
    typesafe: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
    typesafe2: https://repo.typesafe.com/typesafe/releases/
    atlassian: https://packages.atlassian.com/content/repositories/atlassian-public/
    spring-plugin: https://repo.spring.io/plugins-release/
    hortonworks: https://repo.hortonworks.com/content/repositories/releases/

2.5 验证

完成后打开cmd,输入sbt,可能会有一段下载依赖包的过程,成功后会进入命令行,即sbt安装成功。

在这里插入图片描述退出方式:在命令框中输入 exit 即可退出:

在这里插入图片描述

三、用Chisel点亮FPGA小灯

3.1 参考文档

参考的chisel书为chisel-book,是一个PDF文档,
Chisel-book: https://wwu.lanzoue.com/isdim08x8x5i

在这里插入图片描述在这里插入图片描述

3.2 得到Verilog文件

1. 环境搭建

找到其中 WINDOWS开发环境搭建。
在这里插入图片描述

OK,按着以上内容下载所需要的软件。

C:哪能找到一个Chisel例程?
OK,继续看这本书,这是本好书,Hello world例程书里有了,代码在Git上

在这里插入图片描述

2. 克隆项目

继续找到了GIT上的chisel-examples. OK 点击去GIT上 克隆下来,
github:https://github.com/schoeberl/chisel-examples

在这里插入图片描述

好了,找到helloworld例程了。现在想想例程怎么编译?生成Verilog代码在哪?

书中3.7章节有写
在这里插入图片描述

3. 编译运行

书里只写了Chisel下的编译生成。至于下载到FPGA文档里说要自己动手,不在文档教程内了。

具体流程:

CMD命令下,

git clone https://github.com/schoeberl/chisel-examples.git
cd chisel-examples/hello-world/

继续编译sbt run
在这里插入图片描述

第一次编译需要等待很长时间,然后显示成功。(因为我编译过了,所以第二次很快)。

4. 生成Verilog文件

OK,现在找生成的Verilog,书中说是Hello.v文件。

在这里插入图片描述

在这里插入图片描述

3.3 上板验证

1. 创建quartus项目

板子型号为 EP4CE115F29C7

2. 加入.v文件

将生成的Verilog文件添加到项目中
在这里插入图片描述

3. 绑定引脚

根据技术文档,led的引脚如下,任意选择一个led
在这里插入图片描述
绑定引脚
在这里插入图片描述

在这里插入图片描述

4. 上板烧录

停电了,明天烧明天烧


总结

参考

WIN10系统下,用Chisel开发入门FPGA的HelloWorld呼吸灯

【多图预警】Windows 安装 SBT、IDEA 使用 SBT 构建项目指南

Scala安装出现neither build.sbt nor a…问题解决

Chisel入门之路(一)之在windows下vscode搭建|部署Scala2.13.3开发环境|安装教程

Chisel速成——跟着这个Chisel教程来就行了(已完结)

【IC设计】Windows下基于IDEA的Chisel环境安装教程(图文并茂)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1711218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Matlab|主动配电网故障恢复与孤岛划分模型【多时段】

目录 1 主要内容 1.1 模型目标 1.2 约束条件 2 部分代码 3 程序结果 4 下载链接 1 主要内容 程序主要方法复现《主动配电网故障恢复的重构与孤岛划分统一模型》,完全复现检修策略约束和潮流约束,辐射状与连通性约束考虑孤岛划分情形,采…

翻译《Use FILE_SHARE_DELETE in your shell extension》

在写 《翻译《The Old New Thing》- What did MakeProcInstance do?》 文章时,了解到了 Michael Geary ,他也有不少优秀的技术文章,现翻译一篇关于文件操作的细节的文章 原文 Use FILE_SHARE_DELETE in your shell extension | mg.tohttps:…

【Unity之FGUI】白仙章Fairy GUI控件详解二

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:就业…

硬盘监控,保障硬盘性能

硬盘驱动器是个人计算机和服务器中用于存储数字数据的硬件部件,硬盘突然故障可能导致永久数据丢失,大多数硬盘驱动器使用自我监控、分析和报告技术(SMART)来跟踪各种性能指标并分析其自身的运行状况。然而,并不是所有的…

HackTheBox-Machines--Popcorn

文章目录 0x01 端口扫描0x02 测试思路2.1 80端口测试 0x03 /torrent 目录文件上传测试0x04 权限提升 Popcorn 测试过程 0x01 端口扫描 (base) gryphonwsdl ~ %nmap -sC -sV 10.129.138.22 Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-28 14:22 CST Nmap scan report …

Linux shell编程学习笔记51: cat /proc/cpuinfo:查看CPU详细信息

0 前言 2024年的网络安全检查又开始了,对于使用基于Linux的国产电脑,我们可以编写一个脚本来收集系统的有关信息。对于中央处理器CPU比如,我们可以使用cat /proc/cpuinfo命令来收集中央处理器CPU的信息。 1. /proc/cpuinfo 保存了系统的cpu…

贵州大学24计算机考研数据速览,国家重点实验室22408复试线285分!贵州大学计算机考研考情分析!

贵州大学计算机科学与技术学院坐落在贵州大学北校区(贵阳花溪)。 学院现有教职工139人,其中专职教师126人,教授17人,副教授37人,讲师46人,高级实验师4人,实验师17人。具有博士学位的…

【易错题】数据可视化基础练习题(30道选择题)#CDA Level 1

本文整理了数据可视化基础知识相关的练习题,共30道,适用于想巩固数据可视化知识的同学,也可作为备考CDA一级的补充习题。来源:如荷学数据科学题库(技术专项-可视化)。 1) 2) 3&…

通义千问图像识别功能的23个实用案例

●给出穿搭建议 这位女士佩戴的是一款精致的长款耳坠,设计上融合了复古和现代元素。为了更好地搭配这款耳环,以下是一些建议: 服装风格:由于耳环本身具有一定的华丽感,建议选择简约而优雅的服装来平衡整体造型。可以选…

栈和队列专题(LeetCode)

目录 有效的括号题解代码加解释 用队列实现栈题解代码加解释 设计循环队列题解代码加解释 用栈实现队列题解代码加解释 有效的括号 题解 左括号从s字符串中取出来放入栈中 s中就只有右括号了 那么栈顶的左括号和s的右括号匹配即可 代码中也详细解释了左括号和右括号多少的问题…

如何成为快手外卖代理?本地生活服务平台加盟条件解析

近年来,以抖音、快手和小红书等为代表的互联网大厂纷纷进军本地生活领域,改变美团和饿了么二分天下的这一局面的同时,也让本地生活成为了众多创业者眼中的“香饽饽”。其中,快手凭借着其庞大的用户群体,让快手团购外卖…

关于本人VIP付费文章说明

郑重声明:我写博客只是为了记录分享经验 自从上次写完数据结构系列后我就一直没有登陆,目前也没打算继续开新内容。今天偶然发现我之前写的文章被设为vip文章,要vip解锁才能看,我很确定当初我发布的时候选择的是公开,…

LeetCode 474.一和零

没做出来,最后看了解析,看了半天才懂。 我一开始把这个题当成多重背包来做了,因为有0和1两个参数需要考虑,但是中间很多情况不知道怎么处理。后面看了解析才知道这是个01背包问题,0和1都是一个物品上的属性&#xff0c…

HTML静态网页成品作业(HTML+CSS)——游戏阴阳师介绍网页(4个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有4个页面。 二、作品演示 三、代…

RDP方式连接服务器上传文件方法

随笔 目录 1. RDP 连接服务器 2. 为避免rdp 访问界面文字不清晰 3. 本地上传文件到服务器 1. RDP 连接服务器 # mstsc 连接服务器step1: 输入mstscstep2: 输入 IP, username, passwd 2. 为避免rdp 访问界面文字不清晰 解决方法: 3. 本地上传文件到服务器 step…

《KAN》论文笔记

原文出处 KAN: Kolmogorov–Arnold Networks (arxiv.org)https://arxiv.org/html/2404.19756v1 论文笔记 What 《KAN: Kolmogorov–Arnold Networks》——我们提出了 KolmogorovArnold Networks (KANs) 作为多层感知器 (MLP) 的有前途的替代方案。 我们表明,这…

小程序自动化辅助渗透脚本(2024)

简介 1.还在一个个反编译小程序吗? 2.还在自己一个个注入hook吗? 3.还在一个个查看找接口、查找泄露吗? 现在有自动化辅助渗透脚本了,自动化辅助反编译、自动化注入hook、自动化查看泄露 注:本工具仅用于学习交流&…

数据库系统概论(个人笔记)(第三部分)

数据库系统概论(个人笔记) 文章目录 数据库系统概论(个人笔记)3、SQL介绍3.1 SQL查询语言概述3.2 SQL数据定义3.3 SQL查询的基本查询结构3.4 其他基本操作3.5 设置操作3.6 空值3.7 聚合函数3.8 嵌套子查询3.9 数据库的修改 3、SQL…

VSCODE常用插件记录

重点提名: back & ForthBookmarksC/ChighlightSSH FS //SSH插件

SQL2017附加从其他电脑复制过来的mdf数据后出现【只读】无法写入数据

1. 尝试给它所在的文件夹的属性中的“只读”去勾,无果。 2. 其他文章提示是文件的问题。 该错误为文件权限错误,找到该数据库的 数据库文件 和 日志文件,在安全中添加 Authenticated Users 用户的权限,并设置 “完全控制”