摘要:
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,则返回 阅读全文