First IEEE Programming Challenge at IWLS

For the first time in the history of the International Workshop for Logic Synthesis (IWLS) we are launching a programming challenge sponsored by the IEEE Council on Electronic Design Automation (CEDA). With this programming challenge we would like to build and foster a new open source logic synthesis system which will provide the base for future comprehensive EDA tool flows. Our long term goal is to build a complete RTL-to-layout implementation flow that also includes physical synthesis and optimization steps.

Individual students as well as teams of multiple students are encouraged to participate in this challenge to either implement their current research on this platform or to implement known and published synthesis algorithms as part of their education. For students who want to participate but lack concrete ideas, we have a list with suggestions of algorithms to implement.

The Challenge

The challenge is to implement one or more logic optimization algorithms on the industrial EDA database OpenAccess. The algorithms should make maximum use of the OpenAccess data base, be implemented in a native manner and adhere to the coding conventions of OpenAccess.

The algorithm should be implemented within the OA Gear infrastructure. OA Gear provides an RTL-Verilog reader and synthesis into a technology independent netlist (and-inverter graph), a simple mapper which directly maps the nodes of the and-inverter graph onto a specified set of three library elements (AND, NOT, FF), accurate timing analysis with slew propagation, and a simple equivalence checker which is based on the and-inverter graph representation.

The technology dependent optimization algorithms should be implemented directly on OpenAccess, technology independent optimization algorithms should use the functional layer in OA Gear, in the package Func, together with the and-inverter graph (AIG) package. The results of the technology dependent algorithms are evaluated by performing accurate timing analysis and preferably use incremental timing analysis of the OA Gear timer.

In addition to working on synthesis another possibility is to implement an efficient equivalence checker.

The Sponsors

We are thankful to the following organizations and companies for financial support:

                                  

The Prizes

  1. For a fixed number of significant contributions selected by a jury:
    A travel grant for one team member to attend IWLS including airfare (up to a fixed cap), full registration, and lodging.
  2. For a single outstanding contribution selected by a jury:
    In addition to the travel grant a cash prize of $500 for the selected team.
Only full-time students registered during the spring 2006 semester are eligible to participate. The winners will be invited to either give a talk or present a poster as part of the workshop program.

The Dates

Submission deadline for preliminary version of
two-page technical paper
  April 15, 2006
Submission deadline for the final two-page
technical paper
  May 1, 2006
Submission deadline for source code   May 1, 2006
Notification of winners of travel grants   May 15, 2006
IWLS workshop (near Denver, CO)   June 7-9, 2006

All dates refer to midnight PST.
Please note, that these deadlines are strict. Submissions that are received after this deadline will not be considered.

Judging

The winners of the prizes will be selected by a jury of the IWLS Programming Challenge Committee. The judges will grade entries using the following criteria:

How to Get Started

Si2 supports the programming challenge by distributing the software. Details for obtaining an Si2 account and for downloading and installing the IWLS challenge software are described in this document.

Once you have obained an Si2account we encourage you to sign up for the project list iwls_challenge_news of the challenge website at  Si2 (Si2 account required). This forum will provide information about updates of the programming environment and discuss questions and problems participants encounter as they work on the project.

How to Enter

All participants have to write a two-page technical paper which describes the algorithm, the implementation and computational results. A preliminary version is due by midnight (PST) April 15, 2006 and the final version is due by midnight (PST) May 1, 2006. The papers have to be submitted via e-mail to iwlschallenge@si2.org. When sending an email to this address the "from" email address has to be the address registered with your Si2 account. All the technical papers will be published in the workshop proceedings.

The source code has to be submitted as a gzipped tar file via e-mail to iwlschallenge@si2.org. by midnight (PST) May 1, 2006 together with the final technical paper. Your code should be in one separate directory of the OA Gear package and compile in this environment on one of the supported platforms. We also ask you to add meaningful output logfiles and scripts which run the benchmarks and a README file so that we can reproduce the results.

You need to agree that your source code may be released after the workshop as part of the OA Gear project under the OA Gear license. This is an essential requirement to ensure that your contribution can become part of the EDA flow.

Discussion Forum

The challenge website at  Si2 (Si2 account required) has a discussion forum where you can discuss any ideas and problems related to the programming challenge with other participants.

Questions

Once you have received an account from Si2 for the programming challenge you can contact us at iwlschallenge@si2.org.

The IEEE Programming Challenge at IWLS Co-Chairs

Christoph Albrecht and Florian Krohm