RISC-V --rocket-chip generator介绍及其仿真使用

2023-10-30

最近工作使用 rocket-chip generator 仿真非极大值抑制算法(C语言编写),分析其时序模型和riscv汇编指令,这里将rocket-chip generator的使用方法总结一下

说明:使用的rocket-chip generator的版本为:a8d573beeb8a33bb5dac0673ec68b82852a24d63

rocket-chip generator介绍

  • rocket-chip generator的一级目录结构:

    bootrom : 在BootROM的bootloader第一阶段所使用的代码
    csrc Verilator: 仿真用的C代码
    emulator Verilator :用来编译和跑仿真的工作目录
    project Scala: 构建工具sbt用来构建Scala的工作目录
    regression: 定义的持续的整合和一套nightly regression
    scripts: 用来分析仿真的输出或者处理代码文件的内容
    vsim VCS: 用来编译和跑仿真的工作目录
    vsrc Verilog: 代码,包含接口、测试框架和Verilog过程接口VPI
    chisel3 :包含Chisel自定义的各种类和规则,用来生成RTL
    firrtl: 存放Chisel编译器处理代码而生成的一种中间表示,由中间表示能生成Verilog代码或C++代码
    hardfloat: 用chisel写成的浮点单元
    riscv-tools: 支持RISC-V的一套软件,与生成RTL有关
    torture: 用来生成压力测试所需的一些随机指令
    src/main/scala: 构筑rocket-chip的代码

  • rocket-chip generator电路构筑代码的目录结构:

    amba amba: 协议的实现代码,包括AXI4,AHB-lite,APB
    config: 提供能配置Generator的Scala的接口
    coreplex: 包含Rocket核、系统总线、coherence agents、debug设备、中断处理、面向外部的外设、时钟同步处理和TileLink到外设总线转换
    dev

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

