https://mp.weixin.qq.com/s/kf4FvAFye_bRdT49Yow7Hg

 
简单介绍Misc中各个辅助方法的用途和实现。
 
 
1. ParameterizedBundle
 
包含一个隐式参数的Bundle。
 
2. DecoupledHelper
 
rvs:Ready/Valid们。
a. fire():返回一个rvs是否全部为真的判断;
b. fire(exclude, includes):从rvs中临时排除一个exclude,在临时增加一组includes,再返回一个是否全部为真的判断;
 
3. MuxT
 
根据cond的值,从con和alt中选择一个使用。
 
4. MuxTLookup
 
Creates a cascade of n MuxTs to search for a key value:
 
5. ValidMux
 
创建一个级联的选择器,按先后顺序,谁的valid为真,则输出谁的bits。
 
6. Str
 
a. 基于字符串生成一个可以表示这个字符串的UInt:
 
b. 生成一个可以表示参数字符的UInt:
 
c. 把二进制UInt的值,转换为10进制表示,每个数字占用一个字符(8位)的UInt:
 
d. 把二进制SInt的值,转换为10进制表示,每个数字占用一个字符(8位)的UInt。如果是负值,则添加负号,如果是正值,则添加一个空格。
 
7. Split
 
把x拆分成多个部分。
 
8. Random
 
在[0, mod)范围内生成一个随机数,实现方式是生成一个随机数对mod进行求余运算:
 
9. Majority
 
在Seq[Bool]中是1多,还是0多。1多则输出1,0多则输出0。
a. n的值比一半多一个,即5个里面取3个,6个里面取4个;
b. in.subsets(n):每个子集,都是从in.size个元素中取n个组成的;
c. reduce(_ && _):只有n个元素全为1,结果才为1,即in中1占多数;
d. reduce(_ || _):存在1,结果即为1;
 
10. PopCountAtLeast
 
x中是否存在不低于n个值为1的位:
 
11. MaskGen
 
单独介绍,这里略去。
 
12. 附录
 
 
 
 

Rocket - util - Misc的更多相关文章

  1. Rocket - util - Annotations

    https://mp.weixin.qq.com/s/7C8ZmPpwAqFqyKjL9K40Fg   介绍util中定义的注解(Annotations).   ​​   1. Annotation ...

  2. Rocket - util - Timer

    https://mp.weixin.qq.com/s/Z4JJhZ_jL1lqF1nf_orq9A   简单介绍Timer的实现.   ​​   1. 基本功能   实现定时器的功能.   2. Ti ...

  3. Rocket - util - Replacement

    https://mp.weixin.qq.com/s/zCP7wPuxgQ-r94Tr6BV5iw   简单介绍Replacement的实现.   ​​   1. 基本介绍   用于实现Cache替换 ...

  4. Rocket - util - ReduceOthers

    https://mp.weixin.qq.com/s/gbR5fuDbE_nUFVxw-p4rsA   简单介绍ReduceOthers的实现.   ​​   1. 基本介绍   输入一组Bool元素 ...

  5. Rocket - util - Repeater

    https://mp.weixin.qq.com/s/xyEq3DgYuf2QuNjssv8pkA   简单介绍Repeater的实现.   ​​   1. 基本功能   A Repeater pas ...

  6. Rocket - util - PrefixSum

    https://mp.weixin.qq.com/s/G2vLP-ncoJzSOgxGGEJkfA   简单介绍PrefixSum的实现.   ​​   1. 基本介绍   ​​ 把一个序列从前向后逐 ...

  7. Rocket - util - MultiWidthFifo

    https://mp.weixin.qq.com/s/CUnrpyQN5LRBR5bxC5u86A   简单介绍MultiWidthFifo的实现.   ​​   1. 基本介绍   实现一个输入宽度 ...

  8. Rocket - util - MaskGen

    https://mp.weixin.qq.com/s/_aJqf1cFJDK5RVRBhxTWOw   介绍MaskGen的实现.   ​​   1. 基本介绍   给定总线宽度beatBytes,根 ...

  9. Rocket - util - LanePositionedQueue

    https://mp.weixin.qq.com/s/yO_9Ec3S5-AosRVLpsBgOg   简单介绍基于通道位置的队列(LanePositionedQueue)的实现.   ​​   1. ...

随机推荐

  1. 在Maven项目中添加代码目录下的配置文件

    问题 Maven 是约定大于配置的一种工具, 通常约定在 src/main/resources 目录下放配置文件, 当我们想要在 src/main/java 代码目录下放置配置文件用来测试, Mave ...

  2. mybatis与hibernate运行流程比较

    hibernate长时间没用,感觉生疏了,正好借这篇文章整合下知识,顺便复习比较下两种框架. 概述: Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己 ...

  3. 物流配送管理系统(ssm,mysql)

    项目演示视频观看地址:https://www.toutiao.com/i6811872614676431371/ 下载地址: 51document.cn 可以实现数据的图形展示.报表展示.报表的导出. ...

  4. pyhanlp安装教程

    1.hanlp简介 HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用.HanLP具备功能完善.性能高效.架构清晰.语料时新.可自定义的特点. Hanlp具有 ...

  5. vue-cli3.0读取外部化配置文件来修改公共路径

    之前我写过一篇通过nginx配置代理转发的博客,正常来说也是正确的,但不足之处在了甲方还用了F5负载均衡和gateway来代理转发.所以之前我认为的请求->nginx转发代理->后端服务, ...

  6. Jmeter-Throughput Controller 吞吐量控制器

    比如在压测是时候,我设置了100个线程组,循环2次,那么我想根据吞吐量进行并发请求,这时候可以用到这个吞吐量控制器 PercentExecutions:按执行次数的百分比来计算执行次数,Through ...

  7. vscode调试webpack的启动和打包部署过程,nodejs调试

    launch.json ``` {   // 使用 IntelliSense 了解相关属性.    // 悬停以查看现有属性的描述.   // 欲了解更多信息,请访问: https://go.micr ...

  8. HDU 2014 (水)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2014 题目大意:给你 n 个数,去掉 max 和 min ,求平均数 解题思路: 很水,边记录分数,边 ...

  9. 快速了解pandas

    pandas主要就下面两方面:(只要稍微了解下面两点,那你就会用了) 1.两种数据结构(Series和DataFrame) 2.对这两种数据进行处理(主要是对DataFrame处理) -------- ...

  10. chmod指令用法

    指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案 ...