总线 – 凿子:如何实现一个高效的单热复用器?

我有一个表,表中的每一行都包含状态(寄存器).有逻辑选择一个特定的行.只有一行接收到“已选”信号.然后访问该选定行的状态.状态的一部分作为输出连接到模块的IO,否则IO的一部分被用作输入来更新状态.

如果我用电路实现这个,我会使用传递门.所选择的信号将打开一组传递门,这将会将行的寄存器连接到总线.然后总线将连接到IO包.这是快速,小面积,低能量.

在凿子中有一个直接的方法来实现.它将所选行编码为二进制数,然后将该数字应用于传统复用器的选择输入.不幸的是,对于20到50行的表和数百位的状态,这种实现可能相当慢,并且在面积和能量上浪费.

这个问题有两个部分:
1)有没有办法在凿子中指定公交车,这样你们就可以将公交车或传统的三态司机全部挂在公车上?

2)如果没有这样的话,在凿子上有快速,小面积,低能量的方法吗?

谢谢

1)凿子不完全支持双向电线,但通过实验模拟类型( see example),您至少可以通过Verilog黑盒子之间的凿子代码拼接总线.

2)你试过Mux1H in chisel3.util吗?它基本上发射输入的产物和它们相应的选择位的总和.我不知道如何与您提出的实现相比较.我很想看到一个QOR比较.如果这个结构不够,你不能准确地表达你想要的凿子,你可以使用parameterized BlackBox来实现一个热的多路复用器,并按照你的要求进行实例化.

相关文章
相关标签/搜索