https://mp.weixin.qq.com/s/Xf4VFTHIDFh1NHmfwlTX3w

简单介绍TLDebugModuleInnerAsync的实现。

1. dmInner

dmInner是TLDebugModuleInnerAsync内部的一个子模块。其中又包含多个子节点。

1) dmiNode

dmiNode是一个寄存器节点:

2) tlNode

tlNode也是一个寄存器节点:

3) sb2tlOpt

sb2tlOpt是一个把系统总线转换为tilelink总线的转换模块:

4) customNode

customNode是一个自定义节点:

5) io

6) 结构图

总体结构图如下:

2. dmiXing

dmiXing是一个TLAsyncCrossingSink节点,用于实现跨域逻辑:

3. dmiNode

dmiNode是dmiXing.node的别名:

4. tlNode

tlNode是dmInner.tlNode的别名。

5. 连接跨域逻辑

6. lazy val module

lazy val module用于实现TLDebugModuleInnerAsync的内部逻辑。

1) io

模块定义了单独的IO:

结构示意图如下:

2) dmactive_synced

使用io.dmactive和io.psd生成的同步之后的dmactive信号:

PS.这里有机会再细究。

3) gated_clock

根据dmactive_synced生成的一个门控时钟:

如果配置参数中clockGate为假,则不使用门控。

PS.这里有机会再细究。

4) 指定时钟

使用withClock指定使用gated_clock为时钟,生成一段连接逻辑:

PS.这里有机会再细究。

7. 总体结构

TLDebugModuleInnerAsync的总体结构示意图(可以单独打开图片查看)如下:

Rocket - debug - TLDebugModuleInnerAsync的更多相关文章

  1. Rocket - debug - TLDebugModule

    https://mp.weixin.qq.com/s/EhUb1z5oiIw6dJ-90ifDJA 简单介绍TLDebugModule中的实现. 1. device device是一个设备描述符,包含 ...

  2. Rocket - debug - TLDebugModuleInner - Hart Bus Access

    https://mp.weixin.qq.com/s/deNMEyJ1idJDVoZwwo0A1A 简单介绍TLDebugModuleInner中核心总线访问(Hart Bus Access). 参考 ...

  3. Rocket - debug - Periphery

    https://mp.weixin.qq.com/s/uGxn-Xec0LkwdaSsCtQBvw 简单介绍Periphery的实现. 1. ExportDebugDMI/ExportDebugJTA ...

  4. Rocket - debug - DebugTransport

    https://mp.weixin.qq.com/s/EcsuTjb4hFF9Ncig9Gfhew 简单介绍DebugTransport的实现. 1. JtagDTMConfig 1) JtagDTM ...

  5. Rocket - debug - TLDebugModuleInner - ROM Generation

    https://mp.weixin.qq.com/s/j_CgHU4PnY82NMwJzOqHYg 简单介绍Variable ROM Generation. 1. jalAbstract jalAbs ...

  6. Rocket - debug - TLDebugModuleInner - innerCtrl

    https://mp.weixin.qq.com/s/7UY99gEJ8QpVBJIohdqKhA 简单介绍TLDebugModuleInner中innerCtrl相关的寄存器. 1. innerCt ...

  7. Rocket - debug - Example: DMI

    https://mp.weixin.qq.com/s/7suuJ7m2BKCpsHk1K2FzJQ 介绍riscv-debug的使用实例:如何使用DMI. 1. dm Debug Module实现了调 ...

  8. Rocket - debug - Example: Triggers

    https://mp.weixin.qq.com/s/zPNyrBOhsytkRrZTDTEvpw 介绍riscv-debug的使用实例:配置Triggers功能. 1. Trigger Trigge ...

  9. Rocket - debug - Example: Accessing Registers Using Program Buffer

    https://mp.weixin.qq.com/s/8yYLVg-RXX3XX0T431lxeA 介绍riscv debug接口的使用实例:使用Program Buffer读取寄存器. 1. Wri ...

随机推荐

  1. grep 如何自动标注颜色

    首先 最后一行加入 保存 然后source ~/.bashrc 然后来试一下效果

  2. 如何理解三大运营商发布的《5G消息白皮书》?

    如何理解三大运营商发布的<5G消息白皮书>? 2020年4月8日中国移动.中国电信.中国联通携手华为.小米.vivo.OPPO.中兴等11家终端厂商联合发布了<5G消息白皮书> ...

  3. 真香!PySpark整合Apache Hudi实战

    1. 准备 Hudi支持Spark-2.x版本,你可以点击如下链接安装Spark,并使用pyspark启动 # pyspark export PYSPARK_PYTHON=$(which python ...

  4. 【Hadoop离线基础总结】MapReduce入门

    MapReduce入门 Mapreduce思想 概述 MapReduce的思想核心是分而治之,适用于大量复杂的任务处理场景(大规模数据处理场景). 最主要的特点就是把一个大的问题,划分成很多小的子问题 ...

  5. 跨站点请求伪造(CSRF)总结和防御

    什么是CRSF 构建一个地址,比如说是删除某个博客网站博客的链接,然后诱使已经登录过该网站的用户点击恶意链接,可能会导致用户通过自己的手将曾经发布在该网站的博客在不知情的情况下删除了.这种构建恶意链接 ...

  6. SpringMVC中参数的传递(一)

    前言 1.首先,我们在web.xml里面配置前端控制器DispatcherServlet以及字符编码过滤器(防止中文乱码),配置如下: <?xml version="1.0" ...

  7. Azure B2C登录,react-web端实现,自定义登录页面ui

    import React, { Component } from 'react'; import Particles from 'react-particles-js'; import { Form, ...

  8. pt-summary pt-mysql-summary工具

    2个percona的工具还真挺好用的. pt-summary# Percona Toolkit System Summary Report ###################### Date | ...

  9. js性能优化之---防抖函数

    使用场景 input的时时触发搜索功能 scroll事件的滚动条位置的监测 resize事件监听窗口变化等 举个栗子(input框时时触发搜索功能) 普通未防抖款 var textElement = ...

  10. 数据结构----栈stack

    栈的概念与数据结构 栈(有时称为“后进先出栈”)是一个元素的有序集合,其中添加移除新元素总发生在同一端.这一端通常称为“顶部”.与顶部对应的端称为“底部”.栈的底部很重要,因为在栈中靠近底部的元素是存 ...