If I understand the problem Stimulus is being generated by Matlab of the form (Floating Point):
0.00537667139546100
-0.0182905843325460
Where you want to apply a fixed point multiplication in verilog on those numbers.
My first step here would be to round the data in Matlab I have a function called roundn2 which I use to round to a fixed point precision use -15 for 15 fractional bits.
I would then multiply that number by 2^15 in matlab to turn it into an integer.
Then the problem in Verilog is easy as a*b
, remembering to keep track of the decimal (binary) point, and shift the data back to interpret as a fractional.
More information regarding multiplication in verilog can be found here and here.