Download presentation
Presentation is loading. Please wait.
Published byKarin Lily Wilkinson Modified over 9 years ago
1
FPGA Two Day Beginners Workshop Instructors 1 Craig Kief Deputy Director, COSMIAC craig.kief@cosmiac.org Karl Henry Instructor, JF Drake State Karl.Henry@DrakeState.edu Bassam Matar Instructor, Chandler-Gilbert b.matar@cgcmail.maricopa.edu Jim Plusquellic Professor, UNM jimp@ece.unm.edu Ui Luu Instructor, Glendale ui.luu@gcmail.maricopa.edu Pete Lomeli Instructor, Central Arizona Pete.Lomeli@centralaz.edu
2
Introductions Who are you? Where are you from? Any FPGA experience? What do you want to learn from this?
3
Syllabus Day 1 - 9:00 amIntroduction / Survey - 9:15 amWhat is an FPGA - 9:45 amWhat is VHDL - 10:15 amBreak - 10:30 amLab 1 – Introduction to the Xilinx ISE Design Suite - 12:00 pmLunch - 1:00 pmLab 2 - Introduction to VHDL - 3:30 pmCGCC Brainless Microprocessor (or something similar) Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Web Resources, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
4
Why we are here The average instructor when they are told they should be updating their digital logic lab by a department chair
5
The Big Picture
6
Technologies in My Lifetime Application SpecificProcessors TechnologyGatesToolsProcessorsLanguages Focus 1960'sTransistors10 1 1970'sSSI (7400)10 2 8-bitFortranAlgorithms 1980'sPALs (22V10)10 3 Scripting16-bitPascalData Structures 1990'sCPLDs10 4 Schematic Capture32-bitC, C+Objects 2000'sFPGAs10 6 HDL, synth, analysisMulti-coreC++, JavaThreads, Networks 2010'sSOCs10 9 HLSTs, IP, CoresSOCsC/HDLs?Partitioning, synching Human Bandwidth Exceeded: Behavioral DesignHuman Ingenuity Challenged: CAD Tool Lag
7
Declining Interest in EE/CS
8
Declining Enrollments and Graduates in EE/CS
9
We have the hardware, but… “… the semiconductor industry threw the equivalent of a Hail Mary pass when it switched from making microprocessors run faster to putting more of them on a chip - doing so without any clear notion of how such devices would in general be programmed. “The hope is that someone will be able to figure out how to do that, but at the moment, the ball is still in the air.” “Chipmakers are busy designing microprocessors that most programmers can’t program” David Patterson, IEEE Spectrum 2010 Courtesy Patrick Lysaght, Xilinx
10
65nm 40/45nm 28nm 200K 400K 600K Logic Cells 800K 1,000K 332K 150K 760K 355K 410K Virtex-7 Virtex-6 Spartan-6 Virtex-5 Dramatic Capacity Increases Artix-7 2,000K Kintex-7 Courtesy Patrick Lysaght, Xilinx Exponential Growth!
11
Students learn more, faster, and better with unrestricted access to design tools… …overall learning improves when applied design skills taught early; …overall performance improves when design skills used frequently; …and they like it* *results published in 2008 and 2009 ASEE proceedings I never teach my pupils; I only attempt to provide the conditions in which they can learn. Albert Einstein Method: Immersive hands-on design for every student
12
Low-cost kits and Free CAD tools for every engineering student Terasic DE0 Altera Cyclone III $79 Terasic DE1 Altera Cyclone II $125 Digilent Basys2 Xilinx Spartan 3E $59 Digilent Nexys2 Xilinx Spartan 3E $99 No Lab Required! Students work on real designs at a time and place of their choosing
13
FPGA’s Across the Curriculum
14
Please interrupt and ask questions
15
Syllabus Day 1 - 9:00 amIntroduction / Survey - 9:15 amWhat is an FPGA - 9:45 amWhat is VHDL - 10:15 amBreak - 10:30 amLab 1 – Introduction to Xilinx ISE 12.1 - 12:00 pmLunch - 1:00 pmLab 2 - Introduction to VHDL - 3:30 pmCGCC Brainless Microprocessor Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
16
What is an FPGA A Field Programmable Gate Array (FPGA) is a semiconductor device containing programmable logic components and programmable interconnects. The programmable logic components can be programmed to duplicate the functionality of basic logic gates such as AND, OR, XOR, NOT or more complex combinatorial functions such as decoders or simple math functions. In most FPGAs, these programmable logic components also include memory elements, which may be simple flip-flops or complete blocks of memory. A hierarchy of programmable interconnects allows the logic blocks of an FPGA to be interconnected as needed by the system designer. These logic blocks and interconnects can be programmed after the manufacturing process by the customer so that the FPGA can perform whatever logical function that is needed.
17
Overview All Xilinx FPGAs contain the same basic resources Logic Resources Slices (grouped into CLBs) Contain combinatorial logic and register resources Memory Multipliers Interconnect Resources Programmable interconnect IOBs Interface between the FPGA and the outside world Other resources Global clock buffers Boundary scan logic
18
What makes up an FPGA? Groups of Slices make up a Complex Logic Block (CLB) Each slice has four outputs Two registered outputs, two non-registered outputs Slice 0 LUT Carry LUT Carry DQ CE PRE CLR D Q CE PRE CLR Simplified Slice Structure
19
Spartan-3E Architecture CLB Slice
20
Xilinx vs. Altera Make Hardware Make Design Tools What is the difference?
21
It depends Time Existing resources Money Level of effort Which is best?
22
What projects are FPGAs good for Aerospace & Defense Radiation-tolerant FPGAs along with intellectual property for image processing, waveform generation, and partial reconfiguration for SDRs. Automotive Automotive silicon and IP solutions for gateway and driver assistance systems, comfort, convenience, and in-vehicle infotainment. Broadcast Solutions enabling a vast array of broadcast chain tasks as video and audio finds its way from the studio to production and transmission and then to the consumer. Consumer Cost-effective solutions enabling next generation, full-featured consumer applications, such as converged handsets, digital flat panel displays, information appliances, home networking, and residential set top boxes. Industrial/Scientific/Medical Industry-compliant solutions addressing market-specific needs and challenges in industrial automation, motor control, and high-end medical imaging. Storage & Server Data processing solutions for Network Attached Storage (NAS), Storage Area Network (SAN), servers, storage appliances, and more. Wireless Communications RF, base band, connectivity, transport and networking solutions for wireless equipment, addressing standards such as WCDMA, HSDPA, WiMAX and others.
23
Who uses them? www.fpgajobs.com Even though most jobs listed are for Engineers, there is a pathway ahead for anyone with this knowledge The FPGA Technician – Craig’s view of life
24
Why are they important They have the ability to revolutionize the way that prototyping is done. Allows companies to get to market quicker and stay in market longer. Allows small companies to create systems normally reserved for larger companies.
25
Syllabus Day 1 - 9:00 amIntroduction / Survey - 9:15 amWhat is an FPGA - 9:45 amWhat is VHDL - 10:15 amBreak - 10:30 amLab 1 – Introduction to Xilinx ISE 12.1 - 12:00 pmLunch - 1:00 pmLab 2 - Introduction to VHDL - 3:30 pmCGCC Brainless Microprocessor Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
26
Design – The Big Picture This is one of the most important pictures in the course!
27
This is the other! DESIGN Hardware Descriptive Languages (HDL) VHDL VERILOG C++ SYSGEN Schematic Capture EDK IP Cores Limitless Tools SYNTHESIS Many files in – one file out One File = EDIF Syntax Checking Less Tool Choices IMPLEMENTATION PLACE AND ROUTE Place Logic onto the CLBs Route IOB CLB IOB UCF EDIF.BIT ONE TOOL PROGRAM JTAG PROGRAM FPGA PROM ADEPT vs JTAG Chain BEHAVIORAL SIMULATION TIMING SIMULATION
28
How are FPGA projects Designed? There are many different methodolgies for programming (or designing) with FPGAs Hardware Descriptive Language (HDL) VHDL Verilog Schematic Capture C Code EDK System Generator
29
HDLs: VHDL and Verilog Hardware Descriptive Languages are ways of describing digital logic. They are not a programming language, they are languages for describing hardware and are the most popular mechanisms for creating FPGA projects VHDL – VHSIC Hardware Descriptive Language Verilog Which is best?
30
VHDL Code The title of the article is "Analysis of the programmable logic usage and assurace survey results“ revision 10.1, sept 25,2002 Glenn research center, Cleveland, Ohio. Quote: It is a serious mistake to equate VHDL programming to software. At best it is firmware, but for the most part there isn't a good name for programming FPGA logic. In a high performance design like ours, the minute you forget that you are designing hardware and think you are writing software, you fail.
31
Synthesizable vs. Non-Synthesizable VHDL Code Forest Level View on Synthesizable Code
32
Inputs and outputs for FPGA std_logic versus std_logic_vector -- comments: how you enter comments in VHDL entity BUZZER is port ( DOOR, IGNITION, SBELT: in std_logic; WARNING: out std_logic); end BUZZER; Entity Declaration DOOR IGNITION SBELT WARNING entity BUZZER is port ( DOOR: in std_logic; IGNITION: in std_logic; SBELT: in std_logic; WARNING: out std_logic); end BUZZER;
33
Entities and Architectures Can’t have two entities in same file
34
Signals – Internal to one source file Inside architecture and before the “begin” Think of as a temporary value Can’t be seen outside of the file If you want to simulate, drive the output to an I/O pin
35
Require Headers from Students Add Name, Revision Information, Dates, ….
36
Complete VHDL project
37
Syllabus Day 1 - 9:00 amIntroduction / Survey - 9:15 amWhat is an FPGA - 9:45 amWhat is VHDL - 10:15 amBreak - 10:30 amLab 1 – Introduction to Xilinx ISE 12.1 - 12:00 pmLunch - 1:00 pmLab 2 - Introduction to VHDL - 3:30 pmCGCC Brainless Microprocessor Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
38
Syllabus Day 1 - 9:00 amIntroduction / Survey - 9:15 amWhat is an FPGA - 9:45 amWhat is VHDL - 10:15 amBreak - 10:30 amLab 1 – Introduction to the Xilinx ISE Design Environment - 12:00 pmLunch - 1:00 pmLab 2 - Introduction to VHDL - 3:30 pmCGCC Brainless Microprocessor Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
39
I wish to help all of you to begin teaching FPGAs
40
Lab 1 Overview Provides you with an introduction to the design tools with a schematic capture environment I will show you how to do a simple schematic project and you can follow the instructions later to repeat after lunch
41
Start the Learning The key from this workshop is to learn what you need to know to successfully teach with FPGAs
42
Syllabus Day 1 - 9:00 amIntroduction / Survey - 9:15 amWhat is an FPGA - 9:45 amWhat is VHDL - 10:15 amBreak - 10:30 amLab 1 – Introduction to Xilinx ISE 12.1 - 12:00 pmLunch and Talking ATE - 1:00 pmLab 2 - Introduction to VHDL - 3:30 pmCGCC Brainless Microprocessor Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools
43
Advanced Technological Education (ATE) Synopsis of Program: With an emphasis on two-year colleges, the Advanced Technological Education (ATE) program focuses on the education of technicians for the high-technology fields that drive our nation's economy. The program involves partnerships between academic institutions and employers to promote improvement in the education of science and engineering technicians at the undergraduate and secondary school levels. The ATE program supports curriculum development; professional development of college faculty and secondary school teachers; career pathways to two- year colleges from secondary schools and from two-year colleges to four- year institutions; and other activities. Another goal is articulation between two-year and four-year programs for K-12 prospective teachers that focus on technological education. The program also invites proposals focusing on research to advance the knowledge base related to technician education.
44
ATE Video What is ATE? Video
45
Advanced Technological Education (ATE) Cognizant Program Officer(s): Please note that the following information is current at the time of publishing. See program website for any updates to the points of contact. V. Celeste Carter, Lead Program Director, 835 N, telephone: (703) 292- 4651, email: vccarter@nsf.gov Gerhard L. Salinger, Lead Program Director, DRL, 885 S, telephone: (703) 292-5116, email: gsalinge@nsf.gov David B. Campbell, Co-Lead Program Director, DRL, 885 S, telephone: (703) 292-5093, email: dcampbel@nsf.gov Pamela Brown, 835 N, telephone: (703) 292-4674, email: pbrown@nsf.gov Zhanjing (John) Yu, 835 S, telephone: (703) 292-4647, email: zyu@nsf.gov
46
Advanced Technological Education (ATE) Synopsis of Program: With an emphasis on two-year colleges, the Advanced Technological Education (ATE) program focuses on the education of technicians for the high-technology fields that drive our nation's economy. The program involves partnerships between academic institutions and employers to promote improvement in the education of science and engineering technicians at the undergraduate and secondary school levels. The ATE program supports curriculum development; professional development of college faculty and secondary school teachers; career pathways to two- year colleges from secondary schools and from two-year colleges to four- year institutions; and other activities. Another goal is articulation between two-year and four-year programs for K-12 prospective teachers that focus on technological education. The program also invites proposals focusing on research to advance the knowledge base related to technician education.
47
Advanced Technological Education (ATE) Synopsis of Program: With an emphasis on two-year colleges, the Advanced Technological Education (ATE) program focuses on the education of technicians for the high-technology fields that drive our nation's economy. The program involves partnerships between academic institutions and employers to promote improvement in the education of science and engineering technicians at the undergraduate and secondary school levels. The ATE program supports curriculum development; professional development of college faculty and secondary school teachers; career pathways to two- year colleges from secondary schools and from two-year colleges to four- year institutions; and other activities. Another goal is articulation between two-year and four-year programs for K-12 prospective teachers that focus on technological education. The program also invites proposals focusing on research to advance the knowledge base related to technician education.
48
Anticipated number, size, and duration of new awards - ATE Projects: approximately 45-60 new awards, ranging from $25,000 to $300,000 per year and having a duration of up to three years, except for Large Scale Materials Development (LSMD) projects, which are limited to $500,000 per year for four years. - ATE small grants for institutions new to the ATE program: approximately 15-20 awards for up to $200,000 (each) typically spread over three years. It is expected that the budget request will match the scope of the project. - National Centers of Excellence: up to 2 new awards for up to $5 million (each) spread over four years, with the possibility of a competitive grant renewal, normally at a lower level of annual funding, for an additional three years. - Regional Centers of Excellence: up to 3 new awards for up to $3 million (each) spread over four years, with the possibility of a competitive grant renewal, normally at a lower level of annual funding, for an additional three years. - Resource Centers: up to 4 new awards for up to $1.6 million (each) spread over four years with the possibility of a competitive grant renewal. - Planning Grants for Centers: up to 4 new awards for up to $70,000 (each) to develop well- formulated plans for future national or regional centers (see Section V.A ["Proposal Preparation"] for additional information). - Targeted Research on Technician Education: approximately 5 to 8 new awards, ranging from $100,000 to $300,000 per year for up to 4 years.
49
Tips and Tricks Read the solicitation Talk to the NSF PM about your ideas Have a half dozen “measurable” goals Have a good external evaluator Start early. Proposals are always due in October. Starting six months out is not to early Success means clearly showing with supporting documentation What you want to do Why you want to do it Who cares
50
Syllabus Day 1 - 9:00 amIntroduction / Survey - 9:15 amWhat is an FPGA - 9:45 amWhat is VHDL - 10:15 amBreak - 10:30 amLab 1 – Introduction to Xilinx ISE 12.1 - 12:00 pmLunch - 1:00 pmLab 2 - Introduction to VHDL - 3:30 pmCGCC Brainless Microprocessor Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools
51
Lab 2 Overview Introduction to VHDL Builds upon schematic capture skills but with an HDL I will do a simple project first. You watch and then you can follow the directions
52
Syllabus Day 1 - 9:00 amIntroduction / Survey - 9:15 amWhat is an FPGA - 9:45 amWhat is VHDL - 10:15 amBreak - 10:30 amLab 1 – Introduction to Xilinx ISE 12.1 - 12:00 pmLunch - 1:00 pmLab 2 - Introduction to VHDL - 3:30 pmCGCC Brainless Microprocessor Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.)
53
Day 2 Recap yesterday events
54
Syllabus Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
55
VHDL Recap and Objects - Temporary value - Not used - A way to make files more versatile (numOfBits) - Spreadsheet input
56
Available Operators
57
Picking off bits
58
CASE STATEMENT SELECTED SIGNAL ASSIGNMENT 00 01 10 11 process(SEL, HEX0, HEX1, HEX2, HEX3) begin case SEL is when "00" => AN <= "1110"; HEX <= HEX0; when "01" => AN <= "1101"; HEX <= HEX1; when "10" => AN <= "1011"; HEX <= HEX2; when others => AN <= "0111"; HEX <= HEX3; end case; end process; * USED WHEN NO PRIORITY EQUIVALENT TO CASE STATEMENT
59
IF STATEMENT CONDITIONAL SIGNAL ASSIGNMENT PROCESS (X, Y, Z, A, B) SENSITIVITY LIST. ANYTHING READ MUST BE HERE NOTHING HERE IS EVER ON LEFT SIDE OF ASSIGNMENT – Everything on Right hand side of assignment is read 0101 IF B = ‘1’ THEN OUT <= Z ELSIF A = ‘1’ OUT <= Y ELSE OUT <= X END IF END PROCESS * PRIORITY EXISTS X Y 0101 OUT Z A B - no clock
60
Assignment Operators <= Used to assign a value to a SIGNAL a <= ‘1’; := Used to assign an value to a VARIABLE, CONSTANT, or GENERIC. Used also for establishing initial values constant N: integer:=18; => Used to assign values to individual vector elements or with OTHERS display_out : display_controller port map( clk=> clk, reset=> reset, q_reg '0');
61
RULES 1. DON’T USE PROCESS IF DON’T HAVE TO – Simple, concurrent and selected signal assignments can be done outside of a process. Danger of using a process is you might get a inferred latch (unwanted clock cycle) 2.MULTIPLE ASSIGNMENTS TO SAME SIGNAL, LAST ONE HOLDS: A <= ‘1’; A <= ‘0’; 3.FOR EVERY OUTPUT SIGNAL THAT CAN BE ASSIGNED, ALL POSSIBLE CONDITIONS MUST BE ADDRESSED– Always assign default values at the top of the block before case and if statements 4.ALL INPUT SIGNALS READ MUST BE IN THE SENSITIVITY LIST FOR COMBINATIONAL LOGIC 5.FOR SEQUENTIAL USE CLK/RESET
62
What do you really need to start your FPGA program? All you need is ISE/Webpack and an FPGA board
63
Obtaining, licensing and service contract with Xilinx If you decide to go with Xilinx, we can help you the most (with currently available resources) Register with XUP Get software Put one person in charge of licenses. Should be you. Don’t use your normal password so you can easily share with your IT person
64
FPGA Project 101 Every FPGA project has four steps Design Synthesis Place and route Program device A good way to introduce FPGA to your students
65
Entering Designs Select source type Design Entry Schematic HDL source (VHDL and Verilog) Design Entry Tools Architecture Wizard Core Generator Chipscope State Diagram Embedded Processor Simulation Test Bench VHDL
66
Xilinx CORE Generator Predefined packages of VHDL optimized for a specific chip
67
Synthesis Synthesis is the process of combining all your design files into a single EDIF netlist. We use XST (Xilinx Synthesis Tool) for this purpose. There are other packages but at an educational level, it may not be fiscally prudent (or necessary).
68
Synthesis – Choosing space, speed and other options
69
Synthesizing Designs Double-click to Synthesize Synthesis Processes and Analysis Access report View Schematics (RTL or Technology) Check syntax Generate Post-Synthesis Simulation Model Generate a netlist file using XST (Xilinx Synthesis Technology) Highlight HDL Sources 1 2
70
RTL Viewer Allows designer to view schematic representation of the HDL. Excellent troubleshooting tool
71
Implementing Designs Implement a design Translate Access reports Floorplan design Map Access reports Analyze timing Floorplan design Manually place components Generate simulation model Place & Route Access reports Analyze timing Floorplan design Manually place & route components And more Process netlist generated from synthesis Highlight HDL Sources 1 Double-click to Synthesize 2
72
Implementation Consists of three phases Translate: Merge multiple design files into a single netlist Map: Group logical symbols from the netlist (gates) into physical components (slices and IOBs) Place & Route: Place components onto the chip, connect the components, and extract timing data into reports Access Xilinx reports and tools at each phase Timing Analyzer, Floorplanner, FPGA Editor, XPower Translate Map Place & Route Implement......... Netlist Generated From Synthesis......
73
Place and Route P&R is the process of translating the netlist into physical gates on the chip This is where you care about the specific chip you will be using and you will see the introduction of the UCF. The UCF is a user constraint file that ties your projects inputs and outputs to actual pins on the chip.
74
Synthesis Schematic Capture Simulation 0 1 0 0 1 1 1 0 1 1 0 0 1 1 Design Flow libraries netlist HDL test vectors Translate Fitting/ Place & Route Implementation Specification Verification Gates of the design...... are placed...... and routed Device Implementation Place & Route
75
Simulating Designs Tool Flow 75 Verify the design with the ISE Simulator Select simulation type 1 Highlight test bench 2 Double-click to simulate 3 Add a test bench VHDL Perform a Behavioral Simulation Use UNISIM/UniMacro library when FPGA primitives are instantiated in the design Use XilinxCoreLib library when IP cores are instantiated in the design Perform a timing simulation Use Xilinx SIMPRIM library when FPGA primitives are instantiated in the design SmartModels Simulation library for both functional and timing simulation of Xilinx Hard-IP such as PPC, PCIe, GT, TEMAC.
76
Simulations 90% (maybe 100% at a 200 level course 10%
77
Counter Simulation
78
Configuring FPGAs Configure FPGAs from computer Use iMPACT to download bitstream from computer to FPGA via Xilinx download cable (ie. Platform USB) Configure FPGAs from External Memory Xilinx Platform Flash Use iMPACT to generate PROM file and download to PROM using Xilinx download cable Generic Parallel PROM Use iMPACT (or in our case Adept) to generate PROM file - no support for programming Compact Flash (Xilinx System ACE required) Use iMPACT to generate SysACE file - no support for programming Double-click to generate.bit 2 Highlight source file 1 Double-click to invoke iMPACT programming tools 3
79
Configuration Once a design is implemented, you must create a file that the FPGA can understand This file is called a bitstream: a BIT file (.bit extension) The BIT file can be downloaded Directly into the FPGA Use a download cable such as Platform USB To external memory device such as a Xilinx Platform Flash PROM Must first be converted into a PROM file Tool Flow 79
80
Syllabus Day 2 - 9:00 amFPGA Design Techniques - 10:00 am Lab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
81
Lab 3 Difference between a register and a buffer Do the lab
82
Syllabus Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
83
Don’t get frustrated The project may not be successful for each person the first time. Don’t get frustrated. The process is simple but it is often easy to make simple mistakes the first time you do this.
84
VHDL Testbench Lab Could this be a now position for a technician or a two year degree person? Go through the Counter Code
85
Syllabus Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
86
Syllabus Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
87
Final Project
88
Syllabus Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Web Resources, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
89
Webpack This is the really great benefit to students. Xilinx makes a free version of their ISE software. This means that students can do entire projects at home and only come to the lab to demo. http://www.xilinx.com/ise/logic_design_prod/webpack. htm Altera has a similar product
90
Webpack
91
Webpack vs Full Version
92
Default Locations for SW When you are setting up the software, regardless of if it is at the lab or at home, only install the software at the default locations.
93
Prototype Boards Boards range from very inexpensive (BASYX - $59) to very expensive (V8000 - $10k). They key is to get the most board you can for the minimum amount of money that will do what you need. Excellent dependability and student tested. Clint Cole story Clint’s website – www.digilentinc.com
94
Licensing Node Lock (Ethernet versus Hard Drive Serial Number) Server Licensing Student versus Lab Let us work with your IT folks. This part gets confusing quickly your first few times.
95
License Donation according to XUP All of the seats/licenses come with 1yr warrantee/maintenance. The software and licenses do not expire nor do they stop working. The current software version installation can be used for as long as needed, these are perpetual licenses. What does expire is the warrantee/maintenance on the tools. This means you will not receive any NEW software versions/updates. To stay in warrantee the school must complete and submit the on-line donation request located at http://www.xilinx.com/university/donation/index.htm and request what software they want. Once the request is received an order is placed. This will extend SW access for 1 more year and assure no lapse in receiving all updates/new software versions. http://www.xilinx.com/university/donation/index.htm
96
Digilent (cont.) Clint’s boards, website and PMODs
97
Educational Materials Available Clint’s web site www.eecs.wsu.edu/~ee214 Digilent website www.digilentinc.com Our XUP site www.ece.unm.edu/vhdl XUP site www.cosmiac.org Quick start tutorials – launch within ISE What we are developing!
98
Deploying Curriculum Website: http://cosmiac.org/FPGA.html
99
Educational Materials Available http://www.digilentinc.com/classroom/realdigital/
100
Educational Materials Available http://www.cosmiac.org/spartan3e_tutorials.html
101
Free Textbook http://www.allaboutcircuits.com/
102
Donated SW and HW Register with XUP Mention working with us Don’t chase releases What is “good enough” Computers Software/releases OS/ISE Boards HW Initially Sporadic Sustainability
103
Impediments to Implementation Hurdles we have seen We have always done it this way Hurdles you might see Fear factor
104
Beginners and Advanced Workshops – FPGA and Microcontrollers We offer a series of free two-day workshops for instructors and professors to allow them to be able to learn the basics of establishing FPGA programs at their schools We can do some really amazing things via VTC
105
The Team’s Plan Develop Instructional Material Train Faculty
106
Collaboration We do collaborations very well Small Grants for Institutions New to the ATE Program Project Proposals
107
Developing Curriculum Lab1 – Intro - Matar/Luu Lab 2 – Basic Logic Gates Matar/Luu Lab 3 – Registers and BuffersKief Lab 4 – Simulation (tie to Lab 7 & 8)Henry/Reutter Lab 5 – Look-up TablesKief Lab 6 – ALUMatar/Luu Lab 7 – Test Bench 1Henry/Reutter Lab 8 –TroubleshootingHenry/Reutter Lab 9 – CountersKief Lab 10 – Finite State MachinesMatar/Luu Lab 11 – Sequence DetectorsHenry/Reutter Lab 12 – Shift Registers Kief Lab 13 – IP CoresKief Lab 14 – Microprocessor SystemLomeli Lab 15 – Chipscope ProLomeli Lab 16 – RS-232 & Series CommunicationKief
108
Plan Ahead In the near future Xilinx ISE will transition from the traditional Project Navigator to Plan Ahead. Easier integration of various design types
109
Plan Ahead Very similar to project navigator
110
Vivado vs ISE Make sure you download and install the right thing. Call me first Vivado - handles only Series 7 devices (S7,V7,Zync) - supports C-synthesis (in the System Edition) - has a new deterministic Place and Route Algorithm.
111
Teaching Faculty Lets do an Advanced Workshop
112
Syllabus Day 2 - 9:00 amFPGA Design Techniques - 10:00 amLab 3 – Registers and Buffers - 10:30 amVHDL Testbench Lab - 12:00 pmLunch - 1:00 pmFinal Project - 3:00 pmSupport System (Software & Wiki, etc.) - 3:30 pmImplementation / Adaption Plan / Issues at schools - 4:00 pmConclusions / Feedback / Survey
113
Conclusions
114
Painful survey We need your help in statistics. We will be contacting you!
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.