FPGA Code Development and Management in LFAA Matt

  • Slides: 9
Download presentation
FPGA Code Development and Management in LFAA Matt Roberts Electronic System Design Group Rutherford

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

Overview • • • Version Management Firmware Development Software and Firmware Integration Issue Tracking and Wiki Documentation 04/10/2016 Matt Roberts 2

Version Management • Subversion Repository • Libraries/Projects/Vendor IP/Boards • Source Code, Constraints and Scripts

Version Management • Subversion Repository • Libraries/Projects/Vendor IP/Boards • Source Code, Constraints and Scripts • Traceability • Hosted by Technology @ RAL • External Access for Collaborative Projects • Promote Code Re-Use • Reduce Development Time • Minimise Errors 04/10/2016 Matt Roberts 3

Firmware Development • • • Sigasi VHDL Plugin for Eclipse VHDL Code Navigation Context

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 04/10/2016 Matt Roberts 4

Software/Firmware Integration • • XML Defined Memory Maps Scripted XML to VHDL Generation XML

Software/Firmware Integration • • XML Defined Memory Maps Scripted XML to VHDL Generation XML Stored in FPGA Configuration Automatic Documentation 04/10/2016 Matt Roberts 5

Issue Tracking and Wiki • Subversion and Trac • Ownership of Libraries/Projects/Vendor IP/Boards •

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 04/10/2016 Matt Roberts 6

Trac • Subversion Commits • Cross Reference to Ticket and/or Milestone • Wiki Page

Trac • Subversion Commits • Cross Reference to Ticket and/or Milestone • Wiki Page References • Improved Traceability 04/10/2016 Matt Roberts 7

Documentation • Doxygen • Generate Documentation from Source Code Comments • Custom Script to

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 04/10/2016 Matt Roberts 8

Summary • Vendor Independent • Vendor Specific IP only at Board Wrapper Top-Level •

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/2016 Matt Roberts 9