gpt4 book ai didi

bus - Chisel:如何实现高效的 one-hot mux?

转载 作者:行者123 更新时间:2023-12-04 13:59:39 25 4
gpt4 key购买 nike

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

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

在 Chisel 中有一种直接的实现方式。它将所选行编码为二进制数,然后将该数字应用于传统多路复用器的选择输入。不幸的是,对于具有 20 到 50 行和数百位状态的表,这种实现可能非常缓慢,并且在面积和能源上都是浪费的。

问题有两个部分:
1) 有没有办法在 Chisel 中指定公共(public)汽车,这样您的通关门或传统的三州司机都卡在公共(public)汽车上?

2)如果做不到这一点,在 Chisel 中是否有一种快速、小面积、低能耗的方法?

谢谢

最佳答案

1) Chisel 不完全支持双向线,但通过实验模拟类型 (see example),您至少可以通过 Verilog 黑盒之间的 Chisel 代码缝合总线。

2) 你试过Mux1H in chisel3.util ?它基本上发出输入及其相应选择位的乘积之和。我不确定这与您提出的实现相比如何。我很想看看 QOR 比较。如果这个结构还不够,而且你不能用凿子准确地表达你想要的东西,你可以使用 parameterized BlackBox实现你的 one-hot 多路复用器并根据需要实例化它。

关于bus - Chisel:如何实现高效的 one-hot mux?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41217271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com