Verilog HDL?操作人员
?在Verilog中做什么 例如:下面的命令是什么意思Verilog HDL?操作人员,verilog,Verilog,?在Verilog中做什么 例如:下面的命令是什么意思 input first_din; input [7:0] din; output [127:0] parity; reg [127:0] parity; wire [7:0] feedback; assign feedback = din ^ (first_din ? 8'b0 : parity[127:120]); 在此代码中,?是“条件运算符”(?:)的一部分。参考免费IEEE标准1800-2012,表11-1-
input first_din;
input [7:0] din;
output [127:0] parity;
reg [127:0] parity;
wire [7:0] feedback;
assign feedback = din ^ (first_din ? 8'b0 : parity[127:120]);
在此代码中,
?
是“条件运算符”(?:
)的一部分。参考免费IEEE标准1800-2012,表11-1-操作员和数据类型。它用于模拟多路复用器。在您的情况下,first\u din
是选择,而8'b0
和奇偶校验[127:120]
是数据输入。类似于:运算符,该运算符与简单的if-else块一样工作
b = exp. a ? value_1 : value_2
等于
if ( exp. a )//if true
b = value_1;
else
b = value_2;
这就像一个典型的2对1多路复用器
输入:A、B、SEL
输出:输出 功能:
IF (SEL = 1) THEN OUT = B , ELSE OUT = A
OUT = SEL ? B : A ;
警告:如果SEL=Z(高阻抗或浮动),则OUT=A这是与典型的2对1多路复用器的主要区别 典型的2对1多路复用器的功能是:
IF (SEL = 1) THEN OUT = B , ELSE IF(SEL = 0) OUT = A ;