【发布时间】:2018-06-25 13:03:34
【问题描述】:
我需要创建与 inout 引脚配合使用的多路复用块。 我的模块有 n 个输入和 n 个输出,我希望能够切换 在不同的输出之间。
我目前遇到的问题是我需要这样做 输入引脚。所以如果我的输出引脚被拉低,输入引脚 mux 会看到这一点。这不适用于常见的分配语句,因为 它只会写一个方向。我尝试了一个别名语句,它 像双向分配一样工作,但我不能将它与多路复用器的 if 语句结合使用。
我想做什么:
alias net_out = (config) ? net1 : net2;
我已经创建了一个示例on edaplayground
提前致谢, 帕特里克
【问题讨论】:
-
根据我的口味,您的问题和示例都没有清楚地解释您试图解决的问题。这是否意味着“输入”引脚外壳看到了?如何?在您的示例中,您可以使用 'out2' 驱动 'in1' 以在 tb 代码中获取 'x'。为什么你没有这样做?能详细点吗?
-
x 仅在输出引脚可见,在输入引脚不可见。如果是双向连接,x 也应该在输入引脚上可见。示例中的代码是单向的,您在输入引脚上看不到 x。
-
这里是双向总线的post。
标签: verilog system-verilog assign