4位二进制-BCD码转换器

`timescale 1ns/1ps

module bin2bcd_4bits (

	input 		[3 : 0]	bin,
	input 			EN,
	output	logic 	[4 : 0]	bcd,
	output 	logic		valid

	);

    always_comb begin
    if(EN==1) begin
      case(bin)  
      4'b0001: begin bcd = 5'b00001 ; valid=1;  end
      4'b0010:  begin bcd = 5'b00010 ; valid=1;  end
      4'b0011:  begin bcd = 5'b00011 ; valid=1;  end
      4'b0100:  begin bcd = 5'b00100 ; valid=1;  end
      4'b0101:  begin bcd = 5'b00101 ; valid=1;  end
      4'b0110:  begin bcd = 5'b00110 ; valid=1;  end
      4'b0111:  begin bcd = 5'b00111 ; valid=1;  end
      4'b1000:  begin bcd = 5'b01000 ; valid=1;  end
      4'b1001:  begin bcd = 5'b01001 ; valid=1;  end
      4'b1010:  begin bcd = 5'b10000 ; valid=1;  end
      4'b1011:  begin bcd = 5'b10001 ; valid=1;  end
      4'b1100:  begin bcd = 5'b10010 ; valid=1;  end
      4'b1101:  begin bcd = 5'b10011 ; valid=1;  end
      4'b1110:  begin bcd = 5'b10100 ; valid=1;  end
      4'b1111:  begin bcd = 5'b10101 ; valid=1;  end
      default:  begin bcd = 5'b00000 ; valid=1;  end
    endcase
    end
    else begin bcd = 5'b00000; valid=0;  end
  end

endmodule

版权声明:本文为weixin_45645937原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。