Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

How to use floating-point number in verilog code?

Hi,

I would like to ask anyone here can please teach me how to use floating-point number in verilog code? For example, I got a formula,

y=100*p^(1000/5255);

if I enter p=100000, I want my y value=894

Is it possible to do that in verilog?

Thanks.

Best regard,

TWK

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Verilog has very specific rules about how data types (bit widths, signedness, and realness) are propagated through an expression.

    Verilog uses integer arithmetic by default when all operands are integers. You can covert to real arithmetic by using real constants writing:

    y - 100.0*p^(1000.0/5200.0);
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Is it possible to do that in verilog?

    --- Quote End ---

    It's possible to calculate real expressions at compile time, e.g. for constants, but the code isn't synthesizable.