摘要:
https://mp.weixin.qq.com/s/oZCYBdy5glxJQmYKVWvpvA 简单介绍BankBinder的实现。 1. 基本介绍 A BankBinder is used to divide contiguous memory regions into banks, s 阅读全文
摘要:
https://mp.weixin.qq.com/s/XDUtw0uPrVXC4CChbydF_A 分析在透传和代理两种模式下,AtomicAutomata可能出现的问题。 1. 透传 如果下游节点支持某一个Atomic操作,并且AtomicAutomata节点被允许不做代理的话,可以由下游节 阅读全文
摘要:
https://mp.weixin.qq.com/s/O7VTHqpCFNJQi3EpucXkIw 简单介绍AtomicAutomata的实现。(细节问题太多,恕不完全表述。) 1. 基本功能 AtomicAutomata是一个适配模块,为下游节点添加Atomic操作的支持。Atomic操作包 阅读全文
摘要:
https://mp.weixin.qq.com/s/TSwKL_qm-b-0e8x7r--hhg 简单介绍Atomics中数学运算、逻辑运算的实现。 1. io Atomics是一个硬件模块,他继承自Modules: IO端口定义如下: 其中: a. write: 是否写操作; 阅读全文
摘要:
https://mp.weixin.qq.com/s/lzDmIHkUph3b1Fxgx66ySg 分析移位/取反操作在Intellij中提示错误的问题。 1. 问题 用到移位/取反的地方都会有错误提示: 提示信息为: 2. 分析 问题发生在对UInt变量,调用在Bits中定义的方法,然 阅读全文
摘要:
https://mp.weixin.qq.com/s/UGMH8EoaVcFkkQW-l4HLWg 分析toBools在Intellij中显示为红色的问题。 1. 问题 在TLArbiter中,对toBools的使用如下: 可以看到在Intellij中有错误: a. toBools是红色 阅读全文
摘要:
https://mp.weixin.qq.com/s/KJ8pVH76rdxPOZ1vE3QlKA 简单介绍tilelink对Diplomacy Nodes的实现。 1. TLImp TLImp继承自NodeImp: 其中: a. D: TLClientPortParameters b. 阅读全文
摘要:
https://mp.weixin.qq.com/s/0ob-Fq-ZOoj-_S7pTJu6rQ 介绍TLArbiter的实现,主要关注如何实现burst的多个beat的输出。 1. beatsIn/sourcesIn 对输入参数进行简单处理。输入参数为: sources为不定参数: 阅读全文
摘要:
https://mp.weixin.qq.com/s/9nikweQUGG5FO3Z8t6feaw 介绍Parameters中定义的fastProperty的实现。(使用最近的新版本,差别不大) 1. groupByIntoSeq 用于把列表中的每个元素,使用键值(key value)函数f进 阅读全文
摘要:
https://mp.weixin.qq.com/s/0nzkV4K1osNEQzrtITYxmw 介绍Edges中first/last/done的实现。 1. firstlastHelper 辅助函数,用于确定burst中的第一个、最后一个、是否已完成、第几个beat。 a. beat 阅读全文