【环境配置】基于Docker配置Chisel-Bootcamp环境

文章目录

    • Chisel是什么
    • Chisel-Bootcamp是什么
    • 基于Docker配置Chisel-Bootcamp
      • 官网下载Docker安装包
      • Docker换源
      • 启动Bootcamp镜像
      • 常用docker命令
    • 可能产生的问题

Chisel是什么

Chisel是Scala语言的一个库,可以由Scala语言通过import引入。
Chisel编程可以生成Verilog代码或C++仿真代码,目前国内主要由中科院计算所的包云岗老师团队做香山处理器使用,它不仅是一门语言,也代表一个硬件敏捷开发的方向。

Chisel-Bootcamp是什么

Chisel-Bootcamp是Github上的一个Chisel教程,包含了基于Jupytor的Chisel教学,这篇文章讲一下基于Docker来配置Bootcamp环境,
主要参考资料是Bootcamp在github上的安装教程

基于Docker配置Chisel-Bootcamp

官网下载Docker安装包

首先需要下载Docker-Desktop程序,然后打开这个exe程序安装好,我的感受是Docker安装还是比较友好的。
点进链接,根据操作系统版本下载
我这里安装的是Windows版本的Chisel,安装好后打开Docker-Desktop

Docker换源

我参考的这篇文章的方法1

启动Bootcamp镜像

使用命令安装Chisel-Bootcamp镜像

docker run -it --rm -p 8888:8888 ucbbar/chisel-bootcamp

对该命令的解释:

-i 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–rm:容器退出时就能够自动清理容器内部的文件系统。 举例:docker run --rm ba-208
-p:指定端口映射,格式为:主机(宿主)端口:容器端口

最后出现这样的界面就对了:
在这里插入图片描述
把红框框的部分从浏览器打开就可以用jupytor开始学习Chisel了,这里的jupytor的内核是scala编译器,因为chisel本质是scala语言的一个库。

常用docker命令

docker ps // 查看所有正在运行容器docker stop containerId // containerId 是容器的IDdocker ps -a // 查看所有容器docker ps -a -q // 查看所有容器IDdocker start $(docker ps -a -q) // start启动所有停止的容器docker stop $(docker ps -a -q) // stop停止所有容器docker rm $(docker ps -a -q) // remove删除所有容器

例如要停止刚刚的bootcamp镜像就先docker ps查看所有运行容器,找到它的容器id,然后使用docker stop 容器id就可以了
下次要启动时还是使用

docker run -it --rm -p 8888:8888 ucbbar/chisel-bootcamp

会自动启动本地的bootcamp镜像,而不是从网上下载。

可能产生的问题

输入

docker run -it --rm -p 8888:8888 ucbbar/chisel-bootcamp

后报错

error during connect: This error may indicate that the docker daemon is not running

出现这个问题首先你要保证cmd运行的时候Docker Desktop是打开的,我打开后重新执行就解决了。
如果还不行的话参考这篇

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql文档--innodb中的重头戏--事务隔离级别!!!!--举例学习--现象演示

阿丹: 先要说明一点就是在网上现在查找的mysql中的事务隔离级别其实都是在innodb中的事务隔离级别。因为在mysql的5.5.5版本后myisam被innodb打败,从此innodb成为了mysql中的默认存储引擎。所以在网上查找的事务隔离级别基本上都是innodb的。并且支持事务…

数据结构 > 算法的时间复杂度(1)

目录 1.算法效率 1.1如何衡量一个算法的好坏 1.2算法的复杂度 1.3复杂度在校招中的考察 2.时间复杂度 2.1时间复杂度的概念 2.2大O的渐进表示法 2.3特殊情况 1.算法效率 1.1如何衡量一个算法的好坏 如何衡量一个算法的好坏呢?比如对于以下斐波那契数列&…

qiankun 子应用 ant-design-vue快速填坑指南

qiankun 子应用使用 ant-design-vue v3 问题 Cascader无法显示下拉Form label 显示混乱Message 提示报错等各种样式不兼容问题… 解决办法 子应用 ant-design-vue v3 升v4 官网文档子应用 ant-design-vue ConfigProvider prefixCls全局化修改 设置统一样式前缀,…

【AI】机器学习——线性模型(线性回归)

线性模型既能体现出重要的基本思想,又能构造出功能更加强大的非线性模型 参考:唐宇迪机器学习课程 文章目录 3.1 线性模型3.1.1 数据3.1.2 目标/应用 3.2 线性回归3.2.1 回归模型历史3.2.2 回归分析研究内容回归分析步骤 3.2.3 回归分析分类3.2.4 回归模…

Boost搜索引擎

项目背景 先说一下什么是搜索引擎,很简单,就是我们平常使用的百度,我们把自己想要所有的内容输入进去,百度给我们返回相关的内容.百度一般给我们返回哪些内容呢?这里很简单,我们先来看一下. 搜索引擎基本原理 这里我们简单的说一下我们的搜索引擎的基本原理. 我们给服务器发…

【Java从入门到精通】这也许就是Java火热的原因吧!

前言:Java是一种高级的、面向对象的、可跨平台的程序设计语言。Java根据技术类别可划分为以下几类:JavaSE(Standard Edition,标准版):支持面向桌面、嵌入式和移动设备的应用程序开发;JavaEE&…

阿里云服务器配置选择指南(2023新版教程)

阿里云服务器配置选择_CPU内存/带宽/存储配置_小白指南,阿里云服务器配置选择方法包括云服务器类型、CPU内存、操作系统、公网带宽、系统盘存储、网络带宽选择、安全配置、监控等,阿小云分享阿里云服务器配置选择方法,选择适合自己的云服务器…

vue cli 打包、生产环境http-proxy-middleware代理

结构树 版本 1、创建vue.config.js const path require(path); const UglifyJsPlugin require(uglifyjs-webpack-plugin) //压缩 const CompressionWebpackPlugin require(compression-webpack-plugin) const isProduction process.env.NODE_ENV ! development;module.exp…

MyBatis基础之概念简介

文章目录 基本概念1. 关于 MyBatis2. MyBatis 的体系结构3. 使用 XML 构建 SqlSessionFactory4. SqlSession5. 默认的别名6. 补充 [注意] 放前面前 很多人可能在使用 MyBatis-plus 进行代码开发,MyBatis的这部分内容是用来更好的讲述之后的内容。 基本概念 1. 关于…

线性回归方程

性回归是利用数理统计中的回归分析来确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法,是变量间的相关关系中最重要的一部分,主要考查概率与统计知识,考察学生的阅读能力、数据处理能力及运算能力,题目难度中等&…

导出excel单元格时实现换行

上一篇:laravel中安装Maatwebsite/excel扩展 承接上一篇哈,laravel成功安装了excel的扩展,但是有个小的问题,就是每个题目有至少两个选项,导出到excel的时候,希望每个选项之间能换行展示,也就是…

vue中转换base64文件数据后通过blob下载

可以看到这里我要转换的数据是content字段,即将base64文件数据转换后下载下来: downloadAttachment({ attachmentId: id }).then(({ data }) > {proxy.$modal.closeLoading();// atob先解码base64数据const raw window.atob(data.content);// 获取解…