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. D. Misha, Grisha and Underground 树链剖分

    D. Misha, Grisha and Underground 这个题目算一个树链剖分的裸题,但是这个时间复杂度注意优化. 这个题目可以选择树剖+线段树,时间复杂度有点高,比较这个本身就有n*log ...

  2. spring 事务管理配置

    本篇文章只涉及spring事务的配置,不进行事务的介绍. spring通过PlatformTransactionManager接口作为事务管理器来进行事务的管理,它本身并不进行事务的创建以及相关操作, ...

  3. LeetCode--Array--Two sum (Easy)

    1.Two sum (Easy)# Given an array of integers, return indices of the two numbers such that they add u ...

  4. android实现计时器

    新建布局文件activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearL ...

  5. mysql批量导入删除

    批量导入 <insert id="extractOrderBaseHis">INSERT INTO `odr_order_base_his`(`order_base_i ...

  6. android 压缩图片大小,防止OOM

    android开发中,图片的处理是非常普遍的,经常是需要将用户选择的图片上传到服务器,但是现在手机的分辨率越来越好了,随便一张照片都是2M或以上,如果直接显示到ImageView中,是会出现OOM的, ...

  7. vue.use()方法从源码到使用

    在做 vue 开发的时候大家一定经常接触 Vue.use() 方法,官网给出的解释是: 通过全局方法 Vue.use() 使用插件:我觉得把使用理解成注册更合适一些,首先看下面常见的注册场景. 1 2 ...

  8. Vue+Vuex 实现自动登录功能

    刚刚实现了Vue+Vuex的自动登录功能,在实现的时候遇到了一些问题,这里记录一下: 因为这个还不够完善,在写完下列代码后,又进行了补充,可以从https://www.cnblogs.com/xiao ...

  9. 【图机器学习】cs224w Lecture 10 - PageRank

    目录 PageRank Problems Personalized PageRank 转自本人:https://blog.csdn.net/New2World/article/details/1062 ...

  10. 前后端分离产生的跨域问题的解决方案之--jsonp、nginx代理、设置头信息等

    前言 在前后端没有分离的时候,前端开发要么是写静态页面,数据渲染后端来做,要么就是前端的页面和后端的代码刚开始的时候就合并在一起,每次后端代码更新了之后,前端也要更新一下代码,然后重启一下服务,还是比 ...