随笔分类 - Verilog HDL
摘要: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
阅读全文
摘要:介绍AsyncCrossing的实现,主要介绍如何实现diplomacy Node和LazyModule相关内容。 1. TLAsyncCrossingSource 异步上游节点(源节点): 1) node:LazyModule的节点成员 node用于与其他diplomacy节点协商参数
阅读全文
摘要: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,直接使用队列(
阅读全文

浙公网安备 33010602011771号