You are here: Foswiki>NetFPGA/OneGig Web>SuggestedImprovements (19 Mar 2010, GlenGibb)EditAttach

Suggested Improvements

Show Contents...Hide Contents...

This page documents desired improvements to the NetFPGA project. Improvements can be for any part of the project, including (but not limited to): hardware, firmware, software, and the website.

Making suggestions:
Please add any suggested improvements to the list below (or add it to a linked page). Where ever possible, please add the suggestion to the appropriate area.

For each suggestion, please include:

  • summary
  • description of improvement
  • name of proposer (optional)
Please ensure that your suggestions are detailed enough for another person to understand. You are encouraged to include your wiki name or an e-mail address for others to contact you if they have queries.
Implementing improvements:

These improvements cannot be made without the help of the community. You are welcome to implement any of the suggestions below, as well as other ideas that you may have to improve the NetFPGA project.

Patches can be submitted for any changes related to source code in the NetFPGA package; improvements to the Wiki can be made by editing the Wiki directly.

We suggest that you mark any improvements that you are working on to hopefully avoid duplicated work and/or to allow others who wish to help with a feature to contact you.

Suggestions

2.0.1 release

  • rename CPCI_2.1 to cpci -- Main.GlenGibb - 08 Mar 2010
  • ensure that all packages build -- Main.GlenGibb - 08 Mar 2010
  • bump the selftest version number -- Main.GlenGibb - 08 Mar 2010

Documentation

Documented on the Documentation Improvements page

Hardware modules

  • New modules: documented on the Module Wishlist page
  • Enable individual modules to be submitted
    • Description: Ideally contributors should be able to submit individual modules. Currently only complete projects can be submitted. This would require an extension to the test infrastructure to enable modules to be tested independently, rather than as part of a project.
    • Proposer: Glen Gibb
  • Provide test system for individual modules
    • Description: Testing infrastructure should support verification (simulations) for individual modules. Currently no easy way to test a module, short of including it in a project or writing custom tests.
    • Proposer: Glen Gibb
  • Add dummy XML files for all modules
    • Description: Some modules do not have XML files for use by the register system. The register system generates warnings for these modules.
    • Proposer: Glen Gibb

Build system

  • GNU autotools
    • Description: Use GNU autotools for building the entire tree. (Note: not intended to replace the build system for projects.)
    • Proposer: Glen Gibb
  • Eliminate lib/C/common/reg_defines.h
    • Description: Use register defines from the cpci and the reference NIC (or some other basic project).
    • Proposer: Glen Gibb

Register system

  • Generate documentation for projects
    • Description: Enhance the register system to generate register documentation for each project. Documentation would include information such as a list of the registers and their descriptions, information on types, etc. This should be generated as plain text/HTML/LaTeX/...
    • Proposer: Glen Gibb

Selftest

  • Display device ID information as part of the selftest

Driver

  • Improve detection of programmed/not programmed status
    • Description: Currently driver does not identify whether the Virtex is programmed or not. The driver could use this information to enhance things like link up/down detection etc.
    • Proposer: Glen Gibb
  • Interrupt for programmed/not-programmed status
    • Description: This change would require changes to the CPCI. It would be useful to know when the Virtex changes programmed status (programmed/not programmed).
    • Proposer: Glen Gibb
  • Allow more DMA targets (dynamically creatable)
    • Description: There are some projects for which it would be useful to have more than 4 DMA targets (nf2c0..nf2c3). Provide a mechanism to create more interfaces per device. Would require hardware changes and probably changes to the NetFPGA device namespace.
    • Proposer: Glen Gibb

Website

Documented on the Website Improvements? page

Source repository

  • Convert repository from subversion to git
  • Make the repository public
  • Code review system (eg. gerrit, Review Board)
    • Use an automated system for code reviews for changes to the base system. Do this after converting to git.
    • Proposer: Glen Gibb
Topic revision: r7 - 19 Mar 2010 - 20:50:21 - GlenGibb