一生一芯14——chisel环境搭建

news2024/12/23 13:57:06

本人使用的ubuntu版本为22.04
anaconda 版本为23.1.0
本博客参考自https://blog.csdn.net/qq_38798111/article/details/129190615?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169465704516800222836484%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=169465704516800222836484&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-1-129190615-null-null.142v93insert_down28v1&utm_term=ubuntu22.04%20chisel&spm=1018.2226.3001.4187

新建conda虚拟环境

为保证与原系统基本一致,这里使用python3.10.9

conda create -n Chisel python=3.10.9

创建完成后,进入该环境下

conda activate Chisel

安装java8

由于chisel是基于scala语言,而scala同时需要java前置,这里安装java8

sudo apt install openjdk-8-jdk git make gtkwave

安装sbt

sbt中自带合适版本的scala,不用额外安装,将下列命令复制到命令行中并运行

echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add
sudo apt-get update
sudo apt-get install sbt

运行scala程序

写一个简单的scala程序并运行,这将自动完成相应库函数的安装,第一次运行稍久
这里使用vim做编辑器
新建文件

mkdir try ##新建try文件夹
cd ./try ##进入try文件夹
vim hello.scala

输入:

object HelloScala extends App{
println("Hello Chisel World!")
}

保存并退出
在文件目录下运行

sbt run

在这里插入图片描述

安装IDE

由于本人使用vim,这里就没有额外安装,略

运行Chisel

mkdir Chisel_example #新建文件夹
cd ./Chisel_example
git clone https://github.com/schoeberl/chisel-examples.git  #安装官方Chisel实例合集
cd ./chisel-example/hello-world #进入hello-world目录
#源码在src/main/scala中
#在hello-world目录下运行程序,将chisel转为verilog
sbt run #运行程序

可以看到,生成的文件Hello.v在目录下
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

芯科蓝牙BG27开发笔记8-片上Flash读写

目标 熟悉片上Flash的特点,知道如何使用,最好找到示例代码,有完整例程那是最好的 查找参考手册 除了768K的主空间,还包含: 1. USERDATA区域,用户定义数据,可以读写。大小只有1K。 2. 设备特…

长胜证券:十大流通股东占比例高好还是低好?

近年来,跟着我国本钱商场的不断发展,越来越多的投资者开始了解和关注股东占比这个目标。而在股东占比中,十大流转股东的持股份额是一个重要的目标。可是,关于投资者来说,十大流转股东占比是高好还是低好?本…

【SPI读取外部Flash】使用逻辑分析仪来读取FLASH Device ID

实验设备:25块钱的 逻辑分析仪 和 野火F429开发板 注意点,这个逻辑分析仪最大只能检测24M的波形,而SPI是在外部通道2,所以我们对系统时钟的分频,也就是给到通道2的时钟速度要在24M内,不然检测到的数据是有…

Peppertype.ai:人工智能内容营销平台

【产品介绍】 名称 Peppertype.ai 具体描述 Peppertype.ai是一个AI驱动的文章生成工具,可以帮助你在几秒钟内为各种渠道创建吸引人 的内容。无论你是想要写广告文案、社交媒体标题、博客大纲还是网站内容,Peppertype…

C++ PrimerPlus 复习 第五章 循环和关系表达式

第一章 命令编译链接文件 make文件 第二章 进入c 第三章 处理数据 第四章 复合类型 (上) 第四章 复合类型 (下) 第五章 循环和关系表达式 文章目录 for循环;基本语法重要问题和解答 基于范围的for循环&#xff08…

中秋学习Qt6

中秋学习Qt6 【1】Qt6 新增的模块【2】Qt6剔除模块和方法【3】Qt6改进 【1】Qt6 新增的模块 Qt6引入了一些新的模块,以便提供更多的功能和改进。以下是一些Qt6新增的模块: QtQuick3D:Qt6引入了全新的3D引擎模块QtQuick3D,它提供了…

脚本:python绘制七夕爱心

文章目录 效果脚本Reference 效果 脚本 import random from math import sin, cos, pi, log from tkinter import *CANVAS_WIDTH 640 # 画布的宽 CANVAS_HEIGHT 640 # 画布的高 CANVAS_CENTER_X CANVAS_WIDTH / 2 # 画布中心的X轴坐标 CANVAS_CENTER_Y CANVAS_HEIGHT /…

ABB 1TGE120010R1300 控制主板模块

ABB 1TGE120010R1300 控制主板模块是一种用于控制和监测电力设备的模块,具有以下功能: 控制和监测电力设备:该模块可以通过与电力设备连接来控制和监测设备的性能和状态,例如启停设备、调节电压和功率等。 通信功能:该…

