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. Python+Typora博客图片上传

    简介 用Typora 写Markdown 1年多了,这个编辑器的确很好用,但就是写完博客复制到博客园时要一个个手动插替换图片非常麻烦.后来发现最新版的Typora 已经支持图片上传功能,在 设置-图像 ...

  2. Spring官网阅读(三)自动注入

    上篇文章我们已经学习了1.4小结中关于依赖注入跟方法注入的内容.这篇文章我们继续学习这结中的其他内容,顺便解决下我们上篇文章留下来的一个问题-----注入模型. 文章目录 前言: 自动注入: 自动注入 ...

  3. [hdu1242]优先队列

    题意:给一个地图,'x'走一步代价为2,'.'走一步代价为1,求从s到t的最小代价.裸优先队列. #pragma comment(linker, "/STACK:10240000,10240 ...

  4. luoguP3121解题报告

    p3121 本题首先利用一个手写栈,使元素可以快速出栈,再利用栈快速查询上一个元素在trie中的位置.

  5. Jenkins 插件 Role Strategy Plugin 使用

    Manage and Assign Roles 1. Manage Roles Global Role 在此处,我们划分了四种权限,分别为: admin:超级管理员角色,管理整个服务: devops: ...

  6. 【雕爷学编程】MicroPython动手做(05)——零基础学MaixPy之LCD液晶屏

    配套 2.4寸LCD屏 ST7789驱动器芯片(24P 320X240) ST7789驱动器芯片2.4寸LCD屏(24P 320X240)主要参数 1. 模块名称:液晶显示模块2. 型号:KD024C ...

  7. mybatis 分页失败 始终pageSize = 2147483647

    是在使用分页查询时 this.jobReadMapper.beginPager(pageParam);XXXXXXXXXXXXXXXXXXXXXXXXthis.xxxReadMapper.queryB ...

  8. Holy Grail Bellman-Ford/spfa

    Holy Grail Bellman-Ford #include <bits/stdc++.h> using namespace std; , maxm = ; const int inf ...

  9. day04:购物车的练习(20170216)

    product_list = [ ('IPhone',5900), ('Mac pro',9800), ('Bike',800), ('Watch',16000), ('Coffee',35), (' ...

  10. TCP三次握手的seq和ack号的【正确】理解

    1 理论知识 先上一张图,TCP/IP详解第18章的这张图描述了一个正常的三次握手和四次挥手的状态迁移,以及seq.ack序号的变化. 基本状态看图就能了解,本文主要围绕序号的变化进行讲解. 1)se ...