电路设计中的分治法 —— 以 Chisel 实现优先编码器为例
在实现我的毕业设计时,遇到了这么一个需求:找出一组数字中最低(高)位的 1
的位置 —— 换句话说,就是一个优先编码器。显然最基本的版本实现起来很简单,尤其是我们还是在使用 Chisel
这么个懒人神器的情况下,初代代码如下(仅作为例子,下同),一行就解决了问题。
1 | class Example extends Module { |
但是我们看生成的 Verilog 以及 yosys
的报告,发现资源消耗比较大,时序算下来也能把我血压给拉满。