Chisel3 - util - ReadyValid】的更多相关文章

https://mp.weixin.qq.com/s/g7Q9ChxHbAQGkbMmOymh-g   ReadyValid通信接口.通信的双方为数据的生产者(Producer)和消费者(Consumer).   通信协议: 1. Producer有数据要发送,则把Valid位置位为1: 2. Consumer准备好接收了,则把Ready为置位为1: 3. Producer发现Ready为1后,开始发送数据: 4. Producer发送完成后,把Valid置位为0: 5. 不排除Producer…
https://mp.weixin.qq.com/s/7Y23gV6yPvtmvKHTo2I8mw   基于ReadyValid接口实现的多入单出仲裁器.   参考链接: https://github.com/freechipsproject/chisel3/blob/master/src/main/scala/chisel3/util/Arbiter.scala     1. ArbiterIO   ​​ ArbiterIO包含如下接口: a. in   Arbiter的n个输入接口,每个接口…
https://mp.weixin.qq.com/s/Jsy8P3m9W2EYKwneGVekiw   独热码相关的电路生成器.   参考链接: https://github.com/freechipsproject/chisel3/blob/master/src/main/scala/chisel3/util/OneHot.scala     1. PriorityEncoderOH   1) Seq.tabulate(n)(f)   ​​ 相当于把0到n-1逐个带入函数f,把每一次计算得出的…
https://mp.weixin.qq.com/s/mO648yx4_ZRedXSWX4Gj2g   可以容纳不同类型的变量的向量.   参考链接: https://github.com/freechipsproject/chisel3/blob/master/src/main/scala/chisel3/util/MixedVec.scala     1. MixedVec类   ​​   1) 继承自Record   ​​   2) 实现基本方法 ​​ 其中,:= 为批量连接方法(Stro…
https://mp.weixin.qq.com/s/TK1mHqvDpG9fbLJyNxJp-Q   Mux相关电路生成器.   参考链接: https://github.com/freechipsproject/chisel3/blob/master/src/main/scala/chisel3/util/Mux.scala     1. MuxCase   ​​   按在mapping中的顺序为优先顺序,若前一个元素的Bool为真,则返回该元素的T:否则,看下一个元素.若所有元素的Bool…
https://mp.weixin.qq.com/s/g85Si6n37D9PYfR5hEoRQQ     实现一个查找逻辑.   参考链接: https://github.com/freechipsproject/chisel3/blob/master/src/main/scala/chisel3/util/Lookup.scala     1. Lookup   ​​ 各个参数如下: 1) addr: 要查找对象的地址: 2) default: 若没有查到,则使用这个默认值返回: 3) ma…
https://mp.weixin.qq.com/s/L5eAwv--WzZdr-CfW2-XNA   Chisel提供的Valid接口.如果valid为置1,则表明输出的bits有效:反之,则输出无效.   参考链接: https://github.com/freechipsproject/chisel3/blob/master/src/main/scala/chisel3/util/Valid.scala   ​​   1. Valid是一组用户自定义的输入输出接口   类的声明如下: cl…
https://mp.weixin.qq.com/s/8lC8vQnBdKW9C39H0QFFkA     对数相关的辅助方法,Math通过软件方法实现,CircuitMath通过硬件方法实现.   参考链接: https://github.com/freechipsproject/chisel3/blob/master/src/main/scala/chisel3/util/Math.scala https://github.com/freechipsproject/chisel3/blob/…
https://mp.weixin.qq.com/s/DSdb4tmRwDTOki7mbyuu9A     实现16位线性反馈移位寄存器.可用于生成简单的伪随机数.     ​​     ​​   参考链接: https://github.com/freechipsproject/chisel3/blob/master/src/main/scala/chisel3/util/LFSR.scala     1. LFSR16   Generates a 16-bit linear feedback…
https://mp.weixin.qq.com/s/MQzX1Ned35ztz0vusPdkdQ   比特相关的操作.   参考链接: https://github.com/freechipsproject/chisel3/blob/master/src/main/scala/chisel3/util/Bitwise.scala   1. Fill   把一个UInt重复n次:   a. 用法   ​​   b. 实现   ​​   根据重复的次数n,分为5中情况.   这里看最后一种情况:…