随笔分类 - Scala
摘要:https://mp.weixin.qq.com/s/KsZqe9W_DM6W6JecK_irvA 介绍AddressSet.enumerateBits方法的实现,主要是x & (-x)的意义。 1. 基本定义 enumerateBits的意思就是用于枚举比特,或者说罗列比特,即把mask中为
阅读全文
摘要:https://mp.weixin.qq.com/s/qqL2XWqAhVcnGSxs6kxhLg 介绍IdRange的实现。 1. 基本定义 A non-empty half-open range; [start, end) 非空,半闭合区间。 限定条件如下: a. start >= 0;
阅读全文
摘要:https://mp.weixin.qq.com/s/j1M9ZOTtqvc1Fv9T6dy9kg 以tilelink下的Buffer为例,介绍LazyModule如何组织内部的节点和模块。 1. TileLink Channels 参考TileLink总线的规范文档。 2. BufferPa
阅读全文
摘要:https://mp.weixin.qq.com/s/rgCRorjPYyyD6i7moIzbZg 介绍LazyModule和Node构造方法的执行过程,即实例化过程。 1. NullIntSource 以NullIntSource为例,将其作为顶层的LazyModule考虑: 2. Lazy
阅读全文
摘要:https://mp.weixin.qq.com/s/gDbUto1qd7uWbpnxovr5pg 介绍LazyModuleImpLike类的实现。 1. wrapper LazyModuleImpLike是LazyModule的内部实现,LazyModule则是LazyModuleImpLike的
阅读全文
摘要:https://mp.weixin.qq.com/s/9PsBt4_4qHx4i6C5XtuiUw 介绍LazyModule和Node构造方法的执行过程,即实例化过程。 1. NullIntSource 以NullIntSource为例,将其作为顶层的LazyModule考虑: 2. 实例化过
阅读全文
摘要:https://mp.weixin.qq.com/s/FBU8fE4u9-UK6mRGQOlvbQ 介绍LazyModule的实现。 1. children LazyModule内部的LazyModule,说明LazyModule是可以嵌套的。 在如下位置添加: 2. nodes Laz
阅读全文
摘要:https://mp.weixin.qq.com/s/W1cS9sgwLFjOOm86d05NIA 介绍各类型节点如何确定星型绑定所包含的连接数。 1. 定义 resoveStar方法以抽象方法的形式定义于抽象类MixedNode中,用于确定星型绑定所包含的连接数。 其参数说明如下: a. i
阅读全文
摘要:https://mp.weixin.qq.com/s/zgeAI2n-2cHJi7-Ra5rYZA 介绍MixedNode的实现。 1. 类定义 2. inner/outer inner side/outer side of the node. 3. inward/outward
阅读全文
摘要:https://mp.weixin.qq.com/s/so-2x5KLfYF0IMCCqNThwQ 简单调试ValName实现; 1. 使用 Desugar之后如下: 这里补上了省略掉的implicit parameter,如下: 2. 实现 ValName的实现如下: Va
阅读全文
摘要:https://mp.weixin.qq.com/s/DVcA2UixnB_6vgI3SjZGyQ 调试wirePrefix方法。 1. 实现 wirePrefix用于调整名称格式,其实现如下: 使用正则表达式,把名称从驼峰格式如“CamelCaseNameStyle”变为Linux格式如“c
阅读全文
摘要:https://mp.weixin.qq.com/s/eOgNLi_MJ8HJOpepGaaW8Q 简单介绍BaseNode的实现。 1. You cannot create a node outside a LazyModule LazyModule.scope在LazyModule对
阅读全文
摘要:https://mp.weixin.qq.com/s/BvK3He3GWon8ywG8Jdmcsg 介绍Node相关的类。 1. BaseNode BaseNode是所有节点类的基类。 2. InwardNode 内向节点(下游节点),其定义如下: a. iBindings: 记录内向连
阅读全文
摘要:https://mp.weixin.qq.com/s/GWL41P1G1BXm2sTeLmckdA 介绍NodeHandle相关的类。 1. NoHandle 顶层类(trait),作为所有NodeHandle的父类型,没有定义特别操作。 2. InwardNodeHandle 主要用于
阅读全文
摘要:https://mp.weixin.qq.com/s/533bJxcPRgO4W2gf_OEhEw 分析DUEB参数模型中各种参数类型的可能性。 1. 节点类型 根据参数的传播方向,可以把节点分为三类: a. 只输出参数的节点,参考OutwardNodeImp; b. 只接收参数的节点,参考Inwa
阅读全文
摘要:https://mp.weixin.qq.com/s/9PEEpe1pkQDN9RWpOGSUCQ 介绍DUEB参数模型的设计,不包含实现(实现对设计做了简化)。 1. DUEB diplomacy的DUEB参数模型包含了4组参数,分别是: a. DI/DO b. UI/UO c. EI/EO d.
阅读全文
摘要:https://mp.weixin.qq.com/s/HgUpTCh0D94Uymj5qQk-ag 介绍NodeImp相关基础类的实现。 1. 类图 节点实现(NodeImp)的基础类主要有: a. InwardNodeImp:内向节点实现; b. OutwardNodeImp: 外向节点实现
阅读全文
摘要:https://mp.weixin.qq.com/s/Tmc_oHBQk8eYgKjjsMDn0g 总体介绍diplomacy实现节点(Node)使用的三种类。 0. DAG中的Node diplomacy为了实现节点的功能,主要使用了三种类: a. NodeImp:节点实现; b. NodeHan
阅读全文
摘要:https://mp.weixin.qq.com/s/cTRxXwWNEeb4-XX_t4bRcg 讨论模块结构信息的来源及使用方式。 1. diplomacy diplomacy:外交,谈判的意思。主要用于模块之间的协商参数。 基本思想是首先把模块结构(module hierarchy)抽象
阅读全文
摘要:https://mp.weixin.qq.com/s/zwrG1MfUzXwtik7jotpQsA 介绍Intellij IDEA中的一个去除Scala语法糖的功能。 1. 去除语法糖 Scala包含了太多的语法糖,在实现了代码写法比较简洁的同时,也某种程度上降低了代码的可阅读性。 比如变量类
阅读全文

浙公网安备 33010602011771号