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

Subversion Repositories double_fpu

[/] [double_fpu/] [trunk/] [pipeline/] [Readme_pipeline.txt] - Rev 13

Compare with Previous | Blame | View Log

The verilog files, fpu_addsub.v and fpu_mul.v, are pipelined versions of
floating point operators.  The four rounding modes (Nearest, To Zero, To
Positive Infintiy, To Negative Infinity) are supported by these operators. 
Denormalized numbers are not supported, but instead are treated as 0.  
If infinity or NaN is on either of the inputs,
then infinity will be the output.  Addition and subtraction have a latency
of 24 clock cycles, and then an output is available on each clock cycle after the latency.
Multiplication has a latency of 21 clock cycles, and 
then an output is available on each clock cycle after the latency.

For addition and subtraction, fpu_addsub.v was synthesized with an estimated 
frequency of 259 MHz for a Virtex5 device.  The synthesis results are below.  
The file, fpu_addsub_TB.v, is the testbench used to simulate fpu_addsub.v.

For multiplication, fpu_mul.v was synthesized with an estimated 
frequency of 393 MHz for a Virtex5 device.  The synthesis results are below.  
The file, fpu_mul_TB.v, is the testbench used to simulate fpu_mul.v. 

Please email me any questions.

David Lundgren
davidklun@gmail.com

addsub synthesis results:

---------------------------------------
Resource Usage Report for fpu_addsub 

Mapping to part: xc5vsx95tff1136-2
Cell usage:
FDE             55 uses
FDR             6 uses
FDRE            2848 uses
GND             1 use
MUXCY           8 uses
MUXCY_L         293 uses
VCC             1 use
XORCY           240 uses
XORCY_L         5 uses
LUT1            98 uses
LUT2            377 uses
LUT3            522 uses
LUT4            151 uses
LUT5            101 uses
LUT6            517 uses

I/O ports: 199
I/O primitives: 198
IBUF           133 uses
OBUF           65 uses

BUFGP          1 use

SRL primitives:
SRLC32E        1 use
SRL16E         54 uses

I/O Register bits:                  0
Register bits not including I/Os:   2909 (4%)

Global Clock Buffers: 1 of 32 (3%)

Total load per clock:
   fpu_addsub|clk: 2964

Mapping Summary:
Total  LUTs: 1821 (3%)

------------------------------

multiply synthesis results:

---------------------------------------
Resource Usage Report for fpu_mul 

Mapping to part: xc5vsx95tff1136-2
Cell usage:
DSP48E          9 uses
FDE             83 uses
FDRE            1536 uses
FDRSE           11 uses
GND             1 use
MUXCY           7 uses
MUXCY_L         164 uses
VCC             1 use
XORCY           128 uses
XORCY_L         5 uses
LUT1            82 uses
LUT2            215 uses
LUT3            170 uses
LUT4            48 uses
LUT5            13 uses
LUT6            32 uses

I/O ports: 198
I/O primitives: 197
IBUF           132 uses
OBUF           65 uses

BUFGP          1 use

SRL primitives:
SRL16E         83 uses

I/O Register bits:                  0
Register bits not including I/Os:   1630 (2%)

Global Clock Buffers: 1 of 32 (3%)

Total load per clock:
   fpu_mul|clk: 1722

Mapping Summary:
Total  LUTs: 643 (1%)

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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