随笔分类 - Scala
摘要:https://mp.weixin.qq.com/s/7suuJ7m2BKCpsHk1K2FzJQ 介绍riscv-debug的使用实例:如何使用DMI。 1. dm Debug Module实现了调试模块。 2. dmi Debug Module Interface是对Debug Module的访
阅读全文
摘要:https://mp.weixin.qq.com/s/HjG5S9binyniG_amC3Dr5Q 介绍riscv-debug的使用实例:如何选择核心,执行Halt/Resume请求。 1. Selecting Harts 可以有多个核心连接在一个调试模块上,如果要让一个核心暂停、重新执行、复位,或
阅读全文
摘要:https://mp.weixin.qq.com/s/SxmX-CY2tqvEqZuAg-EXiQ 介绍riscv-debug的使用实例:配置Quick Access功能。 1. Quick Access 快速访问,即暂停核心执行Program Buffer中的一段短的代码,然后再恢复核心运行。 具
阅读全文
摘要:https://mp.weixin.qq.com/s/zPNyrBOhsytkRrZTDTEvpw 介绍riscv-debug的使用实例:配置Triggers功能。 1. Trigger Trigger是指硬件触发器:A debugger can use hardware triggers to h
阅读全文
摘要:https://mp.weixin.qq.com/s/on1LugO9fTFJstMes3T2Xg 介绍riscv-debug的使用实例:使用三种方法写内存。 1. Using System Bus Access 1) Write a word to memory A. 写sbaddress0寄存器
阅读全文
摘要:https://mp.weixin.qq.com/s/ChXNTbx94WDC72GvmE9bGA 介绍riscv-debug的使用实例:使用三种方法读取内存。 1. Using System Bus Access 1) System Bus Access 除了抽象命令,Program Buffer
阅读全文
摘要:https://mp.weixin.qq.com/s/8yYLVg-RXX3XX0T431lxeA 介绍riscv debug接口的使用实例:使用Program Buffer读取寄存器。 1. Write mstatus using program buffer 1) csrw s0 MSTATUS
阅读全文
摘要:https://mp.weixin.qq.com/s/RdJzE06mMkh2x__vVj_fEA 介绍riscv debug接口的使用实例:使用抽象命令读取寄存器。 1. Read s0 using abstract command 1) abstract command 抽象命令,Debug模块
阅读全文
摘要:https://mp.weixin.qq.com/s/poCJBcx45clXHm6Uuv8M6w 介绍AddressSet.misaligned的实现。之前介绍的比较概括,也有偏差。这里根据实际执行结果,分析总结其功能。 1. 提取执行 misaligned功能比较独立,可以单独提取出来。执行观察
阅读全文
摘要:https://mp.weixin.qq.com/s/0u9jM2u-FkTlrk3QNuZaBw 简单介绍JtagTap的实现。 1. 简单介绍 定义TAP(Test Access Port)所需要的相关模块,并实现一个生成TAP的方法。 2. JTAGIO 定义JTAG模块的输入输出接口,输入输
阅读全文
摘要:https://mp.weixin.qq.com/s/cFXVOBHayV2w27jpT5RglA 简单介绍JtagStateMachine的实现。 1. 简单介绍 根据IEEE 1149.1-2001规范,实现一个状态机,根据TCK/TMS的值,驱动TAP控制器状态变化。 2. JtagState
阅读全文
摘要:https://mp.weixin.qq.com/s/pHtrlmSCPqzlDdfj3qkNPQ 简单介绍JtagShifter的实现。 1. 简单介绍 实现移位寄存器链,包含并行Capture和Update功能,用于实现从TDI到IR/DR,再到TDO的串行移位路径。 2. ShifterIO
阅读全文
摘要:https://mp.weixin.qq.com/s/icPGf4KdSOudwuNpLxdo7w 简单介绍Xbar的实现。 1. 简单介绍 IntXbar主要用于把上游多个中断源的中断组合在一起,然后与下游相连接。 2. diplomacy node diplomacy node用于与上下游节点连
阅读全文
摘要:https://mp.weixin.qq.com/s/Fn3u2OSLAzPDrlZTiLfikg 简单介绍NullIntSource的实现。 1. 简单介绍 NullIntSource实现一个不会发起中断信号的中断源模块。 2. NullIntSource 1) 参数 a. num:中断数目; b
阅读全文
摘要:https://mp.weixin.qq.com/s/nSX4prXFb4K5GSUhPtOUCg 简单介绍Crossing的实现。 1. IntXing 这是一个LazyModule: 1) 参数 a. sync:表示同步所需要的时钟周期数。 b. p:隐式参数,表示外部配置; 2) diplom
阅读全文
摘要:https://mp.weixin.qq.com/s/BlW4y0Ez1kppxvSHAla31A 简单介绍interrupts相关的diplomacy节点。 1. IntImp 中断节点实现: 1) DUEB参数 a. D:IntSourcePortParameters; b. U:IntSink
阅读全文
摘要:https://mp.weixin.qq.com/s/eD1_hG0n8W2Wodk25N5KnA 简单介绍interrupts相关的Parameters。 1. IntRange 定义一个中断号区间: a. [start, end):end不被包括在内; b. size:区间包含的中断号数; c.
阅读全文
摘要:https://mp.weixin.qq.com/s/aXxgzWwh6unuztjgyVX0iQ 简单介绍RegMapper的实现。 1. 简单介绍 RegMapper使用指定的输入接口,为一组寄存器生成读写访问逻辑。 2. RegMapperParams 定义RegMapper需要的参数: a.
阅读全文
摘要:https://mp.weixin.qq.com/s/82iLT-fmDg9Comp2p9bxKg 简单介绍RegisterCrossing的实现。 1. BusyRegisterCrossing 简单的控制状态机,用于控制是否可以发起请求,即是否已经存在正在处理的请求: 1) io 控制接口如下图
阅读全文
摘要:https://mp.weixin.qq.com/s/7WKB1QxcVzqm2Q7bWcKHzA 简单介绍RegField的实现。 1. 简单介绍 定义寄存器域相关的参数类型。 2. RegFieldAccessType 访问类型:读、写、读写: 3. RegFieldWrType 写操作类型:
阅读全文

浙公网安备 33010602011771号