gpt4 book ai didi

logic - Verilog 中的 if 语句和分配连线

转载 作者:行者123 更新时间:2023-12-01 07:27:08 25 4
gpt4 key购买 nike

我试图找出基于组合逻辑分配电线的基础知识。
我有:

wire val;
wire x;
wire a;
wire b;

always @*
begin

if(val == 00)
//I want to assign x = a
if(val == 01)
//I want to assign x = b

end
哪里 ab是带有值的电线 - 和 x是进入寄存器的电线。
如果您能指出我需要改变的正确方向,我将不胜感激。

最佳答案

wire s 只能由 assign 分配语句,不能与 if 语句一起使用。
如果您更改 xreg类型,然后您将能够在 always 块中分配它。

这将合成完全相同,一个常见的误解是 reg类型变量意味着一个寄存器,但它只是改变了赋值的方式。

或者,您可以使用带有三元运算符 ?: 的赋值语句, 如果您希望它保留为电线类型:

assign x = (val==0) ?   a : 
(val==1) ? b :
'bx ;

关于logic - Verilog 中的 if 语句和分配连线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17752727/

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