Toward Automated ECOs in FPGAs

Engineering change orders (ECOs), which are used to apply late-stage specification changes and bug fixes, have become an important part of the field-programmable gate array design flow. ECOs are beneficial since they are applied directly to a placed-and-routed netlist which preserves most of the engineering effort invested previously. Unfortunately, designers often apply ECOs in a manual fashion which may have an unpredictable impact on the design's final correctness and end costs. As a solution, this paper introduces an automated method to tackle the ECO problem. This paper uses a novel resynthesis technique which can automatically update the functionality of a circuit by leveraging the existing logic within the design, thereby removing the inefficient manual effort required by a designer. The technique presented in this paper is robust enough to handle a wide range of changes. Furthermore, the technique can successfully make late-stage functional changes while minimally perturbing the placed-and-routed netlist: something that is necessary for ECOs. Also, this technique does this with a minimal impact on the circuit performance where on average over 90% of the placement and routing wires remain unchanged.

[1]  Shi-Yu Huang,et al.  AutoFix: a hybrid tool for automatic logic rectification , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Kwang-Ting Cheng,et al.  Generation of shorter sequences for high resolution error diagnosis using sequential SAT , 2006, Asia and South Pacific Conference on Design Automation, 2006..

[3]  Igor L. Markov,et al.  Fixing Design Errors with Counterexamples and Resynthesis , 2007, 2007 Asia and South Pacific Design Automation Conference.

[4]  Ruchir Puri,et al.  DeltaSyn: An efficient logic difference optimizer for ECO synthesis , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[5]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[6]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

[7]  Jie-Hong Roland Jiang,et al.  Scalable exploration of functional dependency by interpolation and incremental SAT solving , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[8]  Olivier Coudert,et al.  Automating the diagnosis and the rectification of design errors with PRIAM , 1989, ICCAD 1989.

[9]  Robert K. Brayton,et al.  Automating Logic Rectification by Approximate SPFDs , 2007, 2007 Asia and South Pacific Design Automation Conference.

[10]  Olivier Coudert,et al.  Automating the diagnosis and the rectification of design errors with PRIAM , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[11]  Sean Safarpour,et al.  Improved Design Debugging Using Maximum Satisfiability , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[12]  Steve Golson,et al.  The Human ECO Compiler , 2004 .

[13]  Tracy Larrabee,et al.  Test pattern generation using Boolean satisfiability , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[14]  Jason Cong,et al.  Incremental physical design , 2000, ISPD '00.

[15]  Robert K. Brayton,et al.  Boolean factoring and decomposition of logic networks , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[16]  Stephen Dean Brown,et al.  Post-placement bdd-based decomposition for FPGAs , 2005, International Conference on Field Programmable Logic and Applications, 2005..