07 2019 档案

摘要:https://mp.weixin.qq.com/s/-pjCLzzincJz0Z66orx8kg 介绍Broadcast的实现。 ​​ 1. 基本介绍 TLBroadcast实现的是TL-C等级,支持Transfer操作。主要功能是根据输入的请求类型,广播Probe请求进行权限调整,维持缓存一致性 阅读全文
posted @ 2019-07-29 18:07 wjcdx 阅读(563) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/oZCYBdy5glxJQmYKVWvpvA 简单介绍BankBinder的实现。 ​​ 1. 基本介绍 A BankBinder is used to divide contiguous memory regions into banks, s 阅读全文
posted @ 2019-07-27 10:28 wjcdx 阅读(267) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/XDUtw0uPrVXC4CChbydF_A 分析在透传和代理两种模式下,AtomicAutomata可能出现的问题。 ​​ 1. 透传 如果下游节点支持某一个Atomic操作,并且AtomicAutomata节点被允许不做代理的话,可以由下游节 阅读全文
posted @ 2019-07-20 11:17 wjcdx 阅读(246) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/O7VTHqpCFNJQi3EpucXkIw 简单介绍AtomicAutomata的实现。(细节问题太多,恕不完全表述。) ​​ 1. 基本功能 AtomicAutomata是一个适配模块,为下游节点添加Atomic操作的支持。Atomic操作包 阅读全文
posted @ 2019-07-19 09:53 wjcdx 阅读(589) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/TSwKL_qm-b-0e8x7r--hhg 简单介绍Atomics中数学运算、逻辑运算的实现。 ​​ 1. io Atomics是一个硬件模块,他继承自Modules: ​​ IO端口定义如下: ​​ 其中: a. write: 是否写操作; 阅读全文
posted @ 2019-07-19 09:52 wjcdx 阅读(405) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/lzDmIHkUph3b1Fxgx66ySg 分析移位/取反操作在Intellij中提示错误的问题。 1. 问题 用到移位/取反的地方都会有错误提示: ​​ 提示信息为: ​​ 2. 分析 问题发生在对UInt变量,调用在Bits中定义的方法,然 阅读全文
posted @ 2019-07-18 10:03 wjcdx 阅读(296) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/UGMH8EoaVcFkkQW-l4HLWg 分析toBools在Intellij中显示为红色的问题。 ​​ 1. 问题 在TLArbiter中,对toBools的使用如下: ​​ 可以看到在Intellij中有错误: a. toBools是红色 阅读全文
posted @ 2019-07-18 10:02 wjcdx 阅读(244) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/KJ8pVH76rdxPOZ1vE3QlKA 简单介绍tilelink对Diplomacy Nodes的实现。 ​​ 1. TLImp TLImp继承自NodeImp: ​​ 其中: a. D: TLClientPortParameters b. 阅读全文
posted @ 2019-07-17 10:06 wjcdx 阅读(484) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/0ob-Fq-ZOoj-_S7pTJu6rQ 介绍TLArbiter的实现,主要关注如何实现burst的多个beat的输出。 ​​ 1. beatsIn/sourcesIn 对输入参数进行简单处理。输入参数为: ​​ sources为不定参数: 阅读全文
posted @ 2019-07-17 07:11 wjcdx 阅读(408) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/9nikweQUGG5FO3Z8t6feaw 介绍Parameters中定义的fastProperty的实现。(使用最近的新版本,差别不大) ​​ 1. groupByIntoSeq 用于把列表中的每个元素,使用键值(key value)函数f进 阅读全文
posted @ 2019-07-17 07:10 wjcdx 阅读(465) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/0nzkV4K1osNEQzrtITYxmw 介绍Edges中first/last/done的实现。 ​​ 1. firstlastHelper 辅助函数,用于确定burst中的第一个、最后一个、是否已完成、第几个beat。 ​​ a. beat 阅读全文
posted @ 2019-07-16 11:49 wjcdx 阅读(313) 评论(0) 推荐(0)
摘要:介绍AsyncCrossing的实现,主要介绍如何实现diplomacy Node和LazyModule相关内容。 ​​ 1. TLAsyncCrossingSource 异步上游节点(源节点): ​​ 1) node:LazyModule的节点成员 node用于与其他diplomacy节点协商参数 阅读全文
posted @ 2019-07-11 11:38 wjcdx 阅读(571) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/Gqv09RIgSSg5VKe-wb4aGg 讨论tilelink中使用MaskGen生成mask的用法。 1. tilelink中的mask 1) channel a/b包含一个mask信号: ​​ Byte lane select for m 阅读全文
posted @ 2019-07-06 20:53 wjcdx 阅读(662) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/UggNsNOeEMP-GhzlLiT-qQ 简单介绍Edges的实现。 ​​ 1. TLEdge 包含client和manager两端的边,继承TLEdgeParameters类: ​​ 1) isAligned 判断访问的地址和访问大小是否对 阅读全文
posted @ 2019-07-04 22:56 wjcdx 阅读(1035) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/1I6DcONr0Mg7xiX8F1C7SQ 简单介绍TileLink相关的参数实现(具体问题暂时不展开,后续用到时再做分析)。 ​​ 1. TLManagerParameters ​​ 定义TileLink Manager节点的参数,Manag 阅读全文
posted @ 2019-07-03 23:05 wjcdx 阅读(540) 评论(0) 推荐(0)