Chapter 7 Virtex Arithmetic Structures
Overview
Basic Adder Equations
Basic Ripple Adder
Fast Carry Chains
Tracing Carry Chain
Counters Built from Adders
Multiplication Review
Fabric Based Multiplier
Mult/AND Identification
Block Multipliers
Virtex II/Spartan 3/E Block Multipliers
Spartan 3 Multiplier Mix
22 X 16 Bit Multiplier
Other Uses
DSP 48
Two Slice DSP 48
Simplified DSP 48
DSP 48 Timing
Doing Other Things - SQRT
Important to Do Other Things with DSP 48
Virtex 5 DSP48E
Simpler DSP48E
Other Useful Functions
Support
472.00K

Virtex arithmetic structures

1. Chapter 7 Virtex Arithmetic Structures

2. Overview


Addition and subtraction
Multiplication
DSP48
DSP48E

3. Basic Adder Equations

Si = Ai XOR Bi XOR Ci
Ci+1 = Ai Bi + (Ai XOR Bi) Ci
Note: not unique expression for Ci+1

4. Basic Ripple Adder

5. Fast Carry Chains

COUT
LUT
0
1
Bi
Ai
Si
CIN

6. Tracing Carry Chain

SUMS

7. Counters Built from Adders

8. Multiplication Review

P5
A3A2A1A0
X
B1B0
------------------------------------------------A3B0 A2 B0 A1B0 A0B0
A3B1
A2B1 A1 B1 A0 B1
------------------------------------------------P4
P3
P2
P1
P0
Just like in the third grade . . .

9. Fabric Based Multiplier

(comment: should be COUT)

10. Mult/AND Identification

11. Block Multipliers

• Xilinx Spartan 3/E and Virtex II = 18 bit
• Applications needing fewer bits can tie off
higher order bits appropriately
• Applications needing more bits must
either:
– Cascade block multipliers
– Combine blocks with fabric multipliers
• Other uses for block multipliers

12. Virtex II/Spartan 3/E Block Multipliers

Combinational 2’s Complement
Sequential 2’s Complement

13. Spartan 3 Multiplier Mix

With this many multipliers, better be something we can do with them if we
Don’t need this many. Also, must be other sizes we can create – somehow.
See XAPP 467

14. 22 X 16 Bit Multiplier

Block
Fabric
Fabric

15. Other Uses

• Multiply several small numbers with one
block multiplier
• Division by repeated multiplication
• Barrel shift using multiplier
• Take two’s complement of a number
• Get the magnitude of a two’s complement
number
• There are others

16. DSP 48

• Introduced for Virtex 4
• Designed to efficiently cascade
• Xilinx teamed with outside arithmetic
specialists to get best speed/area blocks
• Supports multiple rounding formats
• Not present in all V4 families

17. Two Slice DSP 48

Top
Slice
Bottom
Slice

18. Simplified DSP 48

Adder Out = Z +/- (X + Y + CIN)
Adder Out = C +/- (A X B + CIN)

19.

The DSP 48 Instruction Set

20.

DSP 48 Primitive Symbol

21. DSP 48 Timing

22. Doing Other Things - SQRT

23. Important to Do Other Things with DSP 48


Divider
Large multiplexer
Barrel shifters
Two’s Complement converters
Large counters
Etc.
DSP 48 Handbook available on Xilinx website

24. Virtex 5 DSP48E

25. Simpler DSP48E

26. Other Useful Functions

• Building up “word wise” logic
– AND,OR
• Same list as for the DSP48

27. Support

• Xilinx offers an elaborate (read:$) set of
tools that interface to the MatLab toolchain
• Focused on DSP algorithm development
• Permits “hardware in the loop” simulation
• Also working on higher level compile tools
as DSP developers tend to be more
mathematicians and less “hardware
designers” (read: C, C++ oriented)
English     Русский Правила