Presentation is loading. Please wait.

Presentation is loading. Please wait.

FPGA Two Day Beginners Workshop Instructors 1 Craig Kief Deputy Director, COSMIAC Karl Henry Instructor, JF Drake State

Similar presentations


Presentation on theme: "FPGA Two Day Beginners Workshop Instructors 1 Craig Kief Deputy Director, COSMIAC Karl Henry Instructor, JF Drake State"— Presentation transcript:

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!


Download ppt "FPGA Two Day Beginners Workshop Instructors 1 Craig Kief Deputy Director, COSMIAC Karl Henry Instructor, JF Drake State"

Similar presentations


Ads by Google