|
|
1 | (10) |
|
1.1 Background of FPGA-Based Design |
|
|
1 | (1) |
|
1.2 Limitations of FPGA CAD Tools |
|
|
2 | (1) |
|
1.3 Overview of Design Philosophy for FPGAs |
|
|
3 | (1) |
|
1.3.1 Target FPGA-Specific Hardware Primitive Instantiation |
|
|
3 | (1) |
|
1.4 Existing FPGA CAD Tools |
|
|
4 | (2) |
|
1.4.1 Xilinx IP Core Generator |
|
|
4 | (1) |
|
1.4.2 FloPoCo (Floating-Point Cores) |
|
|
5 | (1) |
|
1.5 Recent Works on High Performance Circuit Realization on Xilinx FPGAs |
|
|
6 | (1) |
|
1.6 Major Contributions of the Book |
|
|
6 | (2) |
|
1.7 Organization of the Book |
|
|
8 | (1) |
|
|
9 | (2) |
|
|
9 | (2) |
|
2 Architecture of Target FPGA Platform |
|
|
11 | (8) |
|
|
11 | (1) |
|
2.2 Fabric Slice Architecture for Virtex-5 FPGAs |
|
|
12 | (2) |
|
2.3 Fabric Slice Architecture for Virtex-6 FPGAs |
|
|
14 | (1) |
|
2.4 DSP Slice Architecture for Virtex-5 and Virtex-6 FPGAs |
|
|
15 | (1) |
|
2.5 Implementation Overview |
|
|
16 | (1) |
|
|
17 | (2) |
|
|
17 | (2) |
|
3 A Fabric Component Based Design Approach for High-Performance Integer Arithmetic Circuits |
|
|
19 | (12) |
|
|
19 | (1) |
|
|
20 | (1) |
|
3.3 Guidelines for High-Performance Realization |
|
|
21 | (7) |
|
|
28 | (3) |
|
|
28 | (3) |
|
4 Architecture of Datapath Circuits |
|
|
31 | (42) |
|
|
31 | (1) |
|
4.2 Integer Adder/Subtractor Architecture |
|
|
32 | (11) |
|
4.2.1 Hybrid Ripple Carry Adder (Hybrid RCA) |
|
|
32 | (2) |
|
4.2.2 Xilinx DSP Slice-Based Adder |
|
|
34 | (1) |
|
4.2.3 FloPoCo-Based Adder |
|
|
35 | (1) |
|
4.2.4 Fast Carry Adder Using Carry-Lookahead Mechanism |
|
|
35 | (4) |
|
4.2.5 Adder Implementation Results |
|
|
39 | (4) |
|
4.3 Absolute Difference Circuit Architecture |
|
|
43 | (5) |
|
4.3.1 Proposed Absolute Difference Circuit |
|
|
43 | (1) |
|
4.3.2 DSP Slice-Based Absolute Difference Circuit |
|
|
44 | (1) |
|
4.3.3 FloPoCo-Based Absolute Difference Circuit |
|
|
45 | (1) |
|
4.3.4 Absolute Difference Circuit Implementation Results |
|
|
46 | (2) |
|
4.4 Integer Multiplier Architecture |
|
|
48 | (9) |
|
4.4.1 Unsigned Integer Multiplier |
|
|
48 | (1) |
|
4.4.2 Two's Complement Multiplier |
|
|
49 | (2) |
|
4.4.3 Combined Unsigned and Two's Complement Multiplier |
|
|
51 | (4) |
|
4.4.4 DSP Slice-Based Signed Multiplier |
|
|
55 | (1) |
|
4.4.5 FloPoCo-Based Signed Multiplier |
|
|
55 | (1) |
|
4.4.6 Multiplier Implementation Results |
|
|
55 | (2) |
|
4.5 Integer Squarer Architecture |
|
|
57 | (10) |
|
|
59 | (1) |
|
4.5.2 Two's Complement Squarers |
|
|
60 | (4) |
|
4.5.3 Combined Unsigned and Two's Complement Squarer |
|
|
64 | (1) |
|
4.5.4 DSP Slice-Based Squarers |
|
|
65 | (2) |
|
4.5.5 FloPoCo-Based Squarers |
|
|
67 | (1) |
|
4.5.6 Squarer Implementation Results |
|
|
67 | (1) |
|
4.6 Universal Shift Register Architecture |
|
|
67 | (3) |
|
4.6.1 Universal Shift Register |
|
|
67 | (2) |
|
4.6.2 Universal Shift Register Implementation Results |
|
|
69 | (1) |
|
|
70 | (3) |
|
|
71 | (2) |
|
5 Architecture of Controlpath Circuits |
|
|
73 | (12) |
|
|
73 | (1) |
|
5.2 Integer Comparator Architecture |
|
|
73 | (6) |
|
5.2.1 Proposed Comparator Architecture |
|
|
73 | (3) |
|
5.2.2 DSP Slice-Based Comparator |
|
|
76 | (1) |
|
5.2.3 Comparator Implementation Results |
|
|
77 | (2) |
|
5.3 Loadable Bidirectional Binary Counter Architecture |
|
|
79 | (3) |
|
5.3.1 Proposed Counter Architecture |
|
|
79 | (2) |
|
5.3.2 DSP Slice-Based Counter |
|
|
81 | (1) |
|
5.3.3 Counter Implementation Results |
|
|
81 | (1) |
|
|
82 | (3) |
|
|
83 | (2) |
|
6 Compact FPGA Implementation of Linear Cellular Automata |
|
|
85 | (8) |
|
|
85 | (1) |
|
6.2 Preliminaries on Cellular Automata |
|
|
86 | (2) |
|
6.3 Adapting CA to the Native FPGA Architecture |
|
|
88 | (1) |
|
6.4 CA Implementation Results |
|
|
89 | (1) |
|
|
90 | (3) |
|
|
91 | (2) |
|
7 Design Automation and Case Studies |
|
|
93 | (16) |
|
|
93 | (1) |
|
7.2 The FlexiCore CAD Tool |
|
|
94 | (3) |
|
|
97 | (9) |
|
7.3.1 GCD Calculator Circuit |
|
|
98 | (4) |
|
7.3.2 Distributed Arithmetic-Based Matrix Multiplication Circuit |
|
|
102 | (4) |
|
|
106 | (3) |
|
|
107 | (2) |
|
8 Conclusions and Future Work |
|
|
109 | (4) |
|
|
109 | (1) |
|
8.2 Contributions of the Book |
|
|
109 | (1) |
|
8.3 Future Research Directions |
|
|
110 | (3) |
|
|
112 | (1) |
Index |
|
113 | |