学Python的漫画漫步进阶 -- 第十六步

学Python的漫画漫步进阶 -- 第十六步 十六、多线程16.1 线程相关的知识16.1.1 进程16.1.2 线程16.1.3 主线程 16.2 线程模块——threading16.3 创建子线程16.3.1 自定义函数实现线程体16.3.2 自定义线程类实现线程体 16.4 线程管理16.4.1 等待线程结束16.4.2 线程停止 16.5 动动…

【ant-design-vue】ant-design-vue在uniapp使用时,auto-import失败报错

前言 在我的 uniapp vue3 vite 项目中,使用了 ant-design-vue 4.x 组件库,同时我还使用了 vite 插件 auto-import 用于自动导入vue3的组合式api。当我全局引用antd-vue时,开发模式下可以正常运行,却不能 npm run build 正常打包…

港联证券:“保险+期货”快速落地生花 涉及品种累计达18个

从普洱火车站出发,乘车3小时40分钟,经过250公里山路之后,能够到达云南西南边境的孟连县。孟连县全称孟连傣族拉祜族佤族自治县,“孟连”音自傣语,意为“寻找到的好地方”。这里属亚热带气候,热区资源丰富&a…

与社交媒体结合:视频直播美颜sdk在社交平台上的应用

为了让直播内容更吸引人,视频直播美颜sdk(Software Development Kit)正逐渐崭露头角,为社交媒体用户提供了卓越的美颜效果和互动体验。 一、什么是视频直播美颜sdk? 在深入讨论如何将视频直播美颜sdk整合到社交媒体平…

vue2 项目中嵌入视频

案例&#xff1a; 代码&#xff1a; <template><div class"schematicDiagramIndex"><el-container><el-aside width"20rem"><!-- <h4 style"font-size: 18px">视频演示</h4>--><div style…

低代码平台:通过可视化的开发工具和组件库,可快速地构建应用程序,从而实现快速迭代和升级

概述&#xff1a; 低代码是一种新兴的应用程序开发方式&#xff0c;无需编码或通过少量代码就可以快速生成应用程序的开发平台。通过可视化的开发工具和组件库&#xff0c;使得开发人员可以快速地构建应用程序&#xff0c;从而实现快速迭代和升级。 低代码平台的出现是为了解…

Centos 7.4 系统,使用wireshark 抓包,获取数据包来源IP(生产环境测试可用)

1 安装wireshark yum install wireshark &#xff08;也可以使用rpm包安装&#xff0c;但是依赖包较多&#xff0c;安装可能需要多一点时间&#xff09; 2 安装完后&#xff0c;抓取数据包 tshark -i ens192 -Y "ip.dst 192.168.120.59 and tcp.dstport 4006 and fra…

微信小程序Snapshot导出海报

开启skyline app.json "lazyCodeLoading": "requiredComponents","renderer": "skyline","componentFramework": "glass-easel","rendererOptions": {"skyline": {"defaultDisplayBlo…

cuda以及pytorch安装

安装CUDA显卡驱动 这篇博客已经超级详细&#xff0c;具体就不在闭门造车了&#xff01; 最简单、实用的cuda安装教程&#xff01;&#xff01;&#xff01;&#xff08;nvidia官方渠道下载&#xff09; 检测CUDA版本&#xff08;cmd窗口命令行下&#xff09; nvidia-sminvcc…

MySQL 用户账号管理(Accounts Management)

用户需要通过账号连接到MySQL Server&#xff0c;本文总结了MySQL账号的常用管理操作。 目录 一、用户账号简介 二、账号创建 三、账号权限管理 3.1 权限赋予与回收 3.1.1 库级赋权 3.1.2 表级赋权 3.1.3 列级赋权 3.1.4 存储过程和函数赋权 3.1.5 权限查询 3.1.6 权限回收 3.2…

SpringMVC自定义注解---[详细介绍]

一&#xff0c;对于SpringMVC自定义注解概念 是一种特殊的 Java 注解&#xff0c;它允许开发者在代码中添加自定义的元数据&#xff0c;并且可以在运行时使用反射机制来获取和处理这些信息。在 Spring MVC 中&#xff0c;自定义注解通常用于定义控制器、请求处理方法、参数或者…

Linux CentOS7系统运行级别

运行级别就是Linux操作系统当前正在运行的功能级别。在早期系统设置中&#xff0c;共设有七个运行级别&#xff0c;编号从0到6。系统可以引导到任何给定的运行级别。 每个运行级别指定不同的系统配置&#xff0c;并允许访问不同的进程组合。默认情况下&#xff0c;Linux会引导…