feature article
Subscribe Now

Building an FPGA Design Repository

How often has it happened that you have just finished a complex module for an FPGA project only to later find out that a very similar module was completed a month earlier by another team within the company? Not only have you just wasted several weeks of your time, but this wasted time has also cost the company money. A quick way to become a hero by saving the company both time and money is to put in place a simple reuse repository to prevent this scenario from ever happening again.

Today many design teams and companies are considering putting a reuse repository infrastructure together. The main benefits of a reuse repository are:

• Preventing wasted time due to creating designs blocks that already exist.

• Completing projects faster by leveraging existing design blocks in new designs.

• Concentrating the team’s creative skills on new design aspects of a project rather on recreating the wheel.

Regardless of the motivation, companies need a way to automate the creation of a reuse repository to allow all designers to easily access and add to this collection of designs.

Defining a Method

The end goal is to create a design repository in the form of a central website that every team member can access during a project’s life-cycle. A practical approach is to start simple and add more features as the user community grows. Figure 1 shows a proven method that Mentor Graphics has helped deploy at various customer sites. Based on this model, design teams can choose how much of the process they want to automate.

20080701_mentor_fig1.jpg

Figure 1: Reuse Repository Method

In this sample system, an Info Dialog collects information about the design in order to display a new entry on the repository website. This information is stored in a configuration file. Using a template file defining the HTML page content and format, the Page Builder script updates the repository website with the new information. An update file keeps track of every entry for the “What’s New” section of the page.

The Template File

An HTML page building tool (or Word) can be used to define the content for the repository page. In this example (shown in Figure 1), each FPGA project is placed in a table containing a brief description and several parameters for the design such as type of design, status, and a completion date. For each project, a link is defined to takes a user to the source files and HTML documentation describing the project.

The template file is edited to remove the rows of the table, leaving behind only the HTML constructs that start and end the table. In their place, a comment is inserted for use by Page Builder script:

align=”left”
               cellpadding=”0″ cellspacing=”1″
bordercolor=”#999999″ title=”Design_Information”>
 



 

 

If a “What’s New” section is desired, the list elements can be stripped out and place another comment in its place so that the script can find this section. For example:

     
   
 

The dynamic elements of the page will be generated by the Page Builder script.

The Page Builder Script

The Page Builder script is created to perform the following:

  • Parses the table column names and the content for each cell from the configuration file. In this example, this file contains the column names on the first line, a line for the content of each table row, followed by the paths to the source and HTML documentation locations. Select a leading key word, such as COLUMNS, DATA, PATH, and SOURCE, and separate elements using commas. For example:

      COLUMNS, Description, Type, Status, Completed
      DATA, Ethernet core from OpenCores, Peripheral,
    Silver, 7/4/06
          PATH,
    C:/Repository_kit/HTML/Ethernet/Etherneteth_topindex.htm
          SOURCE, C:/Repository_kit/Source/ethernet/hdl

  • Creates a new entry in the update file for the FPGA project.

  • If this is the first time that the website is created, the script opens a copy of the template file, and places What’s New list items (by reading the update file) and the HTML row construct for each design. If a repository page already exists, these items are appended to the page.

  • Using the pathname information from the configuration file, the script inserts links to the source and HTML documentation.

HTML Documentation

Next, an HTML page is created which gathers up as much useful information about the FPGA project in order for the next team member to decide whether this design is a match for a new project. Links can be created to:

  • Project drawings
  • Specifications and documents
  • Tool-generated reports
  • Design review notes

The Info Dialog

Optionally a dialog box can be written using a language such as Tk to interactively collect the content for the configuration file. This dialog can be invoked within a design tool or stand-alone in a shell. For example, Tk ships with a shell called Wish. Figure 2 presents a sample.

20080701_mentor_fig2.jpg

Figure 2: Info Dialog Sample

Alternately, the 3 lines can be entered manually in the configuration file for each FPGA project.

Wrapping it Up

Once the design repository web page is up in a central location, the next task is to inform the design community of its existence and how they can add their own FPGA projects. As the size of the repository and its popularity grows, a central location for the source and documentation can be created.  Later enhancements can be added to the website, such as adding a search engine.

To help design teams to get started today, Mentor Graphics provides a free repository kit containing scripts, templates, sample designs, and complete instructions.

About the author: Tom Dewey is a Technical Marketing Engineer for the HDL Designer Series product line at Mentor Graphics. Tom has over 20 years of EDA experience, contributing to ASIC and FPGA software products used for creation, synthesis, verification, and test. Dewey holds a B.S. in Electronics Engineering from the Oregon Institute of Technology.

Leave a Reply

featured blogs
Apr 25, 2024
Structures in Allegro X layout editors let you create reusable building blocks for your PCBs, saving you time and ensuring consistency. What are Structures? Structures are pre-defined groups of design objects, such as vias, connecting lines (clines), and shapes. You can combi...
Apr 24, 2024
Learn about maskless electron beam lithography and see how Multibeam's industry-first e-beam semiconductor lithography system leverages Synopsys software.The post Synopsys and Multibeam Accelerate Innovation with First Production-Ready E-Beam Lithography System appeared fir...
Apr 18, 2024
Are you ready for a revolution in robotic technology (as opposed to a robotic revolution, of course)?...

featured video

How MediaTek Optimizes SI Design with Cadence Optimality Explorer and Clarity 3D Solver

Sponsored by Cadence Design Systems

In the era of 5G/6G communication, signal integrity (SI) design considerations are important in high-speed interface design. MediaTekā€™s design process usually relies on human intuition, but with Cadenceā€™s Optimality Intelligent System Explorer and Clarity 3D Solver, theyā€™ve increased design productivity by 75X. The Optimality Explorerā€™s AI technology not only improves productivity, but also provides helpful insights and answers.

Learn how MediaTek uses Cadence tools in SI design

featured paper

Designing Robust 5G Power Amplifiers for the Real World

Sponsored by Keysight

Simulating 5G power amplifier (PA) designs at the component and system levels with authentic modulation and high-fidelity behavioral models increases predictability, lowers risk, and shrinks schedules. Simulation software enables multi-technology layout and multi-domain analysis, evaluating the impacts of 5G PA design choices while delivering accurate results in a single virtual workspace. This application note delves into how authentic modulation enhances predictability and performance in 5G millimeter-wave systems.

Download now to revolutionize your design process.

featured chalk talk

Accessing AWS IoT Services Securely over LTE-M
Developing a connected IoT design from scratch can be a complicated endeavor. In this episode of Chalk Talk, Amelia Dalton, Harald Krƶll from u-blox, Lucio Di Jasio from AWS, and Rob Reynolds from SparkFun Electronics examine the details of the AWS IoT ExpressLink SARA-R5 starter kit. They explore the common IoT development design challenges that AWS IoT ExpressLink SARA-R5 starter kit is looking to solve and how you can get started using this kit in your next connected IoT design.
Oct 26, 2023
23,703 views