[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 ...
随机推荐
- python学习笔记---流程控制
二.流程控制 2.1选择结构与语句 2.1.1 最简单的if语句 注意:if语句后边必须加上冒号 满足条件后.可以执行多条语句. #最简单的if语句 print("请输入一个既能整除2,又能 ...
- 关于针对XSS漏洞攻击防范的一些思考
众所周知,XSS几乎在最常见.危害最大的WEB漏洞.针对这个危害,我们应该怎么防范呢. 下面简单说一下思路. 作者:轻轻的烟雾(z281099678) 一.XSS漏洞是什么 XSS漏洞网上的资料太多, ...
- scrapy 如何使用代理 以及设置超时时间
使用代理 1. 单文件spider局部使用代理 entry = 'http://xxxxx:xxxxx@http-pro.abuyun.com:xxx'.format("帐号", ...
- Python基础之函数:2、globlal与nonlocal和闭包函数、装饰器、语法糖
目录 一.global与nonlocal 1.global 2.nonlocal 二.函数名的多种用法 三.闭包函数 1.什么是闭包函数 2.闭包函数需满足的条件 3.闭包函数的作用 4.闭包函数的实 ...
- 【深入浅出 Yarn 架构与实现】2-4 Yarn 基础库 - 状态机库
当一个服务拥有太多处理逻辑时,会导致代码结构异常的混乱,很难分辨一段逻辑是在哪个阶段发挥作用的. 这时就可以引入状态机模型,帮助代码结构变得清晰. 一.状态机库概述 一)简介 状态机由一组状态组成: ...
- Go语言核心36讲26
你好,我是郝林.今天我分享的主题是测试的基本规则和流程的(下)篇. Go语言是一门很重视程序测试的编程语言,所以在上一篇中,我与你再三强调了程序测试的重要性,同时,也介绍了关于go test命令的基本 ...
- Go语言核心36讲15---结构体
我们都知道,结构体类型表示的是实实在在的数据结构.一个结构体类型可以包含若干个字段,每个字段通常都需要有确切的名字和类型. 前导内容:结构体类型基础知识 当然了,结构体类型也可以不包含任何字段,这样并 ...
- Ubuntu 20.04 开启root权限登陆、网卡配置
个人名片: 对人间的热爱与歌颂,可抵岁月冗长 Github:念舒_C.ying CSDN主页️:念舒_C.ying 个人博客 :念舒_C.ying Ubuntu 20.04 开启root权限登陆.网 ...
- Destination folder must be accessible
问题 Ecplise拖入文件夹项目时提示错误:Destination folder must be accessible 解决 导入的时候包不能直接拖入,要使用import导入,选择File-> ...
- Android开发之线程间通信
Android开发之线程间通信 当我们的软件启动的时候,计算机会分配进程给到我们运行的程序,在进程中包含多个线程用于提高软件运行速度. 在android网络请求中,我们知道在日常开发中不能在子线程中跟 ...