【从嵌入式视角学习香山处理器】六、NutShell代码结构(乱画的框图)

2023-10-26

一、前言

这是从上一篇文章《【从嵌入式视角学习香山处理器】五、香山开发工作流实践1:主要子模块工程之间的关系》引出的对果壳核(NutShell)——一个简单入门级的risc-v SoC项目的学习总结文章。

主要内容是对果壳的chisel工程(https://github.com/OSCPU/NutShell)进行分析,尝试展示出几个问题的答案:
1. 果壳核里有哪些模块?
2. 这些模块之间的相互连接连接关系是怎样的?

这篇文章暂不涉及/不讨论的内容:

  1. 不讨论各个模块是如何实现的(比如SimpleBus转AXI4总线模块);
  2. 不讨论各个模块的设计参数是怎样的(cache的大小);
  3. 不讲解框图的内容(因为比较懒……只能慢慢看下吧);

二、简单粗暴版:最终成品的框图

果壳核总体框图(含连线)

三、不要太凌乱版:去掉连线后的框图

果壳核总体框图(不含连线)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【从嵌入式视角学习香山处理器】六、NutShell代码结构(乱画的框图) 的相关文章

  • 吃透Chisel语言.18.Chisel模块详解(五)——Chisel中使用Verilog模块

    Chisel模块详解 五 Chisel中使用Verilog模块 上一篇文章讲述了用函数实现轻量级模块的方法 可以大幅度提升编码效率 Chisel中也提供了一些好用的函数 方便我们编写代码 也方便Chisel编译器优化生成的硬件电路 在Chi
  • 树莓派体验3 - SSH登录树莓派

    如果没有HDMI转接线 显示器 USB转TTL串口线 那么可以通过网络SSH远程登录的方式访问树莓派 无显示器使用SSH访问 开启SSH服务 首先 通过镜像版本号确认一下SSH是否默认开启 树莓派官网的release note中说明 201
  • modbus总线协议(一)modbus rtu

    一 介绍 Modbus协议由Modicon公司开发出来 现在Modbus是工业领域全球最流行的协议 硬件支持RS 232 RS 422 RS 485和以太网设备 应用在PLC DCS 智能仪表等工控领域 图片来源于网络 二 modbus协议
  • iOS逆向工程之App脱壳

    本篇博客以微信为例 给微信脱壳 砸壳 在iOS逆向工程中是经常做的一件事情 因为从AppStore直接下载安装的App是加壳的 其实就是经过加密的 这个 砸壳 的过程就是一个解密的过程 未砸壳的App是无法在Class dump Hoppe
  • keil mdk代码提示与代码补全设置

    主要参考https blog csdn net w5862338 article details 50520423 结合自己的实际问题 一旦习惯了一些实用的功能 当进入到类似的环境中而没有熟悉的功能 会觉得很不方便 代码提示与补全就是这样实
  • 通过External Tools在STM32CubeIDE下使用DAP-LINK

    目录 一 文章背景 二 准备工作 2 1 Stm32CubeIDE 2 2 DAP LINK 2 3 STM32目标板 三 配置过程 3 1 连接目标板 3 2 配置仿真器 3 3 更改调试设置为远程调试 3 4 新建OpenOcd扩展工具
  • 在vmware里面看不到已经设置的共享文件夹

    查看你是否设置了共享文件夹 vmware hgfsclient 在上图的虚拟机点击安装vmware tools 之后会在vmware tools文件里面有一个压缩的文件 把它复制到自己创的文件夹并解压 自己创建文件夹使用mkdir p mo
  • 解决Keil调试模式下无法设置断点的问题

    问题描述 使用Keil打开工程文件 进入调试模式后 只有main c文件里面可以设置断点 其余文件都不可以设置断点 可能的原因及解决方案 原因1 工程路径包含中文 解决方案1 更换为全英文路径 原因2 工程没有全部Rebuild 解决方案2
  • 树莓派4B安装详细教程,从零开始!

    树莓派4B安装详细教程 从零开始 前言 一 准备材料 1 硬件材料 2 软件材料 二 安装步骤 1 格式化SD卡 2 安装系统 三 安装完成 前言 提示 本文详细介绍树莓派4B的安装流程 适合刚入手树莓派的同学 认为我写的好的同学希望点赞关
  • 步进电机基础(5.6)-步进电机的驱动与控制-闭环控制

    步进电机基础 5 6 步进电机的驱动与控制 闭环控制 前言 基本信息 前言说明 5 6 闭环控制 前言 基本信息 名称 描述说明 教材名称 步进电机应用技术 作者 坂本正文 译者 王自强 前言说明 根据我读的 步进电机应用技术 这本书 进行
  • C#写的34401A串口232数据读取程序

    首先呢 请先设置惠普表为Talk only模式 也就是31 还不明白的自己查手册去 另外 各个表设置不一样 比如我这里2块表就不一样 一块是7位数据位 even校验 另一块是8位数据位 none校验 具体的可以看看表里的i o那里的设置 数
  • 物联锁项目失败原因分析

    一 背景 2022年3月份接手IM024物联锁项目救火 此项目主要用于医院共享轮椅 共享病床 此项目是从2021年初开始立项开发 投入了大量的人力物力 但是在2022年3月份时产品工作仍然不稳定 此项目基本上可以判定为一个失败的典型 为了吸
  • FreeRTOS中断管理

    目录 说明 一 中断基础 1 1 中断理解 1 2 中断执行步骤 1 3 中断寄存器选择位 1 4 中断优先级分类 二 中断优先级分组设置 2 1 分类 2 2 特点 三 中断有关寄存器 3 1 SHPR1寄存器 3 2 SHPR2寄存器
  • 如何用GDB调试交叉编译的QEMU程序?

    我在使用 GDB 调试 QEMU 中运行的简单程序时遇到问题 GDB似乎无法找到我在程序中的位置 因为它总是显示 作为我当前的位置 并且它永远不会达到我设置的任何断点 在一个终端中 我运行 QEMU cat add c int main i
  • Linux值得学习吗?打工人利用业务时间学习Linux需要多长时间?

    nbsp Linux值得学习吗 打工人利用业务时间学习Linux需要多长时间 在开始前我有一些资料 是我根据自己从业十年经验 熬夜搞了几个通宵 精心整理了一份 Linux的资料从专业入门到高级教程 工具包 点个关注 全部无偿共享给大家 在评
  • RISC-V 中的旋转位

    嘿 我对 RISC V 还算陌生 我的练习题之一是 将 0x0000000000000123 的值右移 4 位 预期结果为 0x3000000000000012 即所有十六进制数字向右移动一位 而最右边的一位移动到前面 到目前为止 我了解了
  • GDB 中断命令不会在命令文件中执行

    我有一个调试脚本 它执行以下操作 设置两个断点 让我们称呼他们吧start and end断点 启动后 脚本将继续执行 直到start命中断点 once start命中断点 我执行单步执行 直到end命中断点 这是我的命令文件 end br
  • RISC-V 调用约定的 ABI 寄存器名称

    我对 RISC V ABI 寄存器名称感到困惑 例如 第 85 页的 RISC V 指令集手册 第一卷 用户级 ISA 版本 2 0 中的表 18 2 指定堆栈指针sp正在注册x14 然而 指令 addi sp zero 0 由 riscv
  • RISC-V 规范引用了“hart”一词 - “hart”是什么意思?

    我找到了参考文献hart在第 35 页RISC V 2 1 规范 https content riscv org wp content uploads 2016 06 riscv spec v2 1 pdf 但是 我找不到它的定义hart在
  • 如何在 LLVM IR 中使用 RISC-V Vector (RVV) 指令?

    In 这个演示文稿 https llvm org devmtg 2019 04 slides TechTalk Kruppe Espasa RISC V Vectors and LLVM pdfKruppe 和 Espasa 概述了 RIS

随机推荐

  • TCP选项之SO_RCVBUF和SO_SNDBUF

    SO RCVBUF SO SNDBUF 先明确一个概念 每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区 TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于这两个独立的buffer以及此buffer的填充状态 接收缓冲
  • 03-----生产环境 CPU 占用过高,你如何解决?

    1 top指令 top 找出占用 CPU 最高的进程的 pid 2 查看耗CPU的线程号 方法1 top Hp 进程号 然后按下大写P 在该进程中找到 哪些线程占用的 CPU 最高的线程 记录下 tid 注意下图一个是主线程 其余是子线程
  • sqlalchemy数据库连接池QueuePool异常

    数据库相关错误的解决办法 错误一 数据库连接池超过限制 SqlAlchemy QueuePool limit overflow 造成连接数超过数据库连接池的限制 有两方面的原因 第一个是由于数据库连接池数比较小 因此当连接数稍微增加的时候就
  • IDDPM官方gituhb项目--模型构建

    在完成IDDPM论文学习后 对github上的官方仓库进行学习 通过具体的代码理解算法实现过程中的一些细节 官方仓库代码基于pytorch实现 链接为https github com openai improved diffusion 本笔
  • studyreport

    Vi Java Ant Junit的自学报告 1 vi vim编辑器的使用 1 1 vi vim简介 vi编辑器是Linux和Unix上最基本的文本编辑器 工作在字符模式下 由于不需要图形界面 vi是效率很高的文本编辑器 它可以执行输出 删
  • HTML侧面导航栏

  • 函数的模拟实现

    目录 题一 qsort 练习使用库函数 qsort排序各种类型的数据 模拟实现qsort在不同情形的实现 题二 strlen 模拟实现strlen 优解一 优解二 优解三 题三 strcpy 模拟实现strcpy 优解一 题四 strcmp
  • 使用Qt开发绘制多个设备的流量曲线图(附带项目图)

    一 说明 在实际项目中 主要是使用Qt开发CS程序 当然主要是客户端 公司项目中有这个需求是实时显示多个设备的流量曲线图 设备将流量信息发给服务端 服务端再将信息通过Socket发给Qt客户端 Qt客户端通过Socket接收后实时显示在程序
  • pip安装pytorch

    问题简述 直接pip install pytorch 报错 解决办法 1 登陆https pytorch org get started locally 2 选择对应的条件 最后会生成command 3 将command中的代码copy到命
  • Netty实战(七)EventLoop和线程模型

    EventLoop和线程模型 一 什么是线程模型 二 EventLoop 接口 2 14 Netty 4 中的 I O 和事件处理 三 任务调度 3 1 JDK 的任务调度 API 3 2 使用 EventLoop 调度任务 四 实现细节
  • 【廖雪峰python入门笔记】Unicode编码_UnicodeDecodeError处理

    1 Unicode编码的由来 字符串还有一个编码问题 计算机只能处理数字 如果要处理文本 就必须先把文本转换为数字才能处理 最早的计算机在设计时采用8个比特 bit 作为一个字节 byte 所以 一个字节能表示的最大的整数就是255 二进制
  • JAVA String的问题

    String s1 字符串 String s2 字符串 System out println s1 s2 输出true String s3 new String 字符串 String s4 new String 字符串 System out
  • 以太坊 geth常用命令行

    命令行组成为geth lt 命令 gt 参数 geth datadir 指定数据存储位置 也是默认的私钥仓库位置 nodiscover 标志此节点私有 不被别人添加 maxpeer 0 设置网络中可以被接入的最大节点数目 0代表不被其它节点
  • 【线性代数01】矩阵的转置和逆

    这方面的总结一直都有想写 我们先从矩阵的转置和逆谈起 本篇内容整理自网页 矩阵的转置和逆 给出这部分叙事的主角 矩阵A和矩阵B A 1
  • 【深度学习】语义分割-源代码汇总

    目录 Transformer 1 vit 2 Swin Transformer 3 PVT 4 SETR 5 segformer Transformer 1 vit 1 官方 vision transformer 2 Swin Transf
  • Linux内核:内存管理——CMA预留内存

    平时看 proc meminfo中 总能看到CMA的身影 且好像总是被用光了 他是做什么的呢 为啥作为预留内存能用的干干净净呢 一起看下 CmaTotal 438272 kB CmaFree 0 kB Contiguous Memory A
  • 电路设计中LDO与DC-DC的选择问题(DC-DC篇)

    版权声明 本文为博主原创文章 转载请注明出处 https blog csdn net NeverImagine article details 93193105 接上文 上文讨论了LDO的原理和特性 本文再分析一下DC DC 二 DC DC
  • 查看mysql root账户密码

    cat root mysql secret 查看root账号密码
  • 虹膜识别系统 python实现

    先上传效果图 main py An highlighted block Demonstration of the GazeTracking library Check the README md for complete documenta
  • 【从嵌入式视角学习香山处理器】六、NutShell代码结构(乱画的框图)

    文章目录 一 前言 二 简单粗暴版 最终成品的框图 三 不要太凌乱版 去掉连线后的框图 一 前言 这是从上一篇文章 从嵌入式视角学习香山处理器 五 香山开发工作流实践1 主要子模块工程之间的关系 引出的对果壳核 NutShell 一个简单入