150 likes | 332 Views
Topics. Multi-FPGA systems. Issues. Types of multi-FPGA systems. Multi-FPGA networks. Multi-FPGA partitioning. Types of systems. Can build a specialized multi-FPGA system. Wired for one purpose. Can build reusable multi-FPGA system. Emulators, other debugging systems. Networks. Ad hoc.
E N D
Topics • Multi-FPGA systems.
Issues • Types of multi-FPGA systems. • Multi-FPGA networks. • Multi-FPGA partitioning.
Types of systems • Can build a specialized multi-FPGA system. • Wired for one purpose. • Can build reusable multi-FPGA system. • Emulators, other debugging systems.
Networks • Ad hoc. • Best suited for specialized systems. • Crossbar. • Fully connected. • Specialized crossbars. • Multi-stage. • Not often used in multi-FPGA systems.
Crossbar • Fully connected: w x y z a b c d
Properties of crossbar • Fully connected: • Single source/destination. • Multi-point. • n2 area.
Clos network • System of crossbars that has less than n2 area. • Fully connected for single-destination connections. • Not fully connected for multiple destinations.
Net size distribution • Most nets are small, making Clos network feasible for logic: # nets # pins 1 2 3
Partial crossbar • Takes advantage of FPGA reprogrammability. • Several small crossbars. • If your crossbar doesn’t have room for the connection, reprogram to use another crossbar on another pin.
Trees and fat trees • Trees allow communication between leaves. • Fat trees provide more bandwidth near root. …
Multi-chip partitioning • Somewhat similar to partitioning for LE placement. • Differences: • k-way partitioning; • pins are a major cost; • must handle large problems.
K-way partitioning • Direct: • Divide into k sets. • Iterative: • Extract one set, then another, etc.
Clustering-based partitioning • Grow a cluster to form a partition. • Start with a seed for the cluster. • Choose new nodes to add to the cluster. • Next move depends on the quality of the previous moves.
Fiduccia-Mattheyses partitioning • Can deal with variable-sized blocks. • Related to Kernighan-Lin partitioning. • Uses a new data structure to determine the best cell to move. • Uses an improved algorithm for updating cell gains after a move. • Total gain recomputation can be performed by a set of constant time gain increments/decrements.