随笔分类 - Chisel3
摘要:https://mp.weixin.qq.com/s/EcsuTjb4hFF9Ncig9Gfhew 简单介绍DebugTransport的实现。 1. JtagDTMConfig 1) JtagDTMConfig 这是关于JtagDTM的配置: 其中: a. idcodeVersion:表示Jtag
阅读全文
摘要:https://mp.weixin.qq.com/s/EhUb1z5oiIw6dJ-90ifDJA 简单介绍TLDebugModule中的实现。 1. device device是一个设备描述符,包含了设备的各种信息: 2. dmOuter dmOuter是一个TLDebugModuleOuterA
阅读全文
摘要:https://mp.weixin.qq.com/s/Xf4VFTHIDFh1NHmfwlTX3w 简单介绍TLDebugModuleInnerAsync的实现。 1. dmInner dmInner是TLDebugModuleInnerAsync内部的一个子模块。其中又包含多个子节点。 1) dm
阅读全文
摘要:https://mp.weixin.qq.com/s/PSeMVZjSjEFHJgCYZzfa9Q 简单介绍TLDebugModuleOuterAsync的实现。 1. dmi2tl dmi2tl是TLDebugModuleOuterAsync中的一个子模块,用于把dmi接口转换为tilelink接
阅读全文
摘要:https://mp.weixin.qq.com/s/tI41wu0xaIQ5PRq6F82tNw 简单介绍TLDebugModuleInner中生成DMI控制和状态寄存器使用到的状态。 1. abstractCommandBusy 表示是否处于等待状态,如果不是在等待状态,则视为Busy: 2.
阅读全文
摘要:https://mp.weixin.qq.com/s/RcXI8uEHvZHGCvX3DoVR4Q 简单介绍TLDebugModuleInner中处理抽象命令时的状态机。 1. CtrlState 定义抽象命令相关的四个状态: 1) ctrlStateReg ctrlStateReg是一个寄存器,记
阅读全文
摘要:https://mp.weixin.qq.com/s/deNMEyJ1idJDVoZwwo0A1A 简单介绍TLDebugModuleInner中核心总线访问(Hart Bus Access)。 参考资料: a. https://github.com/pulp-platform/riscv-dbg/
阅读全文
摘要:https://mp.weixin.qq.com/s/1bIqzDYXM36MIfSsjvvYIw 简单介绍TLDebugModuleInner中的针对Custom的访问。 1. customNode customNode定义为DebugCustomSink类型的节点: 根据DebugCustomS
阅读全文
摘要:https://mp.weixin.qq.com/s/0zKSTktxgzo5uCUphqaWSQ 介绍抽象命令的解码和生成。 1. accessRegisterCommandReg accessRegisterCommandReg是从COMMANDReg取值解析而来的一个带结构变量: 解析出来的结
阅读全文
摘要:https://mp.weixin.qq.com/s/j_CgHU4PnY82NMwJzOqHYg 简单介绍Variable ROM Generation。 1. jalAbstract jalAbstract是一条指令,跳转到抽象命令的指令: Instruction.JAL是jump and li
阅读全文
摘要:https://mp.weixin.qq.com/s/EJVqw7JPjjaib68tENl5AQ 简单介绍TLDebugModuleInner中的Program Buffer Access。 1. implementation-specific bits set by harts executin
阅读全文
摘要:https://mp.weixin.qq.com/s/kjhJJ3moRQzxHt6pJOXEgg 简单介绍TLDebugModuleInner中Program Buffer寄存器的实现。 1. programBufferMem 1) 定义 以字节为单位的Program Buffer寄存器: 2)
阅读全文
摘要:https://mp.weixin.qq.com/s/DOLkEi-_qQt6lWOhJ2hxVQ 简单介绍TLDebugModuleInner中抽象数据寄存器的实现。 1. abstractDataMem 以字节为单位,表示抽象数据寄存器: dmactive为假时,其值为零: 2. abstrac
阅读全文
摘要:https://mp.weixin.qq.com/s/Lz_D43YdhbRhiGiyoCBxDg 简单介绍TLDebugModuleInner中COMMAND寄存器的实现。 1. COMMANDReset 寄存器复位时使用的值: 当dmactive为假时,存入寄存器中: 2. COMMANDReg
阅读全文
摘要:https://mp.weixin.qq.com/s/adSB7lmKcqmwVd80-gmdIw 简单介绍TLDebugModuleInner中ABSTRACTAUTO寄存器的实现。 1. ABSTRACTAUTOReset 寄存器复位时使用的值: 当dmactive为假时,存入寄存器中: 2.
阅读全文
摘要:https://mp.weixin.qq.com/s/dF_0sE5ZakyY569wlppVHA 简单介绍TLDebugModuleInner中ABSTRACTCS寄存器的实现。 1. ABSTRACTCSReset 寄存器复位时使用的值: 其定义如下: 其中,datacount和progbufs
阅读全文
摘要:https://mp.weixin.qq.com/s/elOGjaVCWc48gs9c_cTqww 简单介绍TLDebugModuleInner中HALTSUM寄存器的实现。 1. numHaltedStatus 为了记录每个核心的暂停状态,需要的宽度为32位的窗口数: numHaltedStatu
阅读全文
摘要:https://mp.weixin.qq.com/s/9GjZAax0SZhRqLne16jn-w 简单介绍TLDebugModuleInner中HARTINFO寄存器的实现。 1. HARTINFORdData 读HARTINFO寄存器时使用的数据源,通过dmiNode访问: 其中的值基本上都是根
阅读全文
摘要:https://mp.weixin.qq.com/s/GyGriFyeq_7Z3xOjKn56Mg 简单介绍TLDebugModuleInner中DMSTATUS寄存器的实现。 1. DMSTATUSRdData 从DMSTATUS寄存器读取时,使用DMSTATUSRdData作为数据源: 2. a
阅读全文
摘要:https://mp.weixin.qq.com/s/7UY99gEJ8QpVBJIohdqKhA 简单介绍TLDebugModuleInner中innerCtrl相关的寄存器。 1. innerCtrl 接下来用到的innerCtrl来自于io中: io.innerCtrl从整体上看方向是输入,信
阅读全文

浙公网安备 33010602011771号