RISC-V --rocket-chip generator介绍及其仿真使用 的相关文章

  • Chisel Tutorial(五)——Bundles与Vecs

    以下内容依据2015 7 10版的Chisel 2 2 Tutorial整理 此处的Bundles Vecs就不翻译了 免得因为翻译不准引起一些误解 童鞋们有没有好的建议 lt
  • 计算机体系结构基础知识介绍之缓存性能的十大进阶优化之编译器优化和硬件预取(六)

    优化七 编译器优化 降低miss率 处理器和主内存之间不断扩大的性能差距促使编译器编写者仔细检查内存层次结构 看看编译时优化是否可以提高性能 再次 研究分为指令缺失的改进和数据缺失的改进 接下来介绍的优化可以在许多现代编译器中找到 有些程序
  • Chisel教程——14.(完结篇)Scala和Chisel中的数据类型

    完结篇 Scala和Chisel中的数据类型 完结篇开头的碎碎念 这是这个系列的最后一篇文章了 官方的Chisel Bootcamp中后面还有FIRRTL相关的内容 但设计一个RISC V CPU这样的目标 靠本系列文章讲述的内容已经足够了
  • RISC-V相关的开源项目

    和RISC V相关的有如下一些开源项目 工具链 1 riscv tools 基本上所有RISC V相关工具链 仿真器 测试的宏项目 包含以下的项目 riscv gnu toolchain GNU工具链 riscv gcc GCC 编译器 r
  • 基于RISC-V架构的45条指令单周期CPU设计——第1章

    完整目录 完整代码和论文 指令选取 前言 本次设计选取 RV32I 和 RV32M 大部分可实现的指令 其中囊括 R 型 I 型 U 型 S 型 B 型 J 型指令 R 型指令 R 型指令格式 I 型指令 I 型指令格式 U 型指令 U 型
  • RISC-V from scratch 5:机器模式

    RISC V from scratch 5 机器模式 接上一篇博客 我今天继续写 RISC V from scratch 系列博客 原本我打算将该英文系列全部翻译成中文 但原作者貌似没有把这一系列完成就咕咕了 因此本文的内容是我自己实践的内
  • 吃透Chisel语言.09.Chisel项目构建、运行和测试(一)——用sbt构建Chisel项目并运行

    Chisel项目构建 运行和测试 一 用sbt构建Chisel项目并运行 上一大部分介绍了Chisel的基础语法 但除了教程开始的Demo以外 我们还没有开始写Chisel代码 这对于学习编程语言来说是大忌 不过好在Chisel基础语法部分
  • RISC-V单周期处理器设计(基本介绍和数据通路)(一)

    一 设计步骤 1 处理器设计的基本规范 指令 包括处理器需要具有那些功能 需要注意的是处理器的功能是由指令唯一确定 2 处理器设计方案 包括数据通路和控制器 数据通路 指令执行过程中 数据所经过的路径 包括路径中的部件 它是指令的执行部件
  • 如何处理地址不对齐指令?

    连续不断是处理器取指的另一个目标 如果处理器在每一个时钟周期都能取一条指令 就可以源源不断的为处理器提供后续指令流 而不会出现空闲的时钟周期 地址不对齐导致问题 不管是从指令缓存 还是从ITCM中取指令 若处理器遇到了一条地址不对齐的指令
  • RISC-V MCU开发 (七):代码调试

    RISC V MCU开发 七 代码调试 MounRiver Studio MRS 配合GD Link WCH Link JLink等在线调试下载器 可支持GDVFx系列 CH56x CH57x CH58x CH32Fx CH32Vx等RIS
  • ESP32-C3入门教程 基础篇(一、ADC采样)

    经过前面的折腾 设计好了自己的测试开发板 搭建好了开发环境 然后正式开始进行功能测试了 测试顺序先从简单的开始吧 一步一步来 目录 前言 1 ADC采样示例测试 1 1 DMA连续采样 1 2 单次采样 1 3 测试源码 2 ESP32 C
  • riscv 指令集与寄存器

    文章目录 指令集 寄存器分类 RV64 和 RV32 有什么不同总览 指令集分类 base optional 内嵌汇编 参考文章 指令集 RV32指令集 和 RV64指令集 并不是单独的 一类指令集的集合 而很多类指令集的集合 RV32指令
  • Chisel 手册 英文版

    Chisel Manual Jonathan Bachrach Huy Vo Krste Asanovi EECS Department UC Berkeley jrb huytbvo krste eecs berkeley edu Apr
  • RISC-V嵌入式开发准备篇2:嵌入式开发的特点介绍

    原文出处 https mp weixin qq com s ljYZwMj3JaPN29dTAXA3bQ 随着国内第一本RISC V中文书籍 手把手教你设计CPU RISC V处理器篇 正式上市 越来越多的爱好者开始使用开源的蜂鸟E203
  • 【MACOS(M1)编译Risc-v版OpenOCD】

    MACOS编译Risc v版OpenOCD 准备 1 执行顺序 常见问题 问题1 AC PROG CC C99 告警 2 问题2 texinfo 版本不匹配 问题2 libtool版本不匹配 问题3 编译错误 验证一下 准备1 Instal
  • 如何用GDB调试交叉编译的QEMU程序?

    我在使用 GDB 调试 QEMU 中运行的简单程序时遇到问题 GDB似乎无法找到我在程序中的位置 因为它总是显示 作为我当前的位置 并且它永远不会达到我设置的任何断点 在一个终端中 我运行 QEMU cat add c int main i
  • 凿子3.功能模块Mux4

    我正在按照文档学习 Chisel在 Github 上 https github com ucb bar chisel3 wiki Short 20Users 20Guide 20to 20Chisel 到目前为止 一切都完美无缺 但我还是卡
  • 如何为 Risc-V(汇编语言)编写旋转操作 我们有像 8086 中那样的命令吗?

    我以前使用过8086的汇编语言 8086中的旋转操作只是一个命令 但我在 Risc V 汇编语言中找不到旋转操作的特定关键字 看起来扩展 B 最终应该定义这样的指令 在那之前你必须使用左移和右移来组合它 这是 MIPS32R2 rotrv
  • GDB 中断命令不会在命令文件中执行

    我有一个调试脚本 它执行以下操作 设置两个断点 让我们称呼他们吧start and end断点 启动后 脚本将继续执行 直到start命中断点 once start命中断点 我执行单步执行 直到end命中断点 这是我的命令文件 end br
  • 数组和结构体可以以不同的方式初始化吗?

    我的问题可能看起来很奇怪 事实上 这是上下文 我目前在切换时遇到一个奇怪的问题 关于我正在从事的项目 核心从pullinino到CV32 也发生了一些其他变化 例如关于crt0 如一些数据内存重置 这是一个 真实的 例子 说明了一个非常简单

随机推荐

  • tradingview

    文档地址 https b aitrade ga books tradingview index html 初始化 数据对接后的展示图 TV的数据格式 getbars time单位是S 10位数 ms的请除以1000 历史数据回来 塞给get
  • 我的世界进服务器显示C1.8-1.11,我的世界坐标显示(Batty's Coordinates PLUS)Mod

    Batty s Coordinates PLUS最好用的坐标显示Mod是为了你在游戏中方便的显示坐标或者帧数 这样你就不需要频繁的去按F3 并且还内置的定时器的功能 用法 在模式0坐标是隐藏的 模式1 显示了X Y Z坐标 也表明你面对的方
  • C# 添加Windows服务,定时任务。

    源码下载地址 http files cnblogs com files lanyubaicl 20160830Windows E6 9C 8D E5 8A A1 zip 步骤 一 创建服务项目 步骤二 添加安装程序 步骤三 服务属性设置 s
  • MATLAB中均值、方差、标准差、协方差、相关性的计算

    公式 1 均值 2 方差 3 标准差 均方差 4 协方差 5 相关性 6 加权均值 7 加权方差 8 加权标准差 MATLAB代码 样本定义 x 1 2 3 3 2 1 y 1 2 3 3 1 2 z 3 2 y 1 均值 均值 xmean
  • 搭建spring-cloud-alibaba微服务项目:springBoot服务+nacos注册中心+nacos配置中心+feign服务交互+gateway网关

    项目说明 从0 1 搭建cloud alibaba微服务项目 包括各个springBoot服务 nacos注册中心 nacos配置中心 feign服务交互 gateway网关 首先统一微服务种alibaba相关组件的依赖版本问题 官方参考文
  • Android中LocalSocket使用

    http www cnblogs com bastard archive 2012 10 09 2717052 html 一 Socket Socket最初用在基于TCP IP网络间进程通信中 以客户端 服务器模式进行通信 实现异步操作 共
  • vue项目实现微信扫码登录

    要在Vue项目中实现微信扫码登录功能 你可以按照以下步骤进行操作 注册微信开放平台账号并创建应用 首先 在微信开放平台上注册一个账号 并创建一个应用 获取到应用的AppID和AppSecret 安装 Axios 在Vue项目中使用Axios
  • python setup.py install报错“error: can‘t create or remove files in install directory”

    运行python setup py install 报错 running install error can t create or remove files in install directory The following error
  • 叶面积指数(LAI)介绍以及遥感估算方法

    前言 叶面积指数精度是正确预测产量的重要参数之一 同时 还有那么多疑问 如何才能正确 以及如何使用最有效的方法计算叶面积指数 LAI 什么是最佳 LAI 哪些估算叶面积指数精度的方法比较好 本文为初学者做了简要介绍 并在文章末尾附了两种估算
  • 史上最全的正则表达式-匹配中英文、字母和数字

    1 匹配中文 u4e00 u9fa5 2 英文字母 a zA Z 3 数字 0 9 4 匹配中文 英文字母和数字及下划线 u4e00 u9fa5 a zA Z0 9 同时判断输入长度 u4e00 u9fa5 a zA Z0 9 4 10 5
  • vue3中将数据导出为excel表格

    目标 将vue3接口中得到的数据转换为数组 然后利用Export2Excel导出为excel表 1 开始之前要准备 1 Export2Excel js文件 在后面标题4附上 我是放在until目录下 2 npm i xlsx 安装失败后面加
  • 6.4-为何要深度学习

    文章目录 一 模型对比 二 模块化 Modularization 三 语音辨识 3 1 类比 Analogy 3 2 端到端学习 End to end Learning 四 复杂任务 五 更多的原因 一 模型对比 在参数量相同的条件下 究竟
  • dede仿站时----实现简单图片滚动(轮流图)效果

    第一次发文章 说的不好 请见谅 刚处理了标题这个问题 也百度半天没好办法 自己混乱的整理出来 所以发出来 说说自己的解决办法 直接代码 图 代码 dede arclist typeid 20 orderby pubdate type ima
  • 实战 逆向最新黄鸟抓包软件

    前言 观众器者为良匠 观众病者为良医 这篇文章分析了知名抓包软件HttpCanary高级功能的使用限制 使用了许多实用的工具 过程写的尽可能的详细 希望对大家有所帮助 笔者实践环境 pixel 6 Android 12 frida 15 1
  • 通过CUDA deviceQuery分析NVIDIA显卡性能

    参考 http blog sina com cn s blog 471e6c930102wlp5 html 序号 名称 值 解释 1 Detected 1 CUDA Capable device s 1 检测到1个可用的NVIDIA显卡设备
  • JetBrains全家桶激活地址

    全家桶地址 https www jetbrains com products html fromMenu JetBrains 授权服务器 License Server URL http idea imsxm com 使用方法 激活时选择Li
  • Oracle中RMAN基本命令教程

    一 target 连接数据库 1 本地 oracle oracle rman target 2 远程 oracle oracle rman target sys oracle orcl 二 show 查看配置 RMAN gt show al
  • JSP之cookie的使用说明

    1 cookie介绍 1 来自于Servlet规范中提供一个工具类 2 如果两个Servlet为同一个用户 用一个浏览器提供服务 此时借助于用户的cookie实现数据共享 3 cookie在现实生活中相当于用户的会员卡 当没有手动清除浏览器
  • Linux 进程间通讯

    文章目录 一 进程间通讯概念 进程通讯介绍 进程间通讯的分类 二 进程间通讯之管道 1 无名管道 无名管道概述 无名管道 API 无名管道的实例 无名管道的读写特点 设置为非阻塞的方法 2 有名管道 有名管道的概述 有名管道的使用 有名管道
  • RISC-V --rocket-chip generator介绍及其仿真使用

    最近工作使用 rocket chip generator 仿真非极大值抑制算法 C语言编写 分析其时序模型和riscv汇编指令 这里将rocket chip generator的使用方法总结一下 说明 使用的rocket chip gene