下面是一个用状态机设计的自动售货机,one_dollar 代表...
下面是一个用状态机设计的自动售货机,one_dollar 代表投币一元,half_doller 代表投币五角。则下列说法正确的是 module machine(one_dollar, half_dollar, collect,half_out, dispense, reset,clk); parameter idle=2'b00, half=2'b01, one = 2'b10; input one_dollar, half_dollar, reset, clk; output collect, half_out, dispense; reg collect, half_out, dispense; reg[1:0] D; always @(posedge clk) begin if(reset) begin dispense=0; collect=0; half_out=0; D=idle; end else case (D) idle: if (half_dollar) begin dispense=0; collect=0; half_out=0; D=half; end else if(one_dollar) begin dispense=0; collect=0; half_out=0; D=one; end else begin dispense=0; collect=0; half_out=0; D=idle; end half: if(half_dollar) begin dispense=0; collect=0; half_out=0; D=one; end else if(one_dollar) begin dispense=1; collect=1; half_out=0; D=idle; end else begin dispense=0; collect=0; half_out=0; D=half; end one: if(half_dollar) begin dispense=1; collect=1; half_out=0; D=idle; end else if(one_dollar) begin dispense=1; collect=1; half_out=1; D=idle; end else begin dispense=0; collect=0; half_out=0; D=one; end default: begin dispense=0; collect=0; half_out=0; D=idle; end endcase end endmodule
A、饮料的售价为一元五角
B、该状态机是mealy型状态机
C、该状态机的输出只与当前状态有关
D、当投入两元钱后,找零五角,同时状态机跳转至idle状态