https://mp.weixin.qq.com/s/80Q8j-OSMtgh5a92pI-MZA

 
使用value和mask来描述一个比特模式,即:value = bits & mask.
 
参考链接:
https://github.com/freechipsproject/chisel3/blob/master/src/main/scala/chisel3/util/BitPat.scala
 
 
1. BitPat
 
 
a. 使用方法
 
 
b. 两个数据成员:value/mask
 
value为掩码位的值。
 
c. 匹配方法
 
1) 匹配判断:===
 
 
2) 不匹配判断:=/=或者!=
 
 
2. 伴生对象提供的过程方法
 
 
 
b. parse()
 
1) 字符串第一个字符必须为'b';
2) 字符串后续字符必须为'01?'中的一个;
3) 如果当前字符为'?',则当前字符在mask中的对应位为0,反之为1;
4) 如果当前字符为'1', 则当前字符在bits中对应的位为1, 反之为0;
 
c. dontCare/DC
 
返回一个n位全部不关心的比特模式:
 
 
d. 与UInt互转
 
1) 把BitPat的value作为无符号数使用;
2) 把UInt转换为一个BitPat使用:
 
 
3. 附录
 
 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案