Rocket - debug - TLDebugModuleInner - Program Buffer Access
https://mp.weixin.qq.com/s/EJVqw7JPjjaib68tENl5AQ
简单介绍TLDebugModuleInner中的Program Buffer Access。
1. implementation-specific bits set by harts executing code
1) haltedBitRegs/resumeReqRegs
haltedBitRegs和resumeReqRegs在dmactive为假的情况下,值为0。在dmactive为真的情况下,其值由hartHaltedId和hartResumingId确定:
2) haltedBitRegs
hartHaltedWrEn为真时,hartHaltedId对应的比特为真;
hartResumingWrEn为真时,hartResumingId对应的比特为假;
3) resumeReqRegs
hartResumingWrEn为真时,hartResumingId对应的比特为假;
resumereq为真时,hamaskWrSel(component)选中的核心,对应的比特为真;
4) hartHaltedWrEn/hartHaltedId
hartHaltedId接收写寄存器的数据,hartHaltedWrEn是写寄存器的标志:
谁写呢?核心写:
核心如何写?想必是通过读写指令。
5) hartResumingWrEn/hartResumingId
hartResumingId接收写寄存器的数据,hartResumingWrEn是写寄存器的标志:
这个寄存器也是由核心来写。
2. sbcsFields, sbAddrFields, sbDataFields
通过SystemBusAccessModule生成系统总线相关的寄存器:
3. Program Buffer Access
生成通过dmi接口访问寄存器的逻辑:
包括除了由outer实现的dmcontrol/hawindow/hawindowsel寄存器之外的,其他寄存器:
4. 附录
略
Rocket - debug - TLDebugModuleInner - Program Buffer Access的更多相关文章
- Rocket - debug - TLDebugModuleInner - Program Buffer
https://mp.weixin.qq.com/s/kjhJJ3moRQzxHt6pJOXEgg 简单介绍TLDebugModuleInner中Program Buffer寄存器的实现. 1. pr ...
- Rocket - debug - TLDebugModuleInner - Hart Bus Access
https://mp.weixin.qq.com/s/deNMEyJ1idJDVoZwwo0A1A 简单介绍TLDebugModuleInner中核心总线访问(Hart Bus Access). 参考 ...
- Rocket - debug - TLDebugModuleInner - Drive Custom Access
https://mp.weixin.qq.com/s/1bIqzDYXM36MIfSsjvvYIw 简单介绍TLDebugModuleInner中的针对Custom的访问. 1. customNode ...
- Rocket - debug - TLDebugModuleInner
https://mp.weixin.qq.com/s/jkiHceU0HaJbHGvHiU-QOA 简单介绍TLDebugModuleInner的实现. 1. 引入全局配置 1) cfg 引入Debu ...
- Rocket - debug - TLDebugModuleInner - DMI Register Control and Status
https://mp.weixin.qq.com/s/tI41wu0xaIQ5PRq6F82tNw 简单介绍TLDebugModuleInner中生成DMI控制和状态寄存器使用到的状态. 1. abs ...
- Rocket - debug - TLDebugModuleInner - Abstract Command Decoding & Generation
https://mp.weixin.qq.com/s/0zKSTktxgzo5uCUphqaWSQ 介绍抽象命令的解码和生成. 1. accessRegisterCommandReg accessRe ...
- Rocket - debug - TLDebugModuleInner - Abstract Command State Machine
https://mp.weixin.qq.com/s/RcXI8uEHvZHGCvX3DoVR4Q 简单介绍TLDebugModuleInner中处理抽象命令时的状态机. 1. CtrlState 定 ...
- Rocket - debug - TLDebugModuleInner - ROM Generation
https://mp.weixin.qq.com/s/j_CgHU4PnY82NMwJzOqHYg 简单介绍Variable ROM Generation. 1. jalAbstract jalAbs ...
- Rocket - debug - TLDebugModuleInner - Abstract Data
https://mp.weixin.qq.com/s/DOLkEi-_qQt6lWOhJ2hxVQ 简单介绍TLDebugModuleInner中抽象数据寄存器的实现. 1. abstractData ...
随机推荐
- 带"反悔"的贪心-超市
题面:https://www.acwing.com/problem/content/description/147/ 超市里有N件商品,每个商品都有利润pi和过期时间di,每天只能卖一件商品,过期商品 ...
- 吃零食 csust oj 贪心
吃零食 桌上有n袋零食,不同的零食会有不同的美味程度wi和腐坏程度di,每种零食在一单位时间内美味程度都会下降di,但是不会降到0以下. qwb每一单位时间可以吃掉一袋零食.现在qwb想要在吃完所有零 ...
- 对已经创建的docker container设置开机自启动
首先显示出所有的容器 docker ps -a #显示所有容器 设置已经建立的容器的开机自启动方法 docker update --restart=always <container ID 根据 ...
- Code::Blocks20.03 编译报错
Code::Blocks最近出了新版20.03,进入官网选择下载了附带MinGW版的安装包后,编译HelloWorld就报错(CB一直以来都有问题,新版还是这样...) 主要有两个问题: ld.exe ...
- QML文字灰飞烟灭效果
QML文字灰飞烟灭效果 1,目的 实现文字化作一缕青烟随风而逝的效果. 2,设计分析 在前面的章节中讲述了如何化作光斑碎片逐渐消失的效果,我们可以借鉴它将光斑换成烟雾,再加入端流产生微风浮动,加上字幕 ...
- C# 基础至集合-数组、List<T>、ArrayList、LinkedList、HashMap的一些区别
1:数组 ]; //赋值 strs[] = "; strs[] = "; //修改 strs[] = "burg"; //删除 没法删除 除非转化为可变数组li ...
- Linux内核驱动学习(六)GPIO之概览
文章目录 前言 功能 如何使用 设备树 API 总结 前言 GPIO(General Purpose Input/Output)通用输入/输出接口,是十分灵活软件可编程的接口,功能强大,十分常用,SO ...
- 1008 Elevator (20分)
1008 Elevator (20分) 题目: The highest building in our city has only one elevator. A request list is ma ...
- Elasticsearch系列---几个高级功能
概要 本篇主要介绍一下搜索模板.映射模板.高亮搜索和地理位置的简单玩法. 标准搜索模板 搜索模板search tempalte高级功能之一,可以将我们的一些搜索进行模板化,使用现有模板时传入指定的参数 ...
- Flutter RenderBox指南——绘制篇
本文基于1.12.13+hotfix.8版本源码分析. 0.大纲 RenderBox的用法 通过RenderObjectWidget把RenderBox塞进界面 1.RenderBox 在flutte ...