https://hal.inria.fr/hal-01380296Oshima, KosukeKosukeOshimaUTokyo - The University of TokyoMatsumoto, TakeshiTakeshiMatsumotoIshikawa National College of TechnologyFujita, MasahiroMasahiroFujitaUTokyo - The University of TokyoDebugging Methods Through Identification of Appropriate Functions for Internal GatesHAL CCSD2015Gate-level circuitDesign debuggingProgrammable circuit[INFO] Computer Science [cs]Ifip, HalAlex OrailogluH. Fatih UgurdagLuís Miguel SilveiraMartin MargalaRicardo Reis2016-10-12 17:38:102021-05-17 12:00:042016-10-12 17:46:23enConference papershttps://hal.inria.fr/hal-01380296/document10.1007/978-3-319-23799-2_1application/pdf1In this chapter, we propose methods for correcting gate-level designs by identifying appropriate logic functions for internal gates. We introduce programmable circuits, such as look up table (LUT) and multiplexer (MUX) to the circuits under debugging, in order to formulate the correction processes mathematically. There are two steps in the proposed methods. The first one is to identify sets of gates and their appropriate inputs whose functions are to be modified. The second one is to actually identify logic functions for the correction by solving QBF (Quantified Boolean Formula) problems with repeated application of SAT solvers. There are a number of bugs which cannot be corrected unless the inputs of the gates to be modified are changed from the original ones, and the selection of such additional inputs is a key for effective debugging. We show a couple of methods by which appropriate inputs to the gates can be efficiently identified. Experimental results for each such a method as well as their combinations targeting benchmark circuits as well as industrial ones are shown.