[1]SpinalHDL安装环境
[1]SpinalHDL安装环境
最好的教程是官方文档!不过推荐英文文档
一、安装java环境
SpinalHDL相当于是scala的一个包,而scala是运行在jvm上的。所以我们先安装jdk。
安装jdk(openjdk-19)略
二、安装Scala
百度搜索Scala,进入Scala官网(有兴趣可以看看get start文档,能快速了解scala语言特性)
进入其下载界面https://www.scala-lang.org/download/
其实他get start界面也有下载(
下载一个scala官方提供的windows下崽器(?)cs,开好网络(最好科学一下),双击打开
整个时间比较长,大概半小时左右(科学的情况下),你可以泡杯咖啡打吧游戏~
ps.需要注意的是,这个下载器有的时候感觉会卡住,如果你看见你电脑网络没有下行速度,而下载器也一动不动,那可以尝试关掉黑框框重新打开。当然,整个安装时间是比较长的。
安装完以后,黑框框会自己消失,然后重启电脑以刷新环境变量(如果你会命令行刷新环境变量也行)
如何命令行刷新环境变量:
Ctrl+R 输入 cmd,输入
set PATH=C:
然后回车,关闭重新打开,然后环境变量就刷新了
三、准备样板工程
1.克隆工程
git clone --depth 1 https://github.com/SpinalHDL/SpinalTemplateSbt.git MySpinalProject
cd MySpinalProject
rm -rf .git
git init
git add .
git commit -m "Initial commit from template"
2.目录结构
Note
The structure described here is the default structure, but it can be easily modified.
译文:目录结构身娇腰柔易推倒~
In the root of the project are the following files:
File | Description |
---|---|
build.sbt |
Scala configuration for sbt |
build.sc |
Scala configuration for mill , an alternative to sbt |
hw/ |
The folder containing hardware descriptions |
project/ |
More Scala configuration |
README.md |
A text/markdown file describing your project |
.gitignore |
List of files to ignore in versioning |
.mill-version |
More configuration for mill |
.scalafmt.conf |
Configuration of rules to auto-format the code |
As you probably guessed it, the interesting thing here is hw/
. It contains four folders: spinal/
, verilog/
and vhdl/
for your IPs and gen/
for IPs generated with Spinal.
hw/spinal/
contains a folder named after your project name. This name must be set in build.sbt
(along with the company name) and in build.sc
; and it must be the one in package yourprojectname
at the beginning of .scala
files.
In hw/spinal/yourprojectname/
, are the descriptions of your IPs, simulation tests, formal tests; and there is Config.scala
, which contains the configuration of Spinal
.
Note
sbt
must be used only at the root of the project, in the folder containingbuild.sbt
.
四、CLI with sbt
- cli是命令行
- sbt是scala的构建工具,类似于gcc的make
好,让我们开始
1.初始化
sbt
有非常长的启动时间(类似于npm init)
sbt
首次编译并且获取依赖
compile
只用compile一次,后面会自动compile,进行增量编译(前提是不把这个命令窗关了)
2.生成verilog
type runMain
, space, and tab
sbt:projectname> runMain
; projectname.MyTopLevelVerilog
projectname.MyTopLevelFormal projectname.MyTopLevelVhdl
projectname.MyTopLevelSim
tab and tab again,选择你要干啥(看选项易得)
3.持久化运行
~ runMain projectname.MyTopLevelVerilog
四、VSCode
1.前提条件:
安装好jdk11、jdk17,比如最新的jdk19好像不大行。
注意:需要在环境变量中添加JAVA_HOME,值要填安装的根目录(bin文件夹所在的那个目录),然后你可以在PATH中使用%JAVA_HOME%\bin
形式,通过修改JAVA_HOME的值来做到版本切换
笔者一开始搞得时候是openjdk19,然后报错说找不到java,而我已经加了JAVA_HOME的环境变量,然后我装了java17,能用,再切回java19,也能用。。。。后来想想也许是set PATH=C:
的方法不能全局刷新环境变量,比如vsc,所以至少注销然后重新登陆。
2.使用
右下角会跳出小标,一个是选import buid
,另一个sbt
和mil
二选一选sbt
。
然后找到/hw/projectname/MyTopLevel.scala
这么一段代码
object MyTopLevelVerilog extends App {
Config.spinal.generateVerilog(MyTopLevel())
}
会看见上面飘着run|debug
点击run生成verilog代码
五、Idea
方法一
文件-->打开-->正常打开项目,等待他构建sbt
找到\hw\spinal\projectname\MyTopLevel.scala
右击出现菜单栏,然后找到”运行文件“
方法二(官方文档这么说的)
文件-->新建-->来自现有代码的项目,全勾上(以下为官方文档的描述)
the choose the Import project from external model SBT and be sure to check all boxes
找到\hw\spinal\projectname\MyTopLevel.scala
右击出现菜单栏,然后找到”运行文件“
[1]SpinalHDL安装环境的更多相关文章
- [原]CentOS7.2最小安装环境部署Asp.NET Core笔记
转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 写在前面的话 不知不觉在cnblogs上注册已经10多年了,看我的园龄就直接暴露了我实际年龄, ...
- 搜集资料&安装环境
开始入坑DSP,芯片是TI的TMS320C6678,硬件平台为TI官方的TMS320C6678L开发板. 官方给的资料有很多,各种用户手册.软件支持包,眼花缭乱.先尝试把开发环境搭起来,跑个Hello ...
- Cobbler学习之一--Fedora17下配置Cobbler安装环境
1:Cobbler是什么 Cobbler是一大Linux装机利器,可以快速的建立网络安装环境. 2:安装Cobbler需要的组件 createrepo httpd (apache2 for Debia ...
- android 入门-安装环境
1.安装jdk 相关链接 2.安装adt 里面包含eclipse 3.下载androidsdk 4.打开eclipse 找到windows -> 属性 -> android 主目录 复制 ...
- Dynamics AX 2012 R3 Demo 安装与配置 - 配置安装环境 (Step 1)
AX 2012 R3 发布后,Reinhard一直想体验一把,可是Reinhard所在的公司暂时不会升级到R3版本.这不,Reinhard就打算在个人电脑上安装下,可是安装的过程中,遇到了很多问题,R ...
- windows2008一键安装环境的配置说明
windows 2008 一键安装包下载地址为 http://gongdan.oss-cn-hangzhou.aliyuncs.com/market/cmISV/34320/product/cmgj0 ...
- Solr使用初探——Solr的安装环境与配置
Solr是一个apache名下很好用的开源索引.搜索工具,网上的资料虽多但很杂,笔者花了一天的时间对Solr进行了较为初步的研究,对Solr的基础应用做了一定的总结.文中涉及到的配置方法并不唯一,AP ...
- 批量Linux 网络安装环境建立工具cobbler/kickstart
批量Linux 网络安装环境建立工具网络安装服务器套件: Cobbler(Red Hat 2008年发布的项目) Kickstart(Red Hat08年前项目,相关脚本令人望而却步,现 ...
- 用Node.JS+MongoDB搭建个人博客(安装环境)(一)
Node.JS是什么? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Nod ...
- zabbix2.2部署安装(安装环境Centos 6.* X64)
1.在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包: 安装epel源:rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64 ...
随机推荐
- 插入排序算法(Java代码实现)
其它经典排序算法:https://blog.csdn.net/weixin_43304253/article/details/121209905 插入排序算法: 思路:将数据分为已经排序好的数据和未排 ...
- springboot+mybatis+shiro项目中使用shiro实现登录用户的权限验证。权限表、角色表、用户表。从不同的表中收集用户的权限、
要实现的目的:根据登录用户.查询出当前用户具有的所有权限.然后登录系统后.根据查询到的权限信息进行不同的操作. 以下的代码是在搭好的框架之下进行的编码. 文章目录 核心实现部分. 第一种是将用户表和角 ...
- IP分类与子网划分
1.IP地址的格式 每一类地址都由两个固定长度的字段组成: (1)网络号 net-id:它标志主机(或路由器)所连接到的网络 (2)主机号 host-id:它标志该主机(或路由器). 最大可指派 ...
- Android开发 对接微信分享SDK总结
原文:Android开发 对接微信分享SDK总结 - Stars-One的杂货小窝 公司项目需要对接微信分享,本来之前准备对接友盟分享的,但友盟的分享实际参数太多,而我又只需要对接一个微信分享,于是便 ...
- beego学习———安装bee
Bee安装 有各种坑,一会儿GOPATH的问题,一会儿局部的问题了 唉,搞了一个小时 很重要的问题!!!!!!!!!!!! beego的bee工具只能强制新建项目在GOPATH/src目录下 虽然在别 ...
- 自动化利器 Ansible - 从了解到应用
本文说明 本系列使用 ansible 2.9.27 版本来说明和汇总相关信息. # cat /etc/system-release Red Hat Enterprise Linux Server re ...
- sql-lab 通关笔记
sql-lab less1-4 加单引号报错得到报错信息 根据报错信息判断闭合条件 order by找字段数 union select找回显位置 找到回显位置正常爆数据 相同类型其他关卡 后端代码分析 ...
- Go语言核心36讲11
至今为止,我们讲过的集合类的高级数据类型都属于针对单一元素的容器. 它们或用连续存储,或用互存指针的方式收纳元素,这里的每个元素都代表了一个从属某一类型的独立值. 我们今天要讲的字典(map)却不同, ...
- php变量规范命名用了记得消除,保证唯一性
PHP中的命名规则 类的命名 在为类(class )命名前首先要知道它是什么.如果通过类名的提供的线索,还是想不起这个类是什么的话,那么就说明设计存在问题. 超过三个词组成的混合名是容易造成系统各个 ...
- Spring Security(1)
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 虽然说互联网是一个非常开发.几乎没有边界的信息大海,但说起来有点奇怪的是,每个稍微有点规模的互联网应用都有自己的权限系统,而权限的本质却是是封闭 ...