FPGA Code Development and Management in LFAA Matt Roberts Electronic System Design Group Rutherford Appleton Laboratory, UK
Overview Version Management Firmware Development Software and Firmware Integration Issue Tracking and Wiki Documentation Matt Roberts204/10/2016
Version Management Subversion Repository Libraries/Projects/Vendor IP/Boards Source Code, Constraints and Scripts Traceability Hosted by RAL External Access for Collaborative Projects Promote Code Re-Use Reduce Development Time Minimise Errors Matt Roberts304/10/2016
Firmware Development Sigasi VHDL Plugin for Eclipse VHDL Code Navigation Context Sensitive Auto-Complete On-the-Fly Syntax Checking Modelsim Integration Compile Modelsim Libraries Automatically Auto-Generate Diagrams Block Diagrams/State-Machines Reduce Time to Synthesis Matt Roberts404/10/2016
Software/Firmware Integration XML Defined Memory Maps Scripted XML to VHDL Generation XML Stored in FPGA Configuration Automatic Documentation Matt Roberts504/10/2016
Issue Tracking and Wiki Subversion and Trac Ownership of Libraries/Projects/Vendor IP/Boards Web View and Wiki Web Based File Diffing Tickets and Milestones Tickets based on Workflow Tickets Linked to Milestones and Timelines Plugin Based Enhancements Agile SCRUM Virtual Whiteboards Burndown Charts Matt Roberts604/10/2016
Trac Subversion Commits Cross Reference to Ticket and/or Milestone Wiki Page References Improved Traceability Matt Roberts704/10/2016
Documentation Doxygen Generate Documentation from Source Code Comments Custom Script to Generate Memory-Map Tables From XML Definitions used to Generate VHDL Memory Maps Generates HTML Webpages Example Pages Eclipse and Trac Integration Promote Good Comments Matt Roberts804/10/2016
Summary Vendor Independent Vendor Specific IP only at Board Wrapper Top-Level Promoting Code Re-Use Minimise Errors Reduce Development Time Useful Focussed Comments Documentation Full Circle Traceability Tickets/Problem Reports/Fixes Working towards: Script Based Compilation and Verification 04/10/2016Matt Roberts9