How to convert from binary to hex display in verilog?
The problem you are having is quite a common one - how to convert a binary number to something called "Binary Coded Decimal" (BCD). In BCD each digit is 4 bits, but those 4 bits are only used to represent the numbers 0-9 (hence the decimal bit). This is an ideal format for outputting to 7-segment displays, screens, in fact anything that needs a decimal number to be displayed.

The simplest way of converting from binary to BCD is an algorithm called "Shift-Add-3" or "Double-Dabble" (both names for the same thing). Essentially the approach is to scan through the binary representation, then any time you see a number which is 5 or higher in each group of 4 bits, you add 3 to it. This approach basically is a way to overflow any values greater or equal to 10 in a digit into the next one without too much hardware.

Here is an example, stolen from this Wikipedia Page:


  Double Dabble Conversion of 243
  Hund Tens Unit   Shift In
  0000 0000 0000   11110011   Initialization
  0000 0000 0001   11100110   Shift
  0000 0000 0011   11001100   Shift
  0000 0000 0111   10011000   Shift
  0000 0000 1010   10011000   Add 3 to ONES, since it was 7
  0000 0001 0101   00110000   Shift
  0000 0001 1000   00110000   Add 3 to ONES, since it was 5
  0000 0011 0000   01100000   Shift
  0000 0110 0000   11000000   Shift
  0000 1001 0000   11000000   Add 3 to TENS, since it was 6
  0001 0010 0001   10000000   Shift
  0010 0100 0011   00000000   Shift
     2    4    3
         BCD


Building this process in Verilog is relatively straight forward. I'll leave it as an exercise for you.