mirror of
https://github.com/pConst/basic_verilog.git
synced 2025-01-14 06:42:54 +08:00
Added ASCII-to-HEX
This commit is contained in:
parent
eb72143194
commit
8b1b2ef6a3
52
ascii2hex.sv
Normal file
52
ascii2hex.sv
Normal file
@ -0,0 +1,52 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// hex2ascii.sv
|
||||
// published as part of https://github.com/pConst/basic_verilog
|
||||
// Konstantin Pavlov, pavlovconst@gmail.com
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// INFO ------------------------------------------------------------------------
|
||||
// Converts 8-bit human-readable ASCII char to 4-bit binary nibble
|
||||
// For example, "F" char becomes 4'b1111, "4" char becomes 4'b0100
|
||||
//
|
||||
|
||||
|
||||
/* --- INSTANTIATION TEMPLATE BEGIN ---
|
||||
|
||||
ascii2hex AH (
|
||||
.ascii( ),
|
||||
.hex( )
|
||||
);
|
||||
|
||||
--- INSTANTIATION TEMPLATE END ---*/
|
||||
|
||||
|
||||
module ascii2hex (
|
||||
input [7:0] ascii,
|
||||
output [3:0] hex
|
||||
);
|
||||
|
||||
always_comb begin
|
||||
case( ascii[7:0] )
|
||||
8'd48 : hex[3:0] = 4'h0;
|
||||
8'd49 : hex[3:0] = 4'h1;
|
||||
8'd50 : hex[3:0] = 4'h2;
|
||||
8'd51 : hex[3:0] = 4'h3;
|
||||
8'd52 : hex[3:0] = 4'h4;
|
||||
8'd53 : hex[3:0] = 4'h5;
|
||||
8'd54 : hex[3:0] = 4'h6;
|
||||
8'd55 : hex[3:0] = 4'h7;
|
||||
8'd56 : hex[3:0] = 4'h8;
|
||||
8'd57 : hex[3:0] = 4'h9;
|
||||
|
||||
8'd65, 8'd97 : hex[3:0] = 4'hA; // lowercase and capital letters
|
||||
8'd66, 8'd98 : hex[3:0] = 4'hB;
|
||||
8'd67, 8'd99 : hex[3:0] = 4'hC;
|
||||
8'd68, 8'd100: hex[3:0] = 4'hD;
|
||||
8'd69, 8'd101: hex[3:0] = 4'hE;
|
||||
8'd70, 8'd102: hex[3:0] = 4'hF;
|
||||
|
||||
default : hex[3:0] = 4'h0;
|
||||
endcase
|
||||
|
||||
endmodule
|
||||
|
Loading…
x
Reference in New Issue
Block a user