always@(posedge Clk or negedge Rst_n) if(!Rst_n)begin Key_Flag <= 1'd0; Key_Value <= 4'd0; end else begin Key_Flag <= Key_Flag_r; case(Key_Value_tmp) 8'b1110_0001 : Key_Value = 4'h0; 8'b1110_0010 : Key_Value = 4'h1; 8'b1110_0100 : Key_Value = 4'h2; 8'b1110_1000 : Key_Value = 4'h3; 8'b1101_0001 : Key_Value = 4'h4; 8'b1101_0010 : Key_Value = 4'h5; 8'b1101_0100 : Key_Value = 4'h6; 8'b1101_1000 : Key_Value = 4'h7; 8'b1011_0001 : Key_Value = 4'h8; 8'b1011_0010 : Key_Value = 4'h9; 8'b1011_0100 : Key_Value = 4'hA; 8'b1011_1000 : Key_Value = 4'hB; 8'b0111_0001 : Key_Value = 4'hC; 8'b0111_0010 : Key_Value = 4'hD; 8'b0111_0100 : Key_Value = 4'hE; 8'b0111_1000 : Key_Value = 4'hF; default:begin Key_Value = Key_Value;Key_Flag <= Key_Flag;end endcase end
|