• DocumentCode
    3524079
  • Title

    Encouraging reusable network hardware design

  • Author

    Covington, G. Adam ; Gibb, Glen ; Naous, Jad ; Lockwood, John W. ; McKeown, Nick

  • Author_Institution
    Stanford Univ., Stanford, CA, USA
  • fYear
    2009
  • fDate
    25-27 July 2009
  • Firstpage
    29
  • Lastpage
    32
  • Abstract
    The NetFPGA platform is designed to enable students and researchers to build networking systems that run at line-rate, and to create re-usable designs to share with others. Our goal is to eventually create a thriving developer-community, where developers around the world contribute reusable modules and designs for the benefit of the community as a whole. To this end, we have created a repository of ldquoUser Contributed Designsrdquo at NetFPGA.org. But creating an ldquoopen-source hardwarerdquo platform is quite different from software oriented open-source projects. Designing hardware is much more time consuming-and more error prone-than designing software, and so demands a process that is more focussed on verifying that a module really works as advertised, else others will be reluctant to use it. We have designed a novel process for contributing new designs. Each contributed design is specified entirely by a set of tests it passes. A developer includes a list of tests that their design will pass, along with an executable set of tests that the user can check against. Through this process, we hope to establish the right expectations for someone who reuses a design, and to encourage sound design practices with solid, repeatable and integrated testing. In this paper we describe the philosophy behind our process, in the hope that others may learn from it, as well as describe the details of how someone contributes a new design to the NetFPGA repository.
  • Keywords
    field programmable gate arrays; logic design; open systems; user centred design; NetFPGA platform; NetFPGA repository; NetFPGA.org; developer-community; integrated testing; networking systems; open-source hardware platform; reusable modules; reusable network hardware design; software oriented open-source projects; user contributed designs; Acoustic testing; Education; Ethernet networks; Internet; Open source hardware; Open source software; Process design; Software design; Software standards; Solids;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microelectronic Systems Education, 2009. MSE '09. IEEE International Conference on
  • Conference_Location
    San Francisco, CA
  • Print_ISBN
    978-1-4244-4407-6
  • Electronic_ISBN
    978-1-4244-4406-9
  • Type

    conf

  • DOI
    10.1109/MSE.2009.5270838
  • Filename
    5270838