OpenCores
URL https://opencores.org/ocsvn/iso7816_3_master/iso7816_3_master/trunk

Subversion Repositories iso7816_3_master

[/] [iso7816_3_master/] [trunk/] [test/] [HexStringConversion.v] - Blame information for rev 10

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 9 acapola
 
2
function [7:0] hexString2Byte;
3
        input [15:0] byteInHexString;
4
        integer i;
5
        reg [7:0] hexDigit;
6
        reg [4:0] nibble;
7
        begin
8
                //hexString2Byte=0;
9
                for(i=0;i<2;i=i+1) begin
10
                        nibble=5'b10000;//invalid
11
                        hexDigit=byteInHexString[i*8+:8];
12
                        if(("0"<=hexDigit)&&("9">=hexDigit))
13
                                nibble=hexDigit-"0";
14
                        if(("a"<=hexDigit)&&("f">=hexDigit))
15
                                nibble=10+hexDigit-"a";
16
                        if(("A"<=hexDigit)&&("F">=hexDigit))
17
                                nibble=10+hexDigit-"A";
18
                        if(nibble>15) begin
19
                                $display("Invalid input for hex conversion: '%s', hexDigit='%s' (%x), nibble=%d",byteInHexString,hexDigit,hexDigit,nibble);
20
                                $finish;
21
                        end
22
                        hexString2Byte[i*4+:4]=nibble;
23
                end
24
        end
25
endfunction
26
 
27
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.