用verilog写了一个真值表程序。当然不是最简的,只是为了练手:
module top_module(
input x3,
input x2,
input x1, // three inputs
output f // one output
);
wire [2:0] vect;
assign vect = {x3,x2,x1};
always @*
begin
case(vect)
3`d2:f=1;
3`d3:f=1;
3`d5:f=1;
3`d7:f=1;
default:f=0;
endcase
end
endmodule
注意这里的符号3’d2使用的是键盘左上角的`,而且居然在quartus的综合过程没有报出错误且完成了综合,但在测试阶段发现问题,出现大量mismatch。
实际上,这里应使用’符号,即键盘上的单双引号按键。