动态数组使用new[]进行保留元素的内存分配。
integer addr[]; // Declare the dynamic array.
addr = new[100]; // Create a 100-element array.
………
// Double the array size, preserving previous values.
addr = new[200](addr);
case语句是选择语句,匹配表达式并执行对应的语句。下面是一个3:1MUX
case (select[1:0])
2'b00: out_sig = in0;
2'b01: out_sig = in1;
2'b10: out_sig = in2;
default: out_sig = 'x;
endcase
上面的例子中,如果表达式与指定的内容完全匹配,则执行后续语句,如果出现x或者z,将执行默认语句。
casez是case的一个特殊版本,通常在处理较少位的译码器中使用。下面的示例中,将3位中断申请队列解码位三个独立的中断引脚,只关心对应位,而其他位无关紧要。带有优先级。
casez (irq)
3'b1?? : int2 = 1'b1;
3'b?1? : int1 = 1'b1;
3'b??1 : int0 = 1'b1;
endcase
“ casex”是另一个特殊版本,除了无关项,在比较中它也忽略X和Z值。
你答对了吗
欢迎在留言区给出你的答案,正确答案将在下一期公布,或者到下面的文章获取答案