Suggestions for FPGA Design Presentation Dr. Rod Barto NASA/Office of Logic Design [email protected] Goals • Detailed design review and worst case analysis are the best tools.
Download ReportTranscript Suggestions for FPGA Design Presentation Dr. Rod Barto NASA/Office of Logic Design [email protected] Goals • Detailed design review and worst case analysis are the best tools.
Suggestions for FPGA Design Presentation Dr. Rod Barto NASA/Office of Logic Design [email protected] Goals • Detailed design review and worst case analysis are the best tools for ensuring mission success. • The goal here is not to make more work for the designer, but to: – Enhance efficiency of reviews – Make proof of design more clear – Make design more transferable – Improve design quality Suggestions for FPGA Design Presentation 2 Steps to preparing for design review 1. 2. 3. 4. 5. 6. 7. 8. 9. Modularize your design Make a datasheet for each module Show FPGA design in terms of modules Describe internal circuitry Describe state machines Describe FPGA connections Describe synthesis results Provide timing spec for external timing analysis Show requirements of external circuitry Suggestions for FPGA Design Presentation 3 1. Modularize your design • Easier to do during design phase • Goal is to describe design in terms of components that can be individually verified • Each component, or module, is a separate VHDL entity • Modules should be of moderate, e.g., MSI, size – E.g., FIFO, ALU – Counter, decoder probably too small – VME interface too big Suggestions for FPGA Design Presentation 4 2. Make a datasheet for each module • • • • • Describe the module’s behavior Show truth table Show timing diagrams of operation Provide test bench used to verify module Model: MSI part data sheet Suggestions for FPGA Design Presentation 5 3. Show FPGA design in terms of modules • Provide requirements spec for FPGA • Draw block diagram • Top-level VHDL entity shows FPGA inputs and outputs and ties component modules together • Show necessary timing diagrams – Interaction between modules – Interaction with external circuitry • Text for theory of operation • Provide test bench for FPGA-level VHDL simulation Suggestions for FPGA Design Presentation 6 4. Describe internal circuitry • Use of clock resources • Discuss skew issues • Describe deviations from fully synchronous design – Be prepared to show necessary analysis • Show how asynchronism is handled – External signals – Between clock domains • Glitch analysis of output signals used as clocks by other parts Suggestions for FPGA Design Presentation 7 5. Describe state machines • • • • Encoding chosen Protection against lock-up states Homing sequences Reset conditions Suggestions for FPGA Design Presentation 8 6. Describe FPGA connections • Use of special pins: TRST*, MODE, etc. • Power supply requirements – Levels, sequencing, etc. • • • • • Termination of unused clock pins Input and output options chosen for pins Discuss transition times of inputs POR operation and circuitry Critical signals and power-up conditions – Remember WIRE! Suggestions for FPGA Design Presentation 9 7. Describe synthesis results • Percentage of utilization • Flip-flop replication and its effects on reliable operation • Margin results from Timer • Timing of circuits using both clock edges Suggestions for FPGA Design Presentation 10 8. Provide timing spec for external timing analysis • Tsu, Th with respect to clock • Clock to output Tpd • Tpw for signals connected to flip-flop clocks • Clock symmetry requirements if both edges of clock used Suggestions for FPGA Design Presentation 11 9. Show requirements of external circuitry • Provide data sheets for parts interfacing to FPGA • Show timing diagrams of interactions of FPGA to other parts Suggestions for FPGA Design Presentation 12 References • Design guidelines: http://klabs.org/DEI/References/design_guidelines/nasa_guidelines/index.htm • Design tutorials http://klabs.org/richcontent/Tutorial/tutorial.htm • Design, analysis, and test guidelines: http://klabs.org/DEI/References/design_guidelines/design_analysis_test_guides.htm Suggestions for FPGA Design Presentation 13