随笔分类 - Chisel3
摘要:https://mp.weixin.qq.com/s/Gqv09RIgSSg5VKe-wb4aGg 讨论tilelink中使用MaskGen生成mask的用法。 1. tilelink中的mask 1) channel a/b包含一个mask信号: Byte lane select for m
阅读全文
摘要:https://mp.weixin.qq.com/s/UggNsNOeEMP-GhzlLiT-qQ 简单介绍Edges的实现。 1. TLEdge 包含client和manager两端的边,继承TLEdgeParameters类: 1) isAligned 判断访问的地址和访问大小是否对
阅读全文
摘要:https://mp.weixin.qq.com/s/1I6DcONr0Mg7xiX8F1C7SQ 简单介绍TileLink相关的参数实现(具体问题暂时不展开,后续用到时再做分析)。 1. TLManagerParameters 定义TileLink Manager节点的参数,Manag
阅读全文
摘要:https://mp.weixin.qq.com/s/jrqBg2AIpQogBrpwNXjmwg 简单介绍Bundles文件中对TileLink规范(1.7.1)的定义。 参考链接:https://docs.qq.com/sheet/DUVRzVGVqemZvVGFQ 1. TLMessages
阅读全文
摘要:https://mp.weixin.qq.com/s/Z4JJhZ_jL1lqF1nf_orq9A 简单介绍Timer的实现。 1. 基本功能 实现定时器的功能。 2. Timer 实现一个静态装入的定时器: 1) initCount 定时器的初始值,静态配置,不可动态改变。 2) ma
阅读全文
摘要:https://mp.weixin.qq.com/s/zCP7wPuxgQ-r94Tr6BV5iw 简单介绍Replacement的实现。 1. 基本介绍 用于实现Cache替换相关的功能。 From: Cache Replacement Policies, Prof. Mikko H.
阅读全文
摘要:https://mp.weixin.qq.com/s/gbR5fuDbE_nUFVxw-p4rsA 简单介绍ReduceOthers的实现。 1. 基本介绍 输入一组Bool元素,把其他位置元素逐个相与的结果,作为当前位置的值输出。 2. helper helper实现ReduceOthers
阅读全文
摘要:https://mp.weixin.qq.com/s/xyEq3DgYuf2QuNjssv8pkA 简单介绍Repeater的实现。 1. 基本功能 A Repeater passes it's input to it's output, unless repeat is asserted.
阅读全文
摘要:https://mp.weixin.qq.com/s/G2vLP-ncoJzSOgxGGEJkfA 简单介绍PrefixSum的实现。 1. 基本介绍 把一个序列从前向后逐个执行迭代(assocOp),每针对一个元素执行一遍迭代,针对一整行执行一次迭代(layerOp)。 2. Pref
阅读全文
摘要:https://mp.weixin.qq.com/s/CUnrpyQN5LRBR5bxC5u86A 简单介绍MultiWidthFifo的实现。 1. 基本介绍 实现一个输入宽度为inW,输出宽度为outW,可存n个outW宽度元素的FIFO。 a. 如果inW == outW,直接使用队列(
阅读全文
摘要:https://mp.weixin.qq.com/s/_aJqf1cFJDK5RVRBhxTWOw 介绍MaskGen的实现。 1. 基本介绍 给定总线宽度beatBytes,根据访问的地址(address)和访问的字节数(bytes = 2^lgSize),生成访问字节的掩码。 2. 实现
阅读全文
摘要:https://mp.weixin.qq.com/s/kf4FvAFye_bRdT49Yow7Hg 简单介绍Misc中各个辅助方法的用途和实现。 1. ParameterizedBundle 包含一个隐式参数的Bundle。 2. DecoupledHelper rvs:Ready
阅读全文
摘要:https://mp.weixin.qq.com/s/yO_9Ec3S5-AosRVLpsBgOg 简单介绍基于通道位置的队列(LanePositionedQueue)的实现。 1. LanePositionedDecoupledIO 包含多个lane的ReadyValid接口,其中:
阅读全文
摘要:https://mp.weixin.qq.com/s/Pe7FGKzfRufzzYDrl0fQ7g 介绍IDPool的实现。 1. 基本介绍 实现从ID池中分配和释放ID的功能。 2. 实现 1) numIds & idWidth numIds为ID池中ID的个数;idWidth为表示这
阅读全文
摘要:https://mp.weixin.qq.com/s/5hNM4yeQjaLvAJzgMG9PGQ 介绍HeterogeneousBag的实现。 1. 基本介绍 一个口袋(bag),把元素们(elts)装进去。 2. 实现 a. apply(x):取第x个元素; b. length:元素的个数
阅读全文
摘要:https://mp.weixin.qq.com/s/vf0PfjbxQ3Ywjk6tk85SfA 介绍GenericParameterizedBundle的实现。 1. 基本介绍 a. Bundle:继承自Bundle,自定义的数据类型; a. 参数化:类型化的参数为T params; b.
阅读全文
摘要:https://mp.weixin.qq.com/s/QoP9Gbm9hUQ4xsjJQ0pZ1Q 简单介绍Frequency的实现。 一个实例: 1. 基本介绍 每一个时钟周期,随机从列表(dist)中选择一个输出。 要求条件: a. 列表dist不为空; b. dist中freq的总
阅读全文
摘要:https://mp.weixin.qq.com/s/yato1PrnHe517J8twgZFOg 介绍ECC(Error Correcting Code/Error Checking and Correcting)的实现框架。不涉及编码的具体实现细节。 1. 码:Code 所有编码(如
阅读全文
摘要:https://mp.weixin.qq.com/s/q7R2Dn9p9cch_ABN4raReQ 介绍几种计数器的实现,以及其中的一点小细节。 1. ZCounter a. value初始值为0; b. 使用inc构建递增计数逻辑; c. wrap: 如果value增加到n-1,则返回
阅读全文
摘要:https://mp.weixin.qq.com/s/ohBVNAXZUA538qSxfBGMKA 简单介绍Broadcaster的实现。 1. Broadcaster 广播即是把输入口的输入转发到每个输出口输出。 Takes in data on one decoupled interfac
阅读全文

浙公网安备 33010602011771号