160 likes | 258 Views
ECpE 583 Reconfigurable Computing Lecture 8: Tue 9/18/2008 (Placing Applications onto FPGAs: Part II). Instructor: Dr. Phillip Jones (phjones@iastate.edu) Reconfigurable Computing Laboratory Iowa State University Ames, Iowa, USA http://www.ece.iastate.edu
E N D
ECpE 583Reconfigurable ComputingLecture 8: Tue 9/18/2008(Placing Applications onto FPGAs: Part II) Instructor: Dr. Phillip Jones (phjones@iastate.edu) Reconfigurable Computing Laboratory Iowa State University Ames, Iowa, USA http://www.ece.iastate.edu http://class.ece.iastate.edu/cpre583 (coming soon) http://www.arl.wustl.edu/~phjones/cpre583 (temporary)
Class Announcements • Staff still working on installing Xilinx Hardware development tools • ModelSim installed • Xilinx Tools? Will check on after class • Updated schedule
Outline • Short review High-level flow for placing an application on an FPGA • Lower level details for each step
Applications on FPGA • High-level: Where does Hardware and Software reside? • Low-level: How does VHDL get transformed into FPGA hardware? • Reconfigurable Computing (2008) • Scott Hauck, Andre DeHon • ~$80 • I am still reviewing before deciding if this should be a recommended/required book for this class
Applications on FPGA: High-level • Where does HW and SW reside Memory (RAM) FPGA LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT Internet 1 Gbit LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT
Applications on FPGA: High-level • Where does HW and SW reside Memory (RAM) FPGA CPU.vhd LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT Internet 1 Gbit LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT
Applications on FPGA: High-level • Where does HW and SW reside Memory (RAM) FPGA CPU.vhd LUT LUT LUT LUT LUT LUT LUT LUT Detect.c LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT Internet 1 Gbit LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT
Applications on FPGA: High-level • Where does HW and SW reside Memory (RAM) FPGA Game.c CPU.vhd LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT Detect.c LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT Internet 1 Gbit LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT
Applications on FPGA: High-level • Where does HW and SW reside Memory (RAM) FPGA Game.c CPU.vhd LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT Detect.c LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT Internet 1 Gbit LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT
Applications on FPGA: High-level • Where does HW and SW reside Memory (RAM) FPGA Game.c CPU.vhd LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT FSM: Detect.vhd (virus detector) LUT LUT LUT LUT LUT LUT LUT LUT Internet 1 Gbit LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT
Applications on FPGA: High-level • Where does HW and SW reside Memory (RAM) FPGA Game.c CPU.vhd LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT FSM: Detect.vhd (virus detector) LUT LUT LUT LUT LUT LUT LUT LUT Internet 1 Gbit LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT
Applications on FPGA: High-level • Where does HW and SW reside Memory (RAM) FPGA Game.c CPU.vhd LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT FSM: Detect.vhd (virus detector) LUT LUT LUT LUT LUT LUT LUT LUT Internet 1 Gbit LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT LUT
Applications on FPGA: Low-level • Implement circuit in VHDL (Verilog) • Simulate compiled VHDL • Synthesis VHDL into a device independent format • Map device independent format to device specific resources • Check that device has enough resources for the design • Place resources onto physical device locations • Route (connect) resources together • Completely routed • Circuit meets specified performance • Download configuration file (bit-steam) to the FPGA
Applications on FPGA: Low-level Implement Simulate Synthesize Map Place Route Download
Next Lecture • Finish Mapping logic to FPGAs
Questions/Comments/Concerns • Write down • Main point of lecture • One thing that’s still not quite clear • If everything is clear, then give an example of how to apply something from lecture OR