Floating point operations in vhdl.

Discussion in 'VHDL' started by MariuszK, Jul 11, 2006.

  1. MariuszK

    MariuszK Guest

    Hello,
    I am looking for effectiv vhdl floating point type.
    I need make "+" and "*" operations.
    It would be fine if that type had changed (as parameter) bit precision
    had 8 to 20 bits.

    Thank you for any answer.

    Best regards,
    Mariusz
    MariuszK, Jul 11, 2006
    #1
    1. Advertising

  2. MariuszK

    Guest

    Hi

    Try float_pkg_c.vhd from http://www.eda-stds.org/fphdl/

    David Bishop is working on fixed and floating point libraries which
    will be part of VHDL-2006 from IEEE. The file above is a compatibility
    version of these libraries designed to work with current synthesis and
    simulation tools (which naturally don't support VHDL-2006).

    I use the fixed point version and it works great. The nice part is that
    it will soon be part of a IEEE standard.

    If you plan to synthesize, be warned that floating point operations in
    general take up plenty of space.

    If you have trouble getting the library to compile, let me know.
    Richard
    , Jul 12, 2006
    #2
    1. Advertising

  3. MariuszK

    MariuszK Guest

    napisal(a):
    > Hi
    >
    > Try float_pkg_c.vhd from http://www.eda-stds.org/fphdl/
    >
    > David Bishop is working on fixed and floating point libraries which
    > will be part of VHDL-2006 from IEEE. The file above is a compatibility
    > version of these libraries designed to work with current synthesis and
    > simulation tools (which naturally don't support VHDL-2006).
    >
    > I use the fixed point version and it works great. The nice part is that
    > it will soon be part of a IEEE standard.
    >
    > If you plan to synthesize, be warned that floating point operations in
    > general take up plenty of space.
    >
    > If you have trouble getting the library to compile, let me know.
    > Richard


    Hello,
    Thanks. It is looks very interesting.

    But how is libraries behave in case multiplication "*"?
    What is frequency?
    I don't find any pipeline option (make multiplication with higher
    freqency but in few clock tact).
    Thank you for answer
    Mariusz
    MariuszK, Jul 14, 2006
    #3
  4. MariuszK

    Ben Jones Guest

    "MariuszK" <> wrote in message
    news:...
    > Hello,
    > I am looking for effectiv vhdl floating point type.
    > I need make "+" and "*" operations.
    > It would be fine if that type had changed (as parameter) bit precision
    > had 8 to 20 bits.


    If you are targeting Xilinx FPGAs, there are Floating Point operator cores
    available from the core generator. They are fully parameterizable in both
    precision and latency. You can instantiate them in VHDL (they won't be
    automatically inserted by synthesis, I'm afraid).

    If you are targeting some other FPGA or ASIC technology, then of course this
    will not help you!

    Cheers,

    -Ben-
    Ben Jones, Jul 14, 2006
    #4
  5. MariuszK

    MariuszK Guest

    Ben Jones napisal(a):
    > "MariuszK" <> wrote in message
    > news:...
    > > Hello,
    > > I am looking for effectiv vhdl floating point type.
    > > I need make "+" and "*" operations.
    > > It would be fine if that type had changed (as parameter) bit precision
    > > had 8 to 20 bits.

    >
    > If you are targeting Xilinx FPGAs, there are Floating Point operator cores
    > available from the core generator. They are fully parameterizable in both
    > precision and latency. You can instantiate them in VHDL (they won't be
    > automatically inserted by synthesis, I'm afraid).
    >
    > If you are targeting some other FPGA or ASIC technology, then of course this
    > will not help you!
    >
    > Cheers,
    >
    > -Ben-

    Hello,
    I want use Xilinx FPGAs.
    Could you precise where can I find that core generator.
    What tools do you use?

    Sorry. I do not understand yours sentence.
    "You can instantiate them in VHDL (they won't be automatically inserted
    by synthesis, I'm afraid)."

    Best Regards
    Mariusz
    MariuszK, Jul 14, 2006
    #5
  6. MariuszK

    Ben Jones Guest

    Hi Mariusz,

    "MariuszK" <> wrote in message
    news:...
    >
    > Ben Jones napisal(a):
    > > "MariuszK" <> wrote in message
    > > news:...
    > > > Hello,
    > > > I am looking for effectiv vhdl floating point type.
    > > > I need make "+" and "*" operations.
    > > > It would be fine if that type had changed (as parameter) bit precision
    > > > had 8 to 20 bits.

    > >
    > > If you are targeting Xilinx FPGAs, there are Floating Point operator

    cores
    > > available from the core generator. They are fully parameterizable in

    both
    > > precision and latency. You can instantiate them in VHDL (they won't be
    > > automatically inserted by synthesis, I'm afraid).
    > >

    > I want use Xilinx FPGAs.
    > Could you precise where can I find that core generator.
    > What tools do you use?


    The Core Generator is part of the ISE tool suite from Xilinx. It is also
    available from the free "Webpack" edition of the tools. You can read all
    about it at the Xilinx website.

    > Sorry. I do not understand yours sentence.
    > "You can instantiate them in VHDL (they won't be automatically inserted
    > by synthesis, I'm afraid)."


    So what I mean is, to use these operators you would have to instantiate them
    as components and wire up the ports into your design. You cannot just write
    "c <= a * b" and have the synthesis tool create a floating-point multiplier
    (not yet, anyway). Instead you would write something like:

    my_mult : fp_multiplier
    generic map (...)
    port map
    ( clk => clock,
    a => a,
    b => b,
    result => c
    ...
    );

    Hope that helps.

    -Ben-
    Ben Jones, Jul 14, 2006
    #6
  7. MariuszK

    vhdlfan

    Joined:
    Apr 29, 2008
    Messages:
    2
    help

    Hi,
    I downloaded the fplibrary from www.ens-lyon.fr/LIP/Arenaire/Ware/FPLibrary and i was able to synthesize it. The problem i am having is that i dont know how to use it in my code. Forexample, if i want to Add two floating point number, how do i write the statement in vhdl.

    is it:
    tvar <= Add(A, B);

    please could you advise me on what to do. What data type do i declare A, B, tvar. I am trying to download my code to xilinx board.
    vhdlfan, Apr 29, 2008
    #7
  8. MariuszK

    vhdlfan

    Joined:
    Apr 29, 2008
    Messages:
    2
    vhdlfan, Apr 29, 2008
    #8
  9. MariuszK

    shaz.cute86

    Joined:
    Oct 4, 2008
    Messages:
    1
    VHDL code for floating point division..

    Hi everybody,

    Anybody can help me..??...
    I want VHDL code for floating point division...:driver:
    Please help me...... :)

    Rgds,
    Siti...8)
    shaz.cute86, Oct 4, 2008
    #9
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. H aka N

    floating point operations

    H aka N, Jan 18, 2006, in forum: VHDL
    Replies:
    0
    Views:
    552
    H aka N
    Jan 18, 2006
  2. alex
    Replies:
    3
    Views:
    260
  3. Replies:
    6
    Views:
    566
    Victor Bazarov
    Apr 19, 2006
  4. alex
    Replies:
    4
    Views:
    382
  5. Saraswati lakki
    Replies:
    0
    Views:
    1,277
    Saraswati lakki
    Jan 6, 2012
Loading...

Share This